예제 #1
0
        private static Option[] FullRestoreOptions()
        {
            var fullRestoreOptions = AddImplicitRestoreOptions(new Option[] { CommonOptions.HelpOption() }, true, true);

            return(fullRestoreOptions.Concat(
                       new Option[] {
                CommonOptions.VerbosityOption(),
                Create.Option(
                    "--interactive",
                    LocalizableStrings.CmdInteractiveRestoreOptionDescription,
                    Accept.NoArguments()
                    .ForwardAs("-property:NuGetInteractive=true")),
                Create.Option(
                    "--use-lock-file",
                    LocalizableStrings.CmdUseLockFileOptionDescription,
                    Accept.NoArguments()
                    .ForwardAs("-property:RestorePackagesWithLockFile=true")),
                Create.Option(
                    "--locked-mode",
                    LocalizableStrings.CmdLockedModeOptionDescription,
                    Accept.NoArguments()
                    .ForwardAs("-property:RestoreLockedMode=true")),
                Create.Option(
                    "--lock-file-path",
                    LocalizableStrings.CmdLockFilePathOptionDescription,
                    Accept.ExactlyOneArgument()
                    .With(name: LocalizableStrings.CmdLockFilePathOption)
                    .ForwardAsSingle(o => $"-property:NuGetLockFilePath={o.Arguments.Single()}")),
                Create.Option(
                    "--force-evaluate",
                    LocalizableStrings.CmdReevaluateOptionDescription,
                    Accept.NoArguments()
                    .ForwardAs("-property:RestoreForceEvaluate=true"))
            }).ToArray());
        }
예제 #2
0
 public static Command Pack() =>
 CreateWithRestoreOptions.Command(
     "pack",
     LocalizableStrings.AppFullName,
     Accept.ZeroOrMoreArguments()
     .With(name: CommonLocalizableStrings.ProjectArgumentName,
           description: CommonLocalizableStrings.ProjectArgumentDescription),
     CommonOptions.HelpOption(),
     Create.Option(
         "-o|--output",
         LocalizableStrings.CmdOutputDirDescription,
         Accept.ExactlyOneArgument()
         .With(name: LocalizableStrings.CmdOutputDir)
         .ForwardAsSingle(o => $"-property:PackageOutputPath={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")),
     Create.Option(
         "--no-build",
         LocalizableStrings.CmdNoBuildOptionDescription,
         Accept.NoArguments().ForwardAs("-property:NoBuild=true")),
     Create.Option(
         "--include-symbols",
         LocalizableStrings.CmdIncludeSymbolsDescription,
         Accept.NoArguments().ForwardAs("-property:IncludeSymbols=true")),
     Create.Option(
         "--include-source",
         LocalizableStrings.CmdIncludeSourceDescription,
         Accept.NoArguments().ForwardAs("-property:IncludeSource=true")),
     CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription),
     CommonOptions.VersionSuffixOption(),
     Create.Option(
         "-s|--serviceable",
         LocalizableStrings.CmdServiceableDescription,
         Accept.NoArguments().ForwardAs("-property:Serviceable=true")),
     CommonOptions.InteractiveMsBuildForwardOption(),
     CommonOptions.NoRestoreOption(),
     CommonOptions.VerbosityOption());
 public static Option IgnoreFailedSourcesOption()
 {
     return(Create.Option(
                "--ignore-failed-sources",
                LocalizableStrings.CmdIgnoreFailedSourcesOptionDescription,
                Accept.NoArguments().ForwardAs("--ignore-failed-sources")));
 }
