public Command BuildCountCommand()
        {
            var command = new Command("count");
            var builder = new CountRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildGetCommand());
            return(command);
        }
        public Command BuildCommand()
        {
            var command = new Command("item");
            var builder = new ColumnDefinitionItemRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildGetCommand());
            return(command);
        }
        public void Options_section_is_not_included_if_only_subcommands_configured()
        {
            var command = new Command("outer", "description for outer");
            command.AddCommand(new Command("inner"));

            _helpBuilder.Write(command);

            _console.Out.ToString().Should().NotContain("Options:");
        }
示例#4
0
        static void Main(string[] args)
        {
            //Use this to add a command to the command lib
            Command.AddCommand("cc", cc);
            Command.AddCommand("aa", aa);

            //start listening commands
            Command.Listen();
        }
示例#5
0
        public static Command GetCommand()
        {
            var command = new Command("nuget");

            command.AddOption(new Option <bool>("--version"));
            command.AddOption(new Option <string>(new string[] { "-v", "--verbosity" }));
            command.AddArgument(new Argument()
            {
                IsHidden = true
            });

            command.AddCommand(GetDeleteCommand());
            command.AddCommand(GetLocalsCommand());
            command.AddCommand(GetPushCommand());
            command.AddCommand(GetVerifyCommand());

            return(command);
        }
        public static void AddUniversalOptions(this Command command, bool enableOutputFormatting = false)
        {
            command.AddOption(new Option <UpgradeTarget>(new[] { "--target-tfm-support", "-t" }, LocalizedStrings.UpgradeAssistantCommandTargetTfm));
            command.AddOption(new Option <bool>(new[] { "--verbose", "-v" }, LocalizedStrings.VerboseCommand));

            command.AddOption(new Option <string>(new[] { "--format", "-f" }, LocalizedStrings.UpgradeAssistantCommandFormat));

            command.AddCommand(new ConsoleAnalyzeCommand.ListFormatsCommand());
        }
示例#7
0
        public override Command BuildCommand()
        {
            var projectsCommand = new Command("projects");

            projectsCommand.AddCommand(AddListSubCommand());
            projectsCommand.AddAlias("projects");

            return(projectsCommand);
        }
示例#8
0
 public static Command AddCommands <TCommands>(this Command command) where TCommands : class
 {
     typeof(TCommands)
     .GetMethodsOnly()
     .Select(mi => mi.CreateCommand())
     .ToList()
     .ForEach(c => command.AddCommand(c));
     return(command);
 }
示例#9
0
        private static Command ConfigureCommandLine(Command rootCommand)
        {
            // Add subcommands
            foreach (var subcommand in Subcommands)
            {
                rootCommand.AddCommand(subcommand);
            }

            return(rootCommand);
        }
            Command Templates()
            {
                var cmd = new Command("templates", "Perform operations on Vellum templates.");

                var packagesCmd = new Command("packages", "Perform operations on Vellum template packages.");

                var installCmd = new Command("install", "Install a vellum-cli template package.")
                {
                    new Argument <string>
                    {
                        Name        = "package-id",
                        Description = "NuGet Package Id",
                        Arity       = ArgumentArity.ExactlyOne,
                    },
                };

                installCmd.Handler = CommandHandler.Create <TemplateOptions, InvocationContext>(async(options, context) =>
                {
                    await templateInstall(options, context.Console, this.appEnvironment, context).ConfigureAwait(false);
                });

                var uninstallCmd = new Command("uninstall", "Uninstall a vellum-cli template package.")
                {
                    new Argument <string>
                    {
                        Name        = "package-id",
                        Description = "NuGet Package Id",
                        Arity       = ArgumentArity.ExactlyOne,
                    },
                };

                uninstallCmd.Handler = CommandHandler.Create <TemplateOptions, InvocationContext>(async(options, context) =>
                {
                    await templateUninstall(options, context.Console, this.appEnvironment, context).ConfigureAwait(false);
                });

                packagesCmd.AddCommand(installCmd);
                packagesCmd.AddCommand(uninstallCmd);

                cmd.AddCommand(packagesCmd);

                return(cmd);
            }
