crysh

Version, currently master branch1 version
  • master branchlatestJan 17, 2021

github.com/srcrip/crysh

The Linux shell made in Crystal.

4 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  crysh:
    github: srcrip/crysh
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
0.34.0
License
MIT
Author
sevensidedmarble
Target
  • crysh from src/crysh.cr

Dependencies

Runtime Dependencies

  • cltk*github: ziprandom/cltk, branch: master
  • readline*github: crystal-lang/crystal-readline, branch: master
  • fancyline*github: Papierkorb/fancyline, branch: master

README

A Linux shell written in Crystal.

Installation

Crysh needs to be built from source for now. To do that, you must install Crystal.

  1. Clone this repo: git clone https://github.com/Sevensidedmarble/crysh.git && cd crysh

  2. Install dependencies: run: shards install (shards might be a seperate package in your package manager. Make sure you have it. You could try crystal deps install as well.)

  3. Build: crystal build src/crysh.cr --release.

  4. You can run crysh right from this directory with ./crysh

  5. You can now symlink to your bin folder (make sure /usr/local/bin is on your path, or use /usr/bin):

  • In bash/zsh: sudo ln -sf $(pwd)/crysh /usr/local/bin/crysh

  • In fish: sudo ln -sf (pwd)/crysh /usr/local/bin/crysh

Usage

Follow the instructions above. Crysh can be used like any other unix shell. It does not aim to be 100% POSIX complete, but it should be as POSIX complete as fish when 1.0 is released.

Development

I've collected some very helpful resources about programming shells in the wiki, available here.

Contributing

  1. Fork it ( https://github.com/Sevensidedmarble/crysh/fork )
  2. Open a PR
  3. Profit