Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 22 additions & 5 deletions ocaml-lsp-server/src/import.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
(* All modules from [Stdune] should be in the struct below. The modules are
listed alphabetically. Try to keep the order. *)
(* The modules are listed alphabetically. Try to keep the order. *)

include struct
open Stdune
Expand Down Expand Up @@ -53,13 +52,31 @@ module List = struct
end

module Result = struct
module O = Stdune.Result.O
module O = struct
let ( let+ ) x f = Result.map f x
let ( let* ) x f = Result.bind x f
end

include Base.Result
end

module Option = struct
module O = Stdune.Option.O
module List = Stdune.Option.List
module O = struct
let ( let+ ) x f = Option.map f x
let ( let* ) x f = Option.bind x f
end

module List = struct
let all =
let rec loop acc = function
| [] -> Some (List.rev acc)
| None :: _ -> None
| Some x :: xs -> loop (x :: acc) xs
in
fun xs -> loop [] xs
;;
end

include Base.Option
end

Expand Down
Loading