示例#11
0
        private static Command Count()
        {
            Command byChapter = new Command("ch", "Display word counts by chapter")
            {
                Handler = CommandHandler.Create <string, bool, InvocationContext>(Commands.CountByChapter)
            };

            Command keep = new Command("keep", "Counts number of words in the manuscript and stores the result in the keep file")
            {
                Handler = CommandHandler.Create <string, bool, InvocationContext>(Commands.CountKeep)
            };

            var cmd = new Command("count", "Counts number of words in the manuscript");

            cmd.AddCommand(byChapter);
            cmd.AddCommand(keep);
            cmd.Handler = CommandHandler.Create <string, bool, InvocationContext>(Commands.Count);
            return(cmd);
        }
        public Command BuildOnenoteCommand()
        {
            var command = new Command("onenote");
            var builder = new OnenoteRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildDeleteCommand());
            command.AddCommand(builder.BuildGetCommand());
            command.AddCommand(builder.BuildNotebooksCommand());
            command.AddCommand(builder.BuildOperationsCommand());
            command.AddCommand(builder.BuildPagesCommand());
            command.AddCommand(builder.BuildPatchCommand());
            command.AddCommand(builder.BuildResourcesCommand());
            command.AddCommand(builder.BuildSectionGroupsCommand());
            command.AddCommand(builder.BuildSectionsCommand());
            return(command);
        }
        public Command BuildCommand()
        {
            var command = new Command("item");
            var builder = new UnifiedRoleEligibilityScheduleRequestItemRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildAppScopeCommand());
            command.AddCommand(builder.BuildCancelCommand());
            command.AddCommand(builder.BuildDeleteCommand());
            command.AddCommand(builder.BuildDirectoryScopeCommand());
            command.AddCommand(builder.BuildGetCommand());
            command.AddCommand(builder.BuildPatchCommand());
            command.AddCommand(builder.BuildPrincipalCommand());
            command.AddCommand(builder.BuildRoleDefinitionCommand());
            command.AddCommand(builder.BuildTargetScheduleCommand());
            return(command);
        }
        public Command BuildCommand()
        {
            var command = new Command("item");
            var builder = new ApiSdk.Me.MailFolders.Item.ChildFolders.Item.MailFolderItemRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildCopyCommand());
            command.AddCommand(builder.BuildDeleteCommand());
            command.AddCommand(builder.BuildGetCommand());
            command.AddCommand(builder.BuildMessageRulesCommand());
            command.AddCommand(builder.BuildMessagesCommand());
            command.AddCommand(builder.BuildMoveCommand());
            command.AddCommand(builder.BuildMultiValueExtendedPropertiesCommand());
            command.AddCommand(builder.BuildPatchCommand());
            command.AddCommand(builder.BuildSingleValueExtendedPropertiesCommand());
            return(command);
        }
示例#15
0
        public Command BuildCommand()
        {
            var command = new Command("item");
            var builder = new DriveItemRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildBundlesCommand());
            command.AddCommand(builder.BuildDeleteCommand());
            command.AddCommand(builder.BuildFollowingCommand());
            command.AddCommand(builder.BuildGetCommand());
            command.AddCommand(builder.BuildItemsCommand());
            command.AddCommand(builder.BuildListCommand());
            command.AddCommand(builder.BuildPatchCommand());
            command.AddCommand(builder.BuildRootCommand());
            command.AddCommand(builder.BuildSpecialCommand());
            return(command);
        }
