mirror of
https://github.com/neovim/neovim.git
synced 2025-10-08 10:56:31 +00:00
feat(lsp)!: add rule-based sem token highlighting (#22022)
feat(lsp)!: change semantic token highlighting Change the default highlights used, and add more highlights per token. Add an LspTokenUpdate event and a highlight_token function. :Inspect now shows any highlights applied by token highlighting rules, default or user-defined. BREAKING CHANGE: change the default highlight groups used by semantic token highlighting.
This commit is contained in:
@@ -72,6 +72,7 @@ return {
|
||||
'InsertLeavePre', -- just before leaving Insert mode
|
||||
'LspAttach', -- after an LSP client attaches to a buffer
|
||||
'LspDetach', -- after an LSP client detaches from a buffer
|
||||
'LspTokenUpdate', -- after a visible LSP token is updated
|
||||
'MenuPopup', -- just before popup menu is displayed
|
||||
'ModeChanged', -- after changing the mode
|
||||
'OptionSet', -- after setting any option
|
||||
@@ -151,6 +152,7 @@ return {
|
||||
DiagnosticChanged=true,
|
||||
LspAttach=true,
|
||||
LspDetach=true,
|
||||
LspTokenUpdate=true,
|
||||
RecordingEnter=true,
|
||||
RecordingLeave=true,
|
||||
Signal=true,
|
||||
|
@@ -270,16 +270,22 @@ static const char *highlight_init_both[] = {
|
||||
"default link @tag Tag",
|
||||
|
||||
// LSP semantic tokens
|
||||
"default link @class Structure",
|
||||
"default link @struct Structure",
|
||||
"default link @enum Type",
|
||||
"default link @enumMember Constant",
|
||||
"default link @event Identifier",
|
||||
"default link @interface Identifier",
|
||||
"default link @modifier Identifier",
|
||||
"default link @regexp SpecialChar",
|
||||
"default link @typeParameter Type",
|
||||
"default link @decorator Identifier",
|
||||
"default link @lsp.type.class Structure",
|
||||
"default link @lsp.type.decorator Function",
|
||||
"default link @lsp.type.enum Structure",
|
||||
"default link @lsp.type.enumMember Constant",
|
||||
"default link @lsp.type.function Function",
|
||||
"default link @lsp.type.interface Structure",
|
||||
"default link @lsp.type.macro Macro",
|
||||
"default link @lsp.type.method Function",
|
||||
"default link @lsp.type.namespace Structure",
|
||||
"default link @lsp.type.parameter Identifier",
|
||||
"default link @lsp.type.property Identifier",
|
||||
"default link @lsp.type.struct Structure",
|
||||
"default link @lsp.type.type Type",
|
||||
"default link @lsp.type.typeParameter TypeDef",
|
||||
"default link @lsp.type.variable Identifier",
|
||||
|
||||
NULL
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user