github.com/xiaq/elvish@v0.12.0/README.md (about)

     1  # Elvish: Friendly and Expressive Shell
     2  
     3  [![logo](https://elv.sh/assets/logo.svg)](https://elv.sh/)
     4  
     5  Elvish is a cross-platform shell, supporting Linux, BSDs and Windows. It features an expressive programming language, with features like namespacing and anonymous functions, and a fully programmable user interface with friendly defaults. It is suitable for both interactive use and scripting.
     6  
     7  ... which is not 100% true yet. Elvish is already suitable for most daily interactive use, but it is neither complete nor stablized. Contributions are more than welcome!
     8  
     9  This README documents the development aspect of Elvish. Other information is to be found on the [website](https://elv.sh).
    10  
    11  [![Build Status on Travis](https://img.shields.io/travis/elves/elvish.svg?logo=travis&label=linux%20%26%20macOS)](https://travis-ci.org/elves/elvish)
    12  [![Build status on AppVeyor](https://img.shields.io/appveyor/ci/xiaq/elvish.svg?logo=appveyor&label=windows)](https://ci.appveyor.com/project/xiaq/elvish)
    13  [![Build Status on VSTS](https://img.shields.io/vso/build/xiaq/13c48a6c-b2dc-472e-af6c-169bf448f8e6/1.svg?logo=tfs&label=macOS)](https://xiaq.visualstudio.com/elvish/_build)
    14  [![Code Coverage on codecov.io](https://img.shields.io/codecov/c/github/elves/elvish.svg?label=codecov)](https://codecov.io/gh/elves/elvish)
    15  [![Code Coverage on coveralls.io](https://img.shields.io/coveralls/github/elves/elvish.svg?label=coveralls)](https://coveralls.io/github/elves/elvish)
    16  [![Go Report Card](https://goreportcard.com/badge/github.com/elves/elvish)](https://goreportcard.com/report/github.com/elves/elvish)
    17  [![GoDoc](https://img.shields.io/badge/godoc-api-blue.svg)](http://godoc.org/github.com/elves/elvish)
    18  [![License](https://img.shields.io/badge/BSD-2--clause-blue.svg)](https://github.com/elves/elvish/blob/master/LICENSE)
    19  
    20  [![Gitter](https://img.shields.io/badge/gitter-elvish--public-blue.svg?logo=gitter-white)](https://gitter.im/elves/elvish-public)
    21  [![Telegram Group](https://img.shields.io/badge/telegram-@elvish-blue.svg)](https://telegram.me/elvish)
    22  [![#elvish on freenode](https://img.shields.io/badge/freenode-%23elvish-blue.svg)](https://webchat.freenode.net/?channels=elvish)
    23  [![Gitter for Developers](https://img.shields.io/badge/gitter-elvish--dev-000000.svg?logo=gitter-white)](https://gitter.im/elves/elvish-dev)
    24  [![Telegram Group for Developers](https://img.shields.io/badge/telegram-@elvish__dev-000000.svg)](https://telegram.me/elvish_dev)
    25  [![#elvish-dev on freenode](https://img.shields.io/badge/freenode-%23elvish--dev-000000.svg)](https://webchat.freenode.net/?channels=elvish-dev)
    26  [![Twitter](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/RealElvishShell)
    27  
    28  
    29  ## Building Elvish
    30  
    31  To build Elvish, you need
    32  
    33  *   Linux, {Free,Net,Open}BSD, macOS, or Windows (Windows support is experimental).
    34  
    35  *   Go >= 1.9.
    36  
    37  Once you have a suitable environment, simply build Elvish with `go get`:
    38  
    39  ```sh
    40  go get github.com/elves/elvish
    41  ```
    42  
    43  The binary will be placed in `$GOPATH/bin`. If you haven't configured a
    44  `GOPATH`, it defaults to `~/go`. Refer to [How To Write Go
    45  Code](http://golang.org/doc/code.html) on how to set up workspace for Go.
    46  
    47  
    48  Users of macOS can also build Elvish using [Homebrew](http://brew.sh):
    49  
    50  ```sh
    51  brew install --HEAD elvish
    52  ```
    53  
    54  
    55  ## Contributing
    56  
    57  See [CONTRIBUTING.md](CONTRIBUTING.md).
    58  
    59  
    60  ## Name
    61  
    62  In [roguelikes](https://en.wikipedia.org/wiki/Roguelike), items made by the elves have a reputation of high quality. These are usually called *elven* items, but I chose "elvish" because it ends with "sh", a long tradition of Unix shells. It also rhymes with [fish](https://fishshell.com), one of the shells that influenced the philosophy of Elvish.
    63  
    64  The word "Elvish" should be capitalized like a proper noun. However, when referring to the `elvish` command, use it in lower case with fixed-width font.
    65  
    66  Whoever practices the Elvish way by either contributing to it or simply using it is called an **Elf**. (You might have guessed this from the name of the GitHub organization.) The official adjective for Elvish (as in "Pythonic" for Python, "Rubyesque" for Ruby) is **Elven**.