Skip to content

Commit 502446d

Browse files
committed
Fix operators starting with an arithmetic operator
Fixes #191
1 parent cdc67c9 commit 502446d

File tree

5 files changed

+20
-19
lines changed

5 files changed

+20
-19
lines changed

src/typescript/Scala.tmLanguage.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,11 @@ export const scalaTmLanguage: TmLanguage = {
681681
match: `(<-|←|->|→|=>|⇒|\\?|\\:|@)+${opchar}*`,
682682
name: 'keyword.operator.scala'
683683
},
684+
{ // Arithmetic operators directly follower by another symbol are
685+
// just operators like +:, /:, ++
686+
match: `(\\-|\\+|\\*|/(?![/*])|%|~)${opchar}+`,
687+
name: 'keyword.operator.scala'
688+
},
684689
{
685690
match: '(==?|!=|<=|>=|<>|<|>)',
686691
name: 'keyword.operator.comparison.scala'

syntaxes/Scala.tmLanguage.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

tests/snap/end.test.scala.snap

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,7 @@
9696
# ^ source.scala meta.bracket.scala
9797
> y -= 1
9898
#^^^^^^^^^^^^^^^^^ source.scala
99-
# ^ source.scala keyword.operator.arithmetic.scala
100-
# ^ source.scala keyword.operator.comparison.scala
99+
# ^^ source.scala keyword.operator.scala
101100
# ^ source.scala
102101
# ^ source.scala constant.numeric.scala
103102
> end while
@@ -235,8 +234,7 @@
235234
# ^ source.scala
236235
# ^ source.scala keyword.operator.comparison.scala
237236
# ^^^^^ source.scala
238-
# ^ source.scala keyword.operator.arithmetic.scala
239-
# ^ source.scala keyword.operator.arithmetic.scala
237+
# ^^ source.scala keyword.operator.scala
240238
# ^^^^^ source.scala
241239
> end extension
242240
#^^^ source.scala

tests/snap/scala_spec.test.scala.snap

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -724,8 +724,7 @@
724724
# ^^^^^ source.scala
725725
# ^ source.scala meta.bracket.scala
726726
# ^^^^^^^^ source.scala
727-
# ^ source.scala keyword.operator.arithmetic.scala
728-
# ^ source.scala keyword.operator.comparison.scala
727+
# ^^ source.scala keyword.operator.scala
729728
# ^^^^^ source.scala
730729
> result
731730
#^^^^^^^^^^^ source.scala
@@ -1440,8 +1439,7 @@
14401439
# ^ source.scala meta.bracket.scala
14411440
# ^ source.scala constant.numeric.scala
14421441
# ^ source.scala
1443-
# ^ source.scala keyword.operator.arithmetic.scala
1444-
# ^ source.scala keyword.operator.scala
1442+
# ^^ source.scala keyword.operator.scala
14451443
# ^^^ source.scala
14461444
# ^ source.scala meta.bracket.scala
14471445
# ^ source.scala
@@ -1673,8 +1671,7 @@
16731671
# ^ source.scala meta.bracket.scala
16741672
> k += 1
16751673
#^^^^^^^^^^^^^^^^ source.scala
1676-
# ^ source.scala keyword.operator.arithmetic.scala
1677-
# ^ source.scala keyword.operator.comparison.scala
1674+
# ^^ source.scala keyword.operator.scala
16781675
# ^ source.scala
16791676
# ^ source.scala constant.numeric.scala
16801677
> }
@@ -1693,17 +1690,15 @@
16931690
# ^^^^^ source.scala
16941691
> j += 1
16951692
#^^^^^^^^^^^^^^ source.scala
1696-
# ^ source.scala keyword.operator.arithmetic.scala
1697-
# ^ source.scala keyword.operator.comparison.scala
1693+
# ^^ source.scala keyword.operator.scala
16981694
# ^ source.scala
16991695
# ^ source.scala constant.numeric.scala
17001696
> }
17011697
#^^^^^^^^^^ source.scala
17021698
# ^ source.scala punctuation.section.block.end.scala
17031699
> i += 1
17041700
#^^^^^^^^^^^^ source.scala
1705-
# ^ source.scala keyword.operator.arithmetic.scala
1706-
# ^ source.scala keyword.operator.comparison.scala
1701+
# ^^ source.scala keyword.operator.scala
17071702
# ^ source.scala
17081703
# ^ source.scala constant.numeric.scala
17091704
> }
@@ -1771,8 +1766,7 @@
17711766
# ^ source.scala
17721767
# ^ source.scala punctuation.section.block.begin.scala
17731768
# ^^ source.scala
1774-
# ^ source.scala keyword.operator.arithmetic.scala
1775-
# ^ source.scala keyword.operator.comparison.scala
1769+
# ^^ source.scala keyword.operator.scala
17761770
# ^ source.scala
17771771
# ^ source.scala constant.numeric.scala
17781772
# ^ source.scala punctuation.section.block.end.scala
@@ -2183,8 +2177,7 @@
21832177
#^^^^^^^^ source.scala
21842178
# ^^^^ source.scala keyword.control.flow.scala
21852179
# ^^^^^^^ source.scala
2186-
# ^ source.scala keyword.operator.arithmetic.scala
2187-
# ^ source.scala keyword.operator.scala
2180+
# ^^ source.scala keyword.operator.scala
21882181
# ^^^^^^ source.scala
21892182
# ^^ source.scala keyword.operator.scala
21902183
> case 3 | 5 | 6 =>

tests/unit/#191.test.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,8 @@
1818
// ^^^ keyword.operator.scala
1919
a |+ b
2020
// ^^ keyword.operator.scala
21+
22+
element +: seq
23+
// ^^ keyword.operator.scala
24+
i -= 1
25+
// ^^ keyword.operator.scala

0 commit comments

Comments
 (0)