package coq-lsp
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ba40f92f4c751793265d20f1c217638146e4714e0196a0d2b00c9ed58774abf6
sha512=0b7c1d98e22017e44d90461ee61081043401387251488ee7113668d24f6a463dca4ce690e30355248a949817c6b8f8a0944489c4d9b66bd239d903a089a1f11f
doc/coq-lsp.fleche/Fleche/Doc/index.html
Module Fleche.Doc
Source
Enviroment external to the document, this includes for now the init
Coq state and the workspace
, which are used to build the first state of the document, usually by importing the prelude and other libs implicitly.
type t = private {
uri : Lang.LUri.File.t;
(*
*)uri
of the documentversion : int;
(*
*)version
of the documentcontents : Contents.t;
(*
*)contents
of the documentnodes : Node.t list;
(*List of document nodes
*)completed : Completion.t;
(*Status of the document, usually either completed, suspended, or waiting for some IO / external event
*)toc : Node.t CString.Map.t;
(*table of contents
*)env : Env.t;
(*External document enviroment
*)root : Coq.State.t;
(*
*)root
contains the first state document state, obtained by applying a workspace to Coq's initial statediags_dirty : bool;
(*internal field
*)
}
A Flèche document is basically a node list
, which is a crude form of a meta-data map Range.t -> data
, where for now data
is the contents of Node.t
.
Return the list of all asts in the doc
Return the list of all diags in the doc
val create :
token:Coq.Limits.Token.t ->
env:Env.t ->
uri:Lang.LUri.File.t ->
version:int ->
raw:string ->
t
Create a new Coq document, this is cached! Note that this operation always suceeds, but the document could be created in a `Failed` state if problems arise.
Update the contents of a document, updating the right structures for incremental checking. If the operation fails, the document will be left in `Failed` state.
val check :
io:Io.CallBack.t ->
token:Coq.Limits.Token.t ->
target:Target.t ->
doc:t ->
unit ->
t
check ~io ~target ~doc ()
, check document doc
, target
will have Flèche stop after the point specified there has been reached. Output functions are in the io
record, used to send partial updates.
save ~doc
will save doc
.vo file. It will fail if proofs are open, or if the document completion status is not Yes