Module Ecaml
module Abbrev : sig ... endAbbrevs are words which expand into other text when typed in.
module Advice : sig ... endThe "advice" feature lets you add to the existing definition of a function, by wrapping around the original function a "piece of advice".
module Ansi_color : sig ... endAnsi_colortranslates ANSI escape sequences to Emacs faces, like(find-library "ansi-color").Ansi_coloris significantly faster thanansi-color, especially on larger inputs.
module Async_ecaml : sig ... endmodule Auto_mode_alist : sig ... end(describe-variable 'auto-mode-alist)(Info-goto-node "(elisp)Auto Major Mode")
module Background : sig ... endA background job is an Async job that the emacs UI is not blocking on. These jobs are special -- they can only interact with the UI in limited ways to avoid interfering with blocking jobs, or with the user. For example, background jobs may not change the current buffer.
module Backup : sig ... end(Info-goto-node "(elisp)Backup Files")
module Bookmark : sig ... endmodule Browse_url : sig ... endPass a URL to a WWW browser. Ecaml bindings for
browse-url.el
module Buffer : sig ... endBuffers are used to hold the contents of files that are being visited; there may also be buffers that are not visiting files.
module Buffer_local : sig ... endmodule Caml_embed = Ecaml_value.Caml_embedmodule Char_code : sig ... endA character code is an integer representing a character. Emacs character codes are a superset of the Unicode standard.
module Clipboard : sig ... endFor dealing with the GUI's clipboard.
module Color : sig ... endA color name specifies a color.
module Command : sig ... end(Info-goto-node "(elisp)Command Loop")
module Comment : sig ... end(Info-goto-node "(emacs)Comments")
module Compilation : sig ... end(Info-goto-node "(elisp)Compilation")
module Completing : sig ... endPrompts for input, with completion from a static collection of suggestions.
module Current_buffer : sig ... endThere are, in general, many buffers in an Emacs session. At any time, one of them is designated as the "current buffer". This is the buffer in which most editing takes place, because most of the primitives for examining or changing text in a buffer operate implicitly on the current buffer. Normally the buffer that is displayed on the screen in the selected window is the current buffer, but this is not always so: a program can temporarily designate any buffer as current in order to operate on its contents, without changing what is displayed on the screen.
module Customization : sig ... endmodule Debugger : sig ... end(Info-goto-node "(elisp)Debugger")
module Defconst : sig ... endDefine constants. (N.B. Elisp constants are mutable. Read the docs.)
module Defun : sig ... endmodule Defvar : sig ... endmodule Directory : sig ... endmodule Display : sig ... end(Info-goto-node "(elisp)Display")
module Display_property : sig ... endmodule Documentation : sig ... end(Info-goto-node "(elisp)Documentation")
module Ecaml_profile : sig ... endmodule Echo_area : sig ... endThe "echo area" is used for displaying error messages for messages made with the `message' primitive, and for echoing keystrokes. It is not the same as the minibuffer, despite the fact that the minibuffer appears (when active) in the same place on the screen as the echo area.
module Ediff : sig ... endSide-by-side diffing of files or buffers.
module Elisp_gc : sig ... end(Info-goto-node "(elisp)Garbage Collection")
module Elisp_time : sig ... endElisp's analog of
Core.Time_ns, but with picosecond precision and a wider range of allowed times.
module Emacs_backtrace : sig ... endView the current emacs stack.
module Emacs_version : sig ... endEmacs_versionprovides information about the version and build info of the running instance of Emacs.
module Eval : sig ... endmodule Evil : sig ... endFunctions for interacting with evil-mode
module Expect_test_config = Async_ecaml.Expect_test_configmodule Face : sig ... endA "face" is a collection of graphical attributes for displaying text: font family, foreground color, background color, optional underlining, and so on. Faces control how buffer text is displayed, and how some parts of the frame, such as the mode-line, are displayed.
module Feature : sig ... endA feature name is a symbol that stands for a collection of functions, variables, etc. The file that defines them should "provide" the feature. Another program that uses them may ensure they are defined by "requiring" the feature. This loads the file of definitions if it hasn't been loaded already.
module File : sig ... endFileis for functions that operate on files on the filesystem.
module Filename : sig ... endThe name of a file. Functions in this module work directly on names, but do not read from or write to the filesystem.
module Find_function : sig ... endFor jumping from an Elisp function name to the code that defines it, even when that code is Ecaml.
module Form = Ecaml_value.Formmodule Frame : sig ... endA "frame" is a screen object that contains one or more Emacs windows. It is the kind of object called a "window" in the terminology of graphical environments; but we can't call it a "window" here, because Emacs uses that word in a different way.
module Funcall = Ecaml_value.Funcallmodule Function = Ecaml_value.Functionmodule Grep : sig ... endJust as you can run a compiler from Emacs and then visit the lines with compilation errors, you can also run ‘grep’ and then visit the lines on which matches were found. This works by treating the matches reported by ‘grep’ as if they were errors.
module Hash_table : sig ... end(Info-goto-node "(elisp)Hash Tables")
module Help : sig ... endEmacs "online" help.
module Hook : sig ... endA 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.
module Input_event : sig ... end(Info-goto-node "(elisp)Input Events")
module Key_sequence : sig ... endA key sequence is a sequence of one or more input events that form a unit. Input events include characters, function keys, and mouse actions.
module Keymap : sig ... endThe command bindings of input events are recorded in data structures called keymaps. Each entry in a keymap associates (or "binds") an individual event type, either to another keymap or to a command. When an event type is bound to a keymap, that keymap is used to look up the next input event; this continues until a command is found. The whole process is called "key lookup".
module Kill_ring : sig ... end(Info-goto-node "(elisp)The Kill Ring")
module Line_and_column : sig ... endmodule Load : sig ... endLoading a file of Lisp code means bringing its contents into the Lisp environment in the form of Lisp objects. Emacs finds and opens the file, reads the text, evaluates each form, and then closes the file.
module Load_history : sig ... endload-historyis an Emacs alist that associates the names of loaded library files with the names of the functions and variables they defined, as well as the features they provided or required. This is used byfind-function,find-variable, and in*Help*buffers to jump from a symbol to its definition.
module Major_mode : sig ... endmodule Marker : sig ... endA
Marker.tspecifies a position in a buffer relative to the surrounding text. A marker changes its offset from the beginning of the buffer automatically whenever text is inserted or deleted, so that it stays with the two characters on either side of it.
module Minibuffer : sig ... endA minibuffer is a special buffer that Emacs commands use to read arguments more complicated than the single numeric prefix argument. These arguments include file names, buffer names, and command names (as in
M-x). The minibuffer is displayed on the bottom line of the frame, in the same place as the echo area, but only while it is in use for reading an argument.
module Minor_mode : sig ... endA minor mode provides optional features that users may enable or disable independently of the choice of major mode. Minor modes can be enabled individually or in combination.
module Mode_line : sig ... endmodule Modified_tick : sig ... endA
Modified_tick.tis an integer value of one of the two modification counters that Emacs maintains for each buffer:
module Obarray : sig ... endAn obarray is a hash table mapping strings to
Symbol.ts.Symbol.internandForm.readuse an obarray.
module Obsolete : sig ... end(Info-goto-node "(elisp)Obsolete Functions")
module Ocaml_or_elisp_value : sig ... endmodule Org_table : sig ... end(Info-goto-node "(org)Orgtbl mode")
module Overlay : sig ... endOverlays modify the appearance of a buffer's text, for presentation's sake.
module Plist : sig ... endA property list (“plist” for short) is a list of paired elements. Each of the pairs associates a property name (usually a symbol) with a property or value.
module Point : sig ... end"Point" is a special buffer position used by many editing commands. Like other positions, point designates a place between two characters (or before the first character, or after the last character), rather than a particular character. The value of point is a number no less than 1, and no greater than the buffer size plus 1.
module Position : sig ... endA "position" is the index of a character in the text of a buffer. More precisely, a position identifies the place between two characters (or before the first character, or after the last character), so we can speak of the character before or after a given position. However, we often speak of the character "at" a position, meaning the character after that position.
module Print : sig ... end(Info-goto-node "(elisp)Read and Print")
module Process : sig ... endProcessis used to create "subprocesses" or "child processes" of the Emacs process, which is their "parent process". A subprocess of Emacs may be "synchronous" or "asynchronous", depending on how it is created. When you create a synchronous subprocess, the program waits for the subprocess to terminate before continuing execution. When you create an asynchronous subprocess, it can run in parallel with Emacs. This kind of subprocess is represented within Emacs by aProcess.t. Programs can use this object to communicate with the subprocess or to control it. For example, you can send signals, obtain status information, receive output from the process, or send input to it.
module Regexp : sig ... endA "regular expression", or "regexp" for short, is a pattern that denotes a (possibly infinite) set of strings.
module Rx : sig ... endmodule Selected_window : sig ... endThe selected window is the one that you edit in. When a window is selected, the buffer in the window becomes the current buffer, and the cursor will appear in it.
module Symbol : sig ... endAn Emacs symbol, i.e., an Emacs value that satisfies
Value.is_symbol.
module Sync_or_async : sig ... endmodule Syntax_table : sig ... endA syntax table specifies the syntactic textual function of each character. This information is used by the parsing functions, the complex movement commands, and others to determine where words, symbols, and other syntactic constructs begin and end.
module System : sig ... end(Info-goto-node "(elisp)System Environment")
module Tabulated_list : sig ... endTabulated lists display table data, one line per record and one column per field.
module Terminal : sig ... endA terminal is a device capable of displaying one or more Emacs frames.
module Text : sig ... endEmacs text, which is a sequence of characters, along with text properties associated with each character.
module Thing_at_point : sig ... endSupport for detecting something at point---a filename, URL, what-have-you.
module Timer : sig ... endYou can set up a timer to call a function at a specified future time or after a certain length of idleness.
module User : sig ... endmodule Value = Ecaml_value.Valuemodule Valueable = Ecaml_value.Valueablemodule Var : sig ... endAn
'a Var.tis a symbol that holds values of type'a, embedded in Elisp'sValue.tvia an'a Type.t.
module Variable_watcher : sig ... endA variable watcher provides a way to run a function when the value of a variable is changed.
module Vector : sig ... endA
Vector.tis a general-purpose array whose elements areValue.t's.
module Window : sig ... endA "window" in Emacs is the physical area of the screen in which a buffer is displayed.
module Working_directory : sig ... endmodule Q : sig ... endQis short for Emacsquote.Qdefines constant symbols.
include Async_ecaml.Export
module Clock = Async_ecaml.Export.Clockmodule Async_process = Async.ProcessAsync.Processis shadowed byEcaml.Process, so we make it available asAsync_process.
module Async = AsyncThis lets us reliably shadow Async values in
Import.
module Async_kernel = Async_kernelval don't_wait_for : unit Async.Deferred.t -> unit
include Composition_infix
val concat : ?sep:string -> string list -> stringval defalias : Symbol.t -> Core_kernel.Source_code_position.t -> ?docstring:string -> alias_of:Symbol.t -> unit -> unitval defconst : Symbol.t -> Core_kernel.Source_code_position.t -> docstring:string -> type_:'a Ecaml__.Import.Value.Type.t -> value:'a -> 'a Var.tval defconst_i : Symbol.t -> Core_kernel.Source_code_position.t -> docstring:string -> type_:'a Ecaml__.Import.Value.Type.t -> value:'a -> unitval defcustom : ?show_form:bool -> Symbol.t -> Core_kernel.Source_code_position.t -> docstring:string -> group:Customization.Group.t -> type_:'a Ecaml__.Import.Value.Type.t -> customization_type:Customization.Type.t -> standard_value:'a -> ?on_set:('a -> unit) -> unit -> 'a Customization.tval defgroup : string -> Core_kernel.Source_code_position.t -> docstring:string -> parents:Customization.Group.t list -> Customization.Group.tval define_derived_mode : Symbol.t -> Core_kernel.Source_code_position.t -> docstring:string -> ?define_keys:(string * Symbol.t) list -> mode_line:string -> ?parent:Major_mode.t -> ?initialize:((unit, 'a) Defun.Returns.t * (unit -> 'a)) -> unit -> (module Major_mode.S)val define_minor_mode : Symbol.t -> Core_kernel.Source_code_position.t -> docstring:string -> ?define_keys:(string * Symbol.t) list -> mode_line:string -> global:bool -> ?initialize:(unit -> unit) -> unit -> Minor_mode.tval defun : Symbol.t -> Core_kernel.Source_code_position.t -> ?docstring:string -> ?define_keys:(Keymap.t * string) list -> ?obsoletes:Symbol.t -> ?should_profile:bool -> ?interactive:Defun.Interactive.t -> ?evil_config:Evil.Config.t -> ('a, 'b) Defun.Returns.t -> 'b Defun.t -> unitval defun_nullary : Symbol.t -> Core_kernel.Source_code_position.t -> ?docstring:string -> ?define_keys:(Keymap.t * string) list -> ?obsoletes:Symbol.t -> ?should_profile:bool -> ?interactive:Defun.Interactive.t -> ?evil_config:Evil.Config.t -> ('a, 'b) Defun.Returns.t -> (unit -> 'b) -> unitval defun_nullary_nil : Symbol.t -> Core_kernel.Source_code_position.t -> ?docstring:string -> ?define_keys:(Keymap.t * string) list -> ?obsoletes:Symbol.t -> ?should_profile:bool -> ?interactive:Defun.Interactive.t -> ?evil_config:Evil.Config.t -> (unit -> unit) -> unitval defvar : Symbol.t -> Core_kernel.Source_code_position.t -> docstring:string -> type_:'a Ecaml__.Import.Value.Type.t -> initial_value:'a -> ?include_in_all_defvar_symbols:bool -> unit -> 'a Var.tval defvaralias : Symbol.t -> Core_kernel.Source_code_position.t -> ?docstring:string -> alias_of:Symbol.t -> unit -> unitval inhibit_messages : ('a, 'b) Sync_or_async.t -> (unit -> 'b) -> 'bval lambda : Core_kernel.Source_code_position.t -> ?docstring:string -> ?interactive:Defun.Interactive.t -> ('a, 'b) Defun.Returns.t -> 'b Defun.t -> Ecaml__.Import.Function.tval lambda_nullary : Core_kernel.Source_code_position.t -> ?docstring:string -> ?interactive:Defun.Interactive.t -> ('a, 'b) Defun.Returns.t -> (unit -> 'b) -> Ecaml__.Import.Function.tval lambda_nullary_nil : Core_kernel.Source_code_position.t -> ?docstring:string -> ?interactive:Defun.Interactive.t -> (unit -> unit) -> Ecaml__.Import.Function.tval message : ?echo:bool -> string -> unitval messagef : ?echo:bool -> ('a, unit, string, unit) Core_kernel.format4 -> 'aval message_s : ?echo:bool -> Core_kernel.Sexp.t -> unitval message_text : ?echo:bool -> Text.t -> unitval print_s : ?hide_positions:Base.bool -> Base.Sexp.t -> Base.unitval raise_string : Core_kernel__.Import.string list -> 'aval sec_ns : Core_kernel__.Import.float -> Core_kernel.Time_ns.Span.tval wrap_message : ?echo:bool -> string -> f:(unit -> 'a Async_kernel.Deferred.t) -> 'a Async_kernel.Deferred.t
module Returns = Defun.Returnsval provide : Feature.t -> unitval inhibit_read_only : ('a, 'b) Sync_or_async.t -> (unit -> 'b) -> 'bval debug_embedded_caml_values : unit -> Core_kernel.Sexp.t
module Ref : sig ... end