package vsrocq-language-server
VSRocq language server
Install
dune-project
Dependency
Authors
Maintainers
Sources
vsrocq-language-server-2.3.1.tar.gz
md5=521c971030f0cf552a2566b08b7b57f7
sha512=ef1ddf8a84db5557023a3f128b9fbde5e7fe910d1c6dc8d8c7b55b71636e7deddbf2675516120320de39c25ae39463b9fab1ddaa8217c097f405501e36361f28
doc/vsrocq-language-server.dm/Dm/ExecutionManager/index.html
Module Dm.ExecutionManager
Source
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
Source
type options = {
delegation_mode : delegation_mode;
completion_options : Protocol.Settings.Completion.t;
enableDiagnostics : bool;
}
Execution state, includes the cache
Source
val invalidate :
Document.document ->
Scheduler.schedule ->
Types.sentence_id ->
state ->
state
Source
val all_errors :
state ->
(Types.sentence_id * (Loc.t option * Pp.t * Types.Quickfix.t list option))
list
Source
val shift_overview :
state ->
before:RawDocument.t ->
after:RawDocument.t ->
start:int ->
offset:int ->
state
we know if it worked and we have the state in this process
we know if it worked but we do not have the state in this process
Returns the vernac state after the sentence
Events for the main loop
Execution happens in two steps. In particular the event one takes only one task at a time to ease checking for interruption
Source
val build_tasks_for :
Document.document ->
Scheduler.schedule ->
state ->
Types.sentence_id ->
bool ->
Vernacstate.t * state * prepared_task option * errored_sentence
Source
val execute :
state ->
Document.document ->
(Vernacstate.t * events * bool) ->
prepared_task ->
bool ->
prepared_task option * state * Vernacstate.t * events * errored_sentence
Rocq toplevels for delegation without fork
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>