Module Ecaml.Hook
A hook is a variable where you can store a function or functions to be called on a particular occasion by an existing program. Emacs provides hooks for the sake of customization.
Hooks installed through Ecaml are wrapped in an exception handler that prints the error to the *Messages*
buffer and exits the function normally.
(Info-goto-node "(elisp)Hooks")
type 'a t
= 'a Ecaml__.Hook0.t
val sexp_of_t : ('a -> Ppx_sexp_conv_lib.Sexp.t) -> 'a t -> Ppx_sexp_conv_lib.Sexp.t
type file
= Ecaml__.Hook0.file
=
{
file : string;
}
val sexp_of_file : file -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_normal : normal -> Ppx_sexp_conv_lib.Sexp.t
type window
= Ecaml__.Hook0.window
=
{
window : Window.t;
start : Position.t;
}
val sexp_of_window : window -> Ppx_sexp_conv_lib.Sexp.t
module Hook_type : sig ... end
val create : Symbol.t -> hook_type:'a Hook_type.t -> 'a t
val var : _ t -> Ecaml__.Import.Function.t list Var.t
module Where : sig ... end
module Function : sig ... end
val add : ?buffer_local:bool -> ?one_shot:bool -> ?where:Where.t -> 'a t -> 'a Function.t -> unit
(describe-function 'add-hook)
(Info-goto-node "(elisp)Setting Hooks")
If
one_shot
istrue
, the hook will be removed after the first time it runs.
val remove : ?buffer_local:bool -> 'a t -> 'a Function.t -> unit
(describe-function 'remove-hook)
(Info-goto-node "(elisp)Setting Hooks")
val clear : _ t -> unit
val run : normal t -> unit Async_kernel.Deferred.t
(describe-function 'run-hooks)
(Info-goto-node "(elisp)Running Hooks")
val after_load : file t
(describe-variable 'after-load-functions)
(Info-goto-node "(elisp)Hooks for Loading")
val after_revert : normal t
(describe-variable 'after-revert-hook)
(Info-goto-node "(elisp)Reverting")
val after_save : normal t
(describe-variable 'after-save-hook)
(Info-goto-node "(elisp)Saving Buffers")
val before_save : normal t
(describe-variable 'before-save-hook)
(Info-goto-node "(elisp)Saving Buffers")
val emacs_startup : normal t
(describe-variable 'emacs-startup-hook)
Use this instead of
(describe-variable 'after-init-hook)
, since the latter occurs before command-line arguments are handled (and therefore before the OCaml runtime is initialized).
val kill_buffer : normal t
(describe-variable 'kill-buffer-hook)
(Info-goto-node "(elisp)Killing Buffers")
val post_command : normal t
(describe-variable 'post-command-hook)
(Info-goto-node "(elisp)Command Overview")
val window_configuration_change : normal t
(describe-variable 'window-configuration-change-hook)
(Info-goto-node "(elisp)Window Hooks")
val window_scroll_functions : window t
(describe-variable 'window-scroll-functions)
(Info-goto-node "(elisp)Window Hooks")
val major_mode_hook : Major_mode.t -> normal t
(Info-goto-node "(elisp)Major Mode Conventions")