package ecaml

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Group : sig ... end
module Type : sig ... end

(Info-goto-node "(elisp)Customization Types")

type 'a t
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t
val value : 'a t -> 'a
val set_value : 'a t -> 'a -> unit
val set_value_temporarily : 'a t -> 'a -> f:(unit -> 'b) -> 'b
val var : 'a t -> 'a Var.t
val symbol : _ t -> Symbol.t
val name : _ t -> string
val standard_value : 'a t -> 'a
val defcustom : ?show_form:bool -> Symbol.t -> Core.Source_code_position.t -> docstring:string -> group:Group.t -> type_:'a Ecaml_value.Value.Type.t -> customization_type:Type.t -> standard_value:'a -> ?on_set:('a -> unit) -> unit -> 'a t

(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.

module Wrap : Var.Wrap with type 'a t := 'a t
val customize_variable : Symbol.t -> unit

(describe-function 'customize-variable) (Info-goto-node "(emacs)Specific customization")

val customize_group : Group.t -> unit

(describe-function 'customize-group) (Info-goto-node "(emacs)Specific customization")

module type Enum_arg = sig ... end
val defcustom_enum : Symbol.t -> Core.Source_code_position.t -> (module Enum_arg with type t = 'a) -> docstring:string -> group:Group.t -> standard_value:'a -> ?on_set:('a -> unit) -> unit -> 'a t
module Private : sig ... end