support lsp 1.19 & 1.20

Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
This commit is contained in:
Sacha-Élie Ayoun 2025-01-10 15:36:19 +00:00 committed by Simon Cruanes
parent 9ff0ac5d28
commit 573565fbf5
6 changed files with 42 additions and 20 deletions

View file

@ -35,6 +35,11 @@ jobs:
#- windows-latest #- windows-latest
ocaml-compiler: ocaml-compiler:
- 5.1.x - 5.1.x
- 5.2.x
- 5.3.x
lsp-version:
- 1.19.0
- 1.20.1
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@main - uses: actions/checkout@main
@ -44,6 +49,8 @@ jobs:
dune-cache: true dune-cache: true
allow-prerelease-opam: true allow-prerelease-opam: true
- run: opam pin -n . - 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 depext -yt linol linol-lwt linol-eio
- run: opam install -t . --deps-only - run: opam install -t . --deps-only
- run: opam exec -- dune build - run: opam exec -- dune build

View file

@ -13,6 +13,7 @@
(license MIT) (license MIT)
(authors "Simon Cruanes") (authors "Simon Cruanes")
(maintainers "Simon Cruanes") (maintainers "Simon Cruanes")
(source (source
@ -29,13 +30,13 @@
(>= "0.4")) (>= "0.4"))
("lsp" ("lsp"
(and (and
(>= "1.17") (>= "1.19")
(< "1.18"))) (< "1.21")))
atomic atomic
("jsonrpc" ("jsonrpc"
(and (and
(>= "1.17") (>= "1.19")
(< "1.18"))) (< "1.21")))
("ocaml" ("ocaml"
(>= "4.14")) (>= "4.14"))
("odoc" :with-doc))) ("odoc" :with-doc)))
@ -55,12 +56,12 @@
(< "6.0"))) (< "6.0")))
("lsp" ("lsp"
(and (and
(>= "1.17") (>= "1.19")
(< "1.18"))) (< "1.21")))
("jsonrpc" ("jsonrpc"
(and (and
(>= "1.17") (>= "1.19")
(< "1.18"))) (< "1.21")))
("odoc" :with-doc))) ("odoc" :with-doc)))
(package (package
@ -80,10 +81,10 @@
(eio_main :with-test) (eio_main :with-test)
("lsp" ("lsp"
(and (and
(>= "1.17") (>= "1.19")
(< "1.18"))) (< "1.21")))
("jsonrpc" ("jsonrpc"
(and (and
(>= "1.17") (>= "1.19")
(< "1.18"))) (< "1.21")))
("odoc" :with-doc))) ("odoc" :with-doc)))

View file

@ -14,8 +14,8 @@ depends: [
"base-unix" "base-unix"
"eio" {>= "1.0" & < "2.0"} "eio" {>= "1.0" & < "2.0"}
"eio_main" {with-test} "eio_main" {with-test}
"lsp" {>= "1.17" & < "1.18"} "lsp" {>= "1.19" & < "1.21"}
"jsonrpc" {>= "1.17" & < "1.18"} "jsonrpc" {>= "1.19" & < "1.21"}
"odoc" {with-doc} "odoc" {with-doc}
] ]
build: [ build: [

View file

@ -13,8 +13,8 @@ depends: [
"linol" {= version} "linol" {= version}
"base-unix" "base-unix"
"lwt" {>= "5.1" & < "6.0"} "lwt" {>= "5.1" & < "6.0"}
"lsp" {>= "1.17" & < "1.18"} "lsp" {>= "1.19" & < "1.21"}
"jsonrpc" {>= "1.17" & < "1.18"} "jsonrpc" {>= "1.19" & < "1.21"}
"odoc" {with-doc} "odoc" {with-doc}
] ]
build: [ build: [

View file

@ -12,9 +12,9 @@ depends: [
"yojson" {>= "1.6"} "yojson" {>= "1.6"}
"logs" "logs"
"trace" {>= "0.4"} "trace" {>= "0.4"}
"lsp" {>= "1.17" & < "1.18"} "lsp" {>= "1.19" & < "1.21"}
"atomic" "atomic"
"jsonrpc" {>= "1.17" & < "1.18"} "jsonrpc" {>= "1.19" & < "1.21"}
"ocaml" {>= "4.14"} "ocaml" {>= "4.14"}
"odoc" {with-doc} "odoc" {with-doc}
] ]

View file

@ -568,7 +568,17 @@ module Make (IO : IO) = struct
| Lsp.Client_request.CallHierarchyOutgoingCalls _ | Lsp.Client_request.CallHierarchyOutgoingCalls _
| Lsp.Client_request.WillCreateFiles _ | Lsp.Client_request.WillCreateFiles _
| Lsp.Client_request.WillDeleteFiles _ | 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 = let notify_back =
new notify_back new notify_back
~workDoneToken:None ~partialResultToken:None ~notify_back ~workDoneToken:None ~partialResultToken:None ~notify_back
@ -754,7 +764,11 @@ module Make (IO : IO) = struct
| Lsp.Client_notification.DidCreateFiles _ | Lsp.Client_notification.DidCreateFiles _
| Lsp.Client_notification.DidDeleteFiles _ | Lsp.Client_notification.DidDeleteFiles _
| Lsp.Client_notification.WorkDoneProgress _ | 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 = let notify_back =
new notify_back new notify_back
~workDoneToken:None ~partialResultToken:None ~notify_back ~workDoneToken:None ~partialResultToken:None ~notify_back