Powerful scripting language & versatile interactive shell add sylixos support.
Go to file
Qi Xiao 0a5057a64d Add 'pkg/persistent/' from commit '8ed0fbdb11911ed89129a090bcc1562f3a759481'
git-subtree-dir: pkg/persistent
git-subtree-mainline: 543b123661
git-subtree-split: 8ed0fbdb11
2021-05-03 22:13:15 +01:00
.github/workflows Tweak the sourcegraph action. 2021-02-21 23:51:08 +00:00
cmd pkg/cli: Simplify the TTY interface by making it embed term.Writer. 2021-03-19 21:40:32 +00:00
pkg Add 'pkg/persistent/' from commit '8ed0fbdb11911ed89129a090bcc1562f3a759481' 2021-05-03 22:13:15 +01:00
tools tools/buildall.sh: Avoid the unportable "echo -n". 2021-02-06 22:44:58 +00:00
website Merge pull request #1291 from krader1961/edit-command-doc-fix 2021-05-01 19:30:38 -04:00
.cirrus.yml Followups for the CI migration. 2021-02-10 23:50:21 +00:00
.codecov.yml Copy and trim down the net/rpc package. 2021-01-30 23:56:58 +00:00
.dockerignore Update .dockerignore. 2018-10-16 10:19:20 +01:00
.gitattributes Use .gitattributes to filter go sources through goimports 2014-02-10 12:41:16 +08:00
.gitignore Rename coverage file to "cover". 2020-08-16 17:04:02 +01:00
0.16.0-release-notes.md Minor fixup for #1274. 2021-05-02 00:22:28 +01:00
CONTRIBUTING.md Document style guide for the doc comment of unexported types and functions. 2020-08-16 14:00:04 +01:00
Dockerfile Lock image versions in Dockerfile 2021-03-19 23:14:10 +00:00
go.mod Require Go >= 1.15.0 to build. 2021-02-17 22:40:35 +00:00
go.sum Make website/ its own Go module. 2021-01-28 11:02:30 +00:00
LICENSE Project rename: das -> elvish 2014-01-29 18:44:07 +08:00
Makefile Makefile: diff against HEAD to decide if the repo is dirty. 2021-02-11 01:52:10 +00:00
NEXT-RELEASE.md website: Update the get page. 2021-02-15 21:21:41 +00:00
PACKAGING.md PACKAGING.md: The guide applies to releases from 0.16.0, not 0.15.0 2021-01-31 02:32:04 +00:00
README.md Document new Matrix room. 2021-02-18 10:57:54 +00:00

Elvish: Expressive Programming Language + Versatile Interactive Shell

CI status FreeBSD test status gccgo test status Test Coverage Go Report Card GoDoc Twitter

Elvish is an expressive programming language and a versatile interactive shell, combined into one seamless package. It runs on Linux, BSDs, macOS and Windows.

Despite its pre-1.0 status, it is already suitable for most daily interactive use.

Visit the official website https://elv.sh for prebuilt binaries, blog posts, documentation and other resources.

User groups (all connected thanks to Matrix): Gitter Telegram Group #elvish on freenode #users:elves.sh

Building Elvish

Most users do not need to build Elvish from source. Prebuilt binaries for the latest commit are provided for Linux amd64, macOS amd64, Windows amd64, and many other platforms.

To build Elvish from source, you need

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

    NOTE: Windows support is experimental, and only Windows 10 is supported.

  • Go >= 1.15.

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; you might want to add it to your PATH.

To install it elsewhere, override GOBIN in the make command:

make get GOBIN=$PWD # Install to the repo root (use $pwd if running in Elvish)
make get GOBIN=/usr/local/bin # Install to /usr/local/bin

Note that GOBIN must be an absolute path.

Packaging Elvish

See PACKAGING.md for notes for packagers.

Contributing to Elvish

See CONTRIBUTING.md for notes for contributors.