예제 #4
0
 public static Command ToolUpdate()
 {
     return(Create.Command("update",
                           LocalizableStrings.CommandDescription,
                           Accept.ExactlyOneArgument(errorMessage: o => LocalizableStrings.SpecifyExactlyOnePackageId)
                           .With(name: LocalizableStrings.PackageIdArgumentName,
                                 description: LocalizableStrings.PackageIdArgumentDescription),
                           Create.Option(
                               "-g|--global",
                               LocalizableStrings.GlobalOptionDescription,
                               Accept.NoArguments()),
                           Create.Option(
                               "--tool-path",
                               LocalizableStrings.ToolPathOptionDescription,
                               Accept.ExactlyOneArgument()
                               .With(name: LocalizableStrings.ToolPathOptionName)),
                           Create.Option(
                               "--configfile",
                               LocalizableStrings.ConfigFileOptionDescription,
                               Accept.ExactlyOneArgument()
                               .With(name: LocalizableStrings.ConfigFileOptionName)),
                           Create.Option(
                               "--add-source",
                               LocalizableStrings.AddSourceOptionDescription,
                               Accept.OneOrMoreArguments()
                               .With(name: LocalizableStrings.AddSourceOptionName)),
                           Create.Option(
                               "--framework",
                               LocalizableStrings.FrameworkOptionDescription,
                               Accept.ExactlyOneArgument()
                               .With(name: LocalizableStrings.FrameworkOptionName)),
                           CommonOptions.HelpOption(),
                           CommonOptions.VerbosityOption()));
 }
 public static Command Pack() =>
 Create.Command(
     "pack",
     LocalizableStrings.AppFullName,
     Accept.ZeroOrMoreArguments(),
     CommonOptions.HelpOption(),
     Create.Option(
         "-o|--output",
         LocalizableStrings.CmdOutputDirDescription,
         Accept.ExactlyOneArgument()
         .With(name: LocalizableStrings.CmdOutputDir)
         .ForwardAsSingle(o => $"/p:PackageOutputPath={o.Arguments.Single()}")),
     Create.Option(
         "--no-build",
         LocalizableStrings.CmdNoBuildOptionDescription,
         Accept.NoArguments().ForwardAs("/p:NoBuild=true")),
     Create.Option(
         "--include-symbols",
         LocalizableStrings.CmdIncludeSymbolsDescription,
         Accept.NoArguments().ForwardAs("/p:IncludeSymbols=true")),
     Create.Option(
         "--include-source",
         LocalizableStrings.CmdIncludeSourceDescription,
         Accept.NoArguments().ForwardAs("/p:IncludeSource=true")),
     CommonOptions.ConfigurationOption(),
     CommonOptions.VersionSuffixOption(),
     Create.Option(
         "-s|--serviceable",
         LocalizableStrings.CmdServiceableDescription,
         Accept.NoArguments().ForwardAs("/p:Serviceable=true")),
     CommonOptions.VerbosityOption());
예제 #6
0
 public static Command ToolSearch()
 {
     return(Create.Command(
                "search",
                LocalizableStrings.CommandDescription,
                Accept.ZeroOrMoreArguments()
                .With(name: LocalizableStrings.SearchTermArgumentName,
                      description: LocalizableStrings.SearchTermDescription),
                Create.Option(
                    $"--detail",
                    LocalizableStrings.DetailDescription,
                    Accept.NoArguments()),
                Create.Option(
                    $"--skip",
                    LocalizableStrings.SkipDescription,
                    Accept.ExactlyOneArgument()
                    .With(name: LocalizableStrings.SkipArgumentName)),
                Create.Option(
                    $"--take",
                    LocalizableStrings.TakeDescription,
                    Accept.ExactlyOneArgument()
                    .With(name: LocalizableStrings.TakeArgumentName)),
                Create.Option(
                    $"--prerelease",
                    LocalizableStrings.PrereleaseDescription,
                    Accept.NoArguments()),
                Create.Option(
                    $"--semver-level",
                    LocalizableStrings.SemVerLevelDescription,
                    Accept.ExactlyOneArgument()
                    .With(name: LocalizableStrings.SemVerLevelArgumentName)),
                CommonOptions.HelpOption()));
 }
예제 #7
0
 public static Command ToolUninstall()
 {
     return(Create.Command("uninstall",
                           LocalizableStrings.CommandDescription,
                           Accept.ExactlyOneArgument(errorMessage: o => LocalizableStrings.SpecifyExactlyOnePackageId)
                           .With(name: LocalizableStrings.PackageIdArgumentName,
                                 description: LocalizableStrings.PackageIdArgumentDescription),
                           Create.Option(
                               $"-g|--{ToolAppliedOption.GlobalOption}",
                               LocalizableStrings.GlobalOptionDescription,
                               Accept.NoArguments()),
                           Create.Option(
                               $"--{ToolAppliedOption.LocalOption}",
                               LocalizableStrings.LocalOptionDescription,
                               Accept.NoArguments()),
                           Create.Option(
                               $"--{ToolAppliedOption.ToolPathOption}",
                               LocalizableStrings.ToolPathOptionDescription,
                               Accept.ExactlyOneArgument()
                               .With(name: LocalizableStrings.ToolPathOptionName)),
                           Create.Option(
                               $"--{ToolAppliedOption.ToolManifest}",
                               LocalizableStrings.ManifestPathOptionDescription,
                               Accept.ZeroOrOneArgument()
                               .With(name: LocalizableStrings.ManifestPathOptionName)),
                           CommonOptions.HelpOption()));
 }
