File tree Expand file tree Collapse file tree 4 files changed +42
-7
lines changed Expand file tree Collapse file tree 4 files changed +42
-7
lines changed Original file line number Diff line number Diff line change @@ -708,12 +708,17 @@ export const scalaTmLanguage: TmLanguage = {
708
708
name : 'meta.package.scala'
709
709
} ,
710
710
{
711
- match : `\\b(given)\\b\\s*(?:\\b(as)\\b|(${ idUpper } )|(${ backQuotedId } |(?!//|/\\*)${ plainid } )?)` ,
711
+ match : `\\b(given)\\s+(?:(${ idUpper } )|(${ backQuotedId } |${ plainid } ))?(?=[^;]+\\bas\\b)` ,
712
+ captures : {
713
+ '1' : { name : 'keyword.declaration.scala' } ,
714
+ '2' : { name : 'entity.name.type.declaration' } ,
715
+ '3' : { name : 'entity.name.declaration' } ,
716
+ }
717
+ } ,
718
+ {
719
+ match : `\\b(given)\\b` ,
712
720
captures : {
713
721
'1' : { name : 'keyword.declaration.scala' } ,
714
- '2' : { name : 'keyword.declaration.scala' } ,
715
- '3' : { name : 'entity.name.type.declaration' } ,
716
- '4' : { name : 'entity.name.declaration' } ,
717
722
}
718
723
}
719
724
]
Original file line number Diff line number Diff line change 43
43
44
44
given foo [X <: Y { type A = 1 ; def f (using a : Int ): 2 }](x : X = 2 ) as Foo = ...
45
45
// ^^^^^ keyword.declaration.scala
46
- // ^^^ entity.name.declaration
46
+ // / ^^^ entity.name.declaration // disabled: heuristic identifis `;` as end of `given` definition
47
47
// ^^^^ keyword.declaration.scala
48
48
// ^ constant.numeric.scala
49
49
// ^^^ keyword.declaration.scala
Original file line number Diff line number Diff line change
1
+ // SYNTAX TEST "source.scala"
2
+
3
+ given foo .Foo
4
+ // ^^^^^ keyword.declaration.scala
5
+ // ^^^ - entity.name.declaration
6
+ // ^^^ entity.name.class
7
+
8
+ given Foo [a]
9
+ // ^^^^^ keyword.declaration.scala
10
+ // ^^^ - entity.name.type.declaration
11
+ // ^^^ entity.name.class
Original file line number Diff line number Diff line change 3
3
4
4
given Foo = ???
5
5
// ^^^^^ keyword.declaration.scala
6
- // ^^^ entity.name.type.declaration
6
+ // ^^^ - entity.name.type.declaration
7
+ // ^^^ entity.name.class
7
8
8
9
given foo = ???
9
10
// ^^^^^ keyword.declaration.scala
10
- // ^^^ entity.name.declaration
11
+ // ^^^ - entity.name.declaration
12
+ // ^^^ source.scala
11
13
12
14
given as Foo = ???
13
15
// ^^^^^ keyword.declaration.scala
30
32
// ^^^ entity.name.type.declaration
31
33
// ^^ keyword.declaration.scala
32
34
// ^^^ source.scala
35
+
36
+ given foo = ??? ; given Bar as Baz
37
+ // ^^^^^ keyword.declaration.scala
38
+ // ^^^ - entity.name.type.declaration
39
+ // ^^^^^ keyword.declaration.scala
40
+ // ^^^ entity.name.type.declaration
41
+ // ^^ keyword.declaration.scala
42
+ // ^^^ entity.name.class
43
+
44
+ given Foo = ??? ; given Bar as Baz
45
+ // ^^^^^ keyword.declaration.scala
46
+ // ^^^ - entity.name.type.declaration
47
+ // ^^^ entity.name.class
48
+ // ^^^^^ keyword.declaration.scala
49
+ // ^^^ entity.name.type.declaration
50
+ // ^^ keyword.declaration.scala
51
+ // ^^^ entity.name.class
You can’t perform that action at this time.
0 commit comments