https://github.com/ndunnett/crsh
Basic implementation of a unix shell written in Rust.
https://github.com/ndunnett/crsh
rust shell
Last synced: 6 months ago
JSON representation
Basic implementation of a unix shell written in Rust.
- Host: GitHub
- URL: https://github.com/ndunnett/crsh
- Owner: ndunnett
- License: mit
- Created: 2024-05-26T08:38:11.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-02T14:47:23.000Z (about 2 years ago)
- Last Synced: 2024-06-02T16:20:04.358Z (about 2 years ago)
- Topics: rust, shell
- Language: Rust
- Homepage:
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#
crsh
Crappy Rust SHell. Basic shell written in Rust, not meant to actually be used or taken seriously.
## Features
* Functional and performant prompt
* Command launching, piping, logical grouping, and lists
* Basic builtin commands `cd`, `which`, `exit`
* Non-interactive mode
* Persistent prompt history
* Parameter and subshell substitution (partially complete)
## Todo
* Full POSIX compliant scripting functionality
* Fully functional IO redirection
* Setting local and environment variables
* Complete subshell implementation
* Complete parameter expansion/substitution
* Globbing and pattern matching
* Implement asynchronous task management
* Flesh out builtins
* Set/unset shell options
* Implement stack based compiler/interpreter
* New scripting language (alongside POSIX scripting)
* Custom prompt styling
* Loading configuration files (ie. `.profile`, `.*rc`, `.*env`)
* Autocompletion and hinting
* Syntax highlighting
* Proper Windows support
## Goals
* High performance
* Fully featured and customisable prompt
* POSIX compliant scripting as well as a modern scripting language
* Multiplatform compatibility (Linux, macOS, Windows)
* Easy and portable configuration