예제 #8
0
 public static Command ListPackageReferences() => Create.Command(
     "package",
     LocalizableStrings.AppFullName,
     Accept.NoArguments(),
     CommonOptions.HelpOption(),
     Create.Option("--outdated",
                   LocalizableStrings.CmdOutdatedDescription,
                   Accept.NoArguments().ForwardAs("--outdated")),
     Create.Option("--framework",
                   LocalizableStrings.CmdFrameworkDescription,
                   Accept.OneOrMoreArguments()
                   .With(name: LocalizableStrings.CmdFramework)
                   .ForwardAsMany(o => ForwardedArguments("--framework", o.Arguments))),
     Create.Option("--include-transitive",
                   LocalizableStrings.CmdTransitiveDescription,
                   Accept.NoArguments().ForwardAs("--include-transitive")),
     Create.Option("--include-prerelease",
                   LocalizableStrings.CmdPrereleaseDescription,
                   Accept.NoArguments().ForwardAs("--include-prerelease")),
     Create.Option("--highest-patch",
                   LocalizableStrings.CmdHighestPatchDescription,
                   Accept.NoArguments().ForwardAs("--highest-patch")),
     Create.Option("--highest-minor",
                   LocalizableStrings.CmdHighestMinorDescription,
                   Accept.NoArguments().ForwardAs("--highest-minor")),
     Create.Option("--config",
                   LocalizableStrings.CmdConfigDescription,
                   Accept.ExactlyOneArgument()
                   .With(name: LocalizableStrings.CmdConfig)
                   .ForwardAsMany(o => new [] { "--config", o.Arguments.Single() })),
     Create.Option("--source",
                   LocalizableStrings.CmdSourceDescription,
                   Accept.OneOrMoreArguments()
                   .With(name: LocalizableStrings.CmdSource)
                   .ForwardAsMany(o => ForwardedArguments("--source", o.Arguments))));
예제 #9
0
 public static Command ToolRestore()
 {
     return(Create.Command(
                "restore",
                LocalizableStrings.CommandDescription,
                Accept.NoArguments(),
                Create.Option(
                    "--configfile",
                    LocalizableStrings.ConfigFileOptionDescription,
                    Accept.ExactlyOneArgument()
                    .With(name: LocalizableStrings.ConfigFileOptionName)),
                Create.Option(
                    "--add-source",
                    LocalizableStrings.AddSourceOptionDescription,
                    Accept.OneOrMoreArguments()
                    .With(name: LocalizableStrings.AddSourceOptionName)),
                Create.Option(
                    "--tool-manifest",
                    LocalizableStrings.ManifestPathOptionDescription,
                    Accept.ZeroOrOneArgument()
                    .With(name: LocalizableStrings.ManifestPathOptionName)),
                ToolCommandRestorePassThroughOptions.DisableParallelOption(),
                ToolCommandRestorePassThroughOptions.IgnoreFailedSourcesOption(),
                ToolCommandRestorePassThroughOptions.NoCacheOption(),
                ToolCommandRestorePassThroughOptions.InteractiveRestoreOption(),
                CommonOptions.HelpOption(),
                CommonOptions.VerbosityOption()));
 }
