Fără Descriere

Qi Xiao 7a806b7ea2 Add "apk add git" to GitLab CI. 2 ani în urmă
.github 9185e04b69 Add a tool to check "forbidden" content. 2 ani în urmă
cmd 33a04f8dc1 Revamp flag handling in pkg/prog. 2 ani în urmă
pkg e2901118a5 Simplify terminal setup functions. 2 ani în urmă
tools 603aae077d Improve searching PATH on Windows for completions 2 ani în urmă
website 2402407239 fundamentals.md: Fix math:pow command and introduce modules. 2 ani în urmă
.cirrus.yml 167bbf1e03 Bump gccgo to 11 2 ani în urmă
.codecov.yml a42b29802a Update .codecov.yml with file rename. 2 ani în urmă
.codespellrc 4d62732ebc Fix "indicies" -> indices. 2 ani în urmă
.dockerignore f9302b1456 Update .dockerignore. 5 ani în urmă
.gitattributes 615cbc2d0b Use .gitattributes to filter go sources through goimports 10 ani în urmă
.gitignore 844a1fedb2 Handle AltGr key combinations on Windows 2 ani în urmă
.gitlab-ci.yml 7a806b7ea2 Add "apk add git" to GitLab CI. 2 ani în urmă
.prettierrc 1d36d299b8 Put flags for prettier in .prettierrc. 2 ani în urmă
0.18.0-release-notes.md 78e703ccaa Update doc for changes in the try syntax. 2 ani în urmă
CONTRIBUTING.md 9cf2cfffa6 Cleanups to rc.elv references 2 ani în urmă
Dockerfile aaa4d2a431 Lock image versions in Dockerfile 3 ani în urmă
LICENSE c1711bbd0a Project rename: das -> elvish 10 ani în urmă
Makefile dc700611cf Fix "make get" on Windows. 2 ani în urmă
PACKAGING.md 5724ec4c47 Fix typos and add codespell to CI 2 ani în urmă
README.md 979c9a0ebd Add more links to more website pages, not just ref/command.html. 2 ani în urmă
SECURITY.md 1d62b0d68b Add a security policy doc. 2 ani în urmă
go.mod 5f1673c6c4 Use go-cmp to report unexpected test results. 2 ani în urmă
go.sum 5f1673c6c4 Use go-cmp to report unexpected test results. 2 ani în urmă

README.md

Elvish: Expressive Programming Language + Versatile Interactive Shell

CI status Test Coverage Go Reference Packaging status 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.

User groups (all connected thanks to Matrix): Gitter Telegram Group

Documentation

Documentation for Elvish lives on the official website https://elv.sh, including:

The source for the documentation is in the website directory.

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 10.

    NOTE: Windows 10 support is experimental.

  • Go >= 1.16.

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 (or $GOPATH/bin if you have set $GOPATH). You might want to add the directory to your PATH.

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

make get ELVISH_MAKE_BIN=./elvish # Install to the repo root
make get ELVISH_MAKE_BIN=/usr/local/bin/elvish # Install to /usr/local/bin

Experimental plugin support

Elvish has experimental support for building and importing plugins, modules written in Go.

However, since plugin support relies on dynamic linking, it is not enabled in the official prebuilt binaries. You need to build Elvish from source, with ELVISH_PLUGIN_SUPPORT=1:

make get ELVISH_PLUGIN_SUPPORT=1

To build a plugin, see this example.

Packaging Elvish

See PACKAGING.md for notes for packagers.

Contributing to Elvish

See CONTRIBUTING.md for notes for contributors.