Skip to content

Commit

Permalink
Fix operators starting with an arithmetic operator
Browse files Browse the repository at this point in the history
Fixes #191
  • Loading branch information
Jentsch committed Oct 9, 2024
1 parent cdf46b5 commit 7db8560
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 19 deletions.
5 changes: 5 additions & 0 deletions src/typescript/Scala.tmLanguage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,11 @@ export const scalaTmLanguage: TmLanguage = {
match: `(<-|←|->|→|=>|⇒|\\?|\\:|@)+${opchar}*`,
name: 'keyword.operator.scala'
},
{ // Arithmetic operators directly follower by another symbol are
// just operators like +:, /:, ++
match: `(\\-|\\+|\\*|/(?![/*])|%|~)${opchar}+`,
name: 'keyword.operator.scala'
},
{
match: '(==?|!=|<=|>=|<>|<|>)',
name: 'keyword.operator.comparison.scala'
Expand Down
2 changes: 1 addition & 1 deletion syntaxes/Scala.tmLanguage.json

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions tests/snap/end.test.scala.snap
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,7 @@
# ^ source.scala meta.bracket.scala
> y -= 1
#^^^^^^^^^^^^^^^^^ source.scala
# ^ source.scala keyword.operator.arithmetic.scala
# ^ source.scala keyword.operator.comparison.scala
# ^^ source.scala keyword.operator.scala
# ^ source.scala
# ^ source.scala constant.numeric.scala
> end while
Expand Down Expand Up @@ -235,8 +234,7 @@
# ^ source.scala
# ^ source.scala keyword.operator.comparison.scala
# ^^^^^ source.scala
# ^ source.scala keyword.operator.arithmetic.scala
# ^ source.scala keyword.operator.arithmetic.scala
# ^^ source.scala keyword.operator.scala
# ^^^^^ source.scala
> end extension
#^^^ source.scala
Expand Down
21 changes: 7 additions & 14 deletions tests/snap/scala_spec.test.scala.snap
Original file line number Diff line number Diff line change
Expand Up @@ -724,8 +724,7 @@
# ^^^^^ source.scala
# ^ source.scala meta.bracket.scala
# ^^^^^^^^ source.scala
# ^ source.scala keyword.operator.arithmetic.scala
# ^ source.scala keyword.operator.comparison.scala
# ^^ source.scala keyword.operator.scala
# ^^^^^ source.scala
> result
#^^^^^^^^^^^ source.scala
Expand Down Expand Up @@ -1440,8 +1439,7 @@
# ^ source.scala meta.bracket.scala
# ^ source.scala constant.numeric.scala
# ^ source.scala
# ^ source.scala keyword.operator.arithmetic.scala
# ^ source.scala keyword.operator.scala
# ^^ source.scala keyword.operator.scala
# ^^^ source.scala
# ^ source.scala meta.bracket.scala
# ^ source.scala
Expand Down Expand Up @@ -1673,8 +1671,7 @@
# ^ source.scala meta.bracket.scala
> k += 1
#^^^^^^^^^^^^^^^^ source.scala
# ^ source.scala keyword.operator.arithmetic.scala
# ^ source.scala keyword.operator.comparison.scala
# ^^ source.scala keyword.operator.scala
# ^ source.scala
# ^ source.scala constant.numeric.scala
> }
Expand All @@ -1693,17 +1690,15 @@
# ^^^^^ source.scala
> j += 1
#^^^^^^^^^^^^^^ source.scala
# ^ source.scala keyword.operator.arithmetic.scala
# ^ source.scala keyword.operator.comparison.scala
# ^^ source.scala keyword.operator.scala
# ^ source.scala
# ^ source.scala constant.numeric.scala
> }
#^^^^^^^^^^ source.scala
# ^ source.scala punctuation.section.block.end.scala
> i += 1
#^^^^^^^^^^^^ source.scala
# ^ source.scala keyword.operator.arithmetic.scala
# ^ source.scala keyword.operator.comparison.scala
# ^^ source.scala keyword.operator.scala
# ^ source.scala
# ^ source.scala constant.numeric.scala
> }
Expand Down Expand Up @@ -1771,8 +1766,7 @@
# ^ source.scala
# ^ source.scala punctuation.section.block.begin.scala
# ^^ source.scala
# ^ source.scala keyword.operator.arithmetic.scala
# ^ source.scala keyword.operator.comparison.scala
# ^^ source.scala keyword.operator.scala
# ^ source.scala
# ^ source.scala constant.numeric.scala
# ^ source.scala punctuation.section.block.end.scala
Expand Down Expand Up @@ -2183,8 +2177,7 @@
#^^^^^^^^ source.scala
# ^^^^ source.scala keyword.control.flow.scala
# ^^^^^^^ source.scala
# ^ source.scala keyword.operator.arithmetic.scala
# ^ source.scala keyword.operator.scala
# ^^ source.scala keyword.operator.scala
# ^^^^^^ source.scala
# ^^ source.scala keyword.operator.scala
> case 3 | 5 | 6 =>
Expand Down
5 changes: 5 additions & 0 deletions tests/unit/#191.test.scala
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,8 @@
// ^^^ keyword.operator.scala
a |+ b
// ^^ keyword.operator.scala

element +: seq
// ^^ keyword.operator.scala
i -= 1
// ^^ keyword.operator.scala

0 comments on commit 7db8560

Please sign in to comment.