예제 #10
0
 public static Command Build() =>
 CreateWithRestoreOptions.Command(
     "build",
     LocalizableStrings.AppFullName,
     Accept.ZeroOrMoreArguments()
     .With(name: CommonLocalizableStrings.CmdProjectFile,
           description:
           "The MSBuild project file to build. If a project file is not specified, MSBuild searches the current working directory for a file that has a file extension that ends in `proj` and uses that file."),
     CommonOptions.HelpOption(),
     Create.Option(
         "-o|--output",
         LocalizableStrings.OutputOptionDescription,
         Accept.ExactlyOneArgument()
         .With(name: LocalizableStrings.OutputOptionName)
         .ForwardAsSingle(o => $"-property:OutputPath={o.Arguments.Single()}")),
     CommonOptions.FrameworkOption(),
     CommonOptions.RuntimeOption(),
     CommonOptions.ConfigurationOption(),
     CommonOptions.VersionSuffixOption(),
     Create.Option(
         "--no-incremental",
         LocalizableStrings.NoIncrementialOptionDescription),
     Create.Option(
         "--no-dependencies",
         LocalizableStrings.NoDependenciesOptionDescription,
         Accept.NoArguments()
         .ForwardAs("-property:BuildProjectReferences=false")),
     CommonOptions.NoRestoreOption(),
     CommonOptions.VerbosityOption());
 public static Option DisableParallelOption()
 {
     return(Create.Option(
                "--disable-parallel",
                LocalizableStrings.CmdDisableParallelOptionDescription,
                Accept.NoArguments().ForwardAs("--disable-parallel")));
 }
예제 #12
0
 public static Command InstallTool()
 {
     return(Create.Command("tool",
                           LocalizableStrings.CommandDescription,
                           Accept.ExactlyOneArgument(errorMessage: o => LocalizableStrings.SpecifyExactlyOnePackageId)
                           .With(name: LocalizableStrings.PackageIdArgumentName,
                                 description: LocalizableStrings.PackageIdArgumentDescription),
                           Create.Option(
                               "-g|--global",
                               LocalizableStrings.GlobalOptionDescription,
                               Accept.NoArguments()),
                           Create.Option(
                               "--version",
                               LocalizableStrings.VersionOptionDescription,
                               Accept.ExactlyOneArgument()),
                           Create.Option(
                               "--configfile",
                               LocalizableStrings.ConfigFileOptionDescription,
                               Accept.ExactlyOneArgument()),
                           Create.Option(
                               "--source",
                               LocalizableStrings.SourceOptionDescription,
                               Accept.ExactlyOneArgument()
                               .With(name: LocalizableStrings.SourceOptionName)),
                           Create.Option(
                               "-f|--framework",
                               LocalizableStrings.FrameworkOptionDescription,
                               Accept.ExactlyOneArgument()),
                           CommonOptions.HelpOption(),
                           CommonOptions.VerbosityOption()));
 }
 public static Option NoCacheOption()
 {
     return(Create.Option(
                "--no-cache",
                LocalizableStrings.CmdNoCacheOptionDescription,
                Accept.NoArguments().ForwardAs("--no-cache")));
 }
예제 #14
0
 public static Command Build() =>
 CreateWithRestoreOptions.Command(
     "build",
     LocalizableStrings.AppFullName,
     Accept.ZeroOrMoreArguments()
     .With(name: CommonLocalizableStrings.ProjectArgumentName,
           description: CommonLocalizableStrings.ProjectArgumentDescription),
     CommonOptions.HelpOption(),
     Create.Option(
         "-o|--output",
         LocalizableStrings.OutputOptionDescription,
         Accept.ExactlyOneArgument()
         .With(name: LocalizableStrings.OutputOptionName)
         .ForwardAsSingle(o => $"-property:OutputPath={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")),
     CommonOptions.FrameworkOption(LocalizableStrings.FrameworkOptionDescription),
     CommonOptions.ConfigurationOption(LocalizableStrings.ConfigurationOptionDescription),
     CommonOptions.RuntimeOption(LocalizableStrings.RuntimeOptionDescription),
     CommonOptions.VersionSuffixOption(),
     Create.Option(
         "--no-incremental",
         LocalizableStrings.NoIncrementalOptionDescription),
     Create.Option(
         "--no-dependencies",
         LocalizableStrings.NoDependenciesOptionDescription,
         Accept.NoArguments()
         .ForwardAs("-property:BuildProjectReferences=false")),
     CommonOptions.NoRestoreOption(),
     CommonOptions.VerbosityOption());
