Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ dmsh Public

dmsh is a modern C and Rust based shell with the goal of learning and creating a fast and reliable shell

License

Notifications You must be signed in to change notification settings

Miguevrgo/dmsh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dmsh

dmsh is a modern C and Rust based shell with the goal of learning and creating a fast and reliable shell.

Coding style

C

We use .clang-format for our C code, following Mozilla style-guide

Rust

See Rust style guide to learn about how we write our Rust code.

Roadmap

Shell (C)

  • Simple REPL to execute arbitrary commands from $PATH.
  • Builtins like cd, ...
  • Integrate Rust builtins with the shell.

Builtin (Rust)

  • qcat (cat on steroids)
  • lls (pretty ls)
  • qfind (quick find)
  • qgrep (quick grep)

Warning

dmsh doesn't handle symbolic links. Beware of cd and pwd (pwd is not a builtin in dmsh).

TODO

  • Try not to use string literals in C when constness isn't guaranteed.
  • Handle SIGINT during child program execution.
  • Create install target in Makefile and update DMSH_{QCAT,LLS} to use nonlocal versions of the binaries.
  • TODOs mentioned in code comments.

Credits

  • This great tutorial.

About

dmsh is a modern C and Rust based shell with the goal of learning and creating a fast and reliable shell

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published