RPC procedures for retrieving tactic and term goals with embedded CodeWithInfos
.
The user-friendly name for each hypothesis. If anonymous then the name is inaccessible and hidden.
The ids for each variable. Should have the same length as
names
.fvarIds : Array Lean.FVarId- type : Lean.Widget.CodeWithInfos
The value, in the case the hypothesis is a
let
-binder.val? : Option Lean.Widget.CodeWithInfosThe hypothesis is a typeclass instance.
isInstance : BoolThe hypothesis is a type.
isType : BoolIf true, the hypothesis was not present on the previous tactic state. Uses
none
instead ofsome false
to save space in the json encoding.If true, the hypothesis will be removed in the next tactic state. Uses
none
instead ofsome false
to save space in the json encoding.
In the infoview, if multiple hypotheses h₁
, h₂
have the same type α
, they are rendered as h₁ h₂ : α
.
We call this a 'hypothesis bundle'.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
- type : Lean.Widget.CodeWithInfos
- goalPrefix : String
Identifies the goal (ie with the unique name of the MVar that it is a goal for.) This is none when we are showing a term goal.
mvarId? : Option Lean.MVarIdIf true, the goal was not present on the previous tactic state. Uses
none
instead ofsome false
to save space in the json encoding.If true, the goal will be removed on the next tactic state. Uses
none
instead ofsome false
to save space in the json encoding.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
- type : Lean.Widget.CodeWithInfos
- range : Lean.Lsp.Range
This is everything needed to render an interactive term goal in the infoview.
Instances For
Equations
- Lean.Widget.instInhabitedInteractiveTermGoal = { default := { hyps := default, type := default, range := default } }
Equations
Equations
- Lean.Widget.InteractiveTermGoal.toInteractiveGoal g = { hyps := g.hyps, type := g.type, userName? := none, goalPrefix := "⊢ ", mvarId? := none, isInserted? := none, isRemoved? := none }
- goals : Array Lean.Widget.InteractiveGoal
Instances For
Equations
Equations
- Lean.Widget.InteractiveGoals.append l r = { goals := l.goals ++ r.goals }
Equations
- Lean.Widget.instEmptyCollectionInteractiveGoals = { emptyCollection := { goals := #[] } }
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
A variant of Meta.ppGoal
which preserves subexpression information for interactivity.
Equations
- One or more equations did not get rendered due to their size.