Module Ecaml.Major_mode
include Ecaml__.Major_mode_intf.Major_mode
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
module Name : sig ... end
val name : t -> Name.t
val hook : t -> Ecaml__.Major_mode_intf.Hook.normal Ecaml__.Major_mode_intf.Hook.t
val keymap : t -> Keymap.t
val keymap_var : t -> Keymap.t Var.t
val syntax_table : t -> Syntax_table.t
val wrap_existing : string -> Core_kernel.Source_code_position.t -> (module S)
wrap_existing mode_name
wraps the existing Emacs major mode namedmode_name
, and stores it in the table of all major modes indexed by symbol.wrap_existing
raises if a major mode associated with this symbol was already wrapped.
val find_or_wrap_existing : Core_kernel.Source_code_position.t -> Symbol.t -> t
find_or_wrap_existing
looks up the major mode associated with this symbol by a previous call towrap_existing
or creates one with theUndistinguished
name.
val change_to : t -> in_:Ecaml__.Import.Buffer.t -> unit Async_kernel.Deferred.t
module Fundamental : S
(describe-function 'fundamental-mode)
(Info-goto-node "(elisp)Major Modes")
module Emacs_lisp : S
(describe-function 'emacs-lisp-mode)
val define_derived_mode : Symbol.t -> Core_kernel.Source_code_position.t -> docstring:string -> ?define_keys:(string * Symbol.t) list -> mode_line:string -> ?parent:t -> ?initialize:((unit, 'a) Defun.Returns.t * (unit -> 'a)) -> unit -> (module S)
(describe-function 'define-derived-mode)
(Info-goto-node "(elisp)Derived Modes")
Additionally, each
key_sequence, symbol
indefine_keys
is added to the new major mode's keymap.
val is_derived : t -> from:t -> bool
val major_mode_var : Symbol.t Buffer_local.t
(describe-variable 'major-mode)
module For_testing : sig ... end