예제 #15
0
 public static Command Run() =>
 Create.Command(
     "run",
     LocalizableStrings.AppFullName,
     treatUnmatchedTokensAsErrors: false,
     arguments: Accept.ZeroOrMoreArguments()
     .MaterializeAs(o => new RunCommand
 {
     Configuration = o.SingleArgumentOrDefault("--configuration"),
     Framework     = o.SingleArgumentOrDefault("--framework"),
     NoBuild       = o.HasOption("--no-build"),
     Project       = o.SingleArgumentOrDefault("--project"),
     Args          = o.Arguments
 }),
     options: new[]
 {
     CommonOptions.HelpOption(),
     CommonOptions.ConfigurationOption(),
     CommonOptions.FrameworkOption(),
     Create.Option(
         "-p|--project",
         LocalizableStrings.CommandOptionProjectDescription,
         Accept.ExactlyOneArgument()),
     Create.Option(
         "--no-build",
         LocalizableStrings.CommandOptionNoBuildDescription,
         Accept.NoArguments())
 });
예제 #16
0
        public void HasAlias_accepts_unprefixed_long_value()
        {
            var option = new Option(
                new[] { "-o", "--option" }, "",
                Accept.NoArguments());

            option.HasAlias("option").Should().BeTrue();
        }
예제 #17
0
 public static Command Install()
 {
     return(Create.Command(
                "install", "",
                Accept.NoArguments(),
                CommonOptions.HelpOption(),
                InstallToolCommandParser.InstallTool()));
 }
 public static Option InteractiveRestoreOption()
 {
     return(Create.Option(
                "--interactive",
                CommonLocalizableStrings.CommandInteractiveOptionDescription,
                Accept.NoArguments()
                .ForwardAs(Constants.RestoreInteractiveOption)));
 }
예제 #19
0
 public static Command Install()
 {
     return(Create.Command(
                "install",
                LocalizableStrings.CommandDescription,
                Accept.NoArguments(),
                CommonOptions.HelpOption(),
                InstallToolCommandParser.InstallTool()));
 }
예제 #20
0
 public static Command CreateCommand()
 {
     return(Create.Command(
                "build-server",
                LocalizableStrings.CommandDescription,
                Accept.NoArguments(),
                CommonOptions.HelpOption(),
                ServerShutdownCommandParser.CreateCommand()));
 }
예제 #21
0
        public void It_is_not_necessary_to_specify_a_prefix_when_adding_an_option()
        {
            var option = new Option(
                new[] { "o" }, "",
                Accept.NoArguments());

            option.HasAlias("o").Should().BeTrue();
            option.HasAlias("-o").Should().BeTrue();
        }
예제 #22
0
 public static Command Update()
 {
     return(Create.Command(
                "update",
                Tools.Update.LocalizableStrings.CommandDescription,
                Accept.NoArguments(),
                CommonOptions.HelpOption(),
                UpdateToolCommandParser.Update()));
 }
예제 #23
0
 private static Option[] ImplicitRestoreOptions(bool showHelp = false, bool useShortOptions = false)
 {
     return(new Option[] {
         Create.Option(
             useShortOptions ? "-s|--source" : "--source",
             showHelp ? LocalizableStrings.CmdSourceOptionDescription : string.Empty,
             Accept.OneOrMoreArguments()
             .With(name: LocalizableStrings.CmdSourceOption)
             .ForwardAsSingle(o => $"-property:RestoreSources={string.Join("%3B", o.Arguments)}")),
         Create.Option(
             useShortOptions ? "-r|--runtime" : "--runtime",
             LocalizableStrings.CmdRuntimeOptionDescription,
             Accept.OneOrMoreArguments()
             .WithSuggestionsFrom(_ => Suggest.RunTimesFromProjectFile())
             .With(name: LocalizableStrings.CmdRuntimeOption)
             .ForwardAsSingle(o => $"-property:RuntimeIdentifiers={string.Join("%3B", o.Arguments)}")),
         CommonOptions.CurrentRuntimeOption(LocalizableStrings.CmdCurrentRuntimeOptionDescription),
         Create.Option(
             "--packages",
             showHelp ? LocalizableStrings.CmdPackagesOptionDescription : string.Empty,
             Accept.ExactlyOneArgument()
             .With(name: LocalizableStrings.CmdPackagesOption)
             .ForwardAsSingle(o => $"-property:RestorePackagesPath={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")),
         Create.Option(
             "--disable-parallel",
             showHelp ? LocalizableStrings.CmdDisableParallelOptionDescription : string.Empty,
             Accept.NoArguments()
             .ForwardAs("-property:RestoreDisableParallel=true")),
         Create.Option(
             "--configfile",
             showHelp ? LocalizableStrings.CmdConfigFileOptionDescription : string.Empty,
             Accept.ExactlyOneArgument()
             .With(name: LocalizableStrings.CmdConfigFileOption)
             .ForwardAsSingle(o => $"-property:RestoreConfigFile={CommandDirectoryContext.GetFullPath(o.Arguments.Single())}")),
         Create.Option(
             "--no-cache",
             showHelp ? LocalizableStrings.CmdNoCacheOptionDescription : string.Empty,
             Accept.NoArguments()
             .ForwardAs("-property:RestoreNoCache=true")),
         Create.Option(
             "--ignore-failed-sources",
             showHelp ? LocalizableStrings.CmdIgnoreFailedSourcesOptionDescription : string.Empty,
             Accept.NoArguments()
             .ForwardAs("-property:RestoreIgnoreFailedSources=true")),
         Create.Option(
             "--no-dependencies",
             LocalizableStrings.CmdNoDependenciesOptionDescription,
             Accept.NoArguments()
             .ForwardAs("-property:RestoreRecursive=false")),
         Create.Option(
             useShortOptions ? "-f|--force" : "--force",
             LocalizableStrings.CmdForceRestoreOptionDescription,
             Accept.NoArguments()
             .ForwardAs("-property:RestoreForce=true"))
     });
 }
