aboutsummaryrefslogtreecommitdiffstats
path: root/queries
diff options
context:
space:
mode:
authorMunif Tanjim <hello@muniftanjim.dev>2022-01-18 21:17:26 +0600
committerChristian Clason <christian.clason@uni-due.de>2022-01-21 10:51:51 +0100
commitc0110e34aa8ef53480c7aac6ffa5b9f8227a96bd (patch)
treec31796e3cdc7165dbc49e05b9e0c2eb79dca9896 /queries
parentfeat: improve indent module (diff)
downloadnvim-treesitter-c0110e34aa8ef53480c7aac6ffa5b9f8227a96bd.tar
nvim-treesitter-c0110e34aa8ef53480c7aac6ffa5b9f8227a96bd.tar.gz
nvim-treesitter-c0110e34aa8ef53480c7aac6ffa5b9f8227a96bd.tar.bz2
nvim-treesitter-c0110e34aa8ef53480c7aac6ffa5b9f8227a96bd.tar.lz
nvim-treesitter-c0110e34aa8ef53480c7aac6ffa5b9f8227a96bd.tar.xz
nvim-treesitter-c0110e34aa8ef53480c7aac6ffa5b9f8227a96bd.tar.zst
nvim-treesitter-c0110e34aa8ef53480c7aac6ffa5b9f8227a96bd.zip
feat: rewrite indent module
Diffstat (limited to 'queries')
-rw-r--r--queries/c/indents.scm26
-rw-r--r--queries/cpp/indents.scm3
-rw-r--r--queries/lua/indents.scm8
-rw-r--r--queries/python/indents.scm13
-rw-r--r--queries/rust/indents.scm20
5 files changed, 51 insertions, 19 deletions
diff --git a/queries/c/indents.scm b/queries/c/indents.scm
index 5cd212af9..fb9665fab 100644
--- a/queries/c/indents.scm
+++ b/queries/c/indents.scm
@@ -8,18 +8,38 @@
(enumerator_list)
(struct_specifier)
(compound_literal_expression)
+ (parameter_list)
+ (initializer_list)
+ (concatenated_string)
+ (while_statement)
+ (for_statement)
+ (switch_statement)
] @indent
-
+(if_statement condition: (_) @indent)
+((if_statement
+ consequence: (_) @_consequence
+ (#not-has-type? @_consequence compound_statement)
+ ) @indent)
+(init_declarator
+ value: [
+ (binary_expression)
+ ] @indent)
[
"#define"
"#ifdef"
+ "#if"
+ "#else"
+ "else"
"#endif"
- "{"
+ ")"
"}"
] @branch
[
(comment)
- (preproc_function_def)
+ (preproc_arg)
+ (string_literal)
] @ignore
+
+(binary_expression) @auto
diff --git a/queries/cpp/indents.scm b/queries/cpp/indents.scm
index a796974b1..cb0277951 100644
--- a/queries/cpp/indents.scm
+++ b/queries/cpp/indents.scm
@@ -1,7 +1,8 @@
; inherits: c
[
- (field_declaration_list)
(class_specifier)
(condition_clause)
] @indent
+
+(access_specifier) @branch
diff --git a/queries/lua/indents.scm b/queries/lua/indents.scm
index 8203a6a49..e7366d0d0 100644
--- a/queries/lua/indents.scm
+++ b/queries/lua/indents.scm
@@ -1,7 +1,6 @@
[
(function_definition)
(function_declaration)
- (variable_declaration)
(field)
(do_statement)
(while_statement)
@@ -11,8 +10,13 @@
(return_statement)
(table_constructor)
(arguments)
+ (return_statement)
] @indent
+(return_statement
+ (expression_list
+ (function_call))) @dedent
+
[
"do"
"end"
@@ -30,4 +34,4 @@
(comment) @ignore
-(string) @ignore
+(string) @auto
diff --git a/queries/python/indents.scm b/queries/python/indents.scm
index 320cb75d3..4d39c7d08 100644
--- a/queries/python/indents.scm
+++ b/queries/python/indents.scm
@@ -23,8 +23,11 @@
(parameters)
(binary_operator)
+ (lambda)
(function_definition)
(class_definition)
+
+ (concatenated_string)
] @indent
[
@@ -37,12 +40,4 @@
(finally_clause)
] @branch
-[
- (return_statement)
- (pass_statement)
- (raise_statement)
-] @return
-
-[
- (string)
-] @ignore
+(string) @auto
diff --git a/queries/rust/indents.scm b/queries/rust/indents.scm
index 3c44dcbaf..3c078fca4 100644
--- a/queries/rust/indents.scm
+++ b/queries/rust/indents.scm
@@ -16,19 +16,31 @@
(block)
(where_clause)
(use_list)
+ (array_expression)
+ (ordered_field_declaration_list)
+ (field_declaration_list)
+ (enum_variant_list)
+ (parameters)
+ (token_tree)
+ (macro_definition)
] @indent
+(trait_item body: (_) @indent)
+(string_literal (escape_sequence)) @indent
+
+(impl_item (where_clause) @dedent)
[
"where"
- "("
")"
- "["
"]"
- "{"
"}"
] @branch
+(impl_item (declaration_list) @branch)
[
(line_comment)
- (raw_string_literal)
+ (string_literal)
] @ignore
+
+
+(raw_string_literal) @auto