depot/third_party/tvl/users/Profpatsch/emacs-tree-sitter-move/tmp.el
Default email a291c8690a Project import generated by Copybara.
GitOrigin-RevId: e6e19f3d81a982a62e1bba08f0b4f7fdc21b4ea0
2022-05-19 16:39:52 +02:00

28 lines
974 B
EmacsLisp

(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
(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)