package vsrocq-language-server
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
VSRocq language server
Install
dune-project
Dependency
Authors
Maintainers
Sources
vsrocq-language-server-2.3.3.tar.gz
md5=c3f17c36f162c6be3ed6f35a30e3a18d
sha512=32c67c0a915d0983332337d891ccc40d3204b04e83c8d307cffdda06df7798db8bedb74e705101d2c83d595cfb2e4f82ecbf576fe3c385ec7ead9689f50f7d05
doc/vsrocq-language-server.dm/Dm/Scheduler/index.html
Module Dm.SchedulerSource
The scheduler is the component in charge of planning the execution of sentences. It also defines the task delegation strategy, and computes dependencies between tasks. Scheduling can be done incrementally.
State for incremental schedule construction
Source
type executable_sentence = {id : Types.sentence_id;ast : Synterp.vernac_control_entry;classif : Vernacextend.vernac_classification;synterp : Vernacstate.Synterp.t;error_recovery : error_recovery_strategy;
}Source
type task = | Skip of {id : Types.sentence_id;error : Pp.t option;
}| Block of {id : Types.sentence_id;synterp : Vernacstate.Synterp.t;error : Pp.t Loc.located;
}| Exec of executable_sentence| OpaqueProof of {terminator : executable_sentence;opener_id : Types.sentence_id;proof_using : Vernacexpr.section_subset_expr;tasks : executable_sentence list;
}| Query of executable_sentence
Holds the dependencies among sentences and a schedule to evaluate all sentences
Source
val schedule_errored_sentence :
Types.sentence_id ->
Pp.t Loc.located ->
Vernacstate.Synterp.t ->
schedule ->
scheduleSource
val schedule_sentence :
(Types.sentence_id
* (Synterp.vernac_control_entry
* Vernacextend.vernac_classification
* Vernacstate.Synterp.t)) ->
state ->
schedule ->
state * scheduleIdentifies the structure of the document and dependencies between sentences in order to easily compute the tasks to interpret the a sentence. Input sentence is None on parsing error.
Finds the task to be performed and the state on which the task should run
Computes what should be invalidated
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>