aboutsummaryrefslogtreecommitdiff
path: root/gdb/top.c
diff options
context:
space:
mode:
authorDoug Evans <xdje42@gmail.com>2015-01-31 14:11:54 -0800
committerDoug Evans <xdje42@gmail.com>2015-01-31 14:11:54 -0800
commit82083d6dbbc0b2f6a76095582c6e7ffb3e06432a (patch)
treebe2581d31b188398863a27e60e2ac2ad69c0d910 /gdb/top.c
parentf57d2163da62044205c3f53e0ecf186923296b63 (diff)
downloadgdb-82083d6dbbc0b2f6a76095582c6e7ffb3e06432a.zip
gdb-82083d6dbbc0b2f6a76095582c6e7ffb3e06432a.tar.gz
gdb-82083d6dbbc0b2f6a76095582c6e7ffb3e06432a.tar.bz2
Unify CLI/TUI interface to readline tab completion.
This copies a lot of code from readline, but this is temporary. Readline currently doesn't export what we need. The plan is to have something that has been working for awhile, and then we'll have a complete story to present to the readline maintainers. gdb/ChangeLog: * cli-out.c: #include completer.h, readline/readline.h. (cli_mld_crlf, cli_mld_putch, cli_mld_puts): New functions. (cli_mld_flush, cld_mld_erase_entire_line): Ditto. (cli_mld_beep, cli_mld_read_key, cli_display_match_list): Ditto. * cli-out.h (cli_display_match_list): Declare. * completer.c (MB_INVALIDCH, MB_NULLWCH): New macros. (ELLIPSIS_LEN): Ditto. (gdb_get_y_or_n, gdb_display_match_list_pager): New functions. (gdb_path_isdir, gdb_printable_part, gdb_fnwidth): Ditto. (gdb_fnprint, gdb_print_filename): Ditto. (gdb_complete_get_screenwidth, gdb_display_match_list_1): Ditto. (gdb_display_match_list): Ditto. * completer.h (mld_crlf_ftype, mld_putch_ftype): New typedefs. (mld_puts_ftype, mld_flush_ftype, mld_erase_entire_line_ftype): Ditto. (mld_beep_ftype, mld_read_key_ftype): Ditto. (match_list_displayer): New struct. (gdb_display_match_list): Declare. * top.c (init_main): Set rl_completion_display_matches_hook. * tui/tui-io.c: #include completer.h. (printable_part, PUTX, print_filename, get_y_or_n): Delete. (tui_mld_crlf, tui_mld_putch, tui_mld_puts): New functions. (tui_mld_flush, tui_mld_erase_entire_line, tui_mld_beep): Ditto. (tui_mld_getc, tui_mld_read_key): Ditto. (tui_rl_display_match_list): Rewrite. (tui_handle_resize_during_io): New arg for_completion. All callers updated.
Diffstat (limited to 'gdb/top.c')
-rw-r--r--gdb/top.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gdb/top.c b/gdb/top.c
index a1462a0..000b14e 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1828,6 +1828,7 @@ init_main (void)
rl_completion_entry_function = readline_line_completion_function;
rl_completer_word_break_characters = default_word_break_characters ();
rl_completer_quote_characters = get_gdb_completer_quote_characters ();
+ rl_completion_display_matches_hook = cli_display_match_list;
rl_readline_name = "gdb";
rl_terminal_name = getenv ("TERM");