swiftlang/swift-package-manager

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

Open

#4800 opened on May 31, 2018

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

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