Skip to content

Commit e346176

Browse files
author
Wliu
authored
Revert "Fix atom#460: Incorrect highlighting for multiline imports"
1 parent 286f395 commit e346176

File tree

2 files changed

+46
-227
lines changed

2 files changed

+46
-227
lines changed

grammars/javascript.cson

Lines changed: 45 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@
3939
'patterns': [
4040
{
4141
# ES6 import
42-
'begin': '(?<!\\.)\\b(import)(?:\\s*$|(?!\\s*[:(])\\b)'
42+
'begin': '(?<!\\.)\\b(import)(?!\\s*[:(])\\b'
4343
'beginCaptures':
4444
'1':
4545
'name': 'keyword.control.js'
46-
'end': '(?=;)'
46+
'end': '(?=;|$)'
4747
'name': 'meta.import.js'
4848
'patterns': [
4949
{
@@ -58,58 +58,69 @@
5858
'name': 'punctuation.definition.modules.end.js'
5959
'patterns': [
6060
{
61-
'match': '\\bdefault\\b'
62-
'name': 'variable.language.default.js'
63-
}
64-
{
65-
'include': '#comments'
66-
}
67-
{
68-
'begin': '\\bas\\b'
69-
'beginCaptures':
70-
'0':
71-
'name': 'keyword.control.js'
72-
'end': '(?=[;}]|/\\*)|(?:(\\bdefault\\b|\\*)|([a-zA-Z_$][\\w$]*))'
73-
'endCaptures':
61+
# (default|name) as alias
62+
'match': '''(?x)
63+
(?: \\b(default)\\b | \\b([a-zA-Z_$][\\w$]*)\\b)
64+
\\s*
65+
(\\b as \\b)
66+
\\s*
67+
(?: (\\b default \\b | \\*) | \\b([a-zA-Z_$][\\w$]*)\\b)
68+
'''
69+
'captures':
7470
'1':
75-
'name': 'invalid.illegal.js'
71+
'name': 'variable.language.default.js'
7672
'2':
73+
'name': 'variable.other.module.js'
74+
'3':
75+
'name': 'keyword.control.js'
76+
'4':
77+
'name': 'invalid.illegal.js'
78+
'5':
7779
'name': 'variable.other.module-alias.js'
78-
'patterns': [
79-
{
80-
'include': '#comments'
81-
}
82-
]
8380
}
8481
{
8582
'match': ','
8683
'name': 'meta.delimiter.object.comma.js'
8784
}
85+
{
86+
'include': '#comments'
87+
}
8888
{
8989
'match': '\\b([a-zA-Z_$][\\w$]*)\\b'
9090
'name': 'variable.other.module.js'
9191
}
9292
]
9393
}
9494
{
95-
'match': '\\bdefault\\b'
96-
'name': 'variable.language.default.js'
95+
# (default|*|name) as alias
96+
'match': '''(?x)
97+
(?: \\b(default)\\b | (\\*) | \\b([a-zA-Z_$][\\w$]*)\\b)
98+
\\s*
99+
(\\b as \\b)
100+
\\s*
101+
(?: (\\b default \\b | \\*) | \\b([a-zA-Z_$][\\w$]*)\\b)
102+
'''
103+
'captures':
104+
'1':
105+
'name': 'variable.language.default.js'
106+
'2':
107+
'name': 'variable.language.import-all.js'
108+
'3':
109+
'name': 'variable.other.module.js'
110+
'4':
111+
'name': 'keyword.control.js'
112+
'5':
113+
'name': 'invalid.illegal.js'
114+
'6':
115+
'name': 'variable.other.module-alias.js'
97116
}
98117
{
99118
'match': '\\*'
100119
'name': 'variable.language.import-all.js'
101120
}
102121
{
103-
'begin': '\\bas\\b'
104-
'beginCaptures':
105-
'0':
106-
'name': 'keyword.control.js'
107-
'end': '(?=[;}]|/\\*)|(?:(\\bdefault\\b|\\*)|([a-zA-Z_$][\\w$]*))'
108-
'endCaptures':
109-
'1':
110-
'name': 'invalid.illegal.js'
111-
'2':
112-
'name': 'variable.other.module-alias.js'
122+
'match': '\\b(default)\\b'
123+
'name': 'variable.language.default.js'
113124
}
114125
{
115126
'include': '#strings'
@@ -122,7 +133,7 @@
122133
'name': 'keyword.control.js'
123134
}
124135
{
125-
'match': '\\b([a-zA-Z_$][\\w$]*)\\b'
136+
'match': '\\b([a-zA-Z_$][\\w$]*)\\b(?=.*\\bfrom\\b)'
126137
'name': 'variable.other.module.js'
127138
}
128139
{

0 commit comments

Comments
 (0)