• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

benches/H03-May-2022-621578

cargo-crates/H03-May-2022-1,465,7651,191,811

ci/H02-Aug-2019-7355

debian/H02-Aug-2019-10766

examples/H03-May-2022-218155

fuzz/H02-Aug-2019-3928

manual/H02-Aug-2019-2,8442,077

members/H02-Aug-2019-1,5531,247

sh-interrupt/H03-May-2022-1,035745

src/H02-Aug-2019-16,20513,247

testing/H02-Aug-2019-21

tests/H02-Aug-2019-2,7112,306

.gitignoreH A D02-Aug-2019137 1211

.gitlab-ci.ymlH A D02-Aug-20191.5 KiB7467

CONTRIBUTING.mdH A D02-Aug-20192.9 KiB6747

Cargo.lockH A D02-Aug-2019105.7 KiB2,3222,081

Cargo.tomlH A D02-Aug-20192.9 KiB11495

LICENSEH A D02-Aug-20191.1 KiB2317

MakefileH A D02-Aug-20192.1 KiB10281

README.mdH A D02-Aug-20193.1 KiB7853

build.rsH A D02-Aug-20191.9 KiB6858

redox_linkerH A D02-Aug-201966 32

rustfmt.tomlH A D02-Aug-2019430 1817

README.md

1# Introduction
2
3Ion is a modern system shell that features a simple, yet powerful, syntax. It is written entirely
4in Rust, which greatly increases the overall quality and security of the shell. It also offers a
5level of performance that exceeds that of Dash, when taking advantage of Ion's features. While it
6is developed alongside, and primarily for, RedoxOS, it is a fully capable on other \*nix platforms.
7
8# Ion Shell
9
10[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)
11[![crates.io](https://meritbadge.herokuapp.com/ion-shell)](https://crates.io/crates/ion-shell)
12
13> Ion is still a WIP, and both its syntax and rules are subject to change over time. It is
14> still quite a ways from becoming stabilized, but we are getting very close. Changes to the
15> syntax at this time are likely to be minimal.
16
17# Ion Specification
18
19Ion has a RFC process for language proposals. Ion's formal specification is located within the
20[rfcs](https://gitlab.redox-os.org/redox-os/ion/tree/rfcs) branch. The RFC process is still in
21the early stages of development, so much of the current and future implementation ideas have
22yet to be written into the specification.
23
24# Ion Manual
25
26The Ion manual is generated automatically on each commit via [mdBook](https://github.com/azerupi/mdBook).
27The manual is located [here](https://doc.redox-os.org/ion-manual/) on Redox OS's website. It is
28also included in the source code for Ion, within the **manual** directory, which you may build
29with **mdbook**.
30
31# Ion library example
32See the [examples folder](https://gitlab.redox-os.org/redox-os/ion/tree/master/examples) and the [Parallelion project](https://gitlab.redox-os.org/AdminXVII/parallelion)
33
34# Packages
35
36## Pop!\_OS / Ubuntu
37
38The following PPA supports the 18.04 (bionic) and 18.10 (cosmic) releases. Bionic builds were made using the Pop\_OS PPA's rustc 1.35.0 package.
39
40```
41sudo add-apt-repository ppa:mmstick76/ion-shell
42```
43
44# Developer set up
45
46Those who are developing software with Rust should install the [Rustup toolchain manager](https://rustup.rs/).
47After installing rustup, run `rustup override set 1.35.0` to set your Rust toolchain to the version that Ion is
48targeting at the moment. To build for Redox OS, `rustup override set nightly` is required to build the Redox
49dependencies.
50
51# Build dependencies
52
53Please ensure that both cargo and rustc 1.35.0 or higher is installed for your system.
54Release tarballs have not been made yet due to Ion being incomplete in a few remaining areas.
55
56# Compile instructions for distribution
57
58```sh
59git clone https://gitlab.redox-os.org/redox-os/ion/
60cd ion
61RUSTUP=0 make # By default RUSTUP equals 1, which is for developmental purposes
62sudo make install prefix=/usr
63sudo make update-shells prefix=/usr
64```
65
66> To compile in DEBUG mode, pass `DEBUG=1` as an argument to `make`
67
68# Vim/NeoVim Syntax Highlighting Plugin
69
70We do have an [officially-supported syntax highlighting plugin](https://gitlab.redox-os.org/redox-os/ion-vim) for all the
71vim/nvim users out there.
72
73```vimscript
74Plugin 'vmchale/ion-vim'
75```
76
77![Screenshot of Syntax Highlighting](https://i.imgur.com/JzZp7WT.png)
78