fisher/man/man1/fisher.md
Jorge Bucaran 54212e1cbc 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

2.9 KiB

fisher(1) -- fish plugin manager

SYNOPSIS

fisher command [options] [--version] [--help]
fisher --file=fishfile
fisher --validate=name or url
fisher --cache[=path]

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 keywords 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)
fisher help help
fisher help update
fisher help search
fisher help config
fisher help install
fisher help plugins
fisher help commands
fisher help fishfile
fisher help uninstall