Runner Robustness when Red
Correctness and robustness improvements
Iterative improvement to clarify and solidify behaviour when running interactively or automatically. The decision about the kind of behaviour each step represents and the action to be taken whether being run interactively by a person or in batch mode is now centralized. This, along with numerous small fixes to parsing and translation have led to a significantly more robust runner.
A new quiet mode is available that suppresses all trace and prompt output, such that Technique really can be used as a scripting engine.
Finally, a nice improvement is that if a child process writes to its standard error stream we colour that output in red. This was surprisingly hard to get right, as commands like curl write their progress meter while downloading to stderr of all places. We go to some trouble to support that; no reason just because you're running in a "script" you shouldn't have nice things.
- Correct results of steps with mixed prose and function calls by @istathar in #123
- Explicitly record full document completion in PFFTT by @istathar in #124
- Treat multi-line strings as opaque by @istathar in #125
- Capture stderr output from child processes by @istathar in #126
- Add quiet mode to suppress progress output by @istathar in #127
- Error output from child processes coloured in red by @istathar in #128
- Better detection of misplaced procedure declarations in sections by @istathar in #131
- Fix minor variations between interactive and automatic modes by @istathar in #133
Build improvements
- Add contribution guide by @istathar in #129
- Guard Posix API usage by @istathar in #130
- Bump Rust edition by @istathar in #132
Full Changelog: v0.6.2...v0.6.4