FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Tokenize regular expressions when inside arrays · riptide321/language-javascript@18cc0ac · GitHub

Repository navigation

Commit 18cc0ac

Browse files
committed
Tokenize regular expressions when inside arrays
Closes atom#40
1 parent d6762ea commit 18cc0ac

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

‎grammars/javascript.cson‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@
368368
'name': 'constant.language.js'
369369
}
370370
{
371-
'begin': '(?<=[=(:]|^|return|&&|\\|\\||!)\\s*(/)(?![/*+{}?])'
371+
'begin': '(?<=[\\[=(:]|^|return|&&|\\|\\||!)\\s*(/)(?![/*+{}?])'
372372
'beginCaptures':
373373
'1':
374374
'name': 'punctuation.definition.string.begin.js'

‎spec/javascript-spec.coffee‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,12 @@ describe "Javascript grammar", ->
2626
expect(tokens[1].scopes).toEqual ["source.js", scope]
2727
expect(tokens[2].value).toEqual delim
2828
expect(tokens[2].scopes).toEqual ["source.js", scope, "punctuation.definition.string.end.js"]
29+
30+
describe "regular expressions", ->
31+
it "tokenizes regular expressions inside arrays", ->
32+
{tokens} = grammar.tokenizeLine('[/test/]')
33+
expect(tokens[0]).toEqual value: '[', scopes: ['source.js', 'meta.brace.square.js']
34+
expect(tokens[1]).toEqual value: '/', scopes: ['source.js', 'string.regexp.js', 'punctuation.definition.string.begin.js']
35+
expect(tokens[2]).toEqual value: 'test', scopes: ['source.js', 'string.regexp.js']
36+
expect(tokens[3]).toEqual value: '/', scopes: ['source.js', 'string.regexp.js', 'punctuation.definition.string.end.js']
37+
expect(tokens[4]).toEqual value: ']', scopes: ['source.js', 'meta.brace.square.js']

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL