fisher/man/man1/fisher.md
Jorge Bucaran 9a4f0f0650
Fisherman v0.2.0
* Improved README, added links to screencasts, updated
documentation with new changes and fixed other typos and
composition errors.

* Removed `fisher update --cache` in favor of
`fisher --cache | fisher update` and
`fisher uninstall --all` in favor of
`fisher --cache | fisher uninstall`.

* Fisherman does not move initialization / configuration
files following the convention `name`.config.fish to
`$fisher_config/functions`, but to `$fisher_config/conf.d`
now and evaluates  each `*.config.fish` inside at shell
start as usual. Closes #13.

* Added `fisher --cache[=base]` option to retrieve contents
in `$fisher_cache`, eliminating flaky usage of `find(1)`.
Closes #11.

* Fisherman now generates information about plugins installed
via custom URLs. For the description, a shortened version of
the URL is used. For the URL the full URL is used. For tags,
the URL is fuzzily checked and tags such as _theme_, _plugin_,
_config_ and _omf_ are added. The tag _orphan_ is added by
default as well. Finally, the author is generated by
retrieving the e-mail or username of the author of the
first commit in the plugin's repository. Closes #9 and #14.

* Changed `--path-in-cache` to `--translate.` This function
translates an name or supported URL/URL variation into a path
inside `$fisher_cache`. This allows you to treat plugins
installed via custom URLs almost like regular plugins if they
are installed. Closes #8.

* Fixed a bug with `mktemp` failing on some systems.
Closes #7. Thanks @tobywf.

* Added [CODE_OF_CONDUCT][code_of_conduct]. Closes #6.

* Fisherman can now unload themes within the same shell,
without having to restart the session. Closes #5.

* Fisherman can now load themes within the same shell,
without having to restart the session using `exec fish`.
Shoddy themes, for example those failing to declare global
variables with the `-g` flag still require the session to
be reset. See [**related**][bobthefish-19]. Closes #4.

* Move `getopts` implementation to `share/getopts.awk`.
Closes #3.

* Support dots inside URIs in `fisher --validate`.
Closes #2.
2016-01-05 06:05:11 +09:00

80 lines
2.9 KiB
Markdown

fisher(1) -- fish plugin manager
===============================
## SYNOPSIS
`fisher` *command* [*options*] [`--version`] [`--help`]<br>
`fisher` `--file`=*fishfile*<br>
`fisher` `--validate`=*name* or *url*<br>
`fisher` `--cache`[=*path*]<br>
## DESCRIPTION
Fisherman is a plugin manager for `fish`(1) that lets you share and reuse code, prompts and configurations easily.
The following commands are available: *install*, *uninstall*, *update*, *search* and *help*. See `fisher` help *command* for information about each command.
## OPTIONS
* `-f` `--file`=*fishfile*:
Read *fishfile* and write contents to standard output. If *fishfile* is null or an empty string, your user *fishfile* in `$fisher_config`/fishfile will be used instead. Use a dash `-` to force reading from the standard input. Oh My Fish! bundle files are supported as well.
* `-V`, `--validate`=*keyword*:
Validate a *name* or *url*. If *keyword* resembles a url, the algorithm will attempt to normalize the url by adding / removing missing components. Otherwise, it will assume *keyword* is a potential plugin name and use the following regex `^[a-z]+[._-]?[a-z0-9]+` to validate the string. This method is used internally to validate user input and support url variations such as *owner/repo*, *gh:owner/repo*, *bb:owner/repo*, etc. See `fisher`(7)#{`Plugins`}.
If *keyword* is null or an empty string, `--validate` reads keyword*s* from the standard input.
* `--cache`[=*base*]
Retrieve the path of every plugin downloaded to `$fisher_cache`. Includes plugins installed using a custom URL. Use --cache=*base* to select only the name of the plugin. See `basename`(1).
* `-v` `--version`:
Show version information. Fisherman's current version can be found in the VERSION file at the root of the project. The version scheme is based in `Semantic Versioning` and uses Git annotated tags to track releases.
* `-h` `--help`:
Show usage help.
## CUSTOM COMMANDS
A Fisherman command is a function that you can invoke using the `fisher` utility. By convention, any function of the form `fisher_<my_command>` is registered as Fisherman command. You can create plugins that add new commands as well as regular utilities. See `fisher help commands` and `fisher help plugins` for more information.
## EXAMPLES
* Install a plugin.
```
fisher install fishtape
fishtape --help
```
* Install plugins from a fishfile or bundle:
```
fisher --file=path/to/shared/fishfile | fisher install
```
* Validate a url.
```
echo a/b | fisher -V
> https://github.com/a/b
```
## AUTHORS
Fisherman was created and it is currently maintained by Jorge Bucaran *j@bucaran.me*.
See AUTHORS file for a more complete list of contributors.
## SEE ALSO
`fisher`(7)<br>
`fisher` help *help*<br>
`fisher` help *update*<br>
`fisher` help *search*<br>
`fisher` help *config*<br>
`fisher` help *install*<br>
`fisher` help *plugins*<br>
`fisher` help *commands*<br>
`fisher` help *fishfile*<br>
`fisher` help *uninstall*<br>