Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR resolves the following issues related to goal state display:
case
tactic with a completed proof, the state of the proof in thecase
would be displayed, not the proof state after thecase
next =>
/case' ... =>
, the state of the proof in the corresponding case would not be displayed, whereas this is true forcase
suffices ... by
tactic, the tactic state of theby
block was not displayed after theby
and before the first tacticThe incorrect goal state after
case
was caused byevalCase
adding aTacticInfo
with the full block proof state for the full range of thecase
block that the goal state selection has no means of distinguishing from theTacticInfo
with the same range that contains the state after the wholecase
block. Narrowing the range of thisTacticInfo
tocase ... =>
fixed this issue.The lack of a case proof state on
next =>
was caused by thecase
syntax thatnext
expands to receiving noncanonical syntheticSourceInfo
, which is usually ignored by the language server. Adding a token antiquotation fornext
fixed this issue.The lack of a case proof state on
case' ... =>
was caused byevalCase'
not adding aTacticInfo
with the full block state to the range ofcase' ... =>
. Adding thisTacticInfo
fixed this issue.The tactic state of the block not being displayed after the
by
was caused by the macro expansion ofsuffices
tohave
not transferring the trailing whitespace of theby
. Ensuring that this trailing whitespace information is transferred fixed this issue.Fixes #2881.