Allow editing of previously recorded results - #152
Merged
Merged
Conversation
Member
Author
|
Updates implementation of: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
We have had the problem that if the user inadvertently presses <Enter> one too many times they will record a result that was unintended and incorrect. Further, as a learning matter, if someone has entered a value and then realizes it needs amending, there was no way to edit it.
This branch introduces the
Revokestate to the PFFTT format which invalidates a previously recorded result, allowing the trail to be re-run from that point and values downstream of it re-prompted for. This also updates the PFFTT file format to include a serial for each scope. Together with the path address it now uniquely identifies an iteration of an invocation (whereas the path alone does not).Pressing <Up> at a live prompt now enteres a "navigation" mode where the user can step back through what the run has already recorded. At a position that already had a result recorded, <Esc> opens menu and offers
Editto change the valueThe behaviour of this "navigation" is somewhat complex, so a .moves file is added to the test suite to show what the expected location is after different keystroke permutations from each position.
Internally, keystroke procesing and dispatch have been refactored into two separate layers. The first maps a
KeyEvents to anIntents. The second handles thoseIntentdepending on the context.