aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc_src/functions.txt
blob: 520b55b7fa20454046e3dd4d441c533deaa59f5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
\section functions functions - print or erase functions

\subsection functions-synopsis Synopsis
\fish{synopsis}
functions [-a|--all] [-n|--names]
functions -c OLDNAME NEWNAME
functions -d DESCRIPTION FUNCTION
functions [-eq] 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.
- `-h` or `--help` displays a help message and exits.
- `-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

`functions -n` displays a list of currently-defined functions.

`functions -c foo bar` copies the `foo` function to a new function called
`bar`.

`functions -e bar` erases the function `bar`.