commandlineparser / commandlineparser/commandline

How to get or implement prefix for version number

未关闭
#712 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C#
星标
4.8k
派生
478
PR 合并指标
30 天内没有已合并 PR

描述

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?

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。