doomemacs/modules/term/eshell
Henrik Lissner 0407621aff
refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES
To reduce redundancy, remove the maintenance hassle that version
constants would impose later on, and rely on built-in
facilities (featurep) more over global variables or doomisms, these
global constants have been deprecated in favor of Emacs "features":

- EMACS28+   -- replace with (> emacs-major-version 27)
- EMACS29+   -- replace with (> emacs-major-version 28)
- NATIVECOMP -- replace with (featurep 'native-compile)
- MODULES    -- replace with (featurep 'dynamic-modules)

(These constants will be formally removed when v3 is released. The IS-*
constants are likely next, but I haven't decided on their substitutes
yet)

I also decided to follow native-compile's example and provide features
for Emacs' system features (since system-configuration-features' docs
outs itself as a poor method to detect features):

- dynamic-modules
- jansson
- native-compile -- this one already exists, but will instead be removed
  if it's non-functional; i.e. (native-comp-available-p) returns nil.

These are now detectable using featurep, which is fast and built-in.
2022-08-14 20:43:35 +02:00
..
autoload refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES 2022-08-14 20:43:35 +02:00
config.el refactor(eshell,term): move hscroll-margin settings 2022-03-31 14:05:45 +02:00
packages.el bump: :term 2021-12-14 01:21:33 +01:00
README.org revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00

:term eshell

Description   unfold

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.

Module flags

This module has no flags.

Hacks

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

TODO Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

This module requires either Fish shell or Bash for code completion.

TODO Usage

🔨 This module's usage documentation is incomplete. Complete it?

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

TODO Configuration

🔨 This module's configuration documentation is incomplete. Complete it?

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.

Troubleshooting

There are no known problems with this module. Report one?

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

🔨 This module has no appendix yet. Write one?