Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/liljencrantz/crush
Crush is a command line shell that is also a powerful modern programming language.
https://github.com/liljencrantz/crush
Last synced: 9 days ago
JSON representation
Crush is a command line shell that is also a powerful modern programming language.
- Host: GitHub
- URL: https://github.com/liljencrantz/crush
- Owner: liljencrantz
- License: mit
- Created: 2019-09-29T22:27:32.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T06:07:53.000Z (3 months ago)
- Last Synced: 2024-08-01T16:53:29.793Z (3 months ago)
- Language: Rust
- Homepage:
- Size: 2.14 MB
- Stars: 1,833
- Watchers: 22
- Forks: 35
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome-github-stars - liljencrantz/crush - Crush is a command line shell that is also a powerful modern programming language. (Rust)
- awesome-programming-languages - Crush - Crush is an attempt to make a traditional command line shell that is also a modern programming language. It has the features one would expect from a modern programming language like a type system, closures and lexical scoping, but with a syntax geared toward both batch and interactive shell usage. (Uncategorized / Uncategorized)
- awesome-repositories - liljencrantz/crush - Crush is a command line shell that is also a powerful modern programming language. (Rust)
README
# Crush
Crush is an attempt to make a traditional command line shell that is also a
modern programming language. It has the features one would expect from a modern
programming language like a type system, closures and lexical scoping, but with
a syntax geared toward both batch and interactive shell usage.- [The overview](docs/overview.md) gives a detailed overview of the
features of Crush.
- [The syntax documentation](docs/syntax.md) contains more a detailed description
of the Crush syntax than what fits into the overview document.
- [The configuration documentation](docs/config.md) describes how to configure Crush.
- [The hacking documentation](docs/hacking.md) will eventually give you enough
information about the inner workings of Crush to start hacking yourself.## Building and installing Crush
### OS X dependencies
* Install [Brew](https://brew.sh/).
* Install openssl `brew install openssl`
* Install protobuf `brew install protobuf`
* Install git `xcode-select --install`### Ubuntu dependencies
* Update apt index `apt update`
* Install dependencies `apt install build-essential git curl pkg-config libssl-dev libdbus-1-dev libsystemd-dev`### Install Rust
Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Add it to your path
PATH=$PATH:$HOME/.cargo/bin
### Compile and install crush
clone this repository,
git clone https://github.com/liljencrantz/crush.git
and runcd crush && cargo build --release && cargo install --path .
and you should have a working binary to try out in `~/.cargo/bin`.
That directory should already be in your path, so just write `crush` to run
the shell.Have fun!