v1.1 semantic highlight feature, introduced in specification 3.16.0#788
v1.1 semantic highlight feature, introduced in specification 3.16.0#788FelipeLema wants to merge 24 commits intoMaskRay:masterfrom FelipeLema:semantic-highlight
Conversation
…n specification 3.16.0.
- add overhead code for new method - move code from "semantic tokens for full document" to "semantic tokens for range in document" - add range delimitation to function - make "full document" use "range that covers all document"
94ba2b3 to
c018bce
Compare
|
this is ready to be merged (deltas are not mandatory). I've tested this using Emacs+lsp-mode and it seems to work Ok. I will come back to work in deltas in a few weeks |
- Move SemanticTokens to QueryFile - Add SemanticTokensId (though still returning SemanticTokens) - Save latest SemanticTokensId in QueryFile (latest semantic token sent is associated to a file)
|
I just cancelled deltas because I don't see much support for it in the wild, and it looks like quite the work to do. This PR is ready to be... uhm... pulled. |
|
re deltas: prabirshrestha/vim-lsp#633 (comment) |
lsp-mode was complaining that generated json was not properly parsed
|
The biggest problem for me is that I cannot test this. Do you know how to test lsp-mode semantic tokens? I dropped the ccls-style semantic highlighting locally in emacs-ccls but cannot observe any fontlock color differences even if I have set -- i/ccls.el
+++ w/ccls.el
@@ -162,4 +162,3 @@ DIRECTION can be \"D\", \"L\", \"R\" or \"U\"."
:notification-handlers
- (lsp-ht ("$ccls/publishSkippedRanges" #'ccls--publish-skipped-ranges)
- ("$ccls/publishSemanticHighlight" #'ccls--publish-semantic-highlight))
+ (lsp-ht ("$ccls/publishSkippedRanges" #'ccls--publish-skipped-ranges))
:initialization-options (lambda () ccls-initialization-options)Please don't use The commits should better be squashed. |
| "macro" | ||
| }; | ||
|
|
||
| const char * SEMANTIC_MODIFIERS[] = { |
There was a problem hiding this comment.
clang-format should make it const char *SEMANTIC_MODIFIERS[] =
The preferred style is kSemanticModifiers
| using namespace clang; | ||
|
|
||
| namespace { | ||
|
|
This is not good. |
will replace with something like |
|
I'm looking to decouple the rainbowing from the See discussion after this comment |
|
can anyone walk me through the "rainbowing process"? any pics / video samples of what end users will see? |
Continuation of #740 (fixed TODOs, sprinkled some
usingand lexicographical comparisons)I originally sent this as a PR to @jlahoda, but they seem to have lost interest? anyway, I'm willing to take care of this until merged to main branch
textDocument/semanticTokens/rangetextDocument/semanticTokens/fulltextDocument/semanticTokens/full/delta