Crate shrs

source ·
Expand description

shrs is a framework for building and configuring your own shell in rust.

§Example

The most basic shell can be created very easily:

use shrs::prelude::*;

fn main() {
    let myshell = ShellBuilder::default()
        .build()
        .unwrap();

    myshell.run().unwrap();
}

For more advanced explanation on features and configuration options, see the shrs book

Modules§

  • Command aliases
  • Re-export of anyhow crate for error handling
  • Builtin commands
  • Command queue for mutating States and Shell in handlers
  • Shell autocompletion
  • Re-export of crossterm types
  • Environment variables
  • Shell command history
  • Shell runtime hooks
  • Abstraction layer for processes
  • Keybinding system
  • Shell command language
  • Plugin System
  • use shrs::prelude::* to import most commonly used structs and functions
  • Queue for automatic insertion into prompt
  • Readline implementation for shrs
  • Core shell structs and shell config builder
  • Globally accessible state store States are accessible through handlers
  • Configuration for common color values bundled into a theme

Macros§

Structs§