Skip to content

Commit 3fa03f9

Browse files
authored
Merge pull request #293 from Microsoft/lastPropOfObjectLiteral
Handle when the last short hand property assignment of object literal ends with } on new line
2 parents 6e4b81f + 87f5a51 commit 3fa03f9

File tree

5 files changed

+155
-3
lines changed

5 files changed

+155
-3
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1341,7 +1341,7 @@ repository:
13411341
patterns:
13421342
- include: '#expression'
13431343
- name: meta.object.member.ts
1344-
match: ([_$[:alpha:]][_$[:alnum:]]*)\s*(?=,|\})
1344+
match: ([_$[:alpha:]][_$[:alnum:]]*)\s*(?=,|\}|$)
13451345
captures:
13461346
'1': { name: variable.other.readwrite.ts }
13471347
- include: '#punctuation-comma'

TypeScript.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3736,7 +3736,7 @@
37363736
<key>name</key>
37373737
<string>meta.object.member.ts</string>
37383738
<key>match</key>
3739-
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(?=,|\})</string>
3739+
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(?=,|\}|$)</string>
37403740
<key>captures</key>
37413741
<dict>
37423742
<key>1</key>

TypeScriptReact.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3718,7 +3718,7 @@
37183718
<key>name</key>
37193719
<string>meta.object.member.tsx</string>
37203720
<key>match</key>
3721-
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(?=,|\})</string>
3721+
<string>([_$[:alpha:]][_$[:alnum:]]*)\s*(?=,|\}|$)</string>
37223722
<key>captures</key>
37233723
<dict>
37243724
<key>1</key>

tests/baselines/Issue292.baseline.txt

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
original file
2+
-----------------------------------
3+
const shellOptions: IOptions = {
4+
filesToOpen,
5+
filesToCreate,
6+
filesToDiff
7+
};
8+
const a = {
9+
filesToOpen: filesToOpen,
10+
filesToCreate: filesToCreate,
11+
filesToDiff: filesToDiff
12+
}
13+
-----------------------------------
14+
15+
Grammar: TypeScript.tmLanguage
16+
-----------------------------------
17+
> const shellOptions: IOptions = {
18+
^^^^
19+
source.ts
20+
^^^^^
21+
source.ts meta.var.expr.ts storage.type.ts
22+
^
23+
source.ts meta.var.expr.ts
24+
^^^^^^^^^^^^
25+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts variable.other.readwrite.ts
26+
^
27+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
28+
^
29+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts
30+
^^^^^^^^
31+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts entity.name.type.ts
32+
^
33+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts
34+
^
35+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.assignment.ts
36+
^
37+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
38+
^
39+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts punctuation.definition.block.ts
40+
^^
41+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
42+
> filesToOpen,
43+
^^^^^^^^
44+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
45+
^^^^^^^^^^^
46+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts variable.other.readwrite.ts
47+
^
48+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts punctuation.separator.comma.ts
49+
^^
50+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
51+
> filesToCreate,
52+
^^^^^^^^
53+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
54+
^^^^^^^^^^^^^
55+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts variable.other.readwrite.ts
56+
^
57+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts punctuation.separator.comma.ts
58+
^^
59+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
60+
> filesToDiff
61+
^^^^^^^^
62+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
63+
^^^^^^^^^^^
64+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts variable.other.readwrite.ts
65+
^^
66+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts
67+
> };
68+
^^^^
69+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
70+
^
71+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts punctuation.definition.block.ts
72+
^
73+
source.ts punctuation.terminator.statement.ts
74+
^^
75+
source.ts
76+
> const a = {
77+
^^^^
78+
source.ts
79+
^^^^^
80+
source.ts meta.var.expr.ts storage.type.ts
81+
^
82+
source.ts meta.var.expr.ts
83+
^
84+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts variable.other.readwrite.ts
85+
^
86+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
87+
^
88+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts keyword.operator.assignment.ts
89+
^
90+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
91+
^
92+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts punctuation.definition.block.ts
93+
^^
94+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
95+
> filesToOpen: filesToOpen,
96+
^^^^^^^^
97+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
98+
^^^^^^^^^^^
99+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts meta.object-literal.key.ts
100+
^
101+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts meta.object-literal.key.ts punctuation.separator.key-value.ts
102+
^
103+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts
104+
^^^^^^^^^^^
105+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts variable.other.readwrite.ts
106+
^
107+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts punctuation.separator.comma.ts
108+
^^
109+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
110+
> filesToCreate: filesToCreate,
111+
^^^^^^^^
112+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
113+
^^^^^^^^^^^^^
114+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts meta.object-literal.key.ts
115+
^
116+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts meta.object-literal.key.ts punctuation.separator.key-value.ts
117+
^
118+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts
119+
^^^^^^^^^^^^^
120+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts variable.other.readwrite.ts
121+
^
122+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts punctuation.separator.comma.ts
123+
^^
124+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
125+
> filesToDiff: filesToDiff
126+
^^^^^^^^
127+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts
128+
^^^^^^^^^^^
129+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts meta.object-literal.key.ts
130+
^
131+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts meta.object-literal.key.ts punctuation.separator.key-value.ts
132+
^
133+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts
134+
^^^^^^^^^^^
135+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts variable.other.readwrite.ts
136+
^^
137+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts
138+
> }
139+
^^^^
140+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts meta.object.member.ts
141+
^
142+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.object-literal.ts punctuation.definition.block.ts

tests/cases/Issue292.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const shellOptions: IOptions = {
2+
filesToOpen,
3+
filesToCreate,
4+
filesToDiff
5+
};
6+
const a = {
7+
filesToOpen: filesToOpen,
8+
filesToCreate: filesToCreate,
9+
filesToDiff: filesToDiff
10+
}

0 commit comments

Comments
 (0)