swiftlang/swift-package-manager

[SR-7831] `ArgumentParser` parses short option and option-argument without delimiting space as a single (likely unrecognised) option

Open

#4,800 opened on May 31, 2018

View on GitHub
 (6 comments) (0 reactions) (0 assignees)Swift (1,462 forks)batch import
buggood first issue

Repository metrics

Stars
 (10,145 stars)
PR merge metrics
 (Avg merge 8d 1h) (76 merged PRs in 30d)

Description

Previous ID SR-7831
Radar rdar://problem/36340481
Original Reporter @aciidb0mb3r
Type Bug
Votes 0
Component/s Package Manager
Labels Bug, StarterBug
Assignee None
Priority Medium

md5: 96d5acc7cd3ec4326fc64597be212962

Issue Description:

`ArgumentParser` parses short option and option-argument without delimiting space as a single (likely unrecognised) option.

For example, if an option is added to the parser with a short name of `-n`, `ArgumentParser` parses `-n 2` as the “n” option with “2” as its option-argument.

But it parses `-n2` as the unknown option `n2`.

Where long options are prefixed with `--`, it is common for CLI to treat `-n2` and `-n 2` identically.

This probably also implies `ArgumentParser` doesn’t handle adjoining flags (e.g. parsing `-abc` identically to `-a -b -c`) — but I haven’t tested this.

Contributor guide