elvish-modules
elvish-modules copied to clipboard
Various modules for Elvish
Created 2021-05-12 Wed 00:27
#+TITLE: zzamboni's Elvish libraries #+AUTHOR: Diego Zamboni #+macro: module-summary (eval (org-export-string-as (concat "- [[file:" $1 ".org][" $1 "]] :: \n #+include: " $1 ".org::module-summary\n") 'org t)) #+export_file_name: README.org
This Elvish package contains various modules I have written for the [[https://elv.sh/][Elvish shell]]. [[https://github.com/zzamboni/elvish-themes/][Themes]] and [[https://github.com/zzamboni/elvish-completions][completions]] are kept in separate packages.
- Compatibility
These modules are only guaranteed to be fully compatible with [[https://elv.sh/get/][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.
- Installation
To install, use [[https://elvish.io/ref/epm.html][epm]]:
#+begin_src elvish use epm epm:install github.com/zzamboni/elvish-modules #+end_src
For each module you want to use, you need to add the following to your =rc.elv= file:
#+begin_src elvish
use github.com/zzamboni/elvish-modules/
See each module's page for detailed usage instructions.
- Modules
The following modules are included:
#+results: :results:
-
[[file:1pass.org][1pass]] :: #+name: module-summary This module provides wrappers to use the 1Password =op= CLI tool with Elvish.
-
[[file:alias.org][alias]] :: #+name: module-summary Implementation of aliases for [[http://elvish.io][Elvish]].
-
[[file:atlas.org][atlas]] :: #+name: module-summary Elvish functions for interacting with O'Reilly's [[https://atlas.oreilly.com/][Atlas]] publishing system.
-
[[file:bang-bang.org][bang-bang]] :: #+name: module-summary Implement the =!!= (last command), =!$= (last argument of last command), ~!*~ (all arguments) and =!
= (nth argument of last command) shortcuts in Elvish. -
[[file:dir.org][dir]] :: #+name: module-summary 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.
-
[[file:git-summary.org][git-summary]] :: #+name: module-summary Display a status summary of a user-defined list of git repositories.
-
[[file:git-vcsh.org][git-vcsh]] :: #+name: module-summary Simple wrapper to call =vcsh= when the current directory is managed by it. I don't use it anymore, so it may be broken.
-
[[file:iterm2.org][iterm2]] :: #+name: module-summary This library implements iTerm2's [[https://iterm2.com/documentation-shell-integration.html][Shell Integration]] for the [[https://elv.sh/][Elvish]] shell.
-
[[file:lazy-vars.org][lazy-vars]] :: #+name: module-summary A module that allows defining environment variables that are only evaluated when needed.
-
[[file:leanpub.org][leanpub]] :: #+name: module-summary This module provides some interfaces to the [[https://leanpub.com/help/api][LeanPub API]].
-
[[file:long-running-notifications.org][long-running-notifications]] :: #+name: module-summary Produce notifications for long-running commands in Elvish.
-
[[file:nix.org][nix]] :: #+name: module-summary Functions to set up the Nix environment variables for Elvish.
-
[[file:opsgenie.org][opsgenie]] :: #+name: module-summary This module implements a few common operations for the [[https://docs.opsgenie.com/docs/api-overview][OpsGenie API]] in Elvish.
-
[[file:prompt-hooks.org][prompt-hooks]] :: #+name: module-summary Convenience functions to add hooks to the prompt hook lists.
-
[[file:proxy.org][proxy]] :: #+name: module-summary Manipulation of proxy-related environment variables (including auto-setting/unsetting based on a user-defined test) for [[http://elvish.io][Elvish]].
-
[[file:semver.org][semver]] :: #+name: module-summary Comparison of semantic version numbers, as described in [[https://semver.org/#spec-item-11][the Semantic Versioning specification]].
-
[[file:spinners.org][spinners]] :: #+name: module-summary Functions to print different types of progress spinners for use in Elvish scripts.
-
[[file:terminal-title.org][terminal-title]] :: #+name: module-summary 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.
-
[[file:test.org][test]] :: #+name: module-summary A very simplistic test framework for Elvish.
-
[[file:tinytex.org][tinytex]] :: #+name: module-summary Convenience functions for [[https://yihui.org/tinytex/][TinyTeX]].
-
[[file:tty.org][tty]] :: #+name: module-summary Functions for terminal ANSI code manipulation/interaction in Elvish.
-
[[file:util.org][util]] :: #+name: module-summary Various utility functions. :END: