private static void addVersionCommands(ICommand root) { root.AddCommand(new Command { Long = "version", Short = "", Aliases = new[] { "ver", "versions" }, Description = "Show the version of this app.", Hidden = true, Group = Worker.SysMgmtGroup, Action = (worker, sender, remainArgs) => worker.ShowVersionsScreen(worker, remainArgs.ToArray()), }); root.AddFlag(new Flag <bool> { DefaultValue = false, Long = "version", Short = "V", Aliases = new[] { "ver", "versions" }, Description = "Show the version of this app.", Hidden = true, Group = Worker.SysMgmtGroup, PreAction = delegate(IBaseWorker worker, IBaseOpt sender, IEnumerable <string> remainArgs) { worker.ShowVersionsScreen(worker, remainArgs.ToArray()); return(false); }, }); root.AddFlag(new Flag <string> { DefaultValue = "", Long = "version-sim", Short = "vs", Aliases = new[] { "ver-sim", "version-simulate" }, Description = "Simulate a faked version number for this app.", Hidden = true, Group = Worker.SysMgmtGroup, // ReSharper disable once UnusedAnonymousMethodSignature Action = delegate(IBaseWorker worker, IBaseOpt sender, IEnumerable <string> remainArgs) { // conf.Version = GetStringR("version-sim"); // Set("version", conf.Version); // set into option 'app. version' too. }, EnvVars = new[] { "VERSION" }, }); root.AddFlag(new Flag <bool> { DefaultValue = false, Long = "build-info", Short = "#", Aliases = new[] { "bi" }, Description = "Show the building information of this app.", Hidden = true, Group = Worker.SysMgmtGroup, PreAction = (worker, sender, remainArgs) => { worker.ShowBuildInfoScreen(worker, remainArgs.ToArray()); return(false); }, }); }