3ded2fb772
Rather than having specialized commands make a `file:pipe` object indexable so we can use the generic `file:close` command. This does not address existing problems; such as builtins not failing when writing to a `file:pipe` object if the read-end is closed. Related #1316 |
||
---|---|---|
.github/workflows | ||
cmd | ||
pkg | ||
tools | ||
website | ||
.cirrus.yml | ||
.codecov.yml | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
0.16.0-release-notes.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
PACKAGING.md | ||
README.md |
Elvish: Expressive Programming Language + Versatile Interactive Shell
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):
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.