Change-Id: I43b8ddb180c056f1b8c650ccc915ec41bae83960 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2262 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			974 B
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
			
		
		
	
	
			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)
 |