refactor(tree-sitter): put keys on ts-mode-map
- move map definition and binding into evil-textobj-tree-sitter :config body - replace +tree-sitter-keys-mode with tree-sitter-mode as bind site - remove +tree-sitter-keys-mode from tree-sitter! autodef
This commit is contained in:
parent
7f814e5d99
commit
45ed981b41
2 changed files with 12 additions and 24 deletions
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
;;;###autodef
|
;;;###autodef
|
||||||
(defun tree-sitter! ()
|
(defun tree-sitter! ()
|
||||||
(turn-on-tree-sitter-mode)
|
(interactive)
|
||||||
(+tree-sitter-keys-mode))
|
(turn-on-tree-sitter-mode))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun +tree-sitter-goto-textobj (group &optional previous end query)
|
(defun +tree-sitter-goto-textobj (group &optional previous end query)
|
||||||
|
|
|
@ -8,34 +8,22 @@
|
||||||
;; and this highlights the entire sub tree in your code
|
;; and this highlights the entire sub tree in your code
|
||||||
tree-sitter-debug-highlight-jump-region t))
|
tree-sitter-debug-highlight-jump-region t))
|
||||||
|
|
||||||
|
(use-package! evil-textobj-tree-sitter
|
||||||
|
:when (featurep! :editor evil +everywhere)
|
||||||
|
:after tree-sitter
|
||||||
|
:config
|
||||||
|
|
||||||
(when (featurep! :editor evil +everywhere)
|
|
||||||
(defvar +tree-sitter-inner-text-objects-map (make-sparse-keymap))
|
(defvar +tree-sitter-inner-text-objects-map (make-sparse-keymap))
|
||||||
(defvar +tree-sitter-outer-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))
|
(defvar +tree-sitter-goto-previous-map (make-sparse-keymap))
|
||||||
(defvar +tree-sitter-goto-next-map (make-sparse-keymap))
|
(defvar +tree-sitter-goto-next-map (make-sparse-keymap))
|
||||||
|
|
||||||
(defvar +tree-sitter-keys-mode-map
|
(evil-define-key '(visual operator) 'tree-sitter-mode
|
||||||
(let ((keymap (make-sparse-keymap)))
|
"i" +tree-sitter-inner-text-objects-map
|
||||||
;; ts text objects
|
"a" +tree-sitter-outer-text-objects-map)
|
||||||
(evil-define-key '(visual operator) '+tree-sitter-keys-mode
|
(evil-define-key 'normal 'tree-sitter-mode
|
||||||
"i" +tree-sitter-inner-text-objects-map
|
"[g" +tree-sitter-goto-previous-map
|
||||||
"a" +tree-sitter-outer-text-objects-map)
|
"]g" +tree-sitter-goto-next-map)
|
||||||
;; ts goto nodes
|
|
||||||
(evil-define-key 'normal '+tree-sitter-keys-mode
|
|
||||||
"[g" +tree-sitter-goto-previous-map
|
|
||||||
"]g" +tree-sitter-goto-next-map)
|
|
||||||
keymap)
|
|
||||||
"Basic keymap for tree sitter text objects")
|
|
||||||
|
|
||||||
(define-minor-mode +tree-sitter-keys-mode
|
|
||||||
"A minor mode with tree sitter keybinds."
|
|
||||||
:keymap +tree-sitter-keys-mode-map))
|
|
||||||
|
|
||||||
(use-package! evil-textobj-tree-sitter
|
|
||||||
:when (featurep! :editor evil +everywhere)
|
|
||||||
:after tree-sitter
|
|
||||||
:config
|
|
||||||
|
|
||||||
(map! (:map +tree-sitter-inner-text-objects-map
|
(map! (:map +tree-sitter-inner-text-objects-map
|
||||||
"A" (evil-textobj-tree-sitter-get-textobj ("parameter.inner" "call.inner"))
|
"A" (evil-textobj-tree-sitter-get-textobj ("parameter.inner" "call.inner"))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue