]> git.eshelyaron.com Git - emacs.git/commitdiff
Add treesit thing 'sexp-list' to typescript-ts-mode (bug#73404)
authorJuri Linkov <juri@linkov.net>
Sun, 22 Dec 2024 19:15:18 +0000 (21:15 +0200)
committerEshel Yaron <me@eshelyaron.com>
Mon, 23 Dec 2024 15:20:27 +0000 (16:20 +0100)
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode):
Add 'sexp-list' to 'treesit-thing-settings'.
(typescript-ts-mode--sexp-list-nodes): New variable.

(cherry picked from commit 423e1ee7d6d6f34c0bc249a8dfb14a4a25eae08a)

lisp/progmodes/typescript-ts-mode.el

index e308b5b4005301a1e888678ee0407702992b819e..e47590214fb708135b4c3d9f7e8068a297a440a7 100644 (file)
@@ -459,6 +459,35 @@ See `treesit-thing-settings' for more information.")
   "Nodes that designate sexps in TypeScript.
 See `treesit-thing-settings' for more information.")
 
+(defvar typescript-ts-mode--sexp-list-nodes
+  '("export_clause"
+    "named_imports"
+    "statement_block"
+    "_for_header"
+    "switch_body"
+    "parenthesized_expression"
+    "object"
+    "object_pattern"
+    "array"
+    "array_pattern"
+    "jsx_expression"
+    "_jsx_string"
+    "string"
+    "regex"
+    "arguments"
+    "class_body"
+    "formal_parameters"
+    "computed_property_name"
+    "decorator_parenthesized_expression"
+    "enum_body"
+    "parenthesized_type"
+    "type_arguments"
+    "object_type"
+    "type_parameters"
+    "tuple_type")
+  "Nodes that designate lists in TypeScript.
+See `treesit-thing-settings' for more information.")
+
 ;;;###autoload
 (define-derived-mode typescript-ts-base-mode prog-mode "TypeScript"
   "Generic major mode for editing TypeScript.
@@ -484,6 +513,7 @@ This mode is intended to be inherited by concrete major modes."
   (setq-local treesit-thing-settings
               `((typescript
                  (sexp ,(regexp-opt typescript-ts-mode--sexp-nodes))
+                 (sexp-list ,(regexp-opt typescript-ts-mode--sexp-list-nodes))
                  (sentence ,(regexp-opt
                              typescript-ts-mode--sentence-nodes))
                  (text ,(regexp-opt '("comment"