This is an automated archive made by the Lemmit Bot.

The original was posted on /r/neovim by /u/db443 on 2024-04-07 08:05:46.


Hello folks,

I maintain moonfly and nightfly themes.

On thing I really dislike is when a Language Server (LSP) supports Semantic Token highlighting AND that highlighting is very different to Tree-sitter. As in, you open up a file, Tree-sitter highlighting kicks in (and it looks nice) then LSP Semantic Token highlighting takes over and colors change.

As a theme author I want LSP Semantic Token highlights to be additive (only change unhighlighted normal text), in all other respects I want the Semantic Token colors to be the same as existing Tree-sitter colors.

I have experienced this with Rust Analyzer with the small amount of Rust I deal with. Colors for token were different, which I equalized.

The typescript-language-server also supports Semantic Tokens, but is more conservative, it highlights paramaters which Tree-sitter does not. I do not recall having to intervene in my theme like I did with Rust and Rust Analyzer.

So my question is, which other maintream LSPs support Semantic Tokens? I want to install those LSPs and fix my themes to have the same colors for LSP Semantic Tokens and Tree-sitter.

Cheers.