Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LICENSE Init Oct 25, 2017


Emacs fish completion

This package extends the pcomplete completion framework with completion from the fish shell.

The fish shell has smart completion for a wide range of programs. fish does not require any special configuration to work with this package.

Eshell, which uses pcomplete for completion, can be made to fall back on fish when it does not find any completion candidate with its native completion support.

M-x shell can be made to use fish. This will disable the underlying shell completion.


To enable fish completion in all Eshell and M-x shell buffers, add this to your Emacs configuration:

(when (and (executable-find "fish")
           (require 'fish-completion nil t))

The condition will prevent the package from loading if fish is not found (change the executable name according to you local installation).

Alternatively, you can simply load the package with (require 'fish-completion) and call fish-completion-mode manually.

Optionally, if the package bash-completion is installed, fish-completion-complete can be configured to fall back on bash to further try completing. See fish-completion-fallback-on-bash-p.