* 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.
2.8 KiB
fisher-install(1) -- Enable / Install plugins
SYNOPSIS
fisher install
[name or url ...] [--quiet
] [--help
]
USAGE
fisher install
plugin ...
fisher install
owner/repo ...
DESCRIPTION
Install one or more plugins by name, searching $fisher_index
or by url. If no arguments are given, read the standard input.
If the domain or host is not provided, Fisherman will use any value in $fisher_default_host
. The default is https://github.com
.
In addition, all of the following variations are accepted:
github
/owner/repo->
https://github.com/owner/repogh:
owner/repo->
https://github.com/owner/repo
Shortcuts for other common Git repository hosting services are also available:
bb:
/owner/repo->
https://bitbucket.org/owner/repogl:
/owner/repo->
https://gitlab.com/owner/repoomf:
/owner/repo->
https://github.com/oh-my-fish/repo
If a copy of the plugin already exists in $fisher_cache
, the relevant files will be copied to $fisher_config
/functions, otherwise the plugin repository is first downloaded. If you wish to update a plugin, use fisher update
plugin instead.
If the plugin declares dependencies, these will be installed as well. If any dependencies are already installed they will not be updated in order to prevent version issues. See fisher help fishfile
#{Plugins
}.
If a plugin includes either a fish_prompt.fish or fish_right_prompt.fish, both files are first removed from $fisher_config
/functions and then the new ones are copied.
OPTIONS
-
-q
--quiet
: Enable quiet mode. -
-h
--help
: Show usage help.
PROCESS
Here is a typical install process breakdown for plugin:
- Check if plugin exists in
$fisher_index
. Fail otherwise. - Download plugin to
$fisher_cache
if it is not there already. - Copy all
*.fish
and functions/*.fish
files to$fisher_config
/functions. - Copy all completions/
*.fish
to$fisher_config
/completions. - Copy all man/man[
1-7
] to$fisher_config
/man/man%
Here is the plugin tree inside the cache:
$fisher_cache
/plugin
|-- README.md
|-- plugin.fish
|-- functions
| |-- plugin_helper.fish
|-- completions
| |-- plugin.fish
|-- test
| |-- plugin.fish
|-- man
|-- man1
|-- plugin.1
And thisi is how the files are copied from $fisher_cache
/plugin to $fisher_config
:
- plugin.fish
->
$fisher_config/functions - functions/plugin_helper.fish
->
$fisher_config/functions - completions/plugin.fish
->
$fisher_config/completions - man/man1/plugin.1
->
$fisher_config/man/man1
SEE ALSO
fisher
(1)
fisher help config
fisher help update
fisher help uninstall
fisher help fishfile
#{Plugins
}