add definitions
This commit is contained in:
@@ -91,13 +91,14 @@ partial def findForbiddenTactics (inputCtx : Parser.InputContext) (levelParams :
|
||||
for n in ns do
|
||||
let some (.thmInfo ..) := (← getEnv).find? n
|
||||
| return () -- not a theroem -> ignore
|
||||
match levelParams.lemmas.find? (fun l => l.name.toString == n) with
|
||||
| none => addErrorMessage info s!"You have not unlocked the lemma '{n}' yet!"
|
||||
let lemmasAndDefs := levelParams.lemmas ++ levelParams.definitions
|
||||
match lemmasAndDefs.find? (fun l => l.name.toString == n) with
|
||||
| none => addErrorMessage info s!"You have not unlocked the lemma/definition '{n}' yet!"
|
||||
| some lem =>
|
||||
if lem.locked then
|
||||
addErrorMessage info s!"You have not unlocked the lemma '{n}' yet!"
|
||||
addErrorMessage info s!"You have not unlocked the lemma/definition '{n}' yet!"
|
||||
else if lem.disabled then
|
||||
addErrorMessage info s!"The lemma '{n}' is disabled in this level!"
|
||||
addErrorMessage info s!"The lemma/definition '{n}' is disabled in this level!"
|
||||
where addErrorMessage (info : SourceInfo) (s : MessageData) :=
|
||||
modify fun st => { st with
|
||||
messages := st.messages.add {
|
||||
|
||||
@@ -42,8 +42,9 @@ Fields:
|
||||
structure LevelInfo where
|
||||
index : Nat
|
||||
title : String
|
||||
tactics: Array Availability
|
||||
lemmas: Array Availability
|
||||
tactics : Array Availability
|
||||
lemmas : Array Availability
|
||||
definitions : Array Availability
|
||||
introduction : String
|
||||
descrText : String := ""
|
||||
descrFormat : String := ""
|
||||
@@ -57,8 +58,9 @@ structure LoadLevelParams where
|
||||
structure DidOpenLevelParams where
|
||||
uri : String
|
||||
levelModule : Name
|
||||
tactics: Array Availability
|
||||
lemmas: Array Availability
|
||||
tactics : Array Availability
|
||||
lemmas : Array Availability
|
||||
definitions : Array Availability
|
||||
deriving ToJson, FromJson
|
||||
|
||||
structure Doc where
|
||||
@@ -91,6 +93,7 @@ def handleDidOpenLevel (params : Json) : GameServerM Unit := do
|
||||
levelModule := lvl.module
|
||||
tactics := lvl.tactics.computed
|
||||
lemmas := lvl.lemmas.computed
|
||||
definitions := lvl.definitions.computed
|
||||
: DidOpenLevelParams
|
||||
}
|
||||
}
|
||||
@@ -119,6 +122,7 @@ partial def handleServerEvent (ev : ServerEvent) : GameServerM Bool := do
|
||||
title := lvl.title,
|
||||
tactics := lvl.tactics.computed,
|
||||
lemmas := lvl.lemmas.computed,
|
||||
definitions := lvl.definitions.computed,
|
||||
descrText := lvl.descrText,
|
||||
descrFormat := lvl.descrFormat --toExpr <| format (lvl.goal.raw) --toString <| Syntax.formatStx (lvl.goal.raw) --Syntax.formatStx (lvl.goal.raw) , -- TODO
|
||||
introduction := lvl.introduction }
|
||||
|
||||
Reference in New Issue
Block a user