Rust Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Introduction

Ion is a modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust, which greatly increases the overall quality and security of the shell. It also offers a level of performance that exceeds that of Dash, when taking advantage of Ion's features. While it is developed alongside, and primarily for, RedoxOS, it is a fully capable on other *nix platforms.

Ion Shell

MIT licensed crates.io

Ion is still a WIP, and both its syntax and rules are subject to change over time. It is still quite a ways from becoming stabilized, but we are getting very close. Changes to the syntax at this time are likely to be minimal.

Ion Specification

Ion has a RFC process for language proposals. Ion's formal specification is located within the rfcs branch. The RFC process is still in the early stages of development, so much of the current and future implementation ideas have yet to be written into the specification.

Ion Manual

The Ion manual is generated automatically on each commit via mdBook. The manual is located here on Redox OS's website. It is also included in the source code for Ion, within the manual directory, which you may build with mdbook.

Compile / Install Instructions

Rust nightly is required for compiling Ion. Simplest way to obtain Rust/Cargo is by installing the Rustup toolchain manager, in the event that your OS does not ship Rust natively, or if you want more flexibility in Rust compilation capabilities.

Then, it's just a matter of performing one of the following methods:

Install Direct From Git

cargo +nightly install --git https://gitlab.redox-os.org/redox-os/ion/ ion-shell

Build Locally

git clone https://gitlab.redox-os.org/redox-os/ion/
cd ion && make && sudo make install prefix=/usr

Vim/NeoVim Syntax Highlighting Plugin

We do have an officially-supported syntax highlighting plugin for all the vim/nvim users out there.

Plugin 'vmchale/ion-vim'

Screenshot of Syntax Highlighting