File tree 2 files changed +14
-1
lines changed
src/dotty/tools/dotc/config
2 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -130,7 +130,8 @@ object Settings:
130
130
val output = if (isJar) JarArchive .create(path) else new PlainDirectory (path)
131
131
update(output, args)
132
132
}
133
- case (IntTag , arg2 :: args2) =>
133
+ case (IntTag , _) =>
134
+ val arg2 :: args2 = if (argRest == " " ) args else argRest :: args
134
135
try {
135
136
val x = arg2.toInt
136
137
choices match {
Original file line number Diff line number Diff line change @@ -165,6 +165,18 @@ class SettingsTests {
165
165
assertEquals(expectedErrors, summary.errors)
166
166
}
167
167
168
+ @ Test def `Allow IntSetting's to be set with a colon` : Unit =
169
+ object Settings extends SettingGroup :
170
+ val foo = IntSetting (" -foo" , " foo" , 80 )
171
+ import Settings ._
172
+
173
+ val args = List (" -foo:100" )
174
+ val summary = processArguments(args, processAll = true )
175
+ assertTrue(s " Setting args errors: \n ${summary.errors.take(5 ).mkString(" \n " )}" , summary.errors.isEmpty)
176
+ withProcessedArgs(summary) {
177
+ assertEquals(100 , foo.value)
178
+ }
179
+
168
180
private def withProcessedArgs (summary : ArgsSummary )(f : SettingsState ?=> Unit ) = f(using summary.sstate)
169
181
170
182
extension [T ](setting : Setting [T ])
You can’t perform that action at this time.
0 commit comments