public static bool ParseCommand()

in src/common/details/commands/parsers/config_command_parser.cs [13:64]


        public static bool ParseCommand(INamedValueTokens tokens, ICommandValues values)
        {
            var parsed = false;

            var token = tokens.PeekNextToken();
            if (token != null && token == "config")
            {
                values.Add("x.command", tokens.PopNextToken());
                token = tokens.PeekNextToken();

                if (token == "." || token == "local" || token == "user" || token == "global" || token == "system")
                {
                    values.Add("x.config.scope.hive", tokens.PopNextToken());
                    token = tokens.PeekNextToken();
                    parsed = true;
                }

                if (token != null && !token.StartsWith("@") && !token.StartsWith("-"))
                {
                    var validCommand = IsValidConfigScope(token);
                    if (!validCommand)
                    {
                        ParseInvalidArgumentError(tokens, values, "command line argument(s)");
                        return false;
                    }

                    values.Add("x.config.scope.command", tokens.PopNextToken());
                    token = tokens.PeekNextToken();
                    parsed = true;
                }

                if (token != null && token.StartsWith("@"))
                {
                    values.Add("x.config.command.at.file", tokens.PopNextToken());
                    token = tokens.PeekNextToken();
                    parsed = true;
                }

                if (!parsed && token == null)
                {
                    values.AddDisplayHelpRequest();
                    return false;
                }

                parsed = ParseCommandValues(tokens, values);
            }

            var forceNotVerbose = parsed && values.GetOrDefault("x.verbose", null) == null;
            if (forceNotVerbose) values.Add("x.verbose", "false");

            return parsed;
        }