feat(emacs-tree-sitter-move): load more than one tree sitter grammar
Change-Id: I43b8ddb180c056f1b8c650ccc915ec41bae83960 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2262 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
3279786cd2
commit
fdb47be7d7
2 changed files with 23 additions and 8 deletions
|
@ -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)))
|
||||
|
||||
(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)
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
(defun tree-sitter-move--setup ()
|
||||
;; TODO
|
||||
(progn
|
||||
;; TODO: if tree-sitter-mode fails to load, display a better error
|
||||
(tree-sitter-mode t)
|
||||
(setq tree-sitter-move--cursor (tsc-root-node tree-sitter-tree))
|
||||
(add-variable-watcher
|
||||
|
|
Loading…
Reference in a new issue