- Unix / Linux: When running an external command, Darkshell installs a
Ctrl+Chandler that requests the running child process group to terminate. At the interactive prompt,rustylinehandles line editing; interrupt during prompt cancels the current line. - Windows: Console control events (
Ctrl+C) are best-effort. Child processes are terminated without full Unix-style process-group semantics. Interactive line editing uses the samerustylinebackend; behavior may differ slightly depending on the terminal (Windows Terminal, ConPTY, legacy console).
- Bash-style job control (
Ctrl+Z,fg,bg,%job ids) is not implemented on any platform in v0. Background&starts a detached child on a best-effort basis; do not rely on POSIX job control semantics on Windows.
cdandpwduse Rust’sstd::env::{set_current_dir, current_dir}and normalize paths per the OS.HOMEis used when available; on Windows,USERPROFILEis accepted as a fallback forcdwith no arguments.
- Scripts may use
\nor\r\n; the lexer treats\ras whitespace.
- Startup:
~/.dshrc(or%USERPROFILE%\.dshrc) is sourced when the REPL starts, if the file exists. - History:
~/.dsh_history(or%USERPROFILE%\.dsh_history) persists command history between sessions.