This Elvish package contains various modules I have written for the Elvish shell. Themes and completions are kept in separate packages.
These modules are only guaranteed to be fully compatible with Elvish HEAD, which is what I use. This means that occasionally, they will not work even with the latest official release, when breaking changes are introduced. Since Elvish is in active development, I highly recommend you use the latest commit too.
To install, use epm:
use epm
epm:install github.com/zzamboni/elvish-modules
For each module you want to use, you need to add the following to your rc.elv
file:
use github.com/zzamboni/elvish-modules/<modulename>
See each module’s page for detailed usage instructions.
The following modules are included:
- 1pass
-
This module provides wrappers to use the 1Password
op
CLI tool with Elvish. - alias
-
Implementation of aliases for Elvish.
- atlas
-
Elvish functions for interacting with O’Reilly’s Atlas publishing system.
- bang-bang
-
Implement the
!!
(last command),!$
(last argument of last command),!*
(all arguments) and!<n>
(nth argument of last command) shortcuts in Elvish. - dir
-
Keep and move through the directory history, including a graphical chooser, similar to Elvish’s Location mode, but showing a chronological directory history instead of a weighted one.
- git-summary
-
Display a status summary of a user-defined list of git repositories.
- git-vcsh
-
Simple wrapper to call
vcsh
when the current directory is managed by it. I don’t use it anymore, so it may be broken. - iterm2
-
This library implements iTerm2’s Shell Integration for the Elvish shell.
- lazy-vars
-
A module that allows defining environment variables that are only evaluated when needed.
- leanpub
-
This module provides some interfaces to the LeanPub API.
- long-running-notifications
-
Produce notifications for long-running commands in Elvish.
- nix
-
Functions to set up the Nix environment variables for Elvish.
- opsgenie
-
This module implements a few common operations for the OpsGenie API in Elvish.
- prompt-hooks
-
Convenience functions to add hooks to the prompt hook lists.
- proxy
-
Manipulation of proxy-related environment variables (including auto-setting/unsetting based on a user-defined test) for Elvish.
- semver
-
Comparison of semantic version numbers, as described in the Semantic Versioning specification.
- spinners
-
Functions to print different types of progress spinners for use in Elvish scripts.
- terminal-title
-
Sets the terminal title dynamically using ANSI escape codes. By default the current directory is shown, and the name of the current command while one is executing.
- test
-
A very simplistic test framework for Elvish.
- tinytex
-
Convenience functions for TinyTeX.
- tty
-
Functions for terminal ANSI code manipulation/interaction in Elvish.
- util
-
Various utility functions.