neandertech / langoustine

Clean room implementation of the LSP protocol in Scala, published for JVM, JS, and Native platforms
https://neandertech.github.io/langoustine/
51 stars 5 forks source link

LSP Toolkit: Add support for delta version of semantic tokens request #115

Open keynmol opened 1 year ago

keynmol commented 1 year ago

See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens

This needs to be added to SemanticTokensEncoder companion object (as it doesn't depend on negotiated legend), and should operate directly on two Vector[uinteger]

ulugbekna commented 1 year ago

do you have in mind a real delta or a "fast" one? A fast one being "find common prefix and suffix of two vectors and don't resend those." A fast delta is utilized by rust-analyzer (and now by ocaml-lsp too)