Module IndentConfig
type threechoices
=
|
Always
|
Never
|
Auto
type t
=
{
i_base : int;
indentation values
i_type : int;
i_in : int;
i_with : int;
i_match_clause : int;
i_ppx_stritem_ext : int;
i_max_indent : int option;
indentation toggles
i_strict_with : threechoices;
i_strict_else : threechoices;
i_strict_comments : bool;
i_align_ops : bool;
i_align_params : threechoices;
}
See the
man
function to get the details of what the options are supposed to do (or the template .ocp-indent)
type man_block
=[
|
`S of string
|
`P of string
|
`Pre of string
|
`I of string * string
|
`Noblank
|
`Blocks of man_block list
]
val man : man_block list
val default : t
val update_from_string : ?extra:(string -> (string -> unit) option) -> t -> string -> t
String format is
"option=value,option2=value,..."
. Commas can be replaced by newlines. Use?extra
to handle extra options (by side-effects only)
val to_string : ?sep:string -> t -> string
sep should be comma or newline if you want to reparse. Comma by default
val load : ?indent:t -> string -> t * string list * [ `Mod of string | `Pkg of string ] list
Load from the given filename, optionally updating from the given indent instead of the default one. On error, returns the original indent config unchanged and prints a message to stderr. The file may also contain bindings of the form 'syntax=SYNTAX_EXTENSION
,...
', that are returned as a the list of their names
val save : t -> string -> bool
Save the given indent config to the given filename; returns true on success
val find_conf_file : string -> string option
Looks in given and parent directories for a
.ocp-indent
configuration file
val local_default : ?path:string -> unit -> t * string list * [ `Mod of string | `Pkg of string ] list
Returns the local default configuration, obtained from (in order), the built-in
default
, the file~/.ocp/ocp-indent.conf
, a file.ocp-indent
in the current directory or any parent, and the environment variableOCP_INDENT_CONFIG
. Returns the list of syntax extensions that may have been activated in conf-files as well