internal static TabCompletionContext ConvertContext(CommandLineArgumentsDefinition definition, RichCommandLineContext innerContext) { TabCompletionContext context = new TabCompletionContext(); context.Definition = definition; context.Shift = innerContext.KeyPressed.Modifiers.HasFlag(ConsoleModifiers.Shift); context.PreviousToken = innerContext.CurrentTokenIndex > 0 ? innerContext.PreviousNonWhitespaceToken.Value : string.Empty; context.CompletionCandidate = innerContext.CurrentToken.Value; if (context.CompletionCandidate == " ") { context.CompletionCandidate = ""; } context.CommandLineText = new ConsoleString(innerContext.Buffer).ToString(); context.TargetAction = FindContextualAction(innerContext.Tokens.FirstOrDefault().Value, definition); context.TargetArgument = FindContextualArgument(context.PreviousToken, context.TargetAction, definition); return(context); }
public bool TryComplete(TabCompletionContext context, out string completion) { var allRemotes = new List <string> { "windows", "hyperv", "linux", "freebsd", "openbsd", "netbsd", "generic", "all", "vmcs" }; var list = allRemotes.Where(r => r.StartsWith(context.CompletionCandidate.ToLower(), StringComparison.InvariantCultureIgnoreCase)) .Select(r => ContextAssistSearchResult.FromString(r)) .ToList(); completion = list.FirstOrDefault().RichDisplayText.StringValue; return(!string.IsNullOrWhiteSpace(completion)); }
public bool TryComplete(TabCompletionContext context, out string completion) { return(source.TryComplete(context, out completion)); }
internal static TabCompletionContext ConvertContext(CommandLineArgumentsDefinition definition, RichCommandLineContext innerContext) { TabCompletionContext context = new TabCompletionContext(); context.Definition = definition; context.Shift = innerContext.KeyPressed.Modifiers.HasFlag(ConsoleModifiers.Shift); context.PreviousToken = innerContext.CurrentTokenIndex > 0 ? innerContext.PreviousNonWhitespaceToken.Value : string.Empty; context.CompletionCandidate = innerContext.CurrentToken.Value; if (context.CompletionCandidate == " ") { context.CompletionCandidate = ""; } context.CommandLineText = new ConsoleString(innerContext.Buffer).ToString(); context.TargetAction = FindContextualAction(innerContext.Tokens.FirstOrDefault().Value, definition); context.TargetArgument = FindContextualArgument(context.PreviousToken, context.TargetAction, definition); return context; }