GNU bug report logs -
#71244
Limit matches of treesit-thing-settings in js-ts-mode
Previous Next
Reported by: Juri Linkov <juri <at> linkov.net>
Date: Tue, 28 May 2024 16:32:02 UTC
Severity: normal
Fixed in version 30.0.50
Done: Juri Linkov <juri <at> linkov.net>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Navigation in js-ts-mode is still quite unusable
when "expression" in 'js--treesit-sexp-nodes'
matches "expression_statement". Whereas it should match
only "expression" and "parenthesized_expression".
So here is the patch that adds delimiters "\\_<" and "\\_>"
around node names by 'js--regexp-opt-symbol' (and adds
some useful nodes as well):
[js--treesit-sexp-nodes.patch (text/x-diff, inline)]
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 6cb84592896..f5629ff8fbe 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -3829,6 +3829,8 @@ js--treesit-sentence-nodes
(defvar js--treesit-sexp-nodes
'("expression"
+ "parenthesized_expression"
+ "formal_parameters"
"pattern"
"array"
"function"
@@ -3846,7 +3848,12 @@ js--treesit-sexp-nodes
"undefined"
"arguments"
"pair"
- "jsx")
+ "jsx"
+ "statement_block"
+ "object"
+ "object_pattern"
+ "named_imports"
+ "class_body")
"Nodes that designate sexps in JavaScript.
See `treesit-thing-settings' for more information.")
@@ -3889,10 +3896,10 @@ js-ts-mode
(setq-local treesit-thing-settings
`((javascript
- (sexp ,(regexp-opt js--treesit-sexp-nodes))
- (sentence ,(regexp-opt js--treesit-sentence-nodes))
- (text ,(regexp-opt '("comment"
- "template_string"))))))
+ (sexp ,(js--regexp-opt-symbol js--treesit-sexp-nodes))
+ (sentence ,(js--regexp-opt-symbol js--treesit-sentence-nodes))
+ (text ,(js--regexp-opt-symbol '("comment"
+ "template_string"))))))
;; Fontification.
(setq-local treesit-font-lock-settings js--treesit-font-lock-settings)
This bug report was last modified 1 year and 45 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.