akiyosi / goneovim

A GUI frontend for neovim.
MIT License
2.36k stars 59 forks source link

Undercurls cover up some punctuation #437

Open caerphoto opened 1 year ago

caerphoto commented 1 year ago

When there are errors, warnings etc from the LSP, the undercurl is a bit too close to the text, meaning it covers up some of the punctuation like , and ., which makes some lines of code hard to read. Here's a (contrived) example:

Screenshot 2023-02-02 at 16 53 41

Is there a way to make the undercurls a bit less obtrusive? Neovide, for example, has them flatter and darker, albeit too much so, imo; they're almost invisible:

Screenshot 2023-02-02 at 16 59 43

VimR renders them similar to Goneovim, but closer to the text, which is even worse.

As far as I can tell this is largely independent guifont and linespace settings. This is on a Mac, haven't had a chance to check on Linux or Windows yet.

akiyosi commented 1 year ago

Hi :) Thanks for this issuereport. I was worried about this issue. The undercurl curve has to cover the text if the curvature is large, but conversely, if it is small, it is hard to distinguish it from a straight line. Also, if the spacing between the undercurl and the text is increased, it will be covered by the next line of text, and due to the rendering process, it may be chipped. For this reason, we decided to draw the undercurl at a certain curvature so that it does not exceed the height of the line, assuming that it is unavoidable to some extent that the text will be covered.

To avoid covering the text, it is useful to increase the height of the line. This can be controlled with linespace as you have mentioned.

set linespace=3

If you have any better ideas, I would like to refer to them.