From 6e9bf2c66fbd5439a3426fa67906674853b16eb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sacha-=C3=89lie=20Ayoun?= Date: Fri, 10 Jan 2025 15:36:19 +0000 Subject: [PATCH] support lsp 1.19 & 1.20 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sacha-Élie Ayoun --- .github/workflows/main.yml | 7 +++++++ dune-project | 25 +++++++++++++------------ linol-eio.opam | 4 ++-- linol-lwt.opam | 4 ++-- linol.opam | 4 ++-- src/server.ml | 18 ++++++++++++++++-- 6 files changed, 42 insertions(+), 20 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3b008e87..def9f758 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,6 +35,11 @@ jobs: #- windows-latest ocaml-compiler: - 5.1.x + - 5.2.x + - 5.3.x + lsp-version: + - 1.19.0 + - 1.20.1 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@main @@ -44,6 +49,8 @@ jobs: dune-cache: true allow-prerelease-opam: true - run: opam pin -n . + - run: opam pin add jsonrpc ${{ matrix.lsp-version }} + - run: opam pin add lsp ${{ matrix.lsp-version }} - run: opam depext -yt linol linol-lwt linol-eio - run: opam install -t . --deps-only - run: opam exec -- dune build diff --git a/dune-project b/dune-project index 38400e0b..b14945b8 100644 --- a/dune-project +++ b/dune-project @@ -13,6 +13,7 @@ (license MIT) (authors "Simon Cruanes") + (maintainers "Simon Cruanes") (source @@ -29,13 +30,13 @@ (>= "0.4")) ("lsp" (and - (>= "1.17") - (< "1.18"))) + (>= "1.19") + (< "1.21"))) atomic ("jsonrpc" (and - (>= "1.17") - (< "1.18"))) + (>= "1.19") + (< "1.21"))) ("ocaml" (>= "4.14")) ("odoc" :with-doc))) @@ -55,12 +56,12 @@ (< "6.0"))) ("lsp" (and - (>= "1.17") - (< "1.18"))) + (>= "1.19") + (< "1.21"))) ("jsonrpc" (and - (>= "1.17") - (< "1.18"))) + (>= "1.19") + (< "1.21"))) ("odoc" :with-doc))) (package @@ -80,10 +81,10 @@ (eio_main :with-test) ("lsp" (and - (>= "1.17") - (< "1.18"))) + (>= "1.19") + (< "1.21"))) ("jsonrpc" (and - (>= "1.17") - (< "1.18"))) + (>= "1.19") + (< "1.21"))) ("odoc" :with-doc))) diff --git a/linol-eio.opam b/linol-eio.opam index afbbae04..655fb4bf 100644 --- a/linol-eio.opam +++ b/linol-eio.opam @@ -14,8 +14,8 @@ depends: [ "base-unix" "eio" {>= "1.0" & < "2.0"} "eio_main" {with-test} - "lsp" {>= "1.17" & < "1.18"} - "jsonrpc" {>= "1.17" & < "1.18"} + "lsp" {>= "1.19" & < "1.21"} + "jsonrpc" {>= "1.19" & < "1.21"} "odoc" {with-doc} ] build: [ diff --git a/linol-lwt.opam b/linol-lwt.opam index 4fdf95d4..660f6083 100644 --- a/linol-lwt.opam +++ b/linol-lwt.opam @@ -13,8 +13,8 @@ depends: [ "linol" {= version} "base-unix" "lwt" {>= "5.1" & < "6.0"} - "lsp" {>= "1.17" & < "1.18"} - "jsonrpc" {>= "1.17" & < "1.18"} + "lsp" {>= "1.19" & < "1.21"} + "jsonrpc" {>= "1.19" & < "1.21"} "odoc" {with-doc} ] build: [ diff --git a/linol.opam b/linol.opam index 5937647e..49619bfc 100644 --- a/linol.opam +++ b/linol.opam @@ -12,9 +12,9 @@ depends: [ "yojson" {>= "1.6"} "logs" "trace" {>= "0.4"} - "lsp" {>= "1.17" & < "1.18"} + "lsp" {>= "1.19" & < "1.21"} "atomic" - "jsonrpc" {>= "1.17" & < "1.18"} + "jsonrpc" {>= "1.19" & < "1.21"} "ocaml" {>= "4.14"} "odoc" {with-doc} ] diff --git a/src/server.ml b/src/server.ml index fbde8947..5f23522f 100644 --- a/src/server.ml +++ b/src/server.ml @@ -568,7 +568,17 @@ module Make (IO : IO) = struct | Lsp.Client_request.CallHierarchyOutgoingCalls _ | Lsp.Client_request.WillCreateFiles _ | Lsp.Client_request.WillDeleteFiles _ - | Lsp.Client_request.WillRenameFiles _ -> + | Lsp.Client_request.WillRenameFiles _ + | Lsp.Client_request.InlayHintResolve _ + | Lsp.Client_request.TextDocumentDiagnostic _ + | Lsp.Client_request.TextDocumentInlineCompletion _ + | Lsp.Client_request.TextDocumentInlineValue _ + | Lsp.Client_request.TextDocumentPrepareTypeHierarchy _ + | Lsp.Client_request.TextDocumentRangesFormatting _ + | Lsp.Client_request.WorkspaceSymbolResolve _ + | Lsp.Client_request.WorkspaceDiagnostic _ + | Lsp.Client_request.TypeHierarchySubtypes _ + | Lsp.Client_request.TypeHierarchySupertypes _ -> let notify_back = new notify_back ~workDoneToken:None ~partialResultToken:None ~notify_back @@ -754,7 +764,11 @@ module Make (IO : IO) = struct | Lsp.Client_notification.DidCreateFiles _ | Lsp.Client_notification.DidDeleteFiles _ | Lsp.Client_notification.WorkDoneProgress _ - | Lsp.Client_notification.DidRenameFiles _ -> + | Lsp.Client_notification.DidRenameFiles _ + | Lsp.Client_notification.NotebookDocumentDidOpen _ + | Lsp.Client_notification.NotebookDocumentDidChange _ + | Lsp.Client_notification.NotebookDocumentDidClose _ + | Lsp.Client_notification.NotebookDocumentDidSave _ -> let notify_back = new notify_back ~workDoneToken:None ~partialResultToken:None ~notify_back