Skip to content

Commit ebd19c7

Browse files
committed
Fix the comments in for loop
Fixes #572
1 parent d472fd3 commit ebd19c7

File tree

5 files changed

+585
-62
lines changed

5 files changed

+585
-62
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -965,18 +965,24 @@ repository:
965965
- include: '#statements'
966966

967967
for-loop:
968-
begin: '{{startOfIdentifier}}(for)(?:\s+(await))?\s*(\()'
968+
begin: '{{startOfIdentifier}}for(?=((\s+|(\s*{{inlineComment}}\s*))await)?\s*({{inlineComment}}\s*)?(\())'
969969
beginCaptures:
970-
'1': { name: keyword.control.loop.ts }
971-
'2': { name: keyword.control.loop.ts }
972-
'3': { name: meta.brace.round.ts }
973-
end: \)
974-
endCaptures:
975-
'0': { name: meta.brace.round.ts }
970+
'0': { name: keyword.control.loop.ts }
971+
end: (?<=\))
976972
patterns:
977-
- include: '#var-expr'
978-
- include: '#expression'
979-
- include: '#punctuation-semicolon'
973+
- include: '#comment'
974+
- name: keyword.control.loop.ts
975+
match: await
976+
- begin: \(
977+
beginCaptures:
978+
'0': { name: meta.brace.round.ts }
979+
end: \)
980+
endCaptures:
981+
'0': { name: meta.brace.round.ts }
982+
patterns:
983+
- include: '#var-expr'
984+
- include: '#expression'
985+
- include: '#punctuation-semicolon'
980986

981987
#blocks
982988
decl-block:

TypeScript.tmLanguage

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3015,48 +3015,65 @@
30153015
<key>for-loop</key>
30163016
<dict>
30173017
<key>begin</key>
3018-
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(for)(?:\s+(await))?\s*(\()</string>
3018+
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))for(?=((\s+|(\s*\/\*([^\*]|(\*[^\/]))*\*\/\s*))await)?\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)?(\())</string>
30193019
<key>beginCaptures</key>
30203020
<dict>
3021-
<key>1</key>
3022-
<dict>
3023-
<key>name</key>
3024-
<string>keyword.control.loop.ts</string>
3025-
</dict>
3026-
<key>2</key>
3021+
<key>0</key>
30273022
<dict>
30283023
<key>name</key>
30293024
<string>keyword.control.loop.ts</string>
30303025
</dict>
3031-
<key>3</key>
3032-
<dict>
3033-
<key>name</key>
3034-
<string>meta.brace.round.ts</string>
3035-
</dict>
30363026
</dict>
30373027
<key>end</key>
3038-
<string>\)</string>
3039-
<key>endCaptures</key>
3040-
<dict>
3041-
<key>0</key>
3042-
<dict>
3043-
<key>name</key>
3044-
<string>meta.brace.round.ts</string>
3045-
</dict>
3046-
</dict>
3028+
<string>(?&lt;=\))</string>
30473029
<key>patterns</key>
30483030
<array>
30493031
<dict>
30503032
<key>include</key>
3051-
<string>#var-expr</string>
3033+
<string>#comment</string>
30523034
</dict>
30533035
<dict>
3054-
<key>include</key>
3055-
<string>#expression</string>
3036+
<key>name</key>
3037+
<string>keyword.control.loop.ts</string>
3038+
<key>match</key>
3039+
<string>await</string>
30563040
</dict>
30573041
<dict>
3058-
<key>include</key>
3059-
<string>#punctuation-semicolon</string>
3042+
<key>begin</key>
3043+
<string>\(</string>
3044+
<key>beginCaptures</key>
3045+
<dict>
3046+
<key>0</key>
3047+
<dict>
3048+
<key>name</key>
3049+
<string>meta.brace.round.ts</string>
3050+
</dict>
3051+
</dict>
3052+
<key>end</key>
3053+
<string>\)</string>
3054+
<key>endCaptures</key>
3055+
<dict>
3056+
<key>0</key>
3057+
<dict>
3058+
<key>name</key>
3059+
<string>meta.brace.round.ts</string>
3060+
</dict>
3061+
</dict>
3062+
<key>patterns</key>
3063+
<array>
3064+
<dict>
3065+
<key>include</key>
3066+
<string>#var-expr</string>
3067+
</dict>
3068+
<dict>
3069+
<key>include</key>
3070+
<string>#expression</string>
3071+
</dict>
3072+
<dict>
3073+
<key>include</key>
3074+
<string>#punctuation-semicolon</string>
3075+
</dict>
3076+
</array>
30603077
</dict>
30613078
</array>
30623079
</dict>

TypeScriptReact.tmLanguage

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3019,48 +3019,65 @@
30193019
<key>for-loop</key>
30203020
<dict>
30213021
<key>begin</key>
3022-
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(for)(?:\s+(await))?\s*(\()</string>
3022+
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))for(?=((\s+|(\s*\/\*([^\*]|(\*[^\/]))*\*\/\s*))await)?\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)?(\())</string>
30233023
<key>beginCaptures</key>
30243024
<dict>
3025-
<key>1</key>
3026-
<dict>
3027-
<key>name</key>
3028-
<string>keyword.control.loop.tsx</string>
3029-
</dict>
3030-
<key>2</key>
3025+
<key>0</key>
30313026
<dict>
30323027
<key>name</key>
30333028
<string>keyword.control.loop.tsx</string>
30343029
</dict>
3035-
<key>3</key>
3036-
<dict>
3037-
<key>name</key>
3038-
<string>meta.brace.round.tsx</string>
3039-
</dict>
30403030
</dict>
30413031
<key>end</key>
3042-
<string>\)</string>
3043-
<key>endCaptures</key>
3044-
<dict>
3045-
<key>0</key>
3046-
<dict>
3047-
<key>name</key>
3048-
<string>meta.brace.round.tsx</string>
3049-
</dict>
3050-
</dict>
3032+
<string>(?&lt;=\))</string>
30513033
<key>patterns</key>
30523034
<array>
30533035
<dict>
30543036
<key>include</key>
3055-
<string>#var-expr</string>
3037+
<string>#comment</string>
30563038
</dict>
30573039
<dict>
3058-
<key>include</key>
3059-
<string>#expression</string>
3040+
<key>name</key>
3041+
<string>keyword.control.loop.tsx</string>
3042+
<key>match</key>
3043+
<string>await</string>
30603044
</dict>
30613045
<dict>
3062-
<key>include</key>
3063-
<string>#punctuation-semicolon</string>
3046+
<key>begin</key>
3047+
<string>\(</string>
3048+
<key>beginCaptures</key>
3049+
<dict>
3050+
<key>0</key>
3051+
<dict>
3052+
<key>name</key>
3053+
<string>meta.brace.round.tsx</string>
3054+
</dict>
3055+
</dict>
3056+
<key>end</key>
3057+
<string>\)</string>
3058+
<key>endCaptures</key>
3059+
<dict>
3060+
<key>0</key>
3061+
<dict>
3062+
<key>name</key>
3063+
<string>meta.brace.round.tsx</string>
3064+
</dict>
3065+
</dict>
3066+
<key>patterns</key>
3067+
<array>
3068+
<dict>
3069+
<key>include</key>
3070+
<string>#var-expr</string>
3071+
</dict>
3072+
<dict>
3073+
<key>include</key>
3074+
<string>#expression</string>
3075+
</dict>
3076+
<dict>
3077+
<key>include</key>
3078+
<string>#punctuation-semicolon</string>
3079+
</dict>
3080+
</array>
30643081
</dict>
30653082
</array>
30663083
</dict>

0 commit comments

Comments
 (0)