diff options
Diffstat (limited to 'clap.zig')
| -rw-r--r-- | clap.zig | 8 |
1 files changed, 6 insertions, 2 deletions
| @@ -223,14 +223,14 @@ pub fn parseParamEx(str: []const u8, end: *usize) !Param(Help) { | |||
| 223 | else => return error.InvalidParameter, | 223 | else => return error.InvalidParameter, |
| 224 | }, | 224 | }, |
| 225 | .first_char_of_long_name => switch (c) { | 225 | .first_char_of_long_name => switch (c) { |
| 226 | 'a'...'z', 'A'...'Z', '0'...'9' => { | 226 | 'a'...'z', 'A'...'Z', '0'...'9', '-', '_' => { |
| 227 | start = i; | 227 | start = i; |
| 228 | state = .rest_of_long_name; | 228 | state = .rest_of_long_name; |
| 229 | }, | 229 | }, |
| 230 | else => return error.InvalidParameter, | 230 | else => return error.InvalidParameter, |
| 231 | }, | 231 | }, |
| 232 | .rest_of_long_name => switch (c) { | 232 | .rest_of_long_name => switch (c) { |
| 233 | 'a'...'z', 'A'...'Z', '0'...'9' => {}, | 233 | 'a'...'z', 'A'...'Z', '0'...'9', '-', '_' => {}, |
| 234 | ' ', '\t' => { | 234 | ' ', '\t' => { |
| 235 | res.names.long = str[start..i]; | 235 | res.names.long = str[start..i]; |
| 236 | state = .before_value_or_description; | 236 | state = .before_value_or_description; |
| @@ -374,6 +374,8 @@ test "parseParams" { | |||
| 374 | try testParseParams( | 374 | try testParseParams( |
| 375 | \\-s | 375 | \\-s |
| 376 | \\--str | 376 | \\--str |
| 377 | \\--str-str | ||
| 378 | \\--str_str | ||
| 377 | \\-s, --str | 379 | \\-s, --str |
| 378 | \\--str <str> | 380 | \\--str <str> |
| 379 | \\-s, --str <str> | 381 | \\-s, --str <str> |
| @@ -397,6 +399,8 @@ test "parseParams" { | |||
| 397 | , &.{ | 399 | , &.{ |
| 398 | .{ .names = .{ .short = 's' } }, | 400 | .{ .names = .{ .short = 's' } }, |
| 399 | .{ .names = .{ .long = "str" } }, | 401 | .{ .names = .{ .long = "str" } }, |
| 402 | .{ .names = .{ .long = "str-str" } }, | ||
| 403 | .{ .names = .{ .long = "str_str" } }, | ||
| 400 | .{ .names = .{ .short = 's', .long = "str" } }, | 404 | .{ .names = .{ .short = 's', .long = "str" } }, |
| 401 | .{ | 405 | .{ |
| 402 | .id = .{ .val = "str" }, | 406 | .id = .{ .val = "str" }, |