예제 #24
0
        public void By_default_an_option_without_arguments_materializes_as_true_when_it_is_applied()
        {
            var command = Command("something", "",
                                  Accept.NoArguments(),
                                  Option("-x", ""));

            var result = command.Parse("something -x");

            result["something"]["x"].Value <bool>().Should().BeTrue();
        }
예제 #25
0
        public void An_option_must_have_at_least_one_alias()
        {
            Action create = () => new Option(Array.Empty <string>(), "", Accept.NoArguments());

            create.ShouldThrow <ArgumentException>()
            .Which
            .Message
            .Should()
            .Be("An option must have at least one alias.");
        }
예제 #26
0
        // Final parser for when there is no template name provided.
        // Unmatched args are errors.
        public static Command CreateNewCommandForNoTemplateName(string commandName)
        {
            Option[] combinedArgs = ArrayExtensions.CombineArrays(NewCommandVisibleArgs, NewCommandHiddenArgs, DebuggingCommandArgs);

            return(Create.Command(commandName,
                                  LocalizableStrings.CommandDescription,
                                  Accept.NoArguments(),
                                  true,
                                  combinedArgs));
        }
예제 #27
0
        public void An_option_cannot_have_an_alias_consisting_entirely_of_whitespace()
        {
            Action create = () => new Option(new[] { "  \t" }, "", Accept.NoArguments());

            create.ShouldThrow <ArgumentException>()
            .Which
            .Message
            .Should()
            .Be("An option alias cannot be null, empty, or consist entirely of whitespace.");
        }
예제 #28
0
 public static Command SlnAdd() =>
 Create.Command("add",
                LocalizableStrings.AddAppFullName,
                Accept.OneOrMoreArguments(o => CommonLocalizableStrings.SpecifyAtLeastOneProjectToAdd)
                .With(name: LocalizableStrings.AddProjectPathArgumentName,
                      description: LocalizableStrings.AddProjectPathArgumentDescription),
                Create.Option(
                    "--in-root",
                    LocalizableStrings.InRoot,
                    Accept.NoArguments()),
                CommonOptions.HelpOption());
예제 #29
0
 public static Command ListTool()
 {
     return(Create.Command(
                "tool",
                LocalizableStrings.CommandDescription,
                Create.Option(
                    "-g|--global",
                    LocalizableStrings.GlobalOptionDescription,
                    Accept.NoArguments()),
                CommonOptions.HelpOption()));
 }
예제 #30
0
 public static Command Tool()
 {
     return(Create.Command(
                "tool",
                LocalizableStrings.CommandDescription,
                Accept.NoArguments(),
                CommonOptions.HelpOption(),
                ToolInstallCommandParser.ToolInstall(),
                ToolUninstallCommandParser.ToolUninstall(),
                ToolUpdateCommandParser.ToolUpdate(),
                ToolListCommandParser.ToolList()));
 }