void readline_signal_ctrl_c(void) { if (getenv("TERM") != NULL) { readline_key_end(); readline_refresh_line(); ft_putchar('\n'); ft_strdel(&sgt_readline()->concat_buffer); ft_strdel(&sgt_readline()->save_buffer); ft_strdel(&sgt_readline()->buffer); ini_readline(); sgt_readline()->completion.in_tab = false; readline_refresh_line(); } }
void readline_signal_resize(void) { if (getenv("TERM") != NULL) { ioctl(STDOUT_FILENO, TIOCGWINSZ, &sgt_readline()->term.size); readline_refresh_line(); } }
void readline_key_ctrl_s(void) { if (sgt_readline()->completion.in_tab == true) { sgt_readline()->completion.in_tab = false; readline_refresh_line(); } sgt_readline()->select.is_select = !sgt_readline()->select.is_select; if (sgt_readline()->select.is_select) { sgt_readline()->select.start = sgt_readline()->cursor_pos; sgt_readline()->select.len = 0; } else { readline_refresh_line(); } }
static void s_for_select(void) { int i; if (sgt_readline()->prompt.len + sgt_readline()->len_buffer > \ (unsigned long)tgetnum("co")) { i = tgetnum("co"); while (i > 0 && sgt_readline()->cursor_pos < sgt_readline()->len_buffer) { ++sgt_readline()->cursor_pos; ++sgt_readline()->select.len; --i; } } readline_refresh_line(); }