coc.nvim
coc.nvim copied to clipboard
Inconsistent & Missing Diagnostic Underlines
Result from CocInfo
versions
vim version: VIM - Vi IMproved 9.0 9000609 node version: v18.12.1 coc.nvim version: 0.0.82-b7375d5f 2023-01-30 05:09:03 +0800 coc.nvim directory: /home/trev/.vim/plugged/coc.nvim term: dumb platform: linux
Log of coc.nvim
2023-02-26T14:53:42.497 INFO (pid:307939) [plugin] - coc.nvim initialized with node: v18.12.1 after 213 2023-02-26T14:53:42.525 INFO (pid:307939) [services] - service tsserver started 2023-02-26T14:53:44.480 INFO (pid:307939) [attach] - receive notification: highlight [] 2023-02-26T14:53:45.544 INFO (pid:307939) [attach] - receive notification: highlight [] 2023-02-26T14:53:46.932 INFO (pid:307939) [attach] - receive notification: highlight [] 2023-02-26T14:53:48.679 INFO (pid:307939) [attach] - receive notification: highlight [] 2023-02-26T14:53:50.299 INFO (pid:307939) [attach] - receive notification: showInfo [] 2023-02-26T14:53:50.632 INFO (pid:307939) [attach] - receive notification: highlight [] 2023-02-26T14:53:54.769 INFO (pid:307939) [attach] - receive notification: highlight [] 2023-02-26T14:53:55.449 INFO (pid:307939) [attach] - receive notification: highlight [] 2023-02-26T14:53:59.430 INFO (pid:307939) [attach] - receive notification: highlight [] 2023-02-26T14:54:00.941 INFO (pid:307939) [attach] - receive notification: highlight [] 2023-02-26T14:54:04.030 INFO (pid:307939) [attach] - receive notification: showInfo []
Describe the bug
Using tsserver on javascript files.
When there are diagnostic highlights, they are all white underlines regardless of their severity. In a much larger JS file the underline of where the diagnostic problems exist disappear entirely.
I am able to reproduce this across multiple terminal emulators with vim. My best guess is that there's something wrong with CoC or something wrong with my vim/config.
Emulators Tried:
- Kitty
- Wezterm
- Alacritty
- Konsole
Reproduce the bug
We will close your issue when you don't provide minimal vimrc and we can't reproduce it
-
Create file
mini.vimwith:set nocompatible set runtimepath^=/path/to/coc.nvim filetype plugin indent on syntax on set hidden -
Start (neo)vim with command:
vim -u mini.vim -
Operate vim.
Yep I was able to reproduce this with minivim.
Screenshots (optional)
Here are some shots of what I mean, both in and out of mini.vim

In addition to vim, I converted my vim9script vimrc into neovim compatible vim8. I went back to the same file in neovim 0.8.1 and while the colors of the underlines and line numbers improve, I am still missing underlines in this very large JS file some 6000 lines down.
I am starting to think I am hitting some sort of limit on diagnostic markings, maybe? I see there's a highlight limit of 100 items in g:coc_highlight_maximum_count, is this what's messing me up?
Okay so as far as the underline colors go, all of the diagnostic highlights just link to Underline. My theme (onedark) doesn't do anything with these. This must be why all of my underlines are the same color.
All that's left here is underlines disappearing after so many lines in large files I guess.
All that's left here is underlines disappearing after so many lines in large files
Do you mean underlines will disappear in large files?
Do you mean underlines will disappear in large files?
I mean that underlines will occur up to a certain point and no further. Scrolling down past that point does not cause a refresh. Diagnostic errors appear without underlines, and it is challenging to figure out where the errors actually are from that point. If I scroll back to where I last saw underlines, they are still there.