commandlineparser / commandlineparser/commandline

[Feature request] Let HelpText.AutoBuild method populate HelpText instance according to parser settings

Abierto
#595 0 comentarios 0 reacciones 0 asignados Ver en GitHub
feature request
Lenguaje dominante
C#
Estrellas
4.8k
Forks
478
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Currently, when setting `AutoHelp` and/or `AutoVersion` for the parser to `false`, the `HelpText.AutoBuild` method does not acknowledge those parser settings for the respective `HelpText` properties, thus forcing the user to repeat setting those settings for HelpText.

Right now, i have to write something like that:

static void Main(string[] args)
{
using (var cmdLineParser = new Parser(settings => { settings.AutoHelp = false; settings.AutoVersion = false; }))
{
var parserResult = cmdLineParser.ParseArguments(args);
parserResult
.WithNotParsed(errors => DisplayHelp(parserResult, errors))
.WithParsed(Execute);
}
}

static void DisplayHelp(ParserResult result, IEnumerable errs)
{
var helpText = HelpText.AutoBuild(
result,
h =>
{
h.AutoHelp = false;
h.AutoVersion = false;
return h;
}
);
Console.WriteLine(helpText);
}

Note how my code for the `DisplayHelp` method is forced to again set the `AutoHelp` and `AutoVersion` settings for the HelpText to `false` (since they default to `true`, despite the respective parser settings being set to `false`).

Ideally, it would be nice if HelpText.AutoBuild could initialize the HelpText instance with the values from any appropriate settings of the parser used to produce the ParserResult.

(Related discussion: https://github.com/commandlineparser/commandline/issues/414)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.