Skip to content

Dynamic user interface#110

Merged
istathar merged 11 commits into
technique-lang:mainfrom
istathar:run-7
Jun 13, 2026
Merged

Dynamic user interface#110
istathar merged 11 commits into
technique-lang:mainfrom
istathar:run-7

Conversation

@istathar

Copy link
Copy Markdown
Member

There are now two modes for running a Technique, "interactive" and "automatic". This allows us to differentiate between the program being used in a script or having its output redirected, and a fully interactive interaction with the user.

Upgrade the console output from the previous line oriented buffered output to a more dynamic user interface for "interactive" mode, leveraging the crossterm crate to handle raw keyboard input and line redrawing.

By default pressing <Enter> will result in the step being marked as Done; in cases where there are preset responses they are presented as choices.

Pressing <Esc> toggles a modal switch to presenting a menu of options to Skip the step, mark it as Failed (and enter a reason why), or to Quit. The latter records a new Stop event in the PFFTT log, allowing us to later differentiate between someone stopping or pausing the procedure run and a crash (which would lack the event).

This series of PRs marks a significant capability improvement and also some semantic changes to the verbs in PFFTT and so we've bumped the major version to 0.6.

@istathar istathar self-assigned this Jun 10, 2026
@istathar istathar merged commit 04f608d into technique-lang:main Jun 13, 2026
1 check passed
@istathar istathar deleted the run-7 branch June 14, 2026 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant