Skip to content

Commit f6d5997

Browse files
authored
Add basic indentation rules (#82)
This commit makes sure all sorts of brackets are treated equally. related with sublimehq/Packages#4209
1 parent da75951 commit f6d5997

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

Indentation Rules.tmPreferences

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<plist version="1.0">
3+
<dict>
4+
<key>scope</key>
5+
<string>source.hcl, source.terraform, source.terraform-vars</string>
6+
<key>settings</key>
7+
<dict>
8+
<key>decreaseIndentPattern</key>
9+
<string>^\s*[])}]</string>
10+
<key>increaseIndentPattern</key>
11+
<string><![CDATA[(?x)
12+
^.* # anything on the line followed by:
13+
(
14+
\[[^]"']* # an open square bracket not followed by a closing square bracket or string punctuation
15+
| \([^)"']* # an open bracket not followed by a closing bracket or string punctuation
16+
| \{[^}"']* # an open curly brace not followed by a closing brace or string punctuation
17+
)$
18+
]]></string>
19+
<key>indentParens</key>
20+
<false/>
21+
<key>indentSquareBrackets</key>
22+
<false/>
23+
</dict>
24+
</dict>
25+
</plist>

tests/syntax_test_reindent.tf

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# SYNTAX TEST reindent-unchanged "Terraform.sublime-syntax"
2+
3+
provider "name" {
4+
attr1 = {
5+
key1 = {
6+
key11 = {
7+
key111 = 0
8+
key112 = [
9+
"0",
10+
"1"
11+
]
12+
},
13+
key12 = [
14+
0,
15+
1,
16+
],
17+
key13 = (
18+
var.member
19+
+ var.other
20+
)
21+
}
22+
}
23+
24+
attr2 = jsondecode(
25+
{
26+
"key1": {
27+
"key11": [
28+
0,
29+
1
30+
],
31+
"key12": {
32+
"key121": "value",
33+
"key122": 0
34+
}
35+
}
36+
}
37+
)
38+
}

0 commit comments

Comments
 (0)