fisher/man/man7/fisher-commands.md
Jorge Bucaran e0ed629777
One more push before 0.8.0, fixed bugs, paved the way for DEBUG mode.
* Add Mizuki to THANKS for help with Japanese translation of the QuickStart Guide.
* fisher --list should return 1 (fail) if no plugins are installed. Closes #101.
* More consistent style 'Usage' instead of 'usage'.
* Silence index check in case $fisher_cache/.index does not exist.
* Add more descriptive message if plugin is not found.
* Silence search failure in case $fisher_cache/.index does not exist.
2016-02-15 21:24:22 +09:00

66 lines
1.5 KiB
Markdown

fisher-commands(7) -- Creating Fisherman Commands
=================================================
## SYNOPSIS
This document describes how to add new commands to Fisherman. A Fisherman command is a function that you can invoke using the `fisher` CLI, for example:
```fish
fisher my_command [*options*]
```
## DESCRIPTION
To add a command, create a function `fisher_<my_command>`:
```fish
function fisher_hello -d "Hello, how are you?"
echo hello
end
```
Test it works: `fisher hello`.
To make this function available to future fish sessions, add it to `$XDG_CONFIG_HOME/fish/functions`:
```fish
funcsave fisher_hello
```
You can also create a local plugin and install it with Fisherman:
```fish
mkdir fisher_hello
cd fisher_hello
functions fisher_hello > fisher_hello.fish
fisher install .
```
The method described above will create a symbolic link to the `fisher_hello` directory and `fisher_hello.fish` inside `$fisher_config/functions`.
## EXAMPLES
The following example implements a command to retrieve plugin information and format the output into columns.
```fish
function fisher_info -d "Display information about plugins"
switch "$argv"
case -h --help
printf "Usage: fisher info name | URL [...]\n\n"
printf " -h --help Show usage help\n"
return
end
for item in $argv
fisher search $item --name --info
end | sed -E 's/;/: /' | column
end
```
## SEE ALSO
fisher(1)<br>
fisher help tour<br>
funcsave(1)<br>
fisher help plugins<br>