package coq-lsp
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=01ffedbd55ae00526fe1dda890e3c15a883bfda8388c8d292121ee722db46360
sha512=b5d92146c27b5c432a3f92c9ae8ff69c4dc62709f394743ca2d43ab93ae3af64b08bb17ea5923c0fbe0a333de127de574c548ec3c8df81dbe3e11f485abc3216
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