Browse Source

Cleanup

master
cancel 5 years ago
parent
commit
18b7b2fa6f
  1. 33
      tui_main.c

33
tui_main.c

@ -2432,13 +2432,12 @@ staticni bool read_nxn_or_n(char const *str, int *out_a, int *out_b) {
}
typedef enum {
Bracketed_paste_sequence_none = 0,
Bracketed_paste_sequence_begin,
Bracketed_paste_sequence_end,
} Bracketed_paste_sequence;
Brackpaste_seq_none = 0,
Brackpaste_seq_begin,
Brackpaste_seq_end,
} Brackpaste_seq;
staticni Bracketed_paste_sequence
bracketed_paste_sequence_getch_ungetch(WINDOW *win) {
staticni Brackpaste_seq brackpaste_seq_getungetch(WINDOW *win) {
int esc1 = wgetch(win);
if (esc1 == '[') {
int esc2 = wgetch(win);
@ -2452,9 +2451,9 @@ bracketed_paste_sequence_getch_ungetch(WINDOW *win) {
if (esc5 == '~') {
switch (esc4) {
case '0':
return Bracketed_paste_sequence_begin;
return Brackpaste_seq_begin;
case '1':
return Bracketed_paste_sequence_end;
return Brackpaste_seq_end;
}
}
ungetch(esc5);
@ -2466,7 +2465,7 @@ bracketed_paste_sequence_getch_ungetch(WINDOW *win) {
ungetch(esc2);
}
ungetch(esc1);
return Bracketed_paste_sequence_none;
return Brackpaste_seq_none;
}
staticni void try_send_to_gui_clipboard(Ged const *a,
@ -3471,7 +3470,7 @@ int main(int argc, char **argv) {
Usz bracketed_paste_starting_x = 0, bracketed_paste_y = 0,
bracketed_paste_x = 0, bracketed_paste_max_y = 0,
bracketed_paste_max_x = 0;
bool is_in_bracketed_paste = false;
bool is_in_brackpaste = false;
WINDOW *cont_window = NULL;
tui_adjust_term_size(&t, &cont_window);
@ -3670,11 +3669,10 @@ event_loop:;
// If this key input is intended to reach the grid, check to see if we're
// in bracketed paste and use alternate 'filtered input for characters'
// mode. We'll ignore most control sequences here.
if (is_in_bracketed_paste) {
if (is_in_brackpaste) {
if (key == 27 /* escape */) {
if (bracketed_paste_sequence_getch_ungetch(stdscr) ==
Bracketed_paste_sequence_end) {
is_in_bracketed_paste = false;
if (brackpaste_seq_getungetch(stdscr) == Brackpaste_seq_end) {
is_in_brackpaste = false;
if (bracketed_paste_max_y > t.ged.ged_cursor.y)
t.ged.ged_cursor.h = bracketed_paste_max_y - t.ged.ged_cursor.y + 1;
if (bracketed_paste_max_x > t.ged.ged_cursor.x)
@ -3837,10 +3835,9 @@ event_loop:;
break;
case 27: // Escape
// Check for escape sequences we're interested in that ncurses didn't
// handle.
if (bracketed_paste_sequence_getch_ungetch(stdscr) ==
Bracketed_paste_sequence_begin) {
is_in_bracketed_paste = true;
// handle. Such as bracketed paste.
if (brackpaste_seq_getungetch(stdscr) == Brackpaste_seq_begin) {
is_in_brackpaste = true;
undo_history_push(&t.ged.undo_hist, &t.ged.field, t.ged.tick_num);
bracketed_paste_y = t.ged.ged_cursor.y;
bracketed_paste_x = t.ged.ged_cursor.x;

Loading…
Cancel
Save