aboutsummaryrefslogtreecommitdiff
path: root/gdb/cli/cli-option.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/cli/cli-option.c')
-rw-r--r--gdb/cli/cli-option.c169
1 files changed, 72 insertions, 97 deletions
diff --git a/gdb/cli/cli-option.c b/gdb/cli/cli-option.c
index 9b303b1..039dc0a 100644
--- a/gdb/cli/cli-option.c
+++ b/gdb/cli/cli-option.c
@@ -25,8 +25,10 @@
#include "command.h"
#include <vector>
-namespace gdb {
-namespace option {
+namespace gdb
+{
+namespace option
+{
/* An option's value. Which field is active depends on the option's
type. */
@@ -151,16 +153,16 @@ find_end_options_delimiter (const char *args)
static void
complete_on_options (gdb::array_view<const option_def_group> options_group,
- completion_tracker &tracker,
- const char *text, const char *word)
+ completion_tracker &tracker, const char *text,
+ const char *word)
{
size_t textlen = strlen (text);
for (const auto &grp : options_group)
for (const auto &opt : grp.options)
if (strncmp (opt.name, text, textlen) == 0)
{
- tracker.add_completion
- (make_completion_match_str (opt.name, text, word));
+ tracker.add_completion (make_completion_match_str (opt.name, text,
+ word));
}
}
@@ -179,8 +181,7 @@ complete_on_all_options (completion_tracker &tracker,
static gdb::optional<option_def_and_value>
parse_option (gdb::array_view<const option_def_group> options_group,
- process_options_mode mode,
- bool have_delimiter,
+ process_options_mode mode, bool have_delimiter,
const char **args,
parse_option_completion_info *completion = nullptr)
{
@@ -189,7 +190,7 @@ parse_option (gdb::array_view<const option_def_group> options_group,
else if (**args != '-')
{
if (have_delimiter)
- error (_("Unrecognized option at: %s"), *args);
+ error (_ ("Unrecognized option at: %s"), *args);
return {};
}
else if (check_for_argument (args, "--"))
@@ -213,13 +214,12 @@ parse_option (gdb::array_view<const option_def_group> options_group,
{
if (completion != nullptr && arg[len] == '\0')
{
- complete_on_options (options_group,
- completion->tracker,
+ complete_on_options (options_group, completion->tracker,
arg, completion->word);
return {};
}
- error (_("Ambiguous option at: -%s"), arg);
+ error (_ ("Ambiguous option at: -%s"), arg);
}
match = &o;
@@ -235,15 +235,15 @@ parse_option (gdb::array_view<const option_def_group> options_group,
if (match == nullptr)
{
if (have_delimiter || mode != PROCESS_OPTIONS_UNKNOWN_IS_OPERAND)
- error (_("Unrecognized option at: %s"), *args);
+ error (_ ("Unrecognized option at: %s"), *args);
return {};
}
if (completion != nullptr && arg[len] == '\0')
{
- complete_on_options (options_group, completion->tracker,
- arg, completion->word);
+ complete_on_options (options_group, completion->tracker, arg,
+ completion->word);
return {};
}
@@ -260,7 +260,7 @@ parse_option (gdb::array_view<const option_def_group> options_group,
{
option_value val;
val.boolean = true;
- return option_def_and_value {*match, match_ctx, val};
+ return option_def_and_value { *match, match_ctx, val };
}
const char *val_str = *args;
@@ -272,11 +272,11 @@ parse_option (gdb::array_view<const option_def_group> options_group,
if (mode == PROCESS_OPTIONS_REQUIRE_DELIMITER)
{
- complete_on_enum (completion->tracker,
- boolean_enums, val_str, val_str);
+ complete_on_enum (completion->tracker, boolean_enums, val_str,
+ val_str);
complete_on_all_options (completion->tracker, options_group);
}
- return option_def_and_value {*match, match_ctx};
+ return option_def_and_value { *match, match_ctx };
}
else if (**args == '-')
{
@@ -306,20 +306,20 @@ parse_option (gdb::array_view<const option_def_group> options_group,
{
if (*end == '\0')
{
- complete_on_enum (completion->tracker,
- boolean_enums, val_str, val_str);
- return option_def_and_value {*match, match_ctx};
+ complete_on_enum (completion->tracker, boolean_enums,
+ val_str, val_str);
+ return option_def_and_value { *match, match_ctx };
}
}
if (have_delimiter)
- error (_("Value given for `-%s' is not a boolean: %.*s"),
+ error (_ ("Value given for `-%s' is not a boolean: %.*s"),
match->name, (int) (end - val_str), val_str);
/* The user didn't separate options from operands
using "--", so treat this unrecognized value as the
start of the operands. This makes "frame apply all
-past-main CMD" work. */
- return option_def_and_value {*match, match_ctx};
+ return option_def_and_value { *match, match_ctx };
}
else if (completion != nullptr && **args == '\0')
{
@@ -339,11 +339,8 @@ parse_option (gdb::array_view<const option_def_group> options_group,
"p -object 1[TAB]" -> "p -object 1" (i.e., nothing happens).
*/
static const char *const all_boolean_enums[] = {
- "on", "off",
- "yes", "no",
- "enable", "disable",
- "0", "1",
- nullptr,
+ "on", "off", "yes", "no", "enable",
+ "disable", "0", "1", nullptr,
};
complete_on_enum (completion->tracker, all_boolean_enums,
val_str, val_str);
@@ -353,7 +350,7 @@ parse_option (gdb::array_view<const option_def_group> options_group,
option_value val;
val.boolean = res;
- return option_def_and_value {*match, match_ctx, val};
+ return option_def_and_value { *match, match_ctx, val };
}
case var_uinteger:
case var_integer:
@@ -367,25 +364,23 @@ parse_option (gdb::array_view<const option_def_group> options_group,
so that readline doesn't do a partial match. */
if (**args == '\0')
{
- completion->tracker.add_completion
- (make_unique_xstrdup ("NUMBER"));
+ completion->tracker.add_completion (
+ make_unique_xstrdup ("NUMBER"));
for (const literal_def *l = match->extra_literals;
- l->literal != nullptr;
- l++)
- completion->tracker.add_completion
- (make_unique_xstrdup (l->literal));
+ l->literal != nullptr; l++)
+ completion->tracker.add_completion (
+ make_unique_xstrdup (l->literal));
return {};
}
else
{
bool completions = false;
for (const literal_def *l = match->extra_literals;
- l->literal != nullptr;
- l++)
+ l->literal != nullptr; l++)
if (startswith (l->literal, *args))
{
- completion->tracker.add_completion
- (make_unique_xstrdup (l->literal));
+ completion->tracker.add_completion (
+ make_unique_xstrdup (l->literal));
completions = true;
}
if (completions)
@@ -393,15 +388,14 @@ parse_option (gdb::array_view<const option_def_group> options_group,
}
}
- LONGEST v = parse_cli_var_integer (match->type,
- match->extra_literals,
+ LONGEST v = parse_cli_var_integer (match->type, match->extra_literals,
args, false);
option_value val;
if (match->type == var_uinteger)
val.uinteger = v;
else
val.integer = v;
- return option_def_and_value {*match, match_ctx, val};
+ return option_def_and_value { *match, match_ctx, val };
}
case var_enum:
{
@@ -410,8 +404,8 @@ parse_option (gdb::array_view<const option_def_group> options_group,
const char *after_arg = skip_to_space (*args);
if (*after_arg == '\0')
{
- complete_on_enum (completion->tracker,
- match->enums, *args, *args);
+ complete_on_enum (completion->tracker, match->enums, *args,
+ *args);
if (completion->tracker.have_completions ())
return {};
@@ -432,7 +426,7 @@ parse_option (gdb::array_view<const option_def_group> options_group,
option_value val;
val.enumeration = parse_cli_var_enum (args, match->enums);
- return option_def_and_value {*match, match_ctx, val};
+ return option_def_and_value { *match, match_ctx, val };
}
case var_string:
{
@@ -440,17 +434,17 @@ parse_option (gdb::array_view<const option_def_group> options_group,
{
/* Treat e.g., "maint test-options -string --" as if there
was no argument after "-string". */
- error (_("-%s requires an argument"), match->name);
+ error (_ ("-%s requires an argument"), match->name);
}
const char *arg_start = *args;
std::string str = extract_string_maybe_quoted (args);
if (*args == arg_start)
- error (_("-%s requires an argument"), match->name);
+ error (_ ("-%s requires an argument"), match->name);
option_value val;
val.string = new std::string (std::move (str));
- return option_def_and_value {*match, match_ctx, val};
+ return option_def_and_value { *match, match_ctx, val };
}
default:
@@ -464,8 +458,7 @@ parse_option (gdb::array_view<const option_def_group> options_group,
/* See cli-option.h. */
bool
-complete_options (completion_tracker &tracker,
- const char **args,
+complete_options (completion_tracker &tracker, const char **args,
process_options_mode mode,
gdb::array_view<const option_def_group> options_group)
{
@@ -478,7 +471,7 @@ complete_options (completion_tracker &tracker,
if (text[0] == '-' && (!have_delimiter || *delimiter == '\0'))
{
- parse_option_completion_info completion_info {nullptr, tracker};
+ parse_option_completion_info completion_info { nullptr, tracker };
while (1)
{
@@ -497,16 +490,15 @@ complete_options (completion_tracker &tracker,
else if (**args == '-')
{
gdb::optional<option_def_and_value> ov
- = parse_option (options_group, mode, have_delimiter,
- args, &completion_info);
+ = parse_option (options_group, mode, have_delimiter, args,
+ &completion_info);
if (!ov && !tracker.have_completions ())
{
tracker.advance_custom_word_point_by (*args - text);
return mode == PROCESS_OPTIONS_REQUIRE_DELIMITER;
}
- if (ov
- && ov->option.type == var_boolean
+ if (ov && ov->option.type == var_boolean
&& !ov->value.has_value ())
{
/* Looked like a boolean option, but we failed to
@@ -529,13 +521,10 @@ complete_options (completion_tracker &tracker,
(gdb) frame apply all -limit 10[TAB]
we don't try to complete on command names. */
- if (ov
- && !tracker.have_completions ()
- && **args == '\0'
+ if (ov && !tracker.have_completions () && **args == '\0'
&& *args > text && !isspace ((*args)[-1]))
{
- tracker.advance_custom_word_point_by
- (*args - text);
+ tracker.advance_custom_word_point_by (*args - text);
return true;
}
@@ -546,16 +535,15 @@ complete_options (completion_tracker &tracker,
}
else
{
- tracker.advance_custom_word_point_by
- (completion_info.word - text);
+ tracker.advance_custom_word_point_by (completion_info.word
+ - text);
/* If the command requires a delimiter, but we haven't
seen one, then return true, so that the caller
doesn't try to complete on whatever follows options,
which for these commands should only be done if
there's a delimiter. */
- if (mode == PROCESS_OPTIONS_REQUIRE_DELIMITER
- && !have_delimiter)
+ if (mode == PROCESS_OPTIONS_REQUIRE_DELIMITER && !have_delimiter)
{
/* If we reached the end of the input string, then
offer all options, since that's all the user can
@@ -570,8 +558,8 @@ complete_options (completion_tracker &tracker,
if (tracker.have_completions ())
{
- tracker.advance_custom_word_point_by
- (completion_info.word - text);
+ tracker.advance_custom_word_point_by (completion_info.word
+ - text);
return true;
}
}
@@ -624,8 +612,7 @@ save_option_value_in_ctx (gdb::optional<option_def_and_value> &ov)
/* See cli-option.h. */
bool
-process_options (const char **args,
- process_options_mode mode,
+process_options (const char **args, process_options_mode mode,
gdb::array_view<const option_def_group> options_group)
{
if (*args == nullptr)
@@ -681,8 +668,7 @@ get_val_type_str (const option_def &opt, std::string &buffer)
buffer = "NUMBER";
if (opt.extra_literals != nullptr)
for (const literal_def *l = opt.extra_literals;
- l->literal != nullptr;
- l++)
+ l->literal != nullptr; l++)
{
buffer += '|';
buffer += l->literal;
@@ -791,8 +777,7 @@ build_help (const char *help_tmpl,
/* See cli-option.h. */
void
-add_setshow_cmds_for_options (command_class cmd_class,
- void *data,
+add_setshow_cmds_for_options (command_class cmd_class, void *data,
gdb::array_view<const option_def> options,
struct cmd_list_element **set_list,
struct cmd_list_element **show_list)
@@ -804,48 +789,39 @@ add_setshow_cmds_for_options (command_class cmd_class,
add_setshow_boolean_cmd (option.name, cmd_class,
option.var_address.boolean (option, data),
option.set_doc, option.show_doc,
- option.help_doc,
- nullptr, option.show_cmd_cb,
- set_list, show_list);
+ option.help_doc, nullptr,
+ option.show_cmd_cb, set_list, show_list);
}
else if (option.type == var_uinteger)
{
add_setshow_uinteger_cmd (option.name, cmd_class,
option.var_address.uinteger (option, data),
- option.extra_literals,
- option.set_doc, option.show_doc,
- option.help_doc,
- nullptr, option.show_cmd_cb,
- set_list, show_list);
+ option.extra_literals, option.set_doc,
+ option.show_doc, option.help_doc, nullptr,
+ option.show_cmd_cb, set_list, show_list);
}
else if (option.type == var_integer)
{
add_setshow_integer_cmd (option.name, cmd_class,
option.var_address.integer (option, data),
- option.extra_literals,
- option.set_doc, option.show_doc,
- option.help_doc,
- nullptr, option.show_cmd_cb,
- set_list, show_list);
+ option.extra_literals, option.set_doc,
+ option.show_doc, option.help_doc, nullptr,
+ option.show_cmd_cb, set_list, show_list);
}
else if (option.type == var_pinteger)
{
add_setshow_pinteger_cmd (option.name, cmd_class,
option.var_address.integer (option, data),
- option.extra_literals,
- option.set_doc, option.show_doc,
- option.help_doc,
- nullptr, option.show_cmd_cb,
- set_list, show_list);
+ option.extra_literals, option.set_doc,
+ option.show_doc, option.help_doc, nullptr,
+ option.show_cmd_cb, set_list, show_list);
}
else if (option.type == var_enum)
{
- add_setshow_enum_cmd (option.name, cmd_class,
- option.enums,
+ add_setshow_enum_cmd (option.name, cmd_class, option.enums,
option.var_address.enumeration (option, data),
option.set_doc, option.show_doc,
- option.help_doc,
- nullptr, option.show_cmd_cb,
+ option.help_doc, nullptr, option.show_cmd_cb,
set_list, show_list);
}
else if (option.type == var_string)
@@ -853,8 +829,7 @@ add_setshow_cmds_for_options (command_class cmd_class,
add_setshow_string_cmd (option.name, cmd_class,
option.var_address.string (option, data),
option.set_doc, option.show_doc,
- option.help_doc,
- nullptr, option.show_cmd_cb,
+ option.help_doc, nullptr, option.show_cmd_cb,
set_list, show_list);
}
else