fish-shell/doc_src/functions.txt

53 lines
2.0 KiB
Plaintext
Raw Normal View History

\section functions functions - print or erase functions
\subsection functions-synopsis Synopsis
2014-08-01 20:25:41 +08:00
\fish{synopsis}
2014-08-27 02:19:24 +08:00
functions [ -a | --all ] [ -n | --names ]
functions -c OLDNAME NEWNAME
functions -d DESCRIPTION FUNCTION
2014-08-27 02:19:24 +08:00
functions [ -e | -q ] FUNCTIONS...
\endfish
\subsection functions-description Description
`functions` prints or erases functions.
The following options are available:
- `-a` or `--all` lists all functions, even those whose name start with an underscore.
- `-c OLDNAME NEWNAME` or `--copy OLDNAME NEWNAME` creates a new function named NEWNAME, using the definition of the OLDNAME function.
- `-d DESCRIPTION` or `--description=DESCRIPTION` changes the description of this function.
- `-e` or `--erase` causes the specified functions to be erased.
- `-n` or `--names` lists the names of all defined functions.
- `-q` or `--query` tests if the specified functions exist.
The default behavior of `functions`, when called with no arguments, is to print the names of all defined functions. Unless the `-a` option is given, no functions starting with underscores are not included in the output.
If any non-option parameters are given, the definition of the specified functions are printed.
Automatically loaded functions cannot be removed using `functions -e`. Either remove the definition file or change the $fish_function_path variable to remove autoloaded functions.
Copying a function using `-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 `functions -d`.
The exit status of `functions` is the number of functions specified in the argument list that do not exist, which can be used in concert with the `-q` option.
\subsection functions-example Examples
2014-08-27 07:30:08 +08:00
\fish
functions -n
# Displays a list of currently-defined functions
2014-08-27 07:30:08 +08:00
functions -c foo bar
# Copies the 'foo' function to a new function called 'bar'
2014-08-27 07:30:08 +08:00
functions -e bar
# Erases the function `bar`
\endfish