aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorChimrod <>2026-06-24 08:33:41 +0200
committerChimrod <>2026-06-24 08:33:41 +0200
commitf805783c2fe7f4dd3f970d48ae122df4dd79da23 (patch)
tree7578feba2d79056b383ade16479e15f596aa75e4 /bin
parent19ff439d0c8c59ec65f156b58dd237bef2492e80 (diff)
Updated the lsp server for the latest version of linolHEADmaster
Diffstat (limited to 'bin')
-rw-r--r--bin/dune1
-rw-r--r--bin/lsp_server.ml7
2 files changed, 5 insertions, 3 deletions
diff --git a/bin/dune b/bin/dune
index e927617..7e76096 100644
--- a/bin/dune
+++ b/bin/dune
@@ -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