Skip to content

Commit 32e968c

Browse files
authored
Merge pull request microsoft#136577 from ssigwart/singleLineDeindent
Fix single line if/else and loop indentation for Typescript and PHP
2 parents 8f58654 + fd63cf6 commit 32e968c

File tree

4 files changed

+39
-1
lines changed

4 files changed

+39
-1
lines changed

extensions/cpp/language-configuration.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,16 @@
3030
"start": "^\\s*#pragma\\s+region\\b",
3131
"end": "^\\s*#pragma\\s+endregion\\b"
3232
}
33-
}
33+
},
34+
"onEnterRules": [
35+
{
36+
// Decrease indentation after single line if/else if/else, for, or while
37+
"previousLineText": "^\\s*(((else ?)?if|for|while)\\s*\\(.*\\)\\s*|else\\s*)$",
38+
// But make sure line doesn't have braces or is not another if statement
39+
"beforeText": "^\\s+([^{i\\s]|i(?!f\\b))",
40+
"action": {
41+
"indent": "outdent"
42+
}
43+
}
44+
]
3445
}

extensions/javascript/javascript-language-configuration.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,15 @@
188188
"action": {
189189
"indent": "indent"
190190
}
191+
},
192+
{
193+
// Decrease indentation after single line if/else if/else, for, or while
194+
"previousLineText": "^\\s*(((else ?)?if|for|while)\\s*\\(.*\\)\\s*|else\\s*)$",
195+
// But make sure line doesn't have braces or is not another if statement
196+
"beforeText": "^\\s+([^{i\\s]|i(?!f\\b))",
197+
"action": {
198+
"indent": "outdent"
199+
}
191200
}
192201
]
193202
}

extensions/php/language-configuration.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,15 @@
7676
"indent": "none",
7777
"removeText": 1
7878
}
79+
},
80+
{
81+
// Decrease indentation after single line if/else if/else, for, foreach, or while
82+
"previousLineText": "^\\s*(((else ?)?if|for(each)?|while)\\s*\\(.*\\)\\s*|else\\s*)$",
83+
// But make sure line doesn't have braces or is not another if statement
84+
"beforeText": "^\\s+([^{i\\s]|i(?!f\\b))",
85+
"action": {
86+
"indent": "outdent"
87+
}
7988
}
8089
]
8190
}

extensions/typescript-basics/language-configuration.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,15 @@
206206
"action": {
207207
"indent": "indent"
208208
}
209+
},
210+
{
211+
// Decrease indentation after single line if/else if/else, for, or while
212+
"previousLineText": "^\\s*(((else ?)?if|for|while)\\s*\\(.*\\)\\s*|else\\s*)$",
213+
// But make sure line doesn't have braces or is not another if statement
214+
"beforeText": "^\\s+([^{i\\s]|i(?!f\\b))",
215+
"action": {
216+
"indent": "outdent"
217+
}
209218
}
210219
]
211220
}

0 commit comments

Comments
 (0)