package coq-lsp
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=36340f464107ac60bb4033fad249984690cdcce3a6bef4ca439ffb2a4458dbf9
sha512=4866f4c2f0acda0c114e27b32cd60fa054333e1c7249227b8c3b23a316d7f306676203bd317f135a40368a292b7b49b76f0bdacff21d7e9bfb5a422d1c8d6ad8
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