diff --git a/crates/stef-lsp/src/main.rs b/crates/stef-lsp/src/main.rs index 74d8a06..ae2adf8 100644 --- a/crates/stef-lsp/src/main.rs +++ b/crates/stef-lsp/src/main.rs @@ -11,8 +11,8 @@ use tower_lsp::{ jsonrpc::Result, lsp_types::{ ConfigurationItem, Diagnostic, DidChangeConfigurationParams, DidChangeTextDocumentParams, - DidOpenTextDocumentParams, InitializeParams, InitializeResult, InitializedParams, - MessageType, Registration, SemanticTokenModifier, SemanticTokenType, + DidCloseTextDocumentParams, DidOpenTextDocumentParams, InitializeParams, InitializeResult, + InitializedParams, MessageType, Registration, SemanticTokenModifier, SemanticTokenType, SemanticTokensFullOptions, SemanticTokensLegend, SemanticTokensOptions, SemanticTokensParams, SemanticTokensResult, SemanticTokensServerCapabilities, ServerCapabilities, ServerInfo, TextDocumentSyncCapability, TextDocumentSyncKind, Url, @@ -207,6 +207,11 @@ impl LanguageServer for Backend { .insert(params.text_document.uri, file); } + async fn did_close(&self, params: DidCloseTextDocumentParams) { + debug!(uri = %params.text_document.uri, "schema closed"); + self.files.lock().await.remove(¶ms.text_document.uri); + } + async fn semantic_tokens_full( &self, params: SemanticTokensParams,