123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148(** [(Info-goto-node "(elisp)Customization")] *)open!Coreopen!ImportmoduletypeEnum_arg=sigtypet[@@derivingcompare,enumerate,sexp_of]valdocstring:t->stringvalto_symbol:t->Symbol.tendmoduletypeEnum=sigtypettype'acustomizationincludeValueable.Swithtypet:=tvalcustomization:tcustomizationendmoduletypeCustomization=sigmoduleGroup:sigtypet[@@derivingsexp_of]includeValueable.Swithtypet:=tvalemacs:tvalecaml:t(** Define a new customization group.
[(describe-function 'defgroup)]
[(Info-goto-node "(elisp)Group Definitions")] *)valdefgroup:string->Source_code_position.t->docstring:string->parents:tlist->t(** Reference an already-existing customization group. *)valof_string:string->tvalto_string:t->stringvalto_symbol:t->Symbol.tend(** [(Info-goto-node "(elisp)Customization Types")] *)moduleType:sigtypet=|Alistoft*t|Boolean|Character|Choiceoftlist|Coding_system|Color|Consoft*t|ConstofValue.t|Directory|Existing_file|Face|File|Float|Function|Groupoft|Hook|Integer|Key_sequence|Listoftlist|Number|Optionofstring*t|Plist|Radiooftlist|Regexp|Repeatoft|Setoftlist|Sexp|String|Symbol|Tagged_stringofstring|Variable|Vectoroftlist[@@derivingsexp_of]valenum:'alist->('a->Value.t)->tendtype'at[@@derivingsexp_of]valvalue:'at->'avalset_value:'at->'a->unitvalset_value_temporarily:'at->'a->f:(unit->'b)->'bvalvar:'at->'aVar.tvalsymbol:_t->Symbol.tvalname:_t->stringvalstandard_value:'at->'a(** [(describe-function 'defcustom)]
[(Info-goto-node "(elisp)Variable Definitions")]
[on_set], if supplied, is called when the user attempts to set the customization,
either via the customization interface or via [custom-set-variables]. [on_set]
can validate the input and perform other side effects needed to keep OCaml
data structures in sync with the setting. If [on_set] raises, the customization
is not set. *)valdefcustom:?show_form:bool(** default is [false] *)->Symbol.t->Source_code_position.t->docstring:string->group:Group.t->type_:'aValue.Type.t->customization_type:Type.t->standard_value:'a->?on_set:('a->unit)->unit->'atmoduleWrap:Var.Wrapwithtype'at:='at(** [(describe-function 'customize-variable)]
[(Info-goto-node "(emacs)Specific customization")] *)valcustomize_variable:Symbol.t->unit(** [(describe-function 'customize-group)]
[(Info-goto-node "(emacs)Specific customization")] *)valcustomize_group:Group.t->unitmoduletypeEnum_arg=Enum_argvaldefcustom_enum:Symbol.t->Source_code_position.t->(moduleEnum_argwithtypet='a)->docstring:string->group:Group.t->standard_value:'a->?on_set:('a->unit)->unit->'atmodulePrivate:sigvalall_defcustom_symbols:unit->Symbol.tlistvalall_defgroups:unit->Group.tlistendend