Improve handling of bound variables when executing#122
Merged
Conversation
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.
When running a Technique we now print the values of bound variables. This picks up the notion of "echoing" them that was used when a Technique run was started and extends it to procedure invocation and also loop iteration. This feature was extended to do partial detection of the type of the value being input so that this is rendered as a string literal, numeric, or list as appropriate.
Fix behaviour of
foreachso that if the input list is empty no iterations are performed.Finally, we make a small UI improvement to the prompt when we can infer that a list value is being demanded and render
[and]around the input cursor to hint to the user that they are in fact being asked to enter a list.Fix the indentation of substeps when running so that they appear nested as they do in the source Technique document.
Refine output of code block in descriptives. In particular, variables with known values are substituted into the content and shown syntax highlighted during the run (distinct from interpolations, which insert the raw variable Display into the String).