sig
type raw_line = { content : string; before : string; after : string; }
type t = Pervasives.in_channel -> Reader.raw_line
val raw_of_string :
?before:string -> ?after:string -> string -> Reader.raw_line
val make :
[ `Buf of eof:bool -> Buffer.t -> Reader.raw_line option
| `Char of char
| `Fixed of int * int
| `Set of string ] -> Reader.t
val lines : Reader.t
val ignore_if : (string -> bool) -> Reader.t -> Reader.t
val join_on : char -> Reader.t -> Reader.t
val empty : string -> bool
val blank : string -> bool
val starts_with : string -> string -> bool
val ends_with : string -> string -> bool
val contains : ?regexp:bool -> string -> string -> bool
end