commandlineparser / commandlineparser/commandline
Join IEnumerable defaults with separator instead of space
- Ngôn ngữ chính
- C#
- Star
- 4.8k
- Fork
- 478
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Source:
```cs
#:package CommandLineParser@2.9.1
using CommandLine;
return Parser.Default.ParseArguments(args).MapResult(
(Opts opts) => 0,
errors => 2
);
class Opts {
[Option("opt", Required = true, Separator = ',', Default = new[] { "AAA", "BBB", "CCC" }, HelpText = "boolean arg.")]
public IEnumerable MyOption { get; set; }
}
```
Output with `--help`:
```
test_cmdline 1.0.0
Copyright (C) 2026 test_cmdline
--opt Required. (Default: AAA BBB CCC) boolean arg.
--help Display this help screen.
--version Display version information.
```
Notice that the default argument's values are joined by spaces, which is misleading.
Since a separator is provided it should be used instead, so that the user could just copy-paste the resulting value directly and use it as argument. Currently there is no way to achieve this: see [here](https://github.com/commandlineparser/commandline/blob/1e3607b97af6141743edb3c434c06d5b492f6fb3/src/CommandLine/Text/HelpText.cs#L1125).
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu tại src/CommandLine/Text/HelpText.cs, khoảng dòng 1125, nơi các giá trị IEnumerable mặc định được định dạng cho đầu ra trợ giúp. Theo dõi cách dấu phân cách được cấu hình của tùy chọn khả dụng trong quá trình định dạng, sau đó xác minh rằng đầu ra --help của mẫu sử dụng dấu phẩy giữa AAA, BBB và CCC để giá trị mặc định được hiển thị có thể được sao chép làm đối số.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- csharp
- Lĩnh vực
- cli
- Loại issue
- Lỗi
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 68/100