package ecaml

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Auto_mode : sig ... end
module Name : sig ... end
type t
val sexp_of_t : t -> Sexplib0.Sexp.t
include Core.Equal.S with type t := t
val equal : t Base.Equal.equal
module Compare_by_name : sig ... end
include sig ... end
module type S_with_lazy_keymap = sig ... end
module type S = sig ... end

Accessors

val symbol : t -> Symbol.t
val name : t -> Name.t
val hook : t -> unit Ecaml__.Hook0.t Core.Or_error.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.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 wrap_existing_with_lazy_keymap : string -> Core.Source_code_position.t -> (module S_with_lazy_keymap)

wrap_existing_with_lazy_keymap is like wrap_existing, except the resulting module's keymap value has type Keymap.t Lazy.t rather than Keymap.t. This is needed if the keymap value isn't defined at the point that the major mode is wrapped.

val find_or_wrap_existing : Core.Source_code_position.t -> Symbol.t -> t

find_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.t

(describe-function 'fundamental-mode) (Info-goto-node "(elisp)Major Modes")

module Prog : S

(describe-function 'prog-mode) (Info-goto-node "(elisp)Basic Major Modes")

module Special : S

(describe-function 'special-mode) (Info-goto-node "(elisp)Basic Major Modes")

module Text : S

(describe-function 'text-mode) (Info-goto-node "(elisp)Basic Major Modes")

(describe-function 'dired-mode)

(describe-function 'tuareg-mode)

(describe-function 'makefile-mode)

module Lisp : S

(describe-function 'lisp-mode)

(describe-function 'scheme-mode)

module Emacs_lisp : S

(describe-function 'emacs-lisp-mode)

(describe-function 'asm-mode)

val define_derived_mode : ?auto_mode:Auto_mode.t -> Symbol.t -> Core.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 is_derived : t -> from:t -> bool
val major_mode_var : Symbol.t Buffer_local.t

(describe-variable 'major-mode)

module For_testing : sig ... end