summaryrefslogtreecommitdiff
path: root/gdb/cli
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2002-03-06 06:28:35 +0000
committerAndrew Cagney <cagney@redhat.com>2002-03-06 06:28:35 +0000
commit8e4d8f8727fb421610527c121f4c8de8370f2309 (patch)
treee8c7370d6583ea0f581f144d98ebdf0104faa548 /gdb/cli
parent8d9c2f8f5ef5e6ca13e68a6469d6878d5bc67a8c (diff)
downloadgdb-8e4d8f8727fb421610527c121f4c8de8370f2309.tar.gz
* cli/cli-decode.c (set_cmd_completer): New function.
* command.h (set_cmd_completer): Declare. * cli/cli-decode.h (set_cmd_completer): Ditto. * breakpoint.c (_initialize_breakpoint): Use set_cmd_completer. * cli/cli-cmds.c (init_cli_cmds): Ditto. * win32-nat.c (_initialize_inftarg): Ditto. * remote-rdi.c (_initialize_remote_rdi): Ditto. * proc-api.c (_initialize_proc_api): Ditto. * hppa-tdep.c (_initialize_hppa_tdep): Ditto. * source.c (_initialize_source): Ditto. * exec.c (_initialize_exec): Ditto. * solib.c (_initialize_solib): Ditto. * top.c (init_main): Ditto. * tracepoint.c (_initialize_tracepoint): Ditto. * symfile.c (_initialize_symfile): Ditto. * printcmd.c (_initialize_printcmd): Ditto. * infcmd.c (_initialize_infcmd): Ditto. * corefile.c (_initialize_core): Ditto.
Diffstat (limited to 'gdb/cli')
-rw-r--r--gdb/cli/cli-cmds.c10
-rw-r--r--gdb/cli/cli-decode.c9
-rw-r--r--gdb/cli/cli-decode.h3
3 files changed, 16 insertions, 6 deletions
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 16cc9890437..8458440aaa8 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -673,7 +673,7 @@ The commands below can be used to select other frames by number or address.",
"Set working directory to DIR for debugger and program being debugged.\n\
The change does not take effect for the program being debugged\n\
until the next time it is started.", &cmdlist);
- c->completer = filename_completer;
+ set_cmd_completer (c, filename_completer);
add_com ("echo", class_support, echo_command,
"Print a constant string. Give string as argument.\n\
@@ -698,11 +698,11 @@ Commands defined in this way may have up to ten arguments.");
"Read commands from a file named FILE.\n\
Note that the file \"" GDBINIT_FILENAME "\" is read automatically in this way\n\
when gdb is started.", &cmdlist);
- c->completer = filename_completer;
+ set_cmd_completer (c, filename_completer);
add_com ("quit", class_support, quit_command, "Exit gdb.");
c = add_com ("help", class_support, help_command, "Print list of commands.");
- c->completer = command_completer;
+ set_cmd_completer (c, command_completer);
add_com_alias ("q", "quit", class_support, 1);
add_com_alias ("h", "help", class_support, 1);
@@ -804,7 +804,7 @@ from the target.", &setlist),
c = add_com ("shell", class_support, shell_escape,
"Execute the rest of the line as a shell command. \n\
With no arguments, run an inferior shell.");
- c->completer = filename_completer;
+ set_cmd_completer (c, filename_completer);
/* NOTE: cagney/2000-03-20: Being able to enter ``(gdb) !ls'' would
be a really useful feature. Unfortunately, the below wont do
@@ -817,7 +817,7 @@ With no arguments, run an inferior shell.");
c = add_com ("make", class_support, make_command,
"Run the ``make'' program using the rest of the line as arguments.");
- c->completer = filename_completer;
+ set_cmd_completer (c, filename_completer);
add_cmd ("user", no_class, show_user,
"Show definitions of user defined commands.\n\
Argument is the name of the user defined command.\n\
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index a13b7b8eecd..f68064eb0aa 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -86,6 +86,13 @@ cmd_cfunc_eq (struct cmd_list_element *cmd,
return cmd->func == do_cfunc && cmd->function.cfunc == cfunc;
}
+void
+set_cmd_completer (struct cmd_list_element *cmd,
+ char **(*completer) (char *text, char *word))
+{
+ cmd->completer = completer; /* Ok. */
+}
+
/* Add element named NAME.
CLASS is the top level category into which commands are broken down
@@ -144,7 +151,7 @@ add_cmd (char *name, enum command_class class, void (*fun) (char *, int),
c->prefixname = NULL;
c->allow_unknown = 0;
c->abbrev_flag = 0;
- c->completer = make_symbol_completion_list;
+ set_cmd_completer (c, make_symbol_completion_list);
c->type = not_set_cmd;
c->var = NULL;
c->var_type = var_boolean;
diff --git a/gdb/cli/cli-decode.h b/gdb/cli/cli-decode.h
index e4b7c5566ad..51ca7810793 100644
--- a/gdb/cli/cli-decode.h
+++ b/gdb/cli/cli-decode.h
@@ -286,6 +286,9 @@ extern void set_cmd_sfunc (struct cmd_list_element *cmd,
void (*sfunc) (char *args, int from_tty,
struct cmd_list_element * c));
+extern void set_cmd_completer (struct cmd_list_element *cmd,
+ char **(*completer) (char *text, char *word));
+
/* HACK: cagney/2002-02-23: Code, mostly in tracepoints.c, grubs
around in cmd objects to test the value of the commands sfunc(). */
extern int cmd_cfunc_eq (struct cmd_list_element *cmd,