I believe, this change is almost unopinionated, but just makes the things better :)
The Problem
When for MatchParen fg=syntax_bg, then block-shaped cursor becomes colored with bg_color, and
becomes invisible. This makes "another" paren much more accented than "this" paren.
Fix
To fix this, I just swap bg and fg for MatchParen, which as for me, solves the problem.
After watching the demo I've realized, the old variant looks better when the cursor is blinking.
For other cursor shapes (horizontal line, vertical line, non-blinking block) new version looks and feels a way better.
Demo file
/**
* Some parens to walk around.
*/
let f = ([x, y, {z: za}]) => ({ xs: [x, y], za })
/**
* Vim commands to set different types of cursors (for neovim)
*/
/* block */
set guicursor=n:block
/* blinking block */
set guicursor=n:block-blinkoff400-blinkon250
/* horizontal line */
set guicursor=n:hor100
/* vertical line */
set guicursor=n:ver100
I believe, this change is almost unopinionated, but just makes the things better :)
The Problem
When for MatchParen fg=syntax_bg, then block-shaped cursor becomes colored with bg_color, and becomes invisible. This makes "another" paren much more accented than "this" paren.
Fix
To fix this, I just swap bg and fg for MatchParen, which as for me, solves the problem.
Demo video
After watching the demo I've realized, the old variant looks better when the cursor is blinking.
For other cursor shapes (horizontal line, vertical line, non-blinking block) new version looks and feels a way better.
Demo file