One can think of this module as being a partial reimplementation of Lean.Elab.Frontend which also stores a snapshot of the world after each command. Importantly, we allow (re)starting compilation from any snapshot/position in the file for interactive editing purposes.
What Lean knows about the world after the header and each command.
- stx : Syntax
- mpState : Parser.ModuleParserState
- cmdState : Elab.Command.State
Instances For
Equations
- s.endPos = s.mpState.pos
Instances For
Equations
- s.env = s.cmdState.env
Instances For
Equations
- s.msgLog = s.cmdState.messages
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- s.isAtEnd = Lean.Parser.isTerminalCommand s.stx
Instances For
def
Lean.Server.Snapshots.Snapshot.runCommandElabM
{α : Type}
(snap : Snapshot)
(meta : DocumentMeta)
(c : Elab.Command.CommandElabM α)
:
Use the command state in the given snapshot to run a CommandElabM
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Server.Snapshots.Snapshot.runCoreM
{α : Type}
(snap : Snapshot)
(meta : DocumentMeta)
(c : CoreM α)
:
Run a CoreM
computation using the data in the given snapshot.
Equations
- snap.runCoreM meta c = snap.runCommandElabM meta (Lean.Elab.Command.liftCoreM c)
Instances For
def
Lean.Server.Snapshots.Snapshot.runTermElabM
{α : Type}
(snap : Snapshot)
(meta : DocumentMeta)
(c : Elab.TermElabM α)
:
Run a TermElabM
computation using the data in the given snapshot.
Equations
- snap.runTermElabM meta c = snap.runCommandElabM meta (Lean.Elab.Command.liftTermElabM c)