Skip to content

Commit 894c5c5

Browse files
committed
Fix field declaration without type annotation when its last element
Fixed #766
1 parent e0fffbf commit 894c5c5

File tree

5 files changed

+40
-3
lines changed

5 files changed

+40
-3
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -609,7 +609,7 @@ repository:
609609

610610
field-declaration:
611611
name: meta.field.declaration.ts
612-
begin: (?x)(?<!\()(?:{{startOfIdentifier}}(readonly)\s+)?(?=\s*{{propertyName}}\s*(?:(?:(\?)|(\!))\s*)?(=|:|;|,|$))
612+
begin: (?x)(?<!\()(?:{{startOfIdentifier}}(readonly)\s+)?(?=\s*{{propertyName}}\s*(?:(?:(\?)|(\!))\s*)?(=|:|;|,|\}|$))
613613
beginCaptures:
614614
'1': { name: storage.modifier.ts }
615615
end: (?x)(?=\}|;|,|$|(^(?!\s*{{propertyName}}\s*(?:(?:(\?)|(\!))\s*)?(=|:|;|,|$))))|(?<=\})

TypeScript.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1844,7 +1844,7 @@
18441844
(?:\b[0-9][0-9_]*(\.)(n)?\B)| # 1.
18451845
(?:\B(\.)[0-9][0-9_]*(n)?\b)| # .1
18461846
(?:\b[0-9][0-9_]*(n)?\b(?!\.)) # 1
1847-
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(?:(?:(\?)|(\!))\s*)?(=|:|;|,|$))</string>
1847+
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(?:(?:(\?)|(\!))\s*)?(=|:|;|,|\}|$))</string>
18481848
<key>beginCaptures</key>
18491849
<dict>
18501850
<key>1</key>

TypeScriptReact.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1860,7 +1860,7 @@
18601860
(?:\b[0-9][0-9_]*(\.)(n)?\B)| # 1.
18611861
(?:\B(\.)[0-9][0-9_]*(n)?\b)| # .1
18621862
(?:\b[0-9][0-9_]*(n)?\b(?!\.)) # 1
1863-
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(?:(?:(\?)|(\!))\s*)?(=|:|;|,|$))</string>
1863+
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(?:(?:(\?)|(\!))\s*)?(=|:|;|,|\}|$))</string>
18641864
<key>beginCaptures</key>
18651865
<dict>
18661866
<key>1</key>

tests/baselines/Issue766.baseline.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
original file
2+
-----------------------------------
3+
let a: { prop1, prop2 };
4+
-----------------------------------
5+
6+
Grammar: TypeScript.tmLanguage
7+
-----------------------------------
8+
>let a: { prop1, prop2 };
9+
^^^
10+
source.ts meta.var.expr.ts storage.type.ts
11+
^
12+
source.ts meta.var.expr.ts
13+
^
14+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
15+
^
16+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
17+
^
18+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts
19+
^
20+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts punctuation.definition.block.ts
21+
^
22+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.field.declaration.ts
23+
^^^^^
24+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
25+
^
26+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts punctuation.separator.comma.ts
27+
^
28+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.field.declaration.ts
29+
^^^^^
30+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
31+
^
32+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.field.declaration.ts
33+
^
34+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts punctuation.definition.block.ts
35+
^
36+
source.ts punctuation.terminator.statement.ts

tests/cases/Issue766.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
let a: { prop1, prop2 };

0 commit comments

Comments
 (0)