diff options
Diffstat (limited to 'src/terminal.c')
-rw-r--r-- | src/terminal.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/terminal.c b/src/terminal.c index be76161e51..b289f6c994 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -51,6 +51,9 @@ * job finishes). * - add option values to the command: * :term <24x80> <close> vim notes.txt + * - support different cursor shapes, colors and attributes + * - make term_getcursor() return type (none/block/bar/underline) and + * attributes (color, blink, etc.) * - To set BS correctly, check get_stty(); Pass the fd of the pty. * - do not store terminal window in viminfo. Or prefix term:// ? * - add a character in :ls output @@ -359,7 +362,7 @@ update_cursor(term_T *term, int redraw) cursor_on(); out_flush(); #ifdef FEAT_GUI - if (gui.in_use && term->tl_cursor_visible) + if (gui.in_use) gui_update_cursor(FALSE, FALSE); #endif } @@ -1034,7 +1037,7 @@ handle_movecursor( if (term->tl_buffer == curbuf) { may_toggle_cursor(term); - update_cursor(term, TRUE); + update_cursor(term, term->tl_cursor_visible); } return 1; @@ -1180,11 +1183,12 @@ term_channel_closed(channel_T *ch) /* Need to break out of vgetc(). */ ins_char_typebuf(K_IGNORE); - if (curbuf->b_term != NULL) + term = curbuf->b_term; + if (term != NULL) { - if (curbuf->b_term->tl_job == ch->ch_job) + if (term->tl_job == ch->ch_job) maketitle(); - update_cursor(curbuf->b_term, TRUE); + update_cursor(term, term->tl_cursor_visible); } } } |