@ -121,6 +121,17 @@ export function CommandLine({proofPanelRef}: {proofPanelRef: React.MutableRefObj
msg . message . append [ 0 ] . text === "unsolved goals" )
msg . message . append [ 0 ] . text === "unsolved goals" )
} )
} )
if ( typeof goals == 'undefined' ) {
tmpProof . push ( {
command : i ? model . getLineContent ( i ) : '' ,
goals : [ ] ,
hints : [ ] ,
errors : messages
} as ProofStep )
console . debug ( 'goals is undefined' )
return
}
// If the number of goals reduce, show a message
// If the number of goals reduce, show a message
if ( goals . goals . length && goalCount > goals . goals . length ) {
if ( goals . goals . length && goalCount > goals . goals . length ) {
messages . unshift ( {
messages . unshift ( {
@ -141,16 +152,6 @@ export function CommandLine({proofPanelRef}: {proofPanelRef: React.MutableRefObj
}
}
goalCount = goals . goals . length
goalCount = goals . goals . length
// TODO: Check what happens if the code gets into a bad state and no goals are available
if ( ! goals ) {
tmpProof . push ( {
command : i ? model . getLineContent ( i ) : '' ,
goals : [ ] ,
hints : [ ] ,
errors : messages
} as ProofStep )
} else {
console . debug ( ` Command ( ${ i } ): ` , i ? model . getLineContent ( i ) : '' )
console . debug ( ` Command ( ${ i } ): ` , i ? model . getLineContent ( i ) : '' )
console . debug ( ` Goals: ( ${ i } ): ` , goalsToString ( goals ) ) //
console . debug ( ` Goals: ( ${ i } ): ` , goalsToString ( goals ) ) //
console . debug ( ` Hints: ( ${ i } ): ` , goals . goals [ 0 ] ? . hints )
console . debug ( ` Hints: ( ${ i } ): ` , goals . goals [ 0 ] ? . hints )
@ -164,13 +165,13 @@ export function CommandLine({proofPanelRef}: {proofPanelRef: React.MutableRefObj
// at `1` instead of `zero`. The first ProofStep will have an empty command.
// at `1` instead of `zero`. The first ProofStep will have an empty command.
command : i ? model . getLineContent ( i ) : '' ,
command : i ? model . getLineContent ( i ) : '' ,
// TODO: store correct data
// TODO: store correct data
goals : goals.goals || [ ] ,
goals : goals.goals ,
// only need the hints of the active goals in chat
// only need the hints of the active goals in chat
hints : hints ,
hints : hints ,
// errors and messages from the server
// errors and messages from the server
errors : messages
errors : messages
} as ProofStep )
} as ProofStep )
}
} )
} )
// Save the proof to the context
// Save the proof to the context
setProof ( tmpProof )
setProof ( tmpProof )