elvish-completions icon indicating copy to clipboard operation
elvish-completions copied to clipboard

Completer definitions for Elvish

Created 2021-03-29 Mon 10:26

#+TITLE: Elvish completions #+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 completions I and others have written for the [[https://elv.sh/][Elvish shell]].

  • 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 and use

To install, use [[https://elv.sh/ref/epm.html][epm]]:

#+begin_src elvish use epm epm:install github.com/zzamboni/elvish-completions #+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-completions/ #+end_src

See each module's page for detailed usage instructions.

  • Modules included

The following modules are included:

#+results: :results:

  • [[file:builtins.org][builtins]] :: #+name: module-summary Completions for some of Elvish's built-in commands, including =use=, the =epm= module and =elvish= itself.

  • [[file:cd.org][cd]] :: #+name: module-summary Completes directory names for the =cd= command.

  • [[file:comp.org][comp]] :: #+name: module-summary A framework to easily define [[https://elvish.io/ref/edit.html#completion-api][argument completers]] in Elvish. Used to implement most other modules in this repository. For a getting-started tutorial, see http://zzamboni.org/post/using-and-writing-completions-in-elvish/.

  • [[file:dd.org][dd]] :: #+name: module-summary Completions for =dd=, including operands, conversions, and flags.

  • [[file:evemu.org][evemu]] :: #+name: module-summary Completions for [[https://gitlab.freedesktop.org/libevdev/evtest][=evtest=]] and the [[https://www.freedesktop.org/wiki/Evemu/][=evemu=]] set of tools, which assist in debugging and emulating the [[https://www.kernel.org/doc/html/latest/input/input_uapi.html][Linux input subsystem]].

  • [[file:git.org][git]] :: #+name: module-summary Completions for =git=, including automatically generated completions for both subcommands and command-line options.

  • [[file:ssh.org][ssh]] :: #+name: module-summary Completions for =ssh=, =scp= and =sftp=.

  • [[file:vcsh.org][vcsh]] :: #+name: module-summary Completions for [[https://github.com/RichiH/vcsh][vcsh]]. :END: