commandlineparser / commandlineparser/commandline

How to get or implement prefix for version number

Aperta
#712 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C#
Stelle
4.8k
Fork
478
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hello all,

I am wondering how to add a custom prefix to the version information that gets printed both with the ```--help``` and ```--version``` options.

For the version ```2.0.0-beta``` an user-implemented prefix shall be added to get for both options an output like ```Myapp v2.0.0-beta``` or ```Myapp customprefix2.0.0-beta```.

For ```--help``` I could override ```HelpText.Heading``` which is an option, but not the preferred way I would do it.
For ```--version``` I did not find an option for overriding. Did I miss something reading the documentation?

Would it be correct to extend the following method with a configuration option like ```versionPrefix``` (which could be a private variable or a parameter of the ```HeadingInfo``` method)?
https://github.com/commandlineparser/commandline/blob/d443a51aeb3a418425e970542b3b96e9da5f62e2/src/CommandLine/Text/HeadingInfo.cs#L28-L34
```
public HeadingInfo(string programName, string versionPrefix, string version = null)
{
if (string.IsNullOrWhiteSpace(programName)) throw new ArgumentException("programName");
if (versionPrefix == null) throw new ArgumentException("versionPrefix");

this.programName = programName;
this.version = string.IsNullOrWhiteSpace(version) ? null : versionPrefix + version;
}
```
```
private string versionPrefix;

///
/// Gets or sets an optional prefix when displaying the version information.
///
public string VersionPrefix
{
get { return versionPrefix; }
set { versionPrefix = string.IsNullOrWhiteSpace(value) ? string.Empty : value; }
}
```

Where can the configuration option be assigned and how is the preferred way to route it into the HeadingInfo class?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.