public static void WriteObjects <TObj, TMember1, TMember2, TMember3, TMember4, TMember5, TMember6, TMember7, TMember8, TMember9, TMember10>( this CommandContext context, IEnumerable <TObj> objects, Expression <Func <TObj, TMember1> > expression1, Expression <Func <TObj, TMember2> > expression2, Expression <Func <TObj, TMember3> > expression3, Expression <Func <TObj, TMember4> > expression4, Expression <Func <TObj, TMember5> > expression5, Expression <Func <TObj, TMember6> > expression6, Expression <Func <TObj, TMember7> > expression7, Expression <Func <TObj, TMember8> > expression8, Expression <Func <TObj, TMember9> > expression9, Expression <Func <TObj, TMember10> > expression10, bool indent, bool createHeader) { context.WriteText( LineFormatter.CreateLines( objects, expression1, expression2, expression3, expression4, expression5, expression6, expression7, expression8, expression9, expression10, indent, createHeader)); }
public static void WriteObjects <TObj, TMember1, TMember2>( this CommandContext context, IEnumerable <TObj> objects, Expression <Func <TObj, TMember1> > expression1, Expression <Func <TObj, TMember2> > expression2, bool indent, bool createHeader) { context.WriteText( LineFormatter.CreateLines( objects, expression1, expression2, indent, createHeader)); }
public async Task ExecuteAsync(CommandBuilder builder, CommandContext context) { await context.OnExecuteAsync(() => { // required services ICommandProvider commands = context.HttpContext.RequestServices.GetRequiredService <ICommandProvider>(); ICommandExecutionEnvironment environment = context.HttpContext.RequestServices.GetRequiredService <ICommandExecutionEnvironment>(); int builtInCount = 0; int externalCount = 0; var items = new List <CommandInfo>(); foreach (ICommand cmd in commands.All(context.HttpContext)) { if (!environment.IsVisibleForHelp(cmd, context.HttpContext)) { continue; } if (IsBuiltInCommand(cmd)) { builtInCount++; } else { externalCount++; } items.Add(cmd.GetType().GetCommandInfo()); } string[] lines = LineFormatter.CreateLines(items, x => x.Name, x => x.Description, true, false); if (builtInCount > 0) { context.WriteText("Built-in commands:"); for (int i = 0; i < builtInCount; i++) { string line = lines[i]; context.WriteText(line); } } if (externalCount > 0) { if (builtInCount > 0) { context.WriteText(""); } context.WriteText("Custom commands:"); for (int i = builtInCount; i < lines.Length; i++) { string line = lines[i]; context.WriteText(line); } } if (!lines.Any()) { context.WriteError("No commands found."); } return(context.Exit()); }); }