Powerful scripting language & versatile interactive shell add sylixos support.
Go to file
2019-07-20 14:05:04 +01:00
_tests cli: Rename constructing functions to start with New. 2019-05-02 01:28:50 +01:00
_tools _tools/elvdoc: Support -R, like grep. 2018-11-19 22:18:41 +00:00
_website Fix the if-condition example in the language ref (#824) 2019-07-11 23:54:29 +01:00
buildinfo golint fixes. 2018-10-13 17:52:54 +01:00
cli cli: Make API for all listing modes consistent. 2019-07-20 14:05:04 +01:00
cliedit cli: Make API for all listing modes consistent. 2019-07-20 14:05:04 +01:00
daemon daemon: Unexport Service. 2018-10-13 18:51:47 +01:00
diag Implement Ranger for *diag.SourceRange and *eval.CompilationError. 2018-11-20 23:22:51 +00:00
edit Rename package edit/tty -> cli/term. 2019-05-13 22:37:43 +01:00
eval Fix typo in comments: received -> receives (#839) 2019-07-20 13:55:51 +01:00
getopt Cosmetics. 2018-01-01 15:12:34 +00:00
glob util: Change the API of WithTempDir and InTempDir. 2018-10-13 14:04:13 +01:00
parse parse: Name chain shift: ErrorEntry -> Error -> MultiError. 2018-11-19 23:05:05 +00:00
program Simplified Go code (#843) 2019-07-20 13:58:38 +01:00
runtime runtime: Kill outdated daemon with SIGINT, not SIGKILL. 2018-03-24 15:44:23 +00:00
store Simplified Go code (#843) 2019-07-20 13:58:38 +01:00
styled styled: Unstyled -> Plain; add a MakeText helper. 2019-04-25 22:04:20 +01:00
sys sys: use unix.IoctlGetWinsize and unix.Winsize (#792) 2019-01-29 18:01:58 -08:00
tt Introduce $nil as a valid value. 2019-04-07 22:54:51 +01:00
util Fix tests that leave behind test directories on Windows. 2019-03-18 22:25:24 +00:00
vendor Updating dependencies (#817) 2019-04-17 23:14:32 +02:00
.appveyor.yml Disable coverage upload on AppVeyor. 2018-09-21 00:41:53 +01: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 .gitignore: Add /_bin/. 2018-09-24 22:20:50 +01:00
.travis.yml Convert to Go modules 2019-04-06 15:59:38 +01:00
.vsts.sh Attempt #4 to fix .vsts.sh. 2018-06-07 00:33:21 +01:00
CONTRIBUTING.md Move building instructions back into README.md. 2018-10-21 20:49:28 +01:00
Dockerfile Update Dockerfile. 2018-10-22 23:51:09 +01:00
go.mod Updating dependencies (#817) 2019-04-17 23:14:32 +02:00
go.sum Updating dependencies (#817) 2019-04-17 23:14:32 +02:00
LICENSE Project rename: das -> elvish 2014-01-29 18:44:07 +08:00
logo.svg _website: Inline CSS and JS. 2018-11-06 22:52:04 +00:00
main.go New title and description. 2017-12-31 21:25:20 +00:00
Makefile Simplify coverage deployment scripts for Travis. 2018-09-14 13:48:34 +01:00
README.md README: Update Go version requirement. 2019-04-27 14:15:03 +01:00

Elvish: Friendly Interactive Shell and Expressive Programming Language

Build Status on Travis Build status on AppVeyor 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, you need

  • Linux, {Free,Net,Open}BSD, macOS, or Windows (Windows support is experimental).

  • Go >= 1.11.

If you have not done so, first set up your environment by following How To Write Go Code.

There are two ways to build Elvish. You can build it directly with go get:

go get github.com/elves/elvish

However, binaries built in this way lacks some build-time information; for instance, elvish -version will show unknown. To add such information, use make:

cd `go env GOPATH`/src/github.com/elves/elvish
make get

In either cases, the binary is placed in $GOPATH/bin. Consider adding it to your $PATH if you want to run the Elvish binary you just built by just typing elvish.

See CONTRIBUTING.md for more notes for contributors. You can also join one of the developer groups (also connected together by matterbridge): Gitter for Developers Telegram Group for Developers #elvish-dev on freenode