`sig
type comment
val comment_ml : OASISFileTemplate.comment
val comment_sh : OASISFileTemplate.comment
val comment_makefile : OASISFileTemplate.comment
val comment_ocamlbuild : OASISFileTemplate.comment
val comment_bat : OASISFileTemplate.comment
val comment_meta : OASISFileTemplate.comment
val comment_markdown : OASISFileTemplate.comment
type line = string
type body =
NoBody
| Body of OASISFileTemplate.line list
| BodyWithDigest of Stdlib.Digest.t * OASISFileTemplate.line list
type template = {
fn : OASISUnixPath.host_filename;
comment : OASISFileTemplate.comment;
header : OASISFileTemplate.line list;
body : OASISFileTemplate.body;
footer : OASISFileTemplate.line list;
perm : int;
important : bool;
disable_oasis_section : bool;
}
val template_make :
OASISUnixPath.host_filename ->
OASISFileTemplate.comment ->
OASISFileTemplate.line list ->
OASISFileTemplate.line list ->
OASISFileTemplate.line list -> OASISFileTemplate.template
val template_of_string_list :
ctxt:OASISContext.t ->
template:bool ->
?disable_oasis_section:bool ->
OASISUnixPath.host_filename ->
OASISFileTemplate.comment ->
OASISFileTemplate.line list -> OASISFileTemplate.template
val template_of_mlfile :
OASISUnixPath.host_filename ->
OASISFileTemplate.line list ->
OASISFileTemplate.line list ->
OASISFileTemplate.line list -> OASISFileTemplate.template
val to_string_list :
OASISFileTemplate.template -> OASISFileTemplate.line list
type file_generate_change =
Create of OASISUnixPath.host_filename
| Change of OASISUnixPath.host_filename *
OASISUnixPath.host_filename option
| NoChange
val file_rollback :
ctxt:OASISContext.t -> OASISFileTemplate.file_generate_change -> unit
val file_generate :
ctxt:OASISContext.t ->
?remove:bool ->
backup:bool ->
OASISFileTemplate.template -> OASISFileTemplate.file_generate_change
exception AlreadyExists of OASISUnixPath.host_filename
type templates
val create :
disable_oasis_section:OASISUnixPath.unix_filename list ->
unit -> OASISFileTemplate.templates
val find :
OASISUnixPath.host_filename ->
OASISFileTemplate.templates -> OASISFileTemplate.template
val add :
OASISFileTemplate.template ->
OASISFileTemplate.templates -> OASISFileTemplate.templates
val remove :
OASISUnixPath.host_filename ->
OASISFileTemplate.templates -> OASISFileTemplate.templates
val replace :
OASISFileTemplate.template ->
OASISFileTemplate.templates -> OASISFileTemplate.templates
val fold :
(OASISFileTemplate.template -> 'b -> 'b) ->
OASISFileTemplate.templates -> 'b -> 'b
end`