mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 07:18:17 +00:00
Visual: highlight char-at-cursor
Decide whether to highlight the visual-selected character under the cursor, depending on 'guicursor' style: - Highlight if cursor is blinking or non-block (vertical, horiz). - Do NOT highlight if cursor is non-blinking block. Traditionally Vim's visual selection does "reverse mode", which perhaps conflicts with the non-blinking block cursor. But 'guicursor' defaults to a vertical bar for selection=exclusive, and this confuses users who expect to see the text highlighted. closes #8983
This commit is contained in:
@@ -254,6 +254,16 @@ char_u *parse_shape_opt(int what)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/// Returns true if the cursor is non-blinking "block" shape during
|
||||
/// visual selection.
|
||||
///
|
||||
/// @param exclusive If 'selection' option is "exclusive".
|
||||
bool cursor_is_block_during_visual(bool exclusive)
|
||||
{
|
||||
int mode_idx = exclusive ? SHAPE_IDX_VE : SHAPE_IDX_V;
|
||||
return (SHAPE_BLOCK == shape_table[mode_idx].shape
|
||||
&& 0 == shape_table[mode_idx].blinkon);
|
||||
}
|
||||
|
||||
/// Map cursor mode from string to integer
|
||||
///
|
||||
|
Reference in New Issue
Block a user