示例#16
0
        public Command BuildInReplyToCommand()
        {
            var command = new Command("in-reply-to");
            var builder = new InReplyToRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildAttachmentsCommand());
            command.AddCommand(builder.BuildDeleteCommand());
            command.AddCommand(builder.BuildExtensionsCommand());
            command.AddCommand(builder.BuildForwardCommand());
            command.AddCommand(builder.BuildGetCommand());
            command.AddCommand(builder.BuildMultiValueExtendedPropertiesCommand());
            command.AddCommand(builder.BuildPatchCommand());
            command.AddCommand(builder.BuildReplyCommand());
            command.AddCommand(builder.BuildSingleValueExtendedPropertiesCommand());
            return(command);
        }
        public Command BuildListCommand()
        {
            var command = new Command("list");
            var builder = new ListRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildColumnsCommand());
            command.AddCommand(builder.BuildContentTypesCommand());
            command.AddCommand(builder.BuildDeleteCommand());
            command.AddCommand(builder.BuildDriveCommand());
            command.AddCommand(builder.BuildGetCommand());
            command.AddCommand(builder.BuildItemsCommand());
            command.AddCommand(builder.BuildOperationsCommand());
            command.AddCommand(builder.BuildPatchCommand());
            command.AddCommand(builder.BuildSubscriptionsCommand());
            return(command);
        }
        public Command BuildMeCommand()
        {
            var command = new Command("me");
            var builder = new MeRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildAssignmentsCommand());
            command.AddCommand(builder.BuildClassesCommand());
            command.AddCommand(builder.BuildDeleteCommand());
            command.AddCommand(builder.BuildGetCommand());
            command.AddCommand(builder.BuildPatchCommand());
            command.AddCommand(builder.BuildRubricsCommand());
            command.AddCommand(builder.BuildSchoolsCommand());
            command.AddCommand(builder.BuildTaughtClassesCommand());
            command.AddCommand(builder.BuildUserCommand());
            return(command);
        }
        public Command BuildCommand()
        {
            var command = new Command("item");
            var builder = new EducationAssignmentItemRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildCategoriesCommand());
            command.AddCommand(builder.BuildDeleteCommand());
            command.AddCommand(builder.BuildGetCommand());
            command.AddCommand(builder.BuildPatchCommand());
            command.AddCommand(builder.BuildPublishCommand());
            command.AddCommand(builder.BuildResourcesCommand());
            command.AddCommand(builder.BuildRubricCommand());
            command.AddCommand(builder.BuildSetUpResourcesFolderCommand());
            command.AddCommand(builder.BuildSubmissionsCommand());
            return(command);
        }
        public void When_nested_subcommands_have_options_they_can_be_positional(
            int subcommand1Options,
            int subcommand2Options)
        {
            var subcommand1 = new Command("subcommand1");

            foreach (int optionIndex in Enumerable.Range(1, subcommand1Options))
            {
                subcommand1.AddOption(new Option($"-anon{optionIndex}", "", new Argument <string>()));
            }

            var subcommand2 = new Command("subcommand2");

            subcommand1.AddCommand(subcommand2);
            foreach (int optionIndex in Enumerable.Range(1, subcommand2Options))
            {
                subcommand2.AddOption(new Option($"-anon{optionIndex}", "", new Argument <string>()));
            }

            var parser = new CommandLineBuilder()
                         .EnablePositionalOptions()
                         .AddCommand(subcommand1)
                         .Build();

            string commandLine = string.Join(" ", GetCommandLineParts());

            ParseResult result = parser.Parse(commandLine);

            result.Errors.Should().BeEmpty();
            for (var commandResult = result.CommandResult; commandResult != null; commandResult = commandResult.ParentCommandResult)
            {
                int index = 1;
                foreach (var optionResult in commandResult.Children.OfType <OptionResult>())
                {
                    optionResult.GetValueOrDefault <string>().Should().Be($"anon{index++}-value");
                }
            }

            IEnumerable <string> GetCommandLineParts()
            {
                yield return("subcommand1");

                foreach (int optionIndex in Enumerable.Range(1, subcommand1Options))
                {
                    yield return($"anon{optionIndex}-value");
                }

                yield return("subcommand2");

                foreach (int optionIndex in Enumerable.Range(1, subcommand2Options))
                {
                    yield return($"anon{optionIndex}-value");
                }
            }
        }
        public Command BuildCommand()
        {
            var command = new Command("item");
            var builder = new ManagedDeviceMobileAppConfigurationItemRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildAssignCommand());
            command.AddCommand(builder.BuildAssignmentsCommand());
            command.AddCommand(builder.BuildDeleteCommand());
            command.AddCommand(builder.BuildDeviceStatusesCommand());
            command.AddCommand(builder.BuildDeviceStatusSummaryCommand());
            command.AddCommand(builder.BuildGetCommand());
            command.AddCommand(builder.BuildPatchCommand());
            command.AddCommand(builder.BuildUserStatusesCommand());
            command.AddCommand(builder.BuildUserStatusSummaryCommand());
            return(command);
        }
