Module Sexp_grammar_completion_protocol.Candidate

A Suggestion describes one possible way to continue a sexp at a position.

module Case_sensitivity : sig ... end
module Atom_to_add : sig ... end
type t =
  1. | Add_atom of Atom_to_add.t
  2. | Enter_list
  3. | Enter_list_and_add_atom of Atom_to_add.t
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t -> t -> int
val sexp_of_t : t -> Sexplib0.Sexp.t
include Core.Comparator.S with type t := t
type comparator_witness

To act on a suggestion t,

1. delete the current atom, if any, 2. insert insert_to_left t to the left of the point. 3. insert insert_to_right t to the right, leaving the point in between.

val insert_to_left : t -> string
val insert_to_right : t -> string
val matches_atom_prefix : t -> Parsexp_prefix.Atom_prefix.t option -> bool

matches_atom_prefix implements a simple form of that client-side filtering: literal prefix matches on the signified atom. See Rpc_complete for more on the division of labor between client and server.

val documentation : t -> string list

documentation returns the documentation provided by the completion server for this candidate, if any. Each string is a separate piece of documentation.

module Unstable : sig ... end
module Stable : sig ... end