I was working on a LSP extension for GitHub - bscan/PerlNavigator: Perl Language Server that includes syntax checking, perl critic, and code navigation
It sends a textDocument/publishDiagnostics
response that includes:
"range" : {
"end" : {
"character" : 500,
"line" : 24
},
"start" : {
"character" : 0,
"line" : 24
}
},
Looking at the source, that 500 number is just an arbitrary high hardcoded value (probably because perlcritic output just provides a single line number to the LSP).
Even though the line number value is the same for the start and end range, nova still underlines the next several lines until it reaches exactly 500 characters.
Having a hardcoded character number here might be wrong of the LSP – but I don’t think nova means to be underlining text for line numbers that aren’t included in the range.