Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Commit 6145b2d

Browse files
author
Alhadis
committed
Merge upstream changes into topic branch
2 parents 70a1a68 + 84b91e8 commit 6145b2d

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

grammars/javascript.cson

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@
285285
{
286286
# [async] function [name](params)
287287
# function* name(params) – generator function declaration
288-
'begin': '(?=(\\basync\\b\\s*)?\\bfunction\\b)'
288+
'begin': '(?=(\\basync\\b\\s*)?\\bfunction\\b(?!\\s*:))'
289289
'end': '(?<=})'
290290
'patterns': [
291291
{
@@ -579,7 +579,7 @@
579579
(?<=})|
580580
((?!
581581
\\s*{|
582-
\\G[\\w$]+:|
582+
\\G[\\w$]+\\s*:|
583583
\\s*/\\*|\\s*//
584584
)(?=\\s*\\S))
585585
'''

spec/javascript-spec.coffee

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1094,6 +1094,23 @@ describe "Javascript grammar", ->
10941094
expect(tokens[7]).toEqual value: 'foo', scopes: ['source.js', 'meta.function.json.js', 'entity.name.function.js']
10951095
expect(tokens[8]).toEqual value: '(', scopes: ['source.js', 'meta.function.json.js', 'meta.parameters.js', 'punctuation.definition.parameters.begin.bracket.round.js']
10961096

1097+
{tokens} = grammar.tokenizeLine('function : a => a')
1098+
expect(tokens[0]).toEqual value: 'function', scopes: ['source.js', 'meta.function.arrow.json.js', 'entity.name.function.js']
1099+
expect(tokens[2]).toEqual value: ':', scopes: ['source.js', 'meta.function.arrow.json.js', 'keyword.operator.assignment.js']
1100+
expect(tokens[4]).toEqual value: 'a', scopes: ['source.js', 'meta.function.arrow.json.js', 'meta.parameters.js', 'variable.parameter.function.js']
1101+
expect(tokens[6]).toEqual value: '=>', scopes: ['source.js', 'meta.function.arrow.json.js', 'storage.type.function.arrow.js']
1102+
expect(tokens[7]).toEqual value: ' a', scopes: ['source.js']
1103+
1104+
{tokens} = grammar.tokenizeLine('"func": a => a')
1105+
expect(tokens[1]).toEqual value: 'func', scopes: ['source.js', 'meta.function.arrow.json.js', 'string.quoted.double.js', 'entity.name.function.js']
1106+
expect(tokens[3]).toEqual value: ':', scopes: ['source.js', 'meta.function.arrow.json.js', 'keyword.operator.assignment.js']
1107+
expect(tokens[5]).toEqual value: 'a', scopes: ['source.js', 'meta.function.arrow.json.js', 'meta.parameters.js', 'variable.parameter.function.js']
1108+
expect(tokens[7]).toEqual value: '=>', scopes: ['source.js', 'meta.function.arrow.json.js', 'storage.type.function.arrow.js']
1109+
expect(tokens[8]).toEqual value: ' a', scopes: ['source.js']
1110+
1111+
{tokens} = grammar.tokenizeLine('"func" : a => a')
1112+
expect(tokens[8]).toEqual value: '=>', scopes: ['source.js', 'meta.function.arrow.json.js', 'storage.type.function.arrow.js']
1113+
10971114
it "tokenizes generator functions", ->
10981115
{tokens} = grammar.tokenizeLine('function* foo(){}')
10991116
expect(tokens[0]).toEqual value: 'function', scopes: ['source.js', 'meta.function.js', 'storage.type.function.js']

0 commit comments

Comments
 (0)