#ifndef CLI_CLI_UTILS_H
#define CLI_CLI_UTILS_H
+#include "completer.h"
+
+struct cmd_list_element;
+
/* *PP is a string denoting a number. Get the number. Advance *PP
after the string and any trailing whitespace.
error instead of returning 0. */
extern ULONGEST get_ulongest (const char **pp, int trailer = '\0');
-/* Extract from ARGS the arguments [-q] [-t TYPEREGEXP] [--] NAMEREGEXP.
-
- The caller is responsible to initialize *QUIET to false, *REGEXP
- and *T_REGEXP to "".
- extract_info_print_args can then be called iteratively to search
- for valid arguments, as part of a 'main parsing loop' searching for
- -q/-t/-- arguments together with other flags and options.
-
- Returns true and updates *ARGS + one of *QUIET, *REGEXP, *T_REGEXP if
- it finds a valid argument.
- Returns false if no valid argument is found at the beginning of ARGS. */
-
-extern bool extract_info_print_args (const char **args,
- bool *quiet,
- std::string *regexp,
- std::string *t_regexp);
-
/* Throws an error telling the user that ARGS starts with an option
unrecognized by COMMAND. */
/* Builds the help string for a command documented by PREFIX,
- followed by the extract_info_print_args help for ENTITY_KIND. */
+ followed by the extract_info_print_args help for ENTITY_KIND. If
+ DOCUMENT_N_FLAG is true then help text descibing the -n flag is also
+ included. */
const char *info_print_args_help (const char *prefix,
- const char *entity_kind);
+ const char *entity_kind,
+ bool document_n_flag);
/* Parse a number or a range.
A number will be of the form handled by get_number.
return check_for_argument (str, arg, strlen (arg));
}
-/* A helper function that looks for a set of flags at the start of a
- string. The possible flags are given as a null terminated string.
- A flag in STR must either be at the end of the string,
- or be followed by whitespace.
- Returns 0 if no valid flag is found at the start of STR.
- Otherwise updates *STR, and returns N (which is > 0),
- such that FLAGS [N - 1] is the valid found flag. */
-extern int parse_flags (const char **str, const char *flags);
-
/* qcs_flags struct groups the -q, -c, and -s flags parsed by "thread
apply" and "frame apply" commands */
int silent = false;
};
-/* A helper function that uses parse_flags to handle the flags qcs :
- A flag -q sets FLAGS->QUIET to true.
- A flag -c sets FLAGS->CONT to true.
- A flag -s sets FLAGS->SILENT to true.
-
- The caller is responsible to initialize *FLAGS to false before the (first)
- call to parse_flags_qcs.
- parse_flags_qcs can then be called iteratively to search for more
- valid flags, as part of a 'main parsing loop' searching for -q/-c/-s
- flags together with other flags and options.
-
- Returns true and updates *STR and one of FLAGS->QUIET, FLAGS->CONT,
- FLAGS->SILENT if it finds a valid flag.
- Returns false if no valid flag is found at the beginning of STR.
-
- Throws an error if a flag is found such that both FLAGS->CONT and
- FLAGS->SILENT are true. */
-
-extern bool parse_flags_qcs (const char *which_command, const char **str,
- qcs_flags *flags);
-
/* Validate FLAGS. Throws an error if both FLAGS->CONT and
FLAGS->SILENT are true. WHICH_COMMAND is included in the error
message. */