mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-23 06:00:41 -08:00
Restructure Eshell extension modules documentation
This adds a section for documenting all the optional modules. * doc/misc/eshell.texi (Extension modules): Move explanation about writing modules to... (Writing a module): ... here. (Module testing): Remove. Testing an Eshell module doesn't require any special documentation. (Key binding, Smart scrolling, Electric forward slash): Move under... (Optional modules): ... here. (Directory handling, Terminal emulation): Remove. These modules are enabled by default, and so are documented above. (Tramp extensions, Extra built-in commands): New sections.
This commit is contained in:
parent
194de36ca9
commit
f2981a1681
1 changed files with 44 additions and 42 deletions
|
|
@ -2019,66 +2019,38 @@ at the end of the command are excluded. This allows input like this:
|
|||
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.@footnote{ERC provides a similar module facility.} An Eshell
|
||||
module is defined the same as any other library but one requirement: the
|
||||
module must define a Customize@footnote{@xref{Customization, , ,
|
||||
elisp, The Emacs Lisp Reference Manual}.}
|
||||
group using @code{eshell-defgroup} (in place of @code{defgroup}) with
|
||||
@code{eshell-module} as the parent group.@footnote{If the module has
|
||||
no user-customizable options, then there is no need to define it as an
|
||||
Eshell module.} You also need to load the following as shown:
|
||||
|
||||
@example
|
||||
(eval-when-compile
|
||||
(require 'cl-lib)
|
||||
(require 'esh-mode)
|
||||
(require 'eshell))
|
||||
|
||||
(require 'esh-util)
|
||||
@end example
|
||||
modules.@footnote{ERC provides a similar module facility.}
|
||||
|
||||
@menu
|
||||
* Optional modules::
|
||||
* Writing a module::
|
||||
* Module testing::
|
||||
* Directory handling::
|
||||
* Key rebinding::
|
||||
* Smart scrolling::
|
||||
* Terminal emulation::
|
||||
* Electric forward slash::
|
||||
@end menu
|
||||
|
||||
@node Writing a module
|
||||
@section Writing a module
|
||||
@node Optional modules
|
||||
@section Optional modules
|
||||
|
||||
This section is not yet written.
|
||||
|
||||
@node Module testing
|
||||
@section Module testing
|
||||
|
||||
This section is not yet written.
|
||||
|
||||
@node Directory handling
|
||||
@section Directory handling
|
||||
|
||||
This section is not yet written.
|
||||
@menu
|
||||
* Key rebinding::
|
||||
* Smart scrolling::
|
||||
* Electric forward slash::
|
||||
* Tramp extensions::
|
||||
* Extra built-in commands::
|
||||
@end menu
|
||||
|
||||
@node Key rebinding
|
||||
@section Key rebinding
|
||||
@subsection Key rebinding
|
||||
|
||||
This section is not yet written.
|
||||
|
||||
@node Smart scrolling
|
||||
@section Smart scrolling
|
||||
|
||||
This section is not yet written.
|
||||
|
||||
@node Terminal emulation
|
||||
@section Terminal emulation
|
||||
@subsection Smart scrolling
|
||||
|
||||
This section is not yet written.
|
||||
|
||||
@node Electric forward slash
|
||||
@section Electric forward slash
|
||||
@subsection Electric forward slash
|
||||
|
||||
To help with supplying absolute file name arguments to remote
|
||||
commands, you can add the @code{eshell-elecslash} module to
|
||||
|
|
@ -2132,6 +2104,36 @@ when chaining commands with the operators @code{&&}, @code{||},
|
|||
@code{|} and @code{;}, the electric forward slash is active only
|
||||
within the first command.
|
||||
|
||||
@node Tramp extensions
|
||||
@subsection Tramp extensions
|
||||
|
||||
This section is not yet written.
|
||||
|
||||
@node Extra built-in functions
|
||||
@subsection Extra built-in functions
|
||||
|
||||
This section is not yet written.
|
||||
|
||||
@node Writing a module
|
||||
@section Writing a module
|
||||
|
||||
An Eshell module is defined the same as any other library but one requirement: the
|
||||
module must define a Customize@footnote{@xref{Customization, , ,
|
||||
elisp, The Emacs Lisp Reference Manual}.}
|
||||
group using @code{eshell-defgroup} (in place of @code{defgroup}) with
|
||||
@code{eshell-module} as the parent group.@footnote{If the module has
|
||||
no user-customizable options, then there is no need to define it as an
|
||||
Eshell module.} You also need to load the following as shown:
|
||||
|
||||
@example
|
||||
(eval-when-compile
|
||||
(require 'cl-lib)
|
||||
(require 'esh-mode)
|
||||
(require 'eshell))
|
||||
|
||||
(require 'esh-util)
|
||||
@end example
|
||||
|
||||
@node Bugs and ideas
|
||||
@chapter Bugs and ideas
|
||||
@cindex reporting bugs and ideas
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue