From 6e035501e15e72398fcd9db88c97dd30e585a9ae Mon Sep 17 00:00:00 2001 From: Jan Vrany Date: Fri, 17 May 2019 10:58:23 +0100 Subject: MI: extract command completion logic from complete_command() Extract completion logic from CLI complete_command() into a new helper function complete(). gdb/Changelog: * completer.h (complete): New function. * completer.c (complete): Likewise. * cli/cli-cmds.c: (complete_command): Update to use new complete() function defined in completer.h. --- gdb/cli/cli-cmds.c | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) (limited to 'gdb/cli') diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index 3d8e238..332078b 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -243,40 +243,13 @@ complete_command (const char *arg, int from_tty) if (arg == NULL) arg = ""; - completion_tracker tracker_handle_brkchars; - completion_tracker tracker_handle_completions; - completion_tracker *tracker; - int quote_char = '\0'; const char *word; - try - { - word = completion_find_completion_word (tracker_handle_brkchars, - arg, "e_char); - - /* Completers that provide a custom word point in the - handle_brkchars phase also compute their completions then. - Completers that leave the completion word handling to readline - must be called twice. */ - if (tracker_handle_brkchars.use_custom_word_point ()) - tracker = &tracker_handle_brkchars; - else - { - complete_line (tracker_handle_completions, word, arg, strlen (arg)); - tracker = &tracker_handle_completions; - } - } - catch (const gdb_exception &ex) - { - return; - } + completion_result result = complete (arg, &word, "e_char); std::string arg_prefix (arg, word - arg); - completion_result result - = tracker->build_completion_result (word, word - arg, strlen (arg)); - if (result.number_matches != 0) { if (result.number_matches == 1) -- cgit v1.1