Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
            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;
        }