fix(tree-sitter): no longer eager load tree sitter
This commit is contained in:
parent
984564ea6c
commit
84d47016d0
2 changed files with 21 additions and 14 deletions
|
@ -5,6 +5,13 @@
|
|||
(interactive)
|
||||
(turn-on-tree-sitter-mode))
|
||||
|
||||
;; HACK: Remove and refactor when `use-package' eager macro expansion is solved or `use-package!' is removed
|
||||
;;;###autoload
|
||||
(defun +tree-sitter-get-textobj (group &optional query)
|
||||
"A wrapper around `evil-textobj-tree-sitter-get-textobj' to
|
||||
prevent eager expansion."
|
||||
(eval `(evil-textobj-tree-sitter-get-textobj ,group ,query)))
|
||||
|
||||
;;;###autoload
|
||||
(defun +tree-sitter-goto-textobj (group &optional previous end query)
|
||||
"Thin wrapper that returns the symbol of a named function, used in keybindings."
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
(use-package! tree-sitter
|
||||
:hook (tree-sitter-after-on . tree-sitter-hl-mode)
|
||||
:config
|
||||
(require 'tree-sitter-langs)
|
||||
;; This makes every node a link to a section of code
|
||||
(setq tree-sitter-debug-jump-buttons t
|
||||
;; and this highlights the entire sub tree in your code
|
||||
|
@ -12,7 +13,6 @@
|
|||
:when (featurep! :editor evil +everywhere)
|
||||
:after tree-sitter
|
||||
:config
|
||||
|
||||
(defvar +tree-sitter-inner-text-objects-map (make-sparse-keymap))
|
||||
(defvar +tree-sitter-outer-text-objects-map (make-sparse-keymap))
|
||||
(defvar +tree-sitter-goto-previous-map (make-sparse-keymap))
|
||||
|
@ -26,20 +26,20 @@
|
|||
"]g" +tree-sitter-goto-next-map)
|
||||
|
||||
(map! (:map +tree-sitter-inner-text-objects-map
|
||||
"A" (evil-textobj-tree-sitter-get-textobj ("parameter.inner" "call.inner"))
|
||||
"f" (evil-textobj-tree-sitter-get-textobj "function.inner")
|
||||
"F" (evil-textobj-tree-sitter-get-textobj "call.inner")
|
||||
"C" (evil-textobj-tree-sitter-get-textobj "class.inner")
|
||||
"v" (evil-textobj-tree-sitter-get-textobj "conditional.inner")
|
||||
"l" (evil-textobj-tree-sitter-get-textobj "loop.inner"))
|
||||
"A" (+tree-sitter-get-textobj '("parameter.inner" "call.inner"))
|
||||
"f" (+tree-sitter-get-textobj "function.inner")
|
||||
"F" (+tree-sitter-get-textobj "call.inner")
|
||||
"C" (+tree-sitter-get-textobj "class.inner")
|
||||
"v" (+tree-sitter-get-textobj "conditional.inner")
|
||||
"l" (+tree-sitter-get-textobj "loop.inner"))
|
||||
(:map +tree-sitter-outer-text-objects-map
|
||||
"A" (evil-textobj-tree-sitter-get-textobj ("parameter.outer" "call.outer"))
|
||||
"f" (evil-textobj-tree-sitter-get-textobj "function.outer")
|
||||
"F" (evil-textobj-tree-sitter-get-textobj "call.outer")
|
||||
"C" (evil-textobj-tree-sitter-get-textobj "class.outer")
|
||||
"c" (evil-textobj-tree-sitter-get-textobj "comment.outer")
|
||||
"v" (evil-textobj-tree-sitter-get-textobj "conditional.outer")
|
||||
"l" (evil-textobj-tree-sitter-get-textobj "loop.outer"))
|
||||
"A" (+tree-sitter-get-textobj '("parameter.outer" "call.outer"))
|
||||
"f" (+tree-sitter-get-textobj "function.outer")
|
||||
"F" (+tree-sitter-get-textobj "call.outer")
|
||||
"C" (+tree-sitter-get-textobj "class.outer")
|
||||
"c" (+tree-sitter-get-textobj "comment.outer")
|
||||
"v" (+tree-sitter-get-textobj "conditional.outer")
|
||||
"l" (+tree-sitter-get-textobj "loop.outer"))
|
||||
|
||||
(:map +tree-sitter-goto-previous-map
|
||||
"a" (+tree-sitter-goto-textobj "parameter.outer" t)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue