From 3d50f4638b739aec62afe897f510c10b6d9b34f2 Mon Sep 17 00:00:00 2001 From: sam-tombury Date: Mon, 23 Jun 2025 15:43:09 +0100 Subject: [PATCH 1/4] fix: enable merlin_diagnostics by default --- ocaml-lsp-server/src/config_data.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ocaml-lsp-server/src/config_data.ml b/ocaml-lsp-server/src/config_data.ml index f034f27f2..824f9f2e1 100644 --- a/ocaml-lsp-server/src/config_data.ml +++ b/ocaml-lsp-server/src/config_data.ml @@ -68,7 +68,7 @@ let default = ; hint_let_syntax_ppx = false } ; syntax_documentation = Some { enable = false } - ; merlin_diagnostics = Some { enable = false } + ; merlin_diagnostics = Some { enable = true } ; shorten_merlin_diagnostics = Some { enable = false } ; ppx_css_colors = Some { enable = true } } From ef82842aee4bf29b3bdda951b8f5580a2d5e4813 Mon Sep 17 00:00:00 2001 From: sam-tombury Date: Mon, 23 Jun 2025 15:59:54 +0100 Subject: [PATCH 2/4] fix: update merlin-lib constraint to new +ox suffix --- dune-project | 2 +- ocaml-lsp-server.opam | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dune-project b/dune-project index 28e84208f..654cacc22 100644 --- a/dune-project +++ b/dune-project @@ -72,7 +72,7 @@ possible and does not make any assumptions about IO. (ocamlformat-rpc-lib (>= 0.21.0)) (odoc :with-doc) (odoc-parser (= 2.0.0)) - (merlin-lib (= "5.2.1-502+jst")) + (merlin-lib (= "5.2.1-502+ox")) ppx_yojson_conv core_unix async diff --git a/ocaml-lsp-server.opam b/ocaml-lsp-server.opam index 5e3883998..3c8578e6f 100644 --- a/ocaml-lsp-server.opam +++ b/ocaml-lsp-server.opam @@ -47,7 +47,7 @@ depends: [ "ocamlformat-rpc-lib" {>= "0.21.0"} "odoc" {with-doc} "odoc-parser" {= "2.0.0"} - "merlin-lib" {= "5.2.1-502+jst"} + "merlin-lib" {= "5.2.1-502+ox"} "ppx_yojson_conv" "core_unix" "async" From da2060969bff3b00a930ad79f57e346e24ad042c Mon Sep 17 00:00:00 2001 From: sam-tombury Date: Mon, 23 Jun 2025 16:39:12 +0100 Subject: [PATCH 3/4] try removing Fpath.to_string --- ocaml-lsp-server/src/ocamlformat.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ocaml-lsp-server/src/ocamlformat.ml b/ocaml-lsp-server/src/ocamlformat.ml index 6ddaf37ad..ac80d768a 100644 --- a/ocaml-lsp-server/src/ocamlformat.ml +++ b/ocaml-lsp-server/src/ocamlformat.ml @@ -137,7 +137,7 @@ let formatter doc = ;; let exec cancel bin args stdin = - let refmt = Fpath.to_string bin in + let refmt = Stdune.Path.to_string bin in let+ res, cancel = run_command cancel refmt stdin args in match cancel with | Cancelled () -> From 643adeb4036be83ba9996da7041040d84ef15cdc Mon Sep 17 00:00:00 2001 From: sam-tombury Date: Mon, 23 Jun 2025 16:57:23 +0100 Subject: [PATCH 4/4] fix: try declaring that we support document formatting --- ocaml-lsp-server/src/ocaml_lsp_server.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ocaml-lsp-server/src/ocaml_lsp_server.ml b/ocaml-lsp-server/src/ocaml_lsp_server.ml index 1942936a8..254426705 100644 --- a/ocaml-lsp-server/src/ocaml_lsp_server.ml +++ b/ocaml-lsp-server/src/ocaml_lsp_server.ml @@ -140,7 +140,7 @@ let initialize_info (client_capabilities : ClientCapabilities.t) : InitializeRes ~codeLensProvider ~referencesProvider:(`Bool true) ~documentHighlightProvider:(`Bool true) - ~documentFormattingProvider:(`Bool false) + ~documentFormattingProvider:(`Bool true) ~selectionRangeProvider:(`Bool true) ~documentSymbolProvider:(`Bool true) ~workspaceSymbolProvider:(`Bool true)