All Projects → elves → Elvish

elves / Elvish

Licence: bsd-2-clause
Elvish = Expressive Programming Language + Versatile Interactive Shell

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
HTML
75241 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects

Labels

Projects that are alternatives of or similar to Elvish

Bfs
A breadth-first version of the UNIX find command
Stars: ✭ 336 (-92.64%)
Mutual labels:  unix
Dragonflybsd
DragonFly BSD System Source Repository (read-only mirror)
Stars: ✭ 367 (-91.97%)
Mutual labels:  unix
Rm Protection
A safe alternative for "rm".
Stars: ✭ 416 (-90.89%)
Mutual labels:  unix
Libterm
iOS sandboxed terminal with Python, Lua and Clang
Stars: ✭ 348 (-92.38%)
Mutual labels:  unix
Learn Something Every Day
📝 A compilation of everything that I learn; Computer Science, Software Development, Engineering, Math, and Coding in General. Read the rendered results here ->
Stars: ✭ 362 (-92.08%)
Mutual labels:  unix
Ponyos
My Little Unix: Kernels are Magic!
Stars: ✭ 392 (-91.42%)
Mutual labels:  unix
Libuv
Cross-platform asynchronous I/O
Stars: ✭ 18,615 (+307.51%)
Mutual labels:  unix
Websync
websync is intended to be an rsync manager, where rsync tasks can be added, scheduled and maintained in a sane manner.
Stars: ✭ 432 (-90.54%)
Mutual labels:  unix
Qword
Operating system for x86_64 based around a "keep it simple and make it work" philosophy.
Stars: ✭ 367 (-91.97%)
Mutual labels:  unix
Aquila
AquilaOS: UNIX-like Operating System
Stars: ✭ 413 (-90.96%)
Mutual labels:  unix
Ecominit
eComInit is a free init system and service manager designed to scale from lightweight desktops to web-scale cloud deployments. It aims to offer feature-parity with systemd but with a modular, portable architecture compliant with software engineering best-practice.
Stars: ✭ 352 (-92.29%)
Mutual labels:  unix
Ast
AST - AT&T Software Technology
Stars: ✭ 359 (-92.14%)
Mutual labels:  unix
Dotfiles
My macOS environment: zsh, Git, Visual Studio Code, etc.
Stars: ✭ 405 (-91.13%)
Mutual labels:  unix
Tcl
The Tcl Core. (Mirror of core.tcl-lang.org)
Stars: ✭ 342 (-92.51%)
Mutual labels:  unix
Kirc
A tiny IRC client written in POSIX C99.
Stars: ✭ 416 (-90.89%)
Mutual labels:  unix
Pode
Pode is a Cross-Platform PowerShell web framework for creating REST APIs, Web Sites, and TCP/SMTP servers
Stars: ✭ 329 (-92.8%)
Mutual labels:  unix
Miktex
the MiKTeX source code
Stars: ✭ 385 (-91.57%)
Mutual labels:  unix
Bash Boilerplate
A collection of Bash scripts for creating safe and useful command line programs.
Stars: ✭ 447 (-90.21%)
Mutual labels:  unix
Jtc
JSON processing utility
Stars: ✭ 425 (-90.7%)
Mutual labels:  unix
Yaspin
A lightweight terminal spinner for Python with safe pipes and redirects 🎁
Stars: ✭ 413 (-90.96%)
Mutual labels:  unix

Elvish: Expressive Programming Language + Versatile Interactive Shell

CI status FreeBSD & gccgo test 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.

Visit the official website https://elv.sh for prebuilt binaries, blog posts, documentation and other resources.

User groups (all connected thanks to Matrix): Gitter Telegram Group #elvish on libera.chat #users:elves.sh

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].