@@ -10,6 +10,7 @@ type t =
1010 | Opam_publish
1111 | Dune_release
1212 | Ocaml_index
13+ | Merlin
1314
1415let to_dyn = function
1516 | Ocamlformat -> Dyn. variant " Ocamlformat" []
@@ -21,6 +22,7 @@ let to_dyn = function
2122 | Opam_publish -> Dyn. variant " Opam_publish" []
2223 | Dune_release -> Dyn. variant " Dune_release" []
2324 | Ocaml_index -> Dyn. variant " Ocaml_index" []
25+ | Merlin -> Dyn. variant " Merlin" []
2426;;
2527
2628let all =
@@ -33,6 +35,7 @@ let all =
3335 ; Opam_publish
3436 ; Dune_release
3537 ; Ocaml_index
38+ ; Merlin
3639 ]
3740;;
3841
@@ -57,6 +60,8 @@ let equal a b =
5760 | Dune_release , _ -> false
5861 | _ , Dune_release -> false
5962 | Ocaml_index , Ocaml_index -> true
63+ | Ocaml_index , _ | _ , Ocaml_index -> false
64+ | Merlin , Merlin -> true
6065;;
6166
6267let hash = Poly. hash
@@ -71,6 +76,7 @@ let package_name = function
7176 | Opam_publish -> Package_name. of_string " opam-publish"
7277 | Dune_release -> Package_name. of_string " dune-release"
7378 | Ocaml_index -> Package_name. of_string " ocaml-index"
79+ | Merlin -> Package_name. of_string " merlin"
7480;;
7581
7682let of_package_name package_name =
@@ -84,6 +90,7 @@ let of_package_name package_name =
8490 | "opam-publish" -> Opam_publish
8591 | "dune-release" -> Dune_release
8692 | "ocaml-index" -> Ocaml_index
93+ | "merlin" -> Merlin
8794 | other -> User_error. raise [ Pp. textf " No such dev tool: %s" other ]
8895;;
8996
@@ -97,6 +104,7 @@ let exe_name = function
97104 | Opam_publish -> " opam-publish"
98105 | Dune_release -> " dune-release"
99106 | Ocaml_index -> " ocaml-index"
107+ | Merlin -> " ocamlmerlin"
100108;;
101109
102110let exe_path_components_within_package t = [ " bin" ; exe_name t ]
@@ -110,5 +118,5 @@ let needs_to_build_with_same_compiler_as_project = function
110118 false
111119 | Opam_publish -> false
112120 | Dune_release -> false
113- | Utop | Odoc | Ocamllsp | Ocaml_index | Odig -> true
121+ | Utop | Odoc | Ocamllsp | Ocaml_index | Odig | Merlin -> true
114122;;
0 commit comments