Files
doomemacs/modules/term/eshell
Leo Okawa Ericson db83e94bad Remove dependence on company for fish and bash completion
Bash and fish completion work without company, e.g. when the user uses
the minibuffer for completion.
2021-06-09 10:27:01 +02:00
..
2020-12-29 21:14:30 +01:00

term/eshell

Description

This module provides additional features for the built-in Emacs Shell

The Emacs Shell or eshell is a shell-like command interpreter implemented in Emacs Lisp. It is an alternative to traditional shells such as bash, zsh, fish, etc. that is built into Emacs and entirely cross-platform.

Maintainers

This module has no dedicated maintainers.

Module Flags

This module provides no flags, but does gain auto-completion if :completion company is enabled.

Hacks

  • Even with fish-completion-fallback-on-bash-p non-nil, fish must be installed for bash completion to work. Workaround in config.el.
  • eshell-did-you-mean does not work on first invocation, so we manually invoke it once.

Prerequisites

fish shell for completions, falling back to bash shell if fish is not found. If neither shell is found, completions may not be available.

Features

  • Command completion with Company
  • fish-style prompt with Git integration
  • z-like directory jumping
  • Command-not-found recommendations

Configuration

TERM name

By default, eshell sets the $TERM variable to "xterm-256color", which helps with rendering various colours. As eshell is not a terminal emulator, these will not always work 100%. Modifying eshell-term-name to your liking may help.

TODO Troubleshooting