Skip to content
Friendly Interactive Shell and Expressive Programming Language
Go HTML CSS JavaScript Shell Makefile Other
Branch: master
Clone or download

README.md

Elvish: Friendly Interactive Shell and Expressive Programming Language

Build Status on Travis Build status on AppVeyor Code Coverage on codecov.io Code Coverage on coveralls.io Go Report Card GoDoc License Twitter

Elvish is a friendly interactive shell and an expressive programming language. It runs on Linux, BSDs, macOS and Windows. Despite its pre-1.0 status, it is already suitable for most daily interactive use.

Most of the resources for Elvish can be found on the official website.

User groups (all connected thanks to matterbridge): Gitter Telegram Group #elvish on freenode

Building Elvish

To build Elvish from source, you need

  • A supported OS: Linux, {Free,Net,Open}BSD, macOS, or Windows.

    NOTE: Windows support is experimental. Elvish builds on Windows >= 7, but the terminal IO only works correctly on Windows 10.

  • Go >= 1.13.

To build Elvish from source, follow these steps:

# 1. Start from any directory you want to store Elvish's source code
# 2. Clone the Git repository
git clone https://github.com/elves/elvish
# 3. Change into the repository
cd elvish
# 4. Build and install Elvish
make get

This will install Elvish to ~/go/bin.

Alternatively, you can also just use go get to install Elvish:

go get -u github.com/elves/elvish

This will clone the Git repository to ~/go/src/github.com/elves/elvish, updating it if already exists, and install Elvish to ~/go/bin. However, Elvish built this way will lack version information, although it is otherwise fully functional.

Some tips on installation:

  • Remember to add $HOME/go/bin to your PATH so that you can run elvish directly.

  • If you want to install Elvish to a different place, follow these steps to set GOPATH, and Elvish will be installed to $GOPATH/bin instead.

Contributing to Elvish

See CONTRIBUTING.md for more notes for contributors.

You can’t perform that action at this time.