diff options
author | Doug Evans <xdje42@gmail.com> | 2015-01-31 14:11:54 -0800 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2015-01-31 14:11:54 -0800 |
commit | 82083d6dbbc0b2f6a76095582c6e7ffb3e06432a (patch) | |
tree | be2581d31b188398863a27e60e2ac2ad69c0d910 /gdb/cli-out.h | |
parent | f57d2163da62044205c3f53e0ecf186923296b63 (diff) | |
download | gdb-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/cli-out.h')
-rw-r--r-- | gdb/cli-out.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/cli-out.h b/gdb/cli-out.h index bf07069..401429a 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 |