swiftlang/swift-package-manager

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

开放

#4,800 创建于 2018年5月31日

 (6 条评论) (0 个反应) (0 位负责人)Swift (1,462 个派生)batch import
buggood first issue

仓库指标

星标
 (10,145 个星标)
PR 合并指标
 (平均合并 9天 4小时) (30 天内合并 62 个 PR)

描述

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.

贡献者指南