eclipse-langium / langium

Next-gen language engineering / DSL framework
https://langium.org/
MIT License
725 stars 65 forks source link

Flush semantic token builder cache on request #1284

Closed msujew closed 10 months ago

msujew commented 11 months ago

Related to https://github.com/eclipse-langium/langium/discussions/1283

I wasn't able to reproduce this - it might only appear in the monaco-vscode-api package, which probably slightly differs in how vscode invokes the semantic token provider.

Anyway, flushing the cache when we perform a non-delta updates seems pretty reasonable on my side. The main issue was that the semantic token builder from the vscode-languageserver package is pretty undocumented and gives little help on how to use it.

It also seems to fix the issue that @cdietrich was experiencing with a web based Langium LSP worker.

cdietrich commented 11 months ago

@msujew this is quite easy to reproduce. after yo langium gen just adjust classic like this

editorOptions: {
                    'semanticHighlighting.enabled': true,
                    //theme: 'vs-dark'
                }

@kaisalmen is it intentional that with theme delta highlighting is done, otherwise full?

kaisalmen commented 11 months ago

is it intentional that with theme delta highlighting is done, otherwise full?

@cdietrich I don't know. Does the theme definition itself give a hint? Have you checked the behaviour with a textmate theme?