about summary refs log tree commit diff
path: root/users/Profpatsch/emacs-tree-sitter-move/tmp.el
diff options
context:
space:
mode:
Diffstat (limited to 'users/Profpatsch/emacs-tree-sitter-move/tmp.el')
-rw-r--r--users/Profpatsch/emacs-tree-sitter-move/tmp.el30
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 f7a8437096..88d13fa45b 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)