Skip to content

Commit d7aa171

Browse files
authored
Merge pull request #149 from nicolasstucki/fix-#133-2
Fix #133: Add missing boundary condition
2 parents d2d1f8a + 806d9a7 commit d7aa171

File tree

2 files changed

+51
-2
lines changed

2 files changed

+51
-2
lines changed

src/typescript/Scala.tmLanguage.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -577,15 +577,15 @@ export const scalaTmLanguage: TmLanguage = {
577577
inline: {
578578
patterns: [
579579
{
580-
match: `\\b(inline)\\b(?=(?:.(?!val|def|given))*(if|match))`,
580+
match: `\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)`,
581581
captures: {
582582
'1': {
583583
name: 'keyword.control.flow.scala'
584584
}
585585
}
586586
},
587587
{
588-
match: `\\b(inline)\\s+(?=(([\\w\\s]*(val|def|given))|(${plainid}|${backQuotedId})\\s*:))`,
588+
match: `\\b(inline)\\s+(?=(([\\w\\s]*\\b(val|def|given)\\b)|(${plainid}|${backQuotedId})\\s*:))`,
589589
captures: {
590590
'1': {
591591
name: 'storage.modifier.other'

tests/unit/#133.test.scala

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,21 @@
1818
// ^^^^^^ keyword.control.flow.scala
1919
// ^^^^^ keyword.control.flow.scala
2020

21+
inline xval match {
22+
// ^^^^^^ keyword.control.flow.scala
23+
// ^^^^^ keyword.control.flow.scala
24+
25+
inline val1 match {
26+
// ^^^^^^ keyword.control.flow.scala
27+
// ^^^^^ keyword.control.flow.scala
28+
29+
inline def1 match {
30+
// ^^^^^^ keyword.control.flow.scala
31+
// ^^^^^ keyword.control.flow.scala
32+
33+
inline given1 match {
34+
// ^^^^^^ keyword.control.flow.scala
35+
// ^^^^^ keyword.control.flow.scala
2136

2237
inline def power(x: Double, inline N: Int): Double =
2338
// ^^^^^^ storage.modifier.other
@@ -40,6 +55,22 @@ val x = inline[T]
4055
// ^^^^^^ storage.modifier.other
4156
// ^^^^^^ variable.parameter.scala
4257

58+
inline def inline(inline xif: Int, inline ifx: Int): Double =
59+
// ^^^^^^ storage.modifier.other
60+
// ^^^^^^ entity.name.function.declaration
61+
// ^^^^^^ storage.modifier.other
62+
// ^^^ variable.parameter.scala
63+
// ^^^^^^ storage.modifier.other
64+
// ^^^ variable.parameter.scala
65+
66+
inline def inline(inline xmatch: Int, inline matchx: Int): Double =
67+
// ^^^^^^ storage.modifier.other
68+
// ^^^^^^ entity.name.function.declaration
69+
// ^^^^^^ storage.modifier.other
70+
// ^^^^^^ variable.parameter.scala
71+
// ^^^^^^ storage.modifier.other
72+
// ^^^^^^ variable.parameter.scala
73+
4374
inline if (n == 0) 1 else 2; val x = 2
4475
// ^^^^^^ keyword.control.flow.scala
4576
// ^^ keyword.control.flow.scala
@@ -51,3 +82,21 @@ val x = inline[T]
5182
inline f[X](x: X) match {
5283
// ^^^^^^ keyword.control.flow.scala
5384
// ^^^^^ keyword.control.flow.scala
85+
86+
inline xval
87+
// ^^^^^^ - storage.modifier.other keyword.control.flow.scala
88+
89+
inline valx
90+
// ^^^^^^ - storage.modifier.other keyword.control.flow.scala
91+
92+
inline defx
93+
// ^^^^^^ - storage.modifier.other keyword.control.flow.scala
94+
95+
inline xdef
96+
// ^^^^^^ - storage.modifier.other keyword.control.flow.scala
97+
98+
inline givenx
99+
// ^^^^^^ - storage.modifier.other keyword.control.flow.scala
100+
101+
inline xgiven
102+
// ^^^^^^ - storage.modifier.other keyword.control.flow.scala

0 commit comments

Comments
 (0)