7932f58201
Most of the places that need to directly call a function is in the edit package, which need to call user-defined callbacks. This change eliminates most call sites of NewTopFrame (including all call sites outside the eval package). Remove the function and inline it in the remaining few call sites. Remove NewTopFrame means that the eval package no longer offers other packages a way to construct Frame instances. This is intended: Frame is a relatively low-level concept, and all code outside the eval package now uses the more high-level Eval, Call, Check/CheckTree methods of *Evaler. The most notable exception is packages that implement modules; they may still use Frame to access the information kept in it, but they never construct Frame instances. In future, the Frame type can be changed to an interface. |
||
---|---|---|
cmd | ||
pkg | ||
tools | ||
website | ||
.appveyor.yml | ||
.cirrus.yml | ||
.codecov.yml | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
CONTRIBUTING.md | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
Makefile | ||
NEXT-RELEASE.md | ||
README.md |
Elvish: Friendly Interactive Shell and Expressive Programming Language
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.
Visit the official website https://elv.sh for prebuilt binaries, blog posts, documentation and other resources.
User groups (all connected with matterbridge):
Building Elvish
Most users can just use prebuilt binaries and do not need to build from source.
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.14.
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 yourPATH
so that you can runelvish
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.