Skip to content

Commit a4513e2

Browse files
committed
Update given syntax
1 parent b3d18b4 commit a4513e2

File tree

2 files changed

+75
-3
lines changed

2 files changed

+75
-3
lines changed

src/typescript/Scala.tmLanguage.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ export const scalaTmLanguage: TmLanguage = {
5050
{
5151
include: '#comments'
5252
},
53+
{
54+
match: 'given',
55+
name: 'keyword.other.import.given.scala'
56+
},
5357
{
5458
match: idUpper,
5559
name: 'entity.name.class.import.scala'
@@ -94,6 +98,10 @@ export const scalaTmLanguage: TmLanguage = {
9498
}
9599
}
96100
},
101+
{
102+
match: 'given',
103+
name: 'keyword.other.import.given.scala'
104+
},
97105
{
98106
match: `(given\\s+)?(?:(${idUpper})|(${backQuotedId}|${plainid}))`,
99107
captures: {

tests/unit/imports.test.scala

Lines changed: 67 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,52 @@
4242
// ^ meta.import.scala meta.import.selector.scala entity.name.import.renamed-to.scala
4343
// ^ meta.import.scala meta.import.selector.scala meta.bracket.scala
4444

45-
import a.{given _}
45+
import a.`given`
4646
// ^^^^^^ meta.import.scala keyword.other.import.scala
4747
// ^ meta.import.scala
4848
// ^ meta.import.scala entity.name.import.scala
4949
// ^ meta.import.scala punctuation.definition.import
50+
// ^^^^^^^ - keyword.other.import.given.scala
51+
52+
import a.given
53+
// ^^^^^^ meta.import.scala keyword.other.import.scala
54+
// ^ meta.import.scala
55+
// ^ meta.import.scala entity.name.import.scala
56+
// ^ meta.import.scala punctuation.definition.import
57+
// ^^^^^ meta.import.scala keyword.other.import.given.scala
58+
59+
import A.{given}
60+
// ^^^^^^ meta.import.scala keyword.other.import.scala
61+
// ^ meta.import.scala
62+
// ^ meta.import.scala entity.name.class.import.scala
63+
// ^ meta.import.scala punctuation.definition.import
5064
// ^ meta.import.scala meta.import.selector.scala meta.bracket.scala
5165
// ^^^^^ meta.import.scala keyword.other.import.given.scala
5266
// ^ meta.import.scala meta.import.selector.scala
53-
// ^ meta.import.scala entity.name.import.scala
54-
// ^ meta.import.scala meta.import.selector.scala
67+
68+
69+
import A.{`given`, _}
70+
// ^^^^^^ meta.import.scala keyword.other.import.scala
71+
// ^ meta.import.scala
72+
// ^ meta.import.scala entity.name.class.import.scala
73+
// ^ meta.import.scala punctuation.definition.import
74+
// ^ meta.import.scala meta.import.selector.scala meta.bracket.scala
75+
// ^^^^^^^ - keyword.other.import.given.scala
76+
// ^^ meta.import.scala meta.import.selector.scala
77+
// ^ meta.import.scala entity.name.import.scala
78+
// ^ meta.import.scala meta.import.selector.scala
79+
80+
import A.{given, _}
81+
// ^^^^^^ meta.import.scala keyword.other.import.scala
82+
// ^ meta.import.scala
83+
// ^ meta.import.scala entity.name.class.import.scala
84+
// ^ meta.import.scala punctuation.definition.import
85+
// ^ meta.import.scala meta.import.selector.scala meta.bracket.scala
86+
// ^^^^^ meta.import.scala keyword.other.import.given.scala
87+
// ^^ meta.import.scala meta.import.selector.scala
88+
// ^ meta.import.scala entity.name.import.scala
89+
// ^ meta.import.scala meta.import.selector.scala
90+
5591

5692
import A.{given TC}
5793
// ^^^^^^ meta.import.scala keyword.other.import.scala
@@ -63,3 +99,31 @@
6399
// ^ meta.import.scala meta.import.selector.scala
64100
// ^^ meta.import.scala entity.name.class.import.scala
65101
// ^ meta.import.scala meta.import.selector.scala
102+
103+
import A.{a, given Ordering[?]}
104+
// ^^^^^^ meta.import.scala keyword.other.import.scala
105+
// ^ meta.import.scala
106+
// ^ meta.import.scala entity.name.class.import.scala
107+
// ^ meta.import.scala punctuation.definition.import
108+
// ^ meta.import.scala meta.import.selector.scala meta.bracket.scala
109+
// ^ meta.import.scala entity.name.import.scala
110+
// ^^ meta.import.scala meta.import.selector.scala
111+
// ^^^^^ meta.import.scala keyword.other.import.given.scala
112+
// ^ meta.import.scala meta.import.selector.scala
113+
// ^^^^^^^^ meta.import.scala entity.name.class.import.scala
114+
// ^^^^ meta.import.scala meta.import.selector.scala
115+
116+
import A.{given Ordering[?], given ExecutionContext}
117+
// ^^^^^^ meta.import.scala keyword.other.import.scala
118+
// ^ meta.import.scala
119+
// ^ meta.import.scala entity.name.class.import.scala
120+
// ^ meta.import.scala punctuation.definition.import
121+
// ^ meta.import.scala meta.import.selector.scala meta.bracket.scala
122+
// ^^^^^ meta.import.scala keyword.other.import.given.scala
123+
// ^ meta.import.scala meta.import.selector.scala
124+
// ^^^^^^^^ meta.import.scala entity.name.class.import.scala
125+
// ^^^^^ meta.import.scala meta.import.selector.scala
126+
// ^^^^^ meta.import.scala keyword.other.import.given.scala
127+
// ^ meta.import.scala meta.import.selector.scala
128+
// ^^^^^^^^^^^^^^^^ meta.import.scala entity.name.class.import.scala
129+
// ^ meta.import.scala meta.import.selector.scala

0 commit comments

Comments
 (0)