feat(lsp): initial support for semantic token highlighting

* credit to @smolck and @theHamsta for their contributions in laying the
  groundwork for this feature and for their work on some of the helper
  utility functions and tests
This commit is contained in:
John Drouhard
2022-11-23 10:06:36 -06:00
parent 5e0c74cd82
commit 9f035559de
11 changed files with 1691 additions and 2 deletions

View File

@@ -258,12 +258,23 @@ static const char *highlight_init_both[] = {
"default link @type Type",
"default link @type.definition Typedef",
"default link @storageclass StorageClass",
"default link @structure Structure",
"default link @namespace Identifier",
"default link @include Include",
"default link @preproc PreProc",
"default link @debug Debug",
"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",
NULL
};