diff options
author | Profpatsch <mail@profpatsch.de> | 2020-12-19T20·39+0100 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2021-01-01T22·40+0000 |
commit | fdb47be7d73652142eb15ae978d5cb63313d346a (patch) | |
tree | f277568bd2e1a083933273223cfd434c570de81c /users/Profpatsch/emacs-tree-sitter-move/tmp.el | |
parent | 3279786cd221eafc876ca1987c04efe108ed0660 (diff) |
feat(emacs-tree-sitter-move): load more than one tree sitter grammar r/2046
Change-Id: I43b8ddb180c056f1b8c650ccc915ec41bae83960 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2262 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
Diffstat (limited to 'users/Profpatsch/emacs-tree-sitter-move/tmp.el')
-rw-r--r-- | users/Profpatsch/emacs-tree-sitter-move/tmp.el | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/users/Profpatsch/emacs-tree-sitter-move/tmp.el b/users/Profpatsch/emacs-tree-sitter-move/tmp.el index f7a8437096fb..88d13fa45b81 100644 --- a/users/Profpatsch/emacs-tree-sitter-move/tmp.el +++ b/users/Profpatsch/emacs-tree-sitter-move/tmp.el @@ -1,14 +1,28 @@ -(tree-sitter-load - 'python - (format "%s/bin/python" - (getenv "TREE_SITTER_GRAMMAR_DIR"))) +(defun tree-sitter-load-from-grammar-dir (grammar-dir sym lang-name) + (tree-sitter-load + sym + (format "%s/bin/%s" + (getenv grammar-dir) + lang-name))) + +(defun tree-sitter-init-tmp-langs (alist) + (mapcar + (lambda (lang) + (pcase-let ((`(,name ,sym ,mode) lang)) + (tree-sitter-load-from-grammar-dir "TREE_SITTER_GRAMMAR_DIR" sym name) + (cons mode sym))) + alist)) -(setq tree-sitter-major-mode-language-alist - '((python-mode . python))) +(setq tree-sitter-major-mode-language-alist + (tree-sitter-init-tmp-langs + '(("python" python python-mode) + ("json" json js-mode) + ("bash" bash sh-mode) + ))) (define-key evil-normal-state-map (kbd "C-.") #'tree-sitter-move-reset) (define-key evil-normal-state-map (kbd "C-<right>") #'tree-sitter-move-right) (define-key evil-normal-state-map (kbd "C-<left>") #'tree-sitter-move-left) -(define-key evil-normal-state-map (kbd "C-<up>") 'tree-sitter-move-up) -(define-key evil-normal-state-map (kbd "C-<down>") 'tree-sitter-move-down) +(define-key evil-normal-state-map (kbd "C-<up>") #'tree-sitter-move-up) +(define-key evil-normal-state-map (kbd "C-<down>") #'tree-sitter-move-down) |