diff options
Diffstat (limited to 'bin')
| -rw-r--r-- | bin/dune | 1 | ||||
| -rw-r--r-- | bin/lsp_server.ml | 7 |
2 files changed, 5 insertions, 3 deletions
@@ -4,6 +4,7 @@ (libraries sedlex linol + eio linol-eio eio_main qsp_syntax diff --git a/bin/lsp_server.ml b/bin/lsp_server.ml index 62e6105..e59ef12 100644 --- a/bin/lsp_server.ml +++ b/bin/lsp_server.ml @@ -52,7 +52,7 @@ let diagnostics (state : state_after_processing) : Lsp.Types.Diagnostic.t list = so that users only need to override methods that they want the server to actually meaningfully interpret and respond to. *) -class lsp_server = +class lsp_server ~(sw : Eio.Switch.t) = object (self) inherit Linol_eio.Jsonrpc2.server @@ -60,7 +60,7 @@ class lsp_server = val buffers : (Lsp.Types.DocumentUri.t, state_after_processing) Hashtbl.t = Hashtbl.create 32 - method spawn_query_handler f = Linol_eio.spawn f + method spawn_query_handler f = Linol_eio.spawn ~sw f (* We define here a helper method that will: - process a document @@ -106,7 +106,8 @@ let run () = Qsp_checks.Dynamics.active := true; Eio_main.run @@ fun env -> - let s = new lsp_server in + Eio.Switch.run @@ fun sw -> + let s = new lsp_server ~sw in let server = Linol_eio.Jsonrpc2.create_stdio ~env s in let task () = let shutdown () = s#get_status = `ReceivedExit in |
