package ecaml

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Ecaml.MarkerSource

A Marker.t specifies 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.

(Info-goto-node "(elisp)Markers")

include Ecaml_value.Value.Subtype
Sourcetype t = private Ecaml_value.Value.t

We expose private value for free identity conversions when the value is nested in some covariant type, e.g. (symbols : Symbol.t list :> Value.t list) rather than List.map symbols ~f:Symbol.to_value.

Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
Sourceval eq : t -> t -> bool

eq t1 t2 = Value.eq (to_value t1) (to_value t2), i.e. eq checks whether the Emacs values underlying t1 and t2 are physically equal. This is different than phys_equal t1 t2, because we don't always wrap eq Emacs values in phys_equal OCaml values. I.e. phys_equal t1 t2 implies eq t1 t2, but not the converse.

Sourceval is_in_subtype : Ecaml_value.Value.t -> bool
Sourceval of_value_exn : Ecaml_value__.Value0.t -> t
Sourceval to_value : t -> Ecaml_value__.Value0.t
Sourcemodule Insertion_type : sig ... end

When you insert text directly at the place where a marker points, there are two possible ways to relocate that marker: it can point before the inserted text, or point after it. You can specify which one a given marker should do by setting its "insertion type". (Info-goto-node "(elisp)Marker Insertion Types").

Sourceval buffer : t -> Buffer.t option

(describe-function 'marker-buffer) (Info-goto-node "(elisp)Information from Markers")

Sourceval insertion_type : t -> Insertion_type.t

(describe-function 'marker-insertion-type) (Info-goto-node "(elisp)Marker Insertion Types")

Sourceval position : t -> Position.t option

(describe-function 'marker-position) (Info-goto-node "(elisp)Information from Markers")

Sourceval create : unit -> t

(describe-function 'make-marker) (Info-goto-node "(elisp)Creating Markers")

Sourceval copy : t -> t

(describe-function 'copy-marker) (Info-goto-node "(elisp)Creating Markers")

Sourceval set_insertion_type : t -> Insertion_type.t -> unit

(describe-function 'set-marker-insertion-type) (Info-goto-node "(elisp)Marker Insertion Types")

Sourceval set : t -> Buffer.t -> Position.t -> unit

(describe-function 'set-marker) (Info-goto-node "(elisp)Moving Markers")

OCaml

Innovation. Community. Security.