aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc_src/functions.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc_src/functions.txt')
-rw-r--r--doc_src/functions.txt52
1 files changed, 36 insertions, 16 deletions
diff --git a/doc_src/functions.txt b/doc_src/functions.txt
index 928cd545..c1f0115e 100644
--- a/doc_src/functions.txt
+++ b/doc_src/functions.txt
@@ -1,31 +1,51 @@
\section functions functions - print or erase functions
\subsection function-synopsis Synopsis
-<code>functions [-e] FUNCTIONS...</code>
+<pre>functions [-n]
+functions -c OLDNAME NEWNAME
+functions -d DESCRIPTION FUNCTION
+functions [-eq] FUNCTIONS...</pre>
\subsection functions-description Description
-This builtin command is used to print or erase functions.
+\c functions prints or erases functions.
-- <code>-a</code> or <code>--all</code> list all functions, even those whose name start with an underscore.
+The following options are available:
+
+- <code>-a</code> or <code>--all</code> lists all functions, even those whose name start with an underscore.
- <code>-c OLDNAME NEWNAME</code> or <code>--copy OLDNAME NEWNAME</code> creates a new function named NEWNAME, using the definition of the OLDNAME function.
-- <code>-d DESCRIPTION</code> or <code>--description=DESCRIPTION</code> change the description of this function
+- <code>-d DESCRIPTION</code> or <code>--description=DESCRIPTION</code> changes the description of this function.
- <code>-e</code> or <code>--erase</code> causes the specified functions to be erased.
-- <code>-h</code> or <code>--help</code> display a help message and exit
-- <code>-n</code> or <code>--names</code> list only the names of all defined functions, not their definition
-- <code>-q</code> or <code>--query</code> test if the specified functions exist. Does not output anything, but the builtins exit status is the number of functions specified that were not defined.
+- <code>-h</code> or <code>--help</code> displays a help message and exits.
+- <code>-n</code> or <code>--names</code> lists the names of all defined functions.
+- <code>-q</code> or <code>--query</code> tests if the specified functions exist.
+
+The default behavior of <code>functions</code>, when called with no arguments,
+is to print the names of all defined functions. Unless the \c -a option is
+given, no functions starting with underscores are not included in the output.
-The default behavior of \c functions when called with no arguments,
-is to print the names and definitions of all defined functions. If any
-non-switch parameters are given, only the definition of the specified
+If any non-option parameters are given, the definition of the specified
functions are printed.
-Automatically loaded functions can not be removed using functions
--e. Either remove the definition file or change the
+Automatically loaded functions cannot be removed using <code>functions
+-e</code>. Either remove the definition file or change the
$fish_function_path variable to remove autoloaded functions.
-Function copies, created with -c, will not have any event/signal/on-exit
-notifications that the original may have had.
+Copying a function using \c -c copies only the body of the function, and
+does not attach any event notifications from the original function.
+
+Only one function's description can be changed in a single invocation
+of <code>functions -d</code>.
+
+The exit status of \c functions is the number of functions
+specified in the argument list that do not exist, which can be used in
+concert with the \c -q option.
+
+\subsection functions-example Examples
+
+<code>functions -n</code> displays a list of currently-defined functions.
+
+<code>functions -c foo bar</code> copies the \c foo function to a new function called
+<code>bar</code>.
-The exit status of the functions builtin is the number functions
-specified in the argument list that do not exist.
+<code>functions -e bar</code> erases the function <code>bar</code>.