aboutsummaryrefslogtreecommitdiffstats
path: root/queries/nix
diff options
context:
space:
mode:
authorRiley Bruins <ribru17@hotmail.com>2024-03-31 09:20:18 -0700
committerChristian Clason <c.clason@uni-graz.at>2024-07-05 15:13:25 +0200
commit55a13862cd47b1fb3afcab792b022d97765940e6 (patch)
treeedc82fcabbd90bafcd994c0a419e0f6880207086 /queries/nix
parentbot(lockfile): update editorconfig, javascript, wit (diff)
downloadnvim-treesitter-55a13862cd47b1fb3afcab792b022d97765940e6.tar
nvim-treesitter-55a13862cd47b1fb3afcab792b022d97765940e6.tar.gz
nvim-treesitter-55a13862cd47b1fb3afcab792b022d97765940e6.tar.bz2
nvim-treesitter-55a13862cd47b1fb3afcab792b022d97765940e6.tar.lz
nvim-treesitter-55a13862cd47b1fb3afcab792b022d97765940e6.tar.xz
nvim-treesitter-55a13862cd47b1fb3afcab792b022d97765940e6.tar.zst
nvim-treesitter-55a13862cd47b1fb3afcab792b022d97765940e6.zip
feat(nix): indentation queries
Diffstat (limited to 'queries/nix')
-rw-r--r--queries/nix/indents.scm75
1 files changed, 75 insertions, 0 deletions
diff --git a/queries/nix/indents.scm b/queries/nix/indents.scm
new file mode 100644
index 000000000..757511b6b
--- /dev/null
+++ b/queries/nix/indents.scm
@@ -0,0 +1,75 @@
+[
+ (list_expression)
+ (indented_string_expression)
+ (let_expression)
+ (if_expression)
+ (binding)
+ (parenthesized_expression)
+] @indent.begin
+
+((attrset_expression) @indent.begin
+ (#not-has-parent? @indent.begin if_expression))
+
+((rec_attrset_expression) @indent.begin
+ (#not-has-parent? @indent.begin if_expression))
+
+((binding
+ "=" @indent.begin)
+ (#set! indent.immediate 1))
+
+(binding
+ ";" @indent.end)
+
+(parenthesized_expression
+ ")" @indent.branch @indent.end)
+
+(attrset_expression
+ "}" @indent.branch @indent.end)
+
+(rec_attrset_expression
+ "}" @indent.branch @indent.end)
+
+(list_expression
+ "]" @indent.branch @indent.dedent)
+
+(indented_string_expression
+ "''" @indent.branch @indent.end .)
+
+[
+ "else"
+ "in"
+] @indent.branch
+
+(let_expression
+ body: (_) @indent.end @indent.dedent)
+
+(string_fragment) @indent.ignore @indent.auto
+
+(if_expression
+ condition: (_) @indent.auto)
+
+alternative: (if_expression) @indent.dedent
+
+(interpolation) @indent.begin @indent.dedent
+
+(interpolation
+ "}" @indent.end @indent.branch)
+
+(ERROR
+ "then" @indent.begin)
+
+(ERROR
+ "then"
+ .
+ (formals) @indent.begin)
+
+(ERROR
+ "then"
+ .
+ (formals
+ "}" @indent.branch @indent.end))
+
+(ERROR
+ "let") @indent.begin
+
+(comment) @indent.ignore