public Task <int> Run(ParseResult result) { try { var input = result.GetValueForArgument(PathArgument) ?? string.Empty; var position = result.GetValueForOption(PositionOption); if (position > input.Length) { input += " "; } Command newCommand = New3CommandFactory.Create(); ParseResult newCommandResult = ParserFactory.CreateParser(newCommand).Parse(input); foreach (CompletionItem suggestion in newCommandResult.GetCompletions(position).Distinct()) { Console.WriteLine(suggestion.Label); } } catch (Exception) { return(Task.FromResult(1)); } return(Task.FromResult(0)); }
public static Task <int> Main(string[] args) { //setting output encoding is not available on those platforms if (!OperatingSystem.IsIOS() && !OperatingSystem.IsAndroid() && !OperatingSystem.IsTvOS()) { //if output is redirected, force encoding to utf-8; //otherwise the caller may not decode it correctly //see guideline in https://dev.azure.com/devdiv/DevDiv/_wiki/wikis/DevDiv.wiki/4236/Character-Encoding-Issues?anchor=stdout if (Console.IsOutputRedirected) { Console.OutputEncoding = Encoding.UTF8; } } RootCommand rootCommand = new RootCommand(); rootCommand.AddCommand(New3CommandFactory.Create()); return(ParserFactory.CreateParser(rootCommand).Parse(args).InvokeAsync()); }