commandlineparser / commandlineparser/commandline

Join IEnumerable defaults with separator instead of space

Aberta Para iniciantes
#951 1 comentário 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
C#
Estrelas
4.8k
Forks
478
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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).

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Comece em src/CommandLine/Text/HelpText.cs, por volta da linha 1125, onde os valores IEnumerable padrão são formatados para a saída de ajuda. Verifique como o separador configurado da opção fica disponível durante a formatação e, em seguida, confirme que a saída --help do exemplo usa vírgulas entre AAA, BBB e CCC, para que o valor padrão exibido possa ser copiado como um argumento.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
csharp
Domínio
cli
Tipo de issue
Bug
Dificuldade
2/5
Tempo estimado
1-3 horas
Status de atividade
Pouca atividade
Clareza
Claramente especificada
Facilidade para iniciantes
68/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.