public override string[] Complete(Shell shell, string[] tokens) { var items = new[] {"users"}; if (tokens.Length == 0) { return items; } return tokens.Length == 1 ? items.Where(x => x.StartsWith(tokens[0])).ToArray() : null; }
public override void Invoke(Shell shell, string[] args) { var model = new InputModel(); Console.Write("Name: "); model.Name = Console.ReadLine(); Console.Write("Surname: "); model.Surname = Console.ReadLine(); Console.WriteLine(); Console.WriteLine("Hello {0} {1}!", model.Name, model.Surname); }
public override void Invoke(Shell shell, string[] args) { if (args.Any()) { Console.WriteLine("Ivoke {0} \"{1}\" arguments: [ {2} ]", this, Pattern, string.Join(", ", args)); } else { throw new ShellCommandNotFoundException(); } }
public override void Invoke(Shell shell, string[] args) { var items = shell.GetCommandsDescriptions(string.Join(" ", args)); var padSize = items.Max(x => x.Key.Length) + 4; ColorConsole.WriteLine("Commands:".Cyan()); foreach (var item in items) { ColorConsole.WriteLine("- ", item.Key.PadRight(padSize).White(), item.Value); } }
public override void Invoke(Shell shell, string[] args) { Console.WriteLine("Ivoke {0} \"{1}\" arguments: [ {2} ]", this, Pattern, string.Join(", ", args)); }
/// <summary> /// Executes when need to invoke command /// </summary> /// <param name="shell"> /// <see cref="Shell" /> /// </param> /// <param name="args">arguments array</param> public abstract void Invoke(Shell shell, string[] args);
/// <summary> /// Executes when need to complete input /// </summary> /// <param name="shell"> /// <see cref="Shell" /> /// </param> /// <param name="tokens">tokens array</param> /// <returns></returns> public virtual string[] Complete(Shell shell, string[] tokens) { return null; }
public override void Invoke(Shell shell, string[] args) { InvokeCommand?.Invoke(this, new InvokeShellCommandEventArgs(shell, args)); }
public override string[] Complete(Shell shell, string[] tokens) { var args = new CompleteShellCommandEventArgs(shell, tokens); CompleteCommand?.Invoke(this, args); return args.Result; }
/// <summary> /// Executes when need to complete input /// </summary> /// <param name="shell"> /// <see cref="Shell" /> /// </param> /// <param name="tokens">tokens array</param> /// <returns></returns> public virtual string[] Complete(Shell shell, string[] tokens) { return(null); }
public CompleteShellCommandEventArgs(Shell shell, string[] tokens) { Shell = shell; Tokens = tokens; }
public InvokeShellCommandEventArgs(Shell shell, string[] arguments) { Shell = shell; Arguments = arguments; }