Fleche.DocSourcetype t = private {uri : Lang.LUri.File.t;version : int;contents : Contents.t;toc : Lang.Range.t CString.Map.t;root : Coq.State.t;nodes : Node.t list;diags_dirty : bool;completed : Completion.t;}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 :
state:Coq.State.t ->
workspace:Coq.Workspace.t ->
uri:Lang.LUri.File.t ->
version:int ->
raw:string ->
(t, Loc.t) Coq.Protect.R.tCreate a new Coq document, this is cached!
Update the contents of a document, updating the right structures for incremental checking.
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
val create_failed_permanent :
state:Coq.State.t ->
uri:Lang.LUri.File.t ->
version:int ->
raw:string ->
t Contents.R.tThis is internal, to workaround the Coq multiple-docs problem