aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRiley Bruins <ribru17@hotmail.com>2025-02-02 09:07:38 -0800
committerChristian Clason <ch.clason+github@icloud.com>2025-02-04 09:56:51 +0100
commit53a6b3993f5803378d4d031bf114c0b125a52ba8 (patch)
treeee04399a45f1c3b5816a694a7aabe7d041d85e05 /scripts
parentfix(formatter): prefer #-prefixed predicates (diff)
downloadnvim-treesitter-53a6b3993f5803378d4d031bf114c0b125a52ba8.tar
nvim-treesitter-53a6b3993f5803378d4d031bf114c0b125a52ba8.tar.gz
nvim-treesitter-53a6b3993f5803378d4d031bf114c0b125a52ba8.tar.bz2
nvim-treesitter-53a6b3993f5803378d4d031bf114c0b125a52ba8.tar.lz
nvim-treesitter-53a6b3993f5803378d4d031bf114c0b125a52ba8.tar.xz
nvim-treesitter-53a6b3993f5803378d4d031bf114c0b125a52ba8.tar.zst
nvim-treesitter-53a6b3993f5803378d4d031bf114c0b125a52ba8.zip
feat(formatter): support formatting missing nodes
This commit makes missing nodes take formatting identical to that of regular named nodes, with the only exception being that a newline will not be prepended to a node name. E.g. this pattern: ```query (MISSING identifier) ``` will *not* be changed to: ```query (MISSING (identifier)) ```
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/format-queries.lua11
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/format-queries.lua b/scripts/format-queries.lua
index fb1d78f49..0839760d2 100755
--- a/scripts/format-queries.lua
+++ b/scripts/format-queries.lua
@@ -90,6 +90,7 @@ local format_queries = [[
(grouping)
(named_node)
(anonymous_node)
+ (missing_node)
(field_definition)
] @format.prepend-newline)
@@ -101,6 +102,7 @@ local format_queries = [[
(grouping)
(named_node)
(anonymous_node)
+ (missing_node)
(field_definition)
(comment)
] @format.cancel-prepend
@@ -156,6 +158,7 @@ local format_queries = [[
(named_node) ; (foo (bar))
(predicate) ; (named_node (#set!))
(anonymous_node)
+ (missing_node)
"."
])
;; Honoring comment's position within a node
@@ -188,6 +191,7 @@ local format_queries = [[
(named_node)
(predicate)
(anonymous_node)
+ (missing_node)
"."
] @format.append-newline)
@@ -213,6 +217,7 @@ local format_queries = [[
(named_node) ; ((foo))
(list) ; ([foo] (...))
(anonymous_node) ; ("foo")
+ (missing_node)
(grouping . (_))
] @format.indent.begin
.
@@ -226,6 +231,7 @@ local format_queries = [[
"("
[
(anonymous_node)
+ (missing_node)
(named_node)
(list)
(predicate)
@@ -240,6 +246,8 @@ local format_queries = [[
(#not-kind-eq? @format.cancel-append "comment"))
(grouping
(capture) @format.prepend-space)
+(missing_node
+ name: (_) @format.prepend-space)
;; Remove unnecessary parens
(grouping
"(" @format.remove
@@ -254,6 +262,8 @@ local format_queries = [[
(grouping)
(anonymous_node
name: (string) .)
+ (missing_node
+ name: (_) .)
(named_node
[
"_"
@@ -300,6 +310,7 @@ local format_queries = [[
(grouping)
(named_node)
(anonymous_node)
+ (missing_node)
(negated_field)
] @format.cancel-append
.