public BuiltInPrimaryCommand(ICoconaConsoleProvider console, ICoconaCommandHelpProvider commandHelpProvider, ICoconaHelpRenderer helpRenderer, ICoconaCommandProvider commandProvider) { _console = console; _commandHelpProvider = commandHelpProvider; _helpRenderer = helpRenderer; _commandProvider = commandProvider; }
public ValueTask <int> ShowHelp( [FromService] ICoconaHelpMessageBuilder helpBuilder, [FromService] ICoconaConsoleProvider console ) { console.Output.Write(helpBuilder.BuildAndRenderForCurrentContext()); return(new ValueTask <int>(129)); }
public BuiltInPrimaryCommand(ICoconaAppContextAccessor appContext, ICoconaConsoleProvider console, ICoconaCommandHelpProvider commandHelpProvider, ICoconaHelpRenderer helpRenderer, ICoconaCommandProvider commandProvider) { _appContext = appContext; _console = console; _commandHelpProvider = commandHelpProvider; _helpRenderer = helpRenderer; _commandProvider = commandProvider; }
public BuiltInCommandMiddleware(CommandDispatchDelegate next, ICoconaHelpRenderer helpRenderer, ICoconaCommandHelpProvider commandHelpProvider, ICoconaCommandProvider commandProvider, ICoconaConsoleProvider console) : base(next) { _helpRenderer = helpRenderer; _commandHelpProvider = commandHelpProvider; _commandProvider = commandProvider; _console = console; }
public ValueTask <int> ShowVersion( [FromService] ICoconaCommandHelpProvider commandHelpProvider, [FromService] ICoconaConsoleProvider console, [FromService] ICoconaHelpRenderer helpRenderer ) { console.Output.Write(helpRenderer.Render(commandHelpProvider.CreateVersionHelp())); return(new ValueTask <int>(0)); }
public BuiltInCommandMiddleware(CommandDispatchDelegate next, ICoconaHelpRenderer helpRenderer, ICoconaCommandHelpProvider commandHelpProvider, ICoconaCommandProvider commandProvider, ICoconaConsoleProvider console, ICoconaAppContextAccessor appContext) : base(next) { _helpRenderer = helpRenderer; _commandHelpProvider = commandHelpProvider; _commandProvider = commandProvider; _console = console; _appContext = appContext; }
public CoconaHostedService( ICoconaConsoleProvider console, ICoconaCommandDispatcher commandDispatcher, ICoconaCommandDispatcherPipelineBuilder dispatcherPipelineBuilder, IHostApplicationLifetime lifetime ) { _console = console; _commandDispatcher = commandDispatcher; _dispatcherPipelineBuilder = dispatcherPipelineBuilder; _lifetime = lifetime; _cancellationTokenSource = new CancellationTokenSource(); }
public ValueTask <int> GenerateCompletionSource( [FromService] ICoconaConsoleProvider console, [FromService] ICoconaCommandProvider commandProvider, [FromService] ICoconaShellCompletionCodeProvider shellCompletionCodeProvider, [Argument] string shellName ) { if (!shellCompletionCodeProvider.CanHandle(shellName)) { console.Error.Write($"Error: Shell completion for '{shellName}' is not supported. (Supported shells: {string.Join(", ", shellCompletionCodeProvider.SupportedTargets)})"); return(new ValueTask <int>(1)); } shellCompletionCodeProvider.Generate(shellName, console.Output, commandProvider.GetCommandCollection()); return(new ValueTask <int>(0)); }
// --completion-candidates <shell>:<paramName> -- <incompleted command line...> // WARN: The option must be processed before '--help' or '--version' options. // If '--completion-candidates' option is provided, '--help' and '--version' options are also always provided. // And these options prevent to perform unintended **destructive** action if the command doesn't support on-the-fly candidates feature. // Fortunately, Cocona rejects unknown options by default. This options guard is fail-safe. public ValueTask <int> GetCompletionCandidates( [FromService] ICoconaConsoleProvider console, [FromService] ICoconaShellCompletionCodeProvider shellCompletionCodeGenerator, [FromService] ICoconaCompletionCandidates completionCandidates, [Argument] string target, [Argument] string[] arguments ) { var parts = target.Split(new[] { ':' }, 2); var(shellTarget, paramName) = (parts[0], parts[1]); var candidates = completionCandidates.GetOnTheFlyCandidates(paramName, arguments, 0, null); shellCompletionCodeGenerator.GenerateOnTheFlyCandidates(shellTarget, console.Output, candidates); return(new ValueTask <int>(0)); }
public RejectUnknownOptionsMiddleware(CommandDispatchDelegate next, ICoconaConsoleProvider console) : base(next) { _console = console; }
public HandleParameterBindExceptionMiddleware(CommandDispatchDelegate next, ICoconaConsoleProvider console) : base(next) { _console = console; }
public BuiltInPrimaryCommand(ICoconaConsoleProvider console, ICoconaHelpMessageBuilder helpBuilder) { _console = console; _helpBuilder = helpBuilder; }