• Stars
    star
    307
  • Rank 136,109 (Top 3 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created almost 2 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The rusty shell toolkit for hackers

sh.rs

The rusty POSIX shell library for hackers

crates.io Doc book MIT/Apache 2.0 Discord

PROJECT GOALS

  • hackable: almost every aspect of the shell should be easily customizable and extendable
  • developer friendly: well documented and easy to contribute to
  • rusty: implemented in and configurable in rust

FEATURES

DISCLAIMER: shrs is currently very much a work in progress, the API is subject to change frequently and things are prone to breaking. It currently may not be suitable for daily use, but is great for prototyping any experimental shell features you dream up with!

Here are what makes shrs special:

  • Completely configurable in rust (including your prompt, completions and more!)
  • Plugin system (community maintained plugins that add unique features)

GETTING STARTED

To get a taste of what shrs is capable of, without any configuration, you can run the example shrs_example shell that is bundled by running:

git clone https://github.com/MrPicklePinosaur/shrs.git
cd ./shrs/shrs_example
cargo run

To get started with building your own shell, it's as easy as creating a new cargo project with:

use shrs::prelude::*;

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

    myshell.run();
}

See the developer documentation for more in depth information.

CONTRIBUTING

If you encounter and bugs are have any feature requests, please don't hesitate to leave an issue! Also take a look at the section for contributors in the documentation.

COMMUNITY PLUGINS

List of cool 3rd part plugins (create a PR to add yours to this list):

COMMUNITY SHELLS

Full shells that were built with shrs

  • pinosh: MrPicklePinosaur's build of shrs

More Repositories

1

matsuba

lightweight japanese ime written in rust
Rust
15
star
2

typst-conceal.vim

plugin for typst conceal
Vim Script
15
star
3

Space-Invaders-Demastered

Space Invaders but its not
Java
3
star
4

taskasaur

suckless inspired kanban style todolist with ncurses graphics
C
2
star
5

trainos

microkernel developed for playing with trains
C
2
star
6

rust_workshop

rust workshop for CSC Project Program
Rust
2
star
7

ShinobiNetwork

Top-down PvP shooter made for ICS4U using LibGDX
Java
2
star
8

dotfiles

configuration files and shell scripts for unix systems
Vim Script
2
star
9

marklin_ctl

control system for marklin trains interface
C
1
star
10

christmas_pcb

christmas themed pcb created using kicad
1
star
11

pinotime

A MicroPython based development environment for smart watches (including Pine64 PineTime)
Python
1
star
12

pinowm

simple x11 window manager
Rust
1
star
13

dwm-pinosaur

my fork of the dynamic window manager from suckless
C
1
star
14

Learnify

Personalized course builder built with flutter and django
Dart
1
star
15

pino_argparse

a tiny zero-dependency argparsing library
Rust
1
star
16

advent_of_code

Solving Advent of Code 2022 with a different programming language every problem
WebAssembly
1
star
17

LegoStudioVR

LegoStudioVR provides an environment to create Lego builds, without needing to buy the bricks to do so.
C#
1
star
18

pinosh

my own build of shrs - the rusty posix shell
Rust
1
star
19

zellij_blocks

configurable status bar for zellij
Rust
1
star
20

DeadByPhysics

Dead by Daylight inspired multiplayer game to illustrate concepts in electrostatics
C#
1
star
21

shogiman

ๅฐ†ๆฃ‹ใงใใ‚‹ใƒ—ใƒญใ‚ฐใƒฉใƒ 
Rust
1
star