mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-25 20:33:08 +00:00
reader.cpp: send smkx/rmkx when entering/leaving interactive mode
Closes #2139.
This commit is contained in:
parent
e9fcbb334e
commit
a66d44054c
1 changed files with 28 additions and 0 deletions
|
@ -43,6 +43,20 @@ commence.
|
|||
#include <sys/select.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_NCURSES_H
|
||||
#include <ncurses.h>
|
||||
#elif HAVE_NCURSES_CURSES_H
|
||||
#include <ncurses/curses.h>
|
||||
#else
|
||||
#include <curses.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_TERM_H
|
||||
#include <term.h>
|
||||
#elif HAVE_NCURSES_TERM_H
|
||||
#include <ncurses/term.h>
|
||||
#endif
|
||||
|
||||
#include <signal.h>
|
||||
#include <fcntl.h>
|
||||
#include <wchar.h>
|
||||
|
@ -3083,6 +3097,13 @@ const wchar_t *reader_readline(int nchars)
|
|||
|
||||
exec_prompt();
|
||||
|
||||
/* Send the smkx sequence if defined to enable arrow keys etc.
|
||||
See https://github.com/fish-shell/fish-shell/issues/2139 and
|
||||
http://invisible-island.net/xterm/xterm.faq.html#xterm_arrows
|
||||
*/
|
||||
|
||||
tputs(keypad_xmit, 1, &writeb);
|
||||
|
||||
reader_super_highlight_me_plenty();
|
||||
s_reset(&data->screen, screen_reset_abandon_line);
|
||||
reader_repaint();
|
||||
|
@ -4195,6 +4216,13 @@ const wchar_t *reader_readline(int nchars)
|
|||
wperror(L"tcsetattr");
|
||||
}
|
||||
|
||||
/* Send the rmkx sequence if defined to disable arrow keys etc.
|
||||
See https://github.com/fish-shell/fish-shell/issues/2139 and
|
||||
http://invisible-island.net/xterm/xterm.faq.html#xterm_arrows
|
||||
*/
|
||||
|
||||
tputs(keypad_local, 1, &writeb);
|
||||
|
||||
set_color(rgb_color_t::reset(), rgb_color_t::reset());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue