From daead48672e56af966911abc4efe1e54573c02cc Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Fri, 1 Aug 2025 22:53:54 +0300 Subject: implemented the ^W command for refreshing the screen in loops, for sleeping and also the CTRL+L immediate editing command * ^W can be added to loops in order to view progress in interactive mode. It also sleeps for a given number of milliseconds (10ms by default). * In batch mode it is therefore the sleep command. * Since CTRL+W is an immediate editing command, you will usually type it Caret+W. ASCII 23 however will also be accepted. * While ^W only updates the screen, you can force a complete redraw by pressing CTRL+L. This is what most terminal applications use for redrawing. It will make it harder to insert ASCII 12, but this is seldom necessary since it is a form feed. ^L (ASCII 12 and the upcaret variant ) is still a whitespace character and therefore treated as a NOP. * DEC TECO had CTRL+W as the refresh immediate editing command. Video TECO uses as a regular command for refreshign in loops. I'd rather keep ET reserved as a potential terminal configuration command as in DEC TECO, though. --- src/cmdline.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/cmdline.c') diff --git a/src/cmdline.c b/src/cmdline.c index 605af73..1f12c7b 100644 --- a/src/cmdline.c +++ b/src/cmdline.c @@ -472,6 +472,11 @@ teco_state_process_edit_cmd(teco_machine_t *ctx, teco_machine_t *parent_ctx, gun raise(SIGTSTP); return TRUE; #endif + + case TECO_CTL_KEY('L'): + /* causes a complete screen redraw */ + teco_interface_refresh(TRUE); + return TRUE; } teco_interface_popup_clear(); -- cgit v1.2.3