Skip to content

Commit 502a986

Browse files
committed
Fix short/long name distinction
1 parent 11ca995 commit 502a986

File tree

3 files changed

+7
-9
lines changed

3 files changed

+7
-9
lines changed

library/src/scala/annotation/newMain.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ final class newMain extends MainAnnotation[FromString, Any]:
6565
private inline val argMarker = "--"
6666
private inline val shortArgMarker = "-"
6767

68-
private val longArgRegex = "--[a-zA-Z][a-zA-Z0-9]*".r
68+
private val longArgRegex = "--[a-zA-Z][a-zA-Z0-9]+".r
6969
private val shortArgRegex = "-[a-zA-Z]".r
7070

7171
extension (param: Parameter)
@@ -148,6 +148,8 @@ final class newMain extends MainAnnotation[FromString, Any]:
148148
case None =>
149149
error(s"unknown argument name: $name")
150150
i += 1 // consume `value`
151+
case name if name.startsWith("-") =>
152+
error(s"ill-formed argument name: $name")
151153
case value =>
152154
positionalArgs += value
153155
i += 1
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
2 + 3 = 5
22
2 + 3 = 5
3-
Error: unknown argument name: --n
4-
Error: unknown argument name: --i
5-
Error: missing argument for n
6-
Error: missing argument for i
3+
Error: ill-formed argument name: --n
4+
Error: ill-formed argument name: --i
75
Usage: add [-n] <Int> [-i] <Int>

tests/run/main-annotation-wrong-param-names.check

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
Error: unknown argument name: --n
2-
Error: unknown argument name: --i
3-
Error: missing argument for num
4-
Error: missing argument for inc
1+
Error: ill-formed argument name: --n
2+
Error: ill-formed argument name: --i
53
Usage: add [--num] <Int> [--inc] <Int>
64
Error: unused argument: inc
75
Error: unused argument: 10

0 commit comments

Comments
 (0)