Next: Bugs and ideas, Previous: Input/Output, Up: Top [Contents][Index]
Eshell provides a facility for defining extension modules so that they
can be disabled and enabled without having to unload and reload them,
and to provide a common parent Customize group for the
modules.9 An Eshell
module is defined the same as any other library but one requirement: the
module must define a Customize10
group using eshell-defgroup
(in place of defgroup
) with
eshell-module
as the parent group.11 You also need to load the following as shown:
(eval-when-compile (require 'cl-lib) (require 'esh-mode) (require 'eshell)) (require 'esh-util)
• Writing a module: | ||
• Module testing: | ||
• Directory handling: | ||
• Key rebinding: | ||
• Smart scrolling: | ||
• Terminal emulation: |
ERC provides a similar module facility.
See Customization in The Emacs Lisp Reference Manual.
If the module has no user-customizable options, then there is no need to define it as an Eshell module.