summaryrefslogtreecommitdiffstats
path: root/CONTEXT.md
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-07-31 16:43:04 +0200
committersalmonik <salmonik@tuta.io>2026-07-31 16:43:04 +0200
commit43c44ae6fe7dbfcf6af3e5e53c29f65bbf94c9c2 (patch)
tree3fe86cc049f154dc33202b6573e091d6cace7305 /CONTEXT.md
parentvfs: everything is a file — dirs, ramfs, character devices (diff)
downloadrs-dos-43c44ae6fe7dbfcf6af3e5e53c29f65bbf94c9c2.tar.gz
rs-dos-43c44ae6fe7dbfcf6af3e5e53c29f65bbf94c9c2.zip
shell: ^C cancels the line / aborts streams, ^D = EOF → poweroff
- ps2: Ctrl+C and Ctrl+D are now KeyEvents (ctrl modifier + c/d map); other Ctrl+key combos are swallowed - shell read_line: ^C clears the line and echoes '^C' (bash-style), ^D on an empty line echoes '^D' and shuts down (EOF), ^D with text on the line is ignored - cat/hexdump stream incrementally (was: build whole string then print) and check for ^C between chunks, so a running dump can be aborted - verified in QEMU: line cancel, standalone interrupt, ^C aborts an infinite 'cat /dev/zero' stream, ^D powers off
Diffstat (limited to '')
-rw-r--r--CONTEXT.md3
1 files changed, 3 insertions, 0 deletions
diff --git a/CONTEXT.md b/CONTEXT.md
index 5b76eaa..66ab320 100644
--- a/CONTEXT.md
+++ b/CONTEXT.md
@@ -130,6 +130,9 @@ Single Rust crate (`x86_64-unknown-uefi` target). Module breakdown:
130✅ **VFS** — “everything is a file”: dirs, ramfs, char devices 130✅ **VFS** — “everything is a file”: dirs, ramfs, char devices
131 (`ls`/`cat`/`hexdump`/`mkdir`/`touch`/`rm`, `echo >`/`>>`; devices 131 (`ls`/`cat`/`hexdump`/`mkdir`/`touch`/`rm`, `echo >`/`>>`; devices
132 regenerate on read, `/dev/mem` is raw physical RAM) 132 regenerate on read, `/dev/mem` is raw physical RAM)
133✅ **^C / ^D** — Ctrl+C cancels the line or aborts a running stream
134 (`cat`/`hexdump` check between chunks), Ctrl+D on an empty line
135 powers off (EOF)
133 136
134## Target audience 137## Target audience
135 138