1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
(**************************************************************************)
(* *)
(* OCamlFormat *)
(* *)
(* Copyright (c) Facebook, Inc. and its affiliates. *)
(* *)
(* This source code is licensed under the MIT license found in *)
(* the LICENSE file in the root directory of this source tree. *)
(* *)
(**************************************************************************)
type format_args =
{ path: string option
(** Path used for the current formatting request, this allows
ocamlformat to determine which .ocamlformat files must be
applied. *)
; config: (string * string) list option
(** Additional options used for the current formatting request. *) }
val empty_args : format_args
module Version : sig
type t = V1 | V2
val to_string : t -> string
val of_string : string -> t option
end
module Make (IO : IO.S) : sig
module type Command_S = sig
type t
val read_input : IO.ic -> t IO.t
val output : IO.oc -> t -> unit IO.t
end
(** Version used to set the protocol version *)
module Init :
Command_S with type t = [`Halt | `Unknown | `Version of string]
module V1 :
Command_S
with type t =
[ `Halt
| `Unknown
| `Error of string
| `Config of (string * string) list
| `Format of string ]
module V2 :
Command_S
with type t =
[ `Halt
| `Unknown
| `Error of string
| `Format of string * format_args ]
end
|