dmsh is a modern C and Rust based shell with the goal of learning and creating a fast and reliable shell.
We use .clang-format for our C code, following Mozilla style-guide
See Rust style guide to learn about how we write our Rust code.
- Simple REPL to execute arbitrary commands from $PATH.
- Builtins like
cd, ... - Integrate Rust builtins with the shell.
- qcat (cat on steroids)
- lls (pretty ls)
- qfind (quick find)
- qgrep (quick grep)
dmsh doesn't handle symbolic links. Beware of cd and pwd (pwd is not a
builtin in dmsh).
- Try not to use string literals in C when
constness isn't guaranteed. - Handle SIGINT during child program execution.
- Create
installtarget in Makefile and update DMSH_{QCAT,LLS} to use nonlocal versions of the binaries. - TODOs mentioned in code comments.
- This great tutorial.