package vscoq-language-server

  1. Overview
  2. Docs

Module Dm.ExecutionManagerSource

The event manager is in charge of the actual event of tasks (as defined by the scheduler), caching event states and invalidating them. It can delegate to worker processes via DelegationManager

Sourcetype delegation_mode =
  1. | CheckProofsInMaster
  2. | SkipProofs
  3. | DelegateProofsToWorkers of {
    1. number_of_workers : int;
    }
Sourcetype options = {
  1. delegation_mode : delegation_mode;
  2. completion_options : Protocol.Settings.Completion.t;
  3. enableDiagnostics : bool;
}
Sourceval is_diagnostics_enabled : unit -> bool
Sourcetype state

Execution state, includes the cache

Sourcetype event
Sourcetype events = event Sel.Event.t list
Sourcetype errored_sentence = Types.sentence_id option
Sourcetype feedback_message = Feedback.level * Loc.t option * Types.Quickfix.t list * Pp.t
Sourceval pr_event : event -> Pp.t
Sourceval destroy : state -> unit
Sourceval get_options : unit -> options
Sourceval set_options : options -> unit
Sourceval set_default_options : unit -> unit
Sourceval error : state -> Types.sentence_id -> (Loc.t option * Pp.t) option
Sourceval all_errors : state -> (Types.sentence_id * (Loc.t option * Pp.t * Types.Quickfix.t list option)) list
Sourceval all_feedback : state -> (Types.sentence_id * feedback_message) list
Sourceval shift_overview : state -> before:RawDocument.t -> after:RawDocument.t -> start:int -> offset:int -> state
Sourceval shift_diagnostics_locs : state -> start:int -> offset:int -> state
Sourceval executed_ids : state -> Types.sentence_id list
Sourceval is_executed : state -> Types.sentence_id -> bool
Sourceval is_remotely_executed : state -> Types.sentence_id -> bool
Sourceval get_context : state -> Types.sentence_id -> (Evd.evar_map * Environ.env) option
Sourceval get_initial_context : state -> Evd.evar_map * Environ.env
Sourceval get_vernac_state : state -> Types.sentence_id -> Vernacstate.t option

Returns the vernac state after the sentence

Sourceval handle_event : event -> state -> Types.sentence_id option * state option * events

Events for the main loop

Sourcetype prepared_task

Execution happens in two steps. In particular the event one takes only one task at a time to ease checking for interruption

Sourceval update_overview : prepared_task -> prepared_task list -> state -> Document.document -> state
Sourceval cut_overview : prepared_task -> state -> Document.document -> state
Sourceval update_processed : Types.sentence_id -> state -> Document.document -> state
Sourceval prepare_overview : state -> Protocol.LspWrapper.Range.t list -> state
Sourceval print_exec_overview_of_state : state -> unit
Sourcemodule ProofWorkerProcess : sig ... end

Coq toplevels for delegation without fork

OCaml

Innovation. Community. Security.