From 74a9fc0dc5776ab4ff85528386c5dc12c49485dd Mon Sep 17 00:00:00 2001 From: Nick Hu Date: Fri, 24 May 2024 21:30:47 +0100 Subject: [PATCH] Support textDocument/didSave notification --- src/server.ml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/server.ml b/src/server.ml index 18e89d15..aa2cc98f 100644 --- a/src/server.ml +++ b/src/server.ml @@ -531,6 +531,10 @@ module Make (IO : IO) = struct unit IO.t (** Called when the document changes. *) + method on_notif_doc_did_save ~notify_back:(_ : notify_back) + (_params : DidSaveTextDocumentParams.t ) : unit IO.t = + IO.return () + method on_unknown_notification ~notify_back:(_ : notify_back) (_n : Jsonrpc.Notification.t) : unit IO.t = IO.return () @@ -637,10 +641,20 @@ module Make (IO : IO) = struct doc c ~old_content:(Lsp.Text_document.text old_doc) ~new_content:new_st.content) + | Lsp.Client_notification.DidSaveTextDocument params -> + let notify_back = + new notify_back + ~workDoneToken:None ~partialResultToken:None ~uri:params.textDocument.uri + ~notify_back ~server_request () + in + + async self (fun () -> + self#on_notif_doc_did_save + ~notify_back:(notify_back : notify_back) + params) | Lsp.Client_notification.Exit -> status <- `ReceivedExit; IO.return () - | Lsp.Client_notification.DidSaveTextDocument _ | Lsp.Client_notification.WillSaveTextDocument _ | Lsp.Client_notification.ChangeWorkspaceFolders _ | Lsp.Client_notification.ChangeConfiguration _