mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-23 14:10:28 -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
|
Eshell provides a facility for defining extension modules so that they
|
||||||
can be disabled and enabled without having to unload and reload them,
|
can be disabled and enabled without having to unload and reload them,
|
||||||
and to provide a common parent Customize group for the
|
and to provide a common parent Customize group for the
|
||||||
modules.@footnote{ERC provides a similar module facility.} An Eshell
|
modules.@footnote{ERC provides a similar module facility.}
|
||||||
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
|
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
|
* Optional modules::
|
||||||
* Writing a module::
|
* Writing a module::
|
||||||
* Module testing::
|
|
||||||
* Directory handling::
|
|
||||||
* Key rebinding::
|
|
||||||
* Smart scrolling::
|
|
||||||
* Terminal emulation::
|
|
||||||
* Electric forward slash::
|
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Writing a module
|
@node Optional modules
|
||||||
@section Writing a module
|
@section Optional modules
|
||||||
|
|
||||||
This section is not yet written.
|
This section is not yet written.
|
||||||
|
|
||||||
@node Module testing
|
@menu
|
||||||
@section Module testing
|
* Key rebinding::
|
||||||
|
* Smart scrolling::
|
||||||
This section is not yet written.
|
* Electric forward slash::
|
||||||
|
* Tramp extensions::
|
||||||
@node Directory handling
|
* Extra built-in commands::
|
||||||
@section Directory handling
|
@end menu
|
||||||
|
|
||||||
This section is not yet written.
|
|
||||||
|
|
||||||
@node Key rebinding
|
@node Key rebinding
|
||||||
@section Key rebinding
|
@subsection Key rebinding
|
||||||
|
|
||||||
This section is not yet written.
|
This section is not yet written.
|
||||||
|
|
||||||
@node Smart scrolling
|
@node Smart scrolling
|
||||||
@section Smart scrolling
|
@subsection Smart scrolling
|
||||||
|
|
||||||
This section is not yet written.
|
|
||||||
|
|
||||||
@node Terminal emulation
|
|
||||||
@section Terminal emulation
|
|
||||||
|
|
||||||
This section is not yet written.
|
This section is not yet written.
|
||||||
|
|
||||||
@node Electric forward slash
|
@node Electric forward slash
|
||||||
@section Electric forward slash
|
@subsection Electric forward slash
|
||||||
|
|
||||||
To help with supplying absolute file name arguments to remote
|
To help with supplying absolute file name arguments to remote
|
||||||
commands, you can add the @code{eshell-elecslash} module to
|
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
|
@code{|} and @code{;}, the electric forward slash is active only
|
||||||
within the first command.
|
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
|
@node Bugs and ideas
|
||||||
@chapter Bugs and ideas
|
@chapter Bugs and ideas
|
||||||
@cindex reporting bugs and ideas
|
@cindex reporting bugs and ideas
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue