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

Commit 8ffbb11

Browse files
WliuWliu
authored andcommitted
Merge pull request #225 from MaximSokolov/add-operators-subscopes
Add operators subscopes
2 parents 6d052fd + 7fb69c3 commit 8ffbb11

File tree

2 files changed

+175
-94
lines changed

2 files changed

+175
-94
lines changed

grammars/javascript.cson

Lines changed: 53 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@
267267
'2':
268268
'name': 'support.constant.js'
269269
'3':
270-
'name': 'keyword.operator.js'
270+
'name': 'keyword.operator.assignment.js'
271271
'comment': 'match stuff like: Sound.prototype = { … } when extending an object'
272272
'match': '([a-zA-Z_?.$][\\w?.$]*)\\.(prototype)\\s*(=)\\s*'
273273
'name': 'meta.class.js'
@@ -282,7 +282,7 @@
282282
'3':
283283
'name': 'entity.name.function.js'
284284
'4':
285-
'name': 'keyword.operator.js'
285+
'name': 'keyword.operator.assignment.js'
286286
'5':
287287
'name': 'storage.modifier.js'
288288
'6':
@@ -312,7 +312,7 @@
312312
'3':
313313
'name': 'entity.name.function.js'
314314
'4':
315-
'name': 'keyword.operator.js'
315+
'name': 'keyword.operator.assignment.js'
316316
'comment': 'match stuff like: Sound.prototype.play = myfunc'
317317
'match': '([a-zA-Z_?.$][\\w?.$]*)\\.(prototype)\\.([a-zA-Z_?.$][\\w?.$]*)\\s*(=)\\s*'
318318
'name': 'meta.function.js'
@@ -325,7 +325,7 @@
325325
'2':
326326
'name': 'entity.name.function.js'
327327
'3':
328-
'name': 'keyword.operator.js'
328+
'name': 'keyword.operator.assignment.js'
329329
'4':
330330
'name': 'storage.modifier.js'
331331
'5':
@@ -354,7 +354,7 @@
354354
'1':
355355
'name': 'entity.name.function.js'
356356
'2':
357-
'name': 'keyword.operator.js'
357+
'name': 'keyword.operator.assignment.js'
358358
'3':
359359
'name': 'storage.modifier.js'
360360
'4':
@@ -408,7 +408,7 @@
408408
'1':
409409
'name': 'entity.name.function.js'
410410
'2':
411-
'name': 'keyword.operator.js'
411+
'name': 'keyword.operator.assignment.js'
412412
'3':
413413
'name': 'storage.modifier.js'
414414
'4':
@@ -451,7 +451,7 @@
451451
'8':
452452
'name': 'punctuation.definition.string.end.js'
453453
'9':
454-
'name': 'keyword.operator.js'
454+
'name': 'keyword.operator.assignment.js'
455455
'10':
456456
'name': 'storage.modifier.js'
457457
'11':
@@ -538,7 +538,7 @@
538538
'1':
539539
'name': 'entity.name.function.js'
540540
'2':
541-
'name': 'keyword.operator.js'
541+
'name': 'keyword.operator.assignment.js'
542542
'3':
543543
'name': 'punctuation.definition.parameters.begin.js'
544544
'end': '(\\))(\\s*=>)'
@@ -563,7 +563,7 @@
563563
'2':
564564
'name': 'entity.name.function.js'
565565
'3':
566-
'name': 'keyword.operator.js'
566+
'name': 'keyword.operator.assignment.js'
567567
'4':
568568
'name': 'punctuation.definition.parameters.begin.js'
569569
'end': '(\\))(\\s*=>)'
@@ -634,18 +634,20 @@
634634
'beginCaptures':
635635
'1':
636636
'name': 'storage.modifier.js'
637-
'end': '(=|\\bof\\b|\\bin\\b)|(;)|(?<!,)\\n'
637+
'end': '(\\bof\\b|\\bin\\b)|(;)|(=)|(?<!,)\\n'
638638
'endCaptures':
639639
'1':
640-
'name': 'keyword.operator.js'
640+
'name': 'keyword.operator.$1.js'
641641
'2':
642642
'name': 'punctuation.terminator.statement.js'
643+
'3':
644+
'name': 'keyword.operator.assignment.js'
643645
'patterns': [
644646
{
645647
'match': '([$_a-zA-Z][$_a-zA-Z0-9]*)\\s*(:)\\s*([$_a-zA-Z][$_a-zA-Z0-9]*)?'
646648
'captures':
647649
'2':
648-
'name': 'keyword.operator.js'
650+
'name': 'keyword.operator.assignment.js'
649651
'3':
650652
'name': 'constant.other.js'
651653
}
@@ -703,7 +705,7 @@
703705
}
704706
{
705707
'match': '(?<!\\.)\\b(delete|in|of|instanceof|new|typeof|void)(?!\\s*:)\\b'
706-
'name': 'keyword.operator.js'
708+
'name': 'keyword.operator.$1.js'
707709
}
708710
{
709711
'match': '(?<!\\.)\\b(true|false)(?!\\s*:)\\b|(?<=\\?)(?:\\s*)(true|false)(?=\\s*:)'
@@ -857,8 +859,43 @@
857859
'operators':
858860
'patterns': [
859861
{
860-
'match': '!=|!==|<=|>=|<<=|>>=|>>>=|\\*=|(?<!\\()/=|%=|\\+=|\\-=|&=|\\^=|!|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|<>|<|>|!|&&|\\|\\||\\?|\\:|\\^'
861-
'comment': 'match 2-character operator first'
862+
'match': '%=|\\+=|-=|\\*=|(?<!\\()/='
863+
'name': 'keyword.operator.assignment.compound.js'
864+
}
865+
{
866+
'match': '&=|\\^=|<<=|>>=|>>>=|\\|='
867+
'name': 'keyword.operator.assignment.compound.bitwise.js'
868+
}
869+
{
870+
'match': '!==|!=|<=|>=|===|==|<|>'
871+
'name': 'keyword.operator.comparison.js'
872+
}
873+
{
874+
'match': '&&|!|\\|\\|'
875+
'name': 'keyword.operator.logical.js'
876+
}
877+
{
878+
'match': '&|\\||\\^|~'
879+
'name': 'keyword.operator.bitwise.js'
880+
}
881+
{
882+
'match': '\\?|:'
883+
'name': 'keyword.operator.js'
884+
}
885+
{
886+
'match': '='
887+
'name': 'keyword.operator.assignment.js'
888+
}
889+
{
890+
'match': '--'
891+
'name': 'keyword.operator.decrement.js'
892+
}
893+
{
894+
'match': '\\+\\+'
895+
'name': 'keyword.operator.increment.js'
896+
}
897+
{
898+
'match': '%|\\*|/|-|\\+'
862899
'name': 'keyword.operator.js'
863900
}
864901
]
@@ -981,7 +1018,7 @@
9811018
}
9821019
{
9831020
'match': '='
984-
'name': 'keyword.operator.js'
1021+
'name': 'keyword.operator.assignment.js'
9851022
}
9861023
{
9871024
'include': '#comments'

0 commit comments

Comments
 (0)