package ecaml
Module Ecaml.Major_mode
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.tinclude Core_kernel.Equal.S with type t := t
val equal : t Base.Equal.equalmodule Name : sig ... endval hook : t -> unit Ecaml__.Hook0.tval syntax_table : t -> Syntax_table.tmodule type S = sig ... endval wrap_existing : string -> Core_kernel.Source_code_position.t -> (module S)wrap_existing mode_name wraps the existing Emacs major mode named mode_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 -> tfind_or_wrap_existing looks up the major mode associated with this symbol by a previous call to wrap_existing or creates one with the Undistinguished name.
val change_to : t -> in_:Buffer.t -> unit Async_kernel.Deferred.tmodule 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 in define_keys is added to the new major mode's keymap.
val major_mode_var : Symbol.t Buffer_local.t(describe-variable 'major-mode)
module For_testing : sig ... end