示例#22
0
        public Command BuildCommand()
        {
            var command = new Command("item");
            var builder = new CalendarItemRequestBuilder(PathParameters, RequestAdapter);

            command.AddCommand(builder.BuildCalendarPermissionsCommand());
            command.AddCommand(builder.BuildCalendarViewCommand());
            command.AddCommand(builder.BuildDeleteCommand());
            command.AddCommand(builder.BuildEventsCommand());
            command.AddCommand(builder.BuildGetCommand());
            command.AddCommand(builder.BuildGetScheduleCommand());
            command.AddCommand(builder.BuildMultiValueExtendedPropertiesCommand());
            command.AddCommand(builder.BuildPatchCommand());
            command.AddCommand(builder.BuildSingleValueExtendedPropertiesCommand());
            return(command);
        }
        private static Command WithSubCommand(this Command command, string name, bool treatUnmatchedTokensAsErrors, Action <Command> initSubCommand)
        {
            var subCommand = new Command(name)
            {
                TreatUnmatchedTokensAsErrors = treatUnmatchedTokensAsErrors
            };

            initSubCommand(subCommand);
            command.AddCommand(subCommand);
            return(command);
        }
        private static Command WithCreateConnectorsConfigCommands(this Command parent)
        {
            var extCmd = BuildCommand("createConnectorsConfig", true)
                         .WithSubCommand("indicators", true, subCommand => {
                subCommand
                .WithHandler(CommandHandler.Create((string fileName) => ConnectorsHandler.CreateIndicators(fileName)))
                .WithOption <string>("--fileName", "file name", true);
            });

            parent.AddCommand(extCmd);
            return(parent);
        }
        public void Subcommand_help_does_not_contain_hidden_command()
        {
            var command          = new Command("the-command", "Does things.");
            var hiddenSubCommand = new Command("the-hidden")
            {
                IsHidden = true
            };
            var visibleSubCommand = new Command("the-visible")
            {
                IsHidden = false
            };

            command.AddCommand(hiddenSubCommand);
            command.AddCommand(visibleSubCommand);

            _helpBuilder.Write(command);
            var help = _console.Out.ToString();

            help.Should().NotContain("the-hidden");
            help.Should().Contain("the-visible");
        }
        public void SetupOneOptWithNestedCommand()
        {
            var rootCommand   = new Command("root_command");
            var nestedCommand = new Command("nested_command");
            var option        = new Option <int>("-opt1", () => 123);

            nestedCommand.AddOption(option);
            rootCommand.AddCommand(nestedCommand);

            _testParser          = new Parser(rootCommand);
            _testSymbolsAsString = "root_command nested_command -opt1 321";
        }
        public void Subcommand_help_contains_command_with_empty_description()
        {
            var command    = new Command("the-command", "Does things.");
            var subCommand = new Command("the-subcommand", description: null);

            command.AddCommand(subCommand);

            _helpBuilder.Write(command);
            var help = _console.Out.ToString();

            help.Should().Contain("the-subcommand");
        }
示例#28
0
        /// <inheritdoc />
        public IEnumerable <Command> CreateCommands(ServiceProvider serviceProvider)
        {
            var domainCommand = new Command("net");

            domainCommand.AddCommand(serviceProvider.GetService <HttpGetCommand>());
            var commandsList = new List <Command>
            {
                domainCommand,
            };

            return(commandsList);
        }
示例#29
0
        public override Command BuildCommand()
        {
            var command = new Command("initialise", "Initialise a project");

            command.AddAlias("init");

            foreach (var initialiseSubCommand in _initialiseSubCommands)
            {
                command.AddCommand(initialiseSubCommand.GetCommand());
            }

            return(command);
        }
示例#30
0
        private static Command Config()
        {
            Command list = new Command("list", "Displays all configuration entries")
            {
                Handler = CommandHandler.Create <string, bool, InvocationContext>(Configuration.List)
            };

            var cmd = new Command("config", "Reads and writes configuration entries");

            cmd.AddCommand(list);
            cmd.Handler = CommandHandler.Create <string, bool, InvocationContext>(Configuration.List);
            return(cmd);
        }