summaryrefslogtreecommitdiff
path: root/gdb/cli-out.h
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/cli-out.h
parentf57d2163da62044205c3f53e0ecf186923296b63 (diff)
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/cli-out.h')
-rw-r--r--gdb/cli-out.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/cli-out.h b/gdb/cli-out.h
index bf0706977d..401429ab56 100644
--- a/gdb/cli-out.h
+++ b/gdb/cli-out.h
@@ -48,4 +48,6 @@ extern void cli_out_data_ctor (struct cli_ui_out_data *data,
extern struct ui_file *cli_out_set_stream (struct ui_out *uiout,
struct ui_file *stream);
+extern void cli_display_match_list (char **matches, int len, int max);
+
#endif