GDB (xrefs)
|
#include "defs.h"
#include "target.h"
#include "gdbsupport/event-loop.h"
#include "event-top.h"
#include "command.h"
#include "top.h"
#include "ui.h"
#include "tui/tui.h"
#include "tui/tui-data.h"
#include "tui/tui-io.h"
#include "tui/tui-command.h"
#include "tui/tui-win.h"
#include "tui/tui-wingeneral.h"
#include "tui/tui-file.h"
#include "tui/tui-out.h"
#include "ui-out.h"
#include "cli-out.h"
#include <fcntl.h>
#include <signal.h>
#include "gdbsupport/filestuff.h"
#include "completer.h"
#include "gdb_curses.h"
#include <map>
#include "pager.h"
#include "gdbsupport/gdb-checked-static-cast.h"
#include "readline/readline.h"
Go to the source code of this file.
Classes | |
struct | color_pair |
Macros | |
#define | CTRL_CHAR(c) ((c) < control_character_threshold && (((c) & 0x80) == 0)) |
Functions | |
static int | tui_getc (FILE *fp) |
static int | key_is_start_sequence (int ch) |
static void | do_tui_putc (WINDOW *w, char c) |
static void | update_cmdwin_start_line () |
static void | tui_putc (char c) |
static bool | get_color (const ui_file_style::color &color, int *result) |
static ui_file_style::color | reverse_save_bg (ui_file_style::NONE) |
static ui_file_style::color | reverse_save_fg (ui_file_style::NONE) |
static int | get_color_pair (int fg, int bg) |
void | tui_apply_style (WINDOW *w, ui_file_style style) |
static size_t | apply_ansi_escape (WINDOW *w, const char *buf) |
void | tui_set_reverse_mode (WINDOW *w, bool reverse) |
void | tui_write (const char *buf, size_t length) |
void | tui_puts (const char *string, WINDOW *w) |
static void | tui_puts_internal (WINDOW *w, const char *string, int *height) |
void | tui_redisplay_readline (void) |
static void | tui_prep_terminal (int notused1) |
static void | tui_deprep_terminal (void) |
static void | tui_mld_crlf (const struct match_list_displayer *displayer) |
static void | tui_mld_putch (const struct match_list_displayer *displayer, int ch) |
static void | tui_mld_puts (const struct match_list_displayer *displayer, const char *s) |
static void | tui_mld_flush (const struct match_list_displayer *displayer) |
static void | tui_mld_erase_entire_line (const struct match_list_displayer *displayer) |
static void | tui_mld_beep (const struct match_list_displayer *displayer) |
static int | gdb_wgetch (WINDOW *win) |
static int | tui_mld_getc (FILE *fp) |
static int | tui_mld_read_key (const struct match_list_displayer *displayer) |
static void | tui_rl_display_match_list (char **matches, int len, int max) |
void | tui_setup_io (int mode) |
void | tui_initialize_io (void) |
static unsigned int | tui_dispatch_ctrl_char (unsigned int ch) |
void | tui_inject_newline_into_command_window () |
static int | start_sequence (const char *seq) |
static int | tui_getc_1 (FILE *fp) |
Variables | |
static struct ui_file * | tui_stdout |
static struct ui_file * | tui_stderr |
static struct ui_file * | tui_stdlog |
struct ui_out * | tui_out |
static struct ui_file * | tui_old_stdout |
static struct ui_file * | tui_old_stderr |
static struct ui_file * | tui_old_stdlog |
cli_ui_out * | tui_old_uiout |
static rl_getc_func_t * | tui_old_rl_getc_function |
static rl_voidfunc_t * | tui_old_rl_redisplay_function |
static rl_vintfunc_t * | tui_old_rl_prep_terminal |
static rl_voidfunc_t * | tui_old_rl_deprep_terminal |
static rl_compdisp_func_t * | tui_old_rl_display_matches_hook |
static int | tui_old_rl_echoing_p |
static FILE * | tui_rl_outstream |
static FILE * | tui_old_rl_outstream |
static std::map< ui_file_style::color, int > | color_map |
static std::map< color_pair, int > | color_pair_map |
static const int | curses_colors [] |
static int | last_color_pair = -1 |
static ui_file_style | last_style |
static bool | reverse_mode_p = false |
static const char * | cur_seq = nullptr |
#define CTRL_CHAR | ( | c | ) | ((c) < control_character_threshold && (((c) & 0x80) == 0)) |
Definition at line 70 of file tui-io.c.
Referenced by gdb_fnprint(), gdb_fnwidth(), and tui_redisplay_readline().
|
static |
Definition at line 363 of file tui-io.c.
References last_style, reverse_mode_p, style_tui_current_position, and tui_apply_style().
Referenced by tui_puts(), and tui_puts_internal().
|
static |
Definition at line 144 of file tui-io.c.
Referenced by tui_putc(), tui_puts(), and tui_puts_internal().
|
static |
Definition at line 753 of file tui-io.c.
Referenced by tui_getc_1(), and tui_mld_getc().
|
static |
Definition at line 223 of file tui-io.c.
References color_map, curses_colors, ui_file_style::color::get_rgb(), ui_file_style::color::get_value(), ui_file_style::color::is_basic(), and ui_file_style::color::is_none().
Referenced by tui_apply_style().
|
static |
Definition at line 274 of file tui-io.c.
References color_pair_map.
Referenced by tui_apply_style().
|
static |
Definition at line 63 of file tui-io.c.
Referenced by tui_getc_1().
|
static |
Referenced by tui_set_reverse_mode().
|
static |
Referenced by tui_set_reverse_mode().
|
static |
Definition at line 1095 of file tui-io.c.
References call_stdin_event_handler_again_p, and cur_seq.
Referenced by tui_getc_1().
void tui_apply_style | ( | WINDOW * | w, |
ui_file_style | style ) |
Definition at line 297 of file tui-io.c.
References ui_file_style::BOLD, ui_file_style::DIM, get_color(), get_color_pair(), ui_file_style::color::is_none(), last_color_pair, last_style, and ui_file_style::NORMAL.
Referenced by apply_ansi_escape(), box_win(), and tui_set_reverse_mode().
|
static |
Definition at line 668 of file tui-io.c.
Referenced by tui_setup_io().
|
static |
Definition at line 1003 of file tui-io.c.
References tui_win_info::backward_scroll(), tui_win_info::can_scroll(), tui_win_info::forward_scroll(), tui_win_info::left_scroll(), tui_win_info::right_scroll(), and tui_win_with_focus().
Referenced by tui_getc_1().
|
static |
Definition at line 1271 of file tui-io.c.
References exception_print(), gdb_stderr, set_force_quit_flag(), and tui_getc_1().
Referenced by tui_setup_io().
|
static |
Definition at line 1107 of file tui-io.c.
References call_stdin_event_handler_again_p, ui::command_editing, cur_seq, current_ui, gdb_wgetch(), key_is_start_sequence(), name, start_sequence(), TUI_CMD_WIN, tui_dispatch_ctrl_char(), and tui_refresh_all_win().
Referenced by tui_getc().
void tui_initialize_io | ( | void | ) |
Definition at line 910 of file tui-io.c.
References gdb_stdout, hstdout, tui_old_uiout, tui_out, tui_rl_outstream, tui_stderr, tui_stdlog, and tui_stdout.
Referenced by tui_interp::init().
void tui_inject_newline_into_command_window | ( | ) |
Definition at line 1048 of file tui-io.c.
References current_ui, gdb_in_secondary_prompt_p(), tui_active, TUI_CMD_WIN, and tui_putc().
Referenced by gdb_readline_wrapper_line(), and tui_command_line_handler().
|
static |
Definition at line 741 of file tui-io.c.
Referenced by tui_rl_display_match_list().
|
static |
Definition at line 696 of file tui-io.c.
References tui_putc().
Referenced by tui_rl_display_match_list().
|
static |
Definition at line 728 of file tui-io.c.
References TUI_CMD_WIN.
Referenced by tui_rl_display_match_list().
|
static |
Definition at line 720 of file tui-io.c.
References TUI_CMD_WIN.
Referenced by tui_rl_display_match_list().
|
static |
Definition at line 766 of file tui-io.c.
References gdb_wgetch(), and TUI_CMD_WIN.
Referenced by tui_mld_read_key().
|
static |
Definition at line 704 of file tui-io.c.
References tui_putc().
Referenced by tui_rl_display_match_list().
|
static |
Definition at line 712 of file tui-io.c.
References tui_puts().
Referenced by tui_rl_display_match_list().
|
static |
Definition at line 777 of file tui-io.c.
References tui_mld_getc().
Referenced by tui_rl_display_match_list().
|
static |
|
static |
Definition at line 177 of file tui-io.c.
References do_tui_putc(), TUI_CMD_WIN, and update_cmdwin_start_line().
Referenced by tui_inject_newline_into_command_window(), tui_mld_crlf(), and tui_mld_putch().
void tui_puts | ( | const char * | string, |
WINDOW * | w ) |
Definition at line 459 of file tui-io.c.
References apply_ansi_escape(), do_tui_putc(), TUI_CMD_WIN, and update_cmdwin_start_line().
Referenced by tui_file::puts(), tui_source_window_base::puts_to_pad_with_skip(), tui_mld_puts(), and tui_write().
|
static |
Definition at line 518 of file tui-io.c.
References apply_ansi_escape(), do_tui_putc(), TUI_CMD_WIN, and update_cmdwin_start_line().
Referenced by tui_redisplay_readline().
void tui_redisplay_readline | ( | void | ) |
Definition at line 567 of file tui-io.c.
References CTRL_CHAR, current_ui, gdb_in_secondary_prompt_p(), TUI_CMD_WIN, tui_current_key_mode, TUI_ONE_COMMAND_MODE, tui_puts_internal(), tui_set_key_mode(), and TUI_SINGLE_KEY_MODE.
Referenced by tui_setup_io().
|
static |
Definition at line 789 of file tui-io.c.
References match_list_displayer::beep, match_list_displayer::crlf, match_list_displayer::erase_entire_line, match_list_displayer::flush, gdb_display_match_list(), match_list_displayer::height, match_list_displayer::putch, match_list_displayer::puts, match_list_displayer::read_key, tui_mld_beep(), tui_mld_crlf(), tui_mld_erase_entire_line(), tui_mld_flush(), tui_mld_putch(), tui_mld_puts(), tui_mld_read_key(), and match_list_displayer::width.
Referenced by tui_setup_io().
void tui_set_reverse_mode | ( | WINDOW * | w, |
bool | reverse ) |
Definition at line 413 of file tui-io.c.
References last_style, reverse_mode_p, reverse_save_bg(), reverse_save_fg(), style_tui_current_position, and tui_apply_style().
Referenced by tui_source_window_base::show_source_line().
void tui_setup_io | ( | int | mode | ) |
Definition at line 814 of file tui-io.c.
References color_map, color_pair_map, current_uiout, gdb_stderr, gdb_stdlog, gdb_stdout, gdb_stdtarg, gdb_stdtargerr, last_color_pair, last_style, tui_deprep_terminal(), tui_ensure_readline_initialized(), tui_getc(), tui_old_rl_deprep_terminal, tui_old_rl_display_matches_hook, tui_old_rl_echoing_p, tui_old_rl_getc_function, tui_old_rl_outstream, tui_old_rl_prep_terminal, tui_old_rl_redisplay_function, tui_old_stderr, tui_old_stdlog, tui_old_stdout, tui_old_uiout, tui_out, tui_prep_terminal(), tui_redisplay_readline(), tui_rl_display_match_list(), tui_rl_outstream, tui_stderr, tui_stdlog, and tui_stdout.
Referenced by tui_disable(), and tui_enable().
void tui_write | ( | const char * | buf, |
size_t | length ) |
|
static |
Definition at line 167 of file tui-io.c.
References TUI_CMD_WIN.
Referenced by tui_putc(), tui_puts(), and tui_puts_internal().
|
static |
Definition at line 185 of file tui-io.c.
Referenced by get_color(), and tui_setup_io().
|
static |
Definition at line 204 of file tui-io.c.
Referenced by get_color_pair(), and tui_setup_io().
|
static |
Definition at line 1088 of file tui-io.c.
Referenced by start_sequence(), and tui_getc_1().
|
static |
Definition at line 209 of file tui-io.c.
Referenced by get_color().
|
static |
Definition at line 255 of file tui-io.c.
Referenced by tui_apply_style(), and tui_setup_io().
|
static |
Definition at line 259 of file tui-io.c.
Referenced by apply_ansi_escape(), tui_apply_style(), tui_set_reverse_mode(), and tui_setup_io().
|
static |
Definition at line 263 of file tui-io.c.
Referenced by apply_ansi_escape(), and tui_set_reverse_mode().
|
static |
Definition at line 127 of file tui-io.c.
Referenced by tui_setup_io().
|
static |
Definition at line 128 of file tui-io.c.
Referenced by tui_setup_io().
|
static |
Definition at line 129 of file tui-io.c.
Referenced by tui_setup_io().
|
static |
Definition at line 124 of file tui-io.c.
Referenced by tui_setup_io().
|
static |
Definition at line 134 of file tui-io.c.
Referenced by tui_setup_io().
|
static |
Definition at line 126 of file tui-io.c.
Referenced by tui_setup_io().
|
static |
Definition at line 125 of file tui-io.c.
Referenced by tui_setup_io().
|
static |
Definition at line 119 of file tui-io.c.
Referenced by tui_setup_io().
|
static |
Definition at line 120 of file tui-io.c.
Referenced by tui_setup_io().
|
static |
Definition at line 118 of file tui-io.c.
Referenced by tui_setup_io().
cli_ui_out* tui_old_uiout |
Definition at line 121 of file tui-io.c.
Referenced by tui_interp::interp_ui_out(), tui_interp::resume(), tui_initialize_io(), and tui_setup_io().
struct ui_out* tui_out |
Definition at line 115 of file tui-io.c.
Referenced by tui_interp::interp_ui_out(), tui_initialize_io(), and tui_setup_io().
|
static |
Definition at line 133 of file tui-io.c.
Referenced by tui_initialize_io(), and tui_setup_io().
|
static |
Definition at line 113 of file tui-io.c.
Referenced by tui_initialize_io(), and tui_setup_io().
|
static |
Definition at line 114 of file tui-io.c.
Referenced by tui_initialize_io(), and tui_setup_io().
|
static |
Definition at line 112 of file tui-io.c.
Referenced by tui_initialize_io(), and tui_setup_io().