\section functions functions - print or erase functions \subsection function-synopsis Synopsis <pre>functions [-n] functions -c OLDNAME NEWNAME functions -d DESCRIPTION FUNCTION functions [-eq] FUNCTIONS...</pre> \subsection functions-description Description \c functions prints or erases functions. 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> 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> 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. If any non-option parameters are given, the definition of the specified functions are printed. 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. 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>. <code>functions -e bar</code> erases the function <code>bar</code>.