commandlineparser / commandlineparser/commandline

Backslash parsing problem in argument.

Aberta
#918 1 comentário 1 reação 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

**Describe the bug**
Read string option with backslash \ and " results in reading " in the string.

**To Reproduce**
```
public class Options
{
[Option('P', "path", Required = true, HelpText = "Set working directory path.")]
public string Path { get; set; }
}

static void Main(string[] args)
{
string path = "";

var result = Parser.Default.ParseArguments(args)
.WithParsed(o =>
{
path = o.Path;
});

if (result.Tag == ParserResultType.Parsed)
{
Console.WriteLine($"Path: {path}");
}
}
```
1. Passing in argument `-P "C:\path\to\read\"`
2. Console output is `Path: C:\path\to\read"`

**Expected behavior**
Read backslash as it is. In the above example, output should be `Path: C:\path\to\read\`

**Additional context**
Am i missing some options?
Ref [issues/226](https://github.com/commandlineparser/commandline/issues/226) reports the same problem, still not fixed?

Guia de contribuição

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

Direção de pesquisa

Comece reproduzindo o problema com a classe Options fornecida e o argumento de linha de comando; em seguida, rastreie o caminho de análise de argumentos que lida com barras invertidas entre aspas. Verifique o comportamento usando a issue 226 vinculada como contexto. Considera-se concluído quando uma barra invertida final é preservada no valor Path analisado e a reprodução produz a saída esperada.

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
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
38/100

Receba novas issues na sua caixa de entrada

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