fisher/man/man1/fisher-install.md
Jorge Bucaran ee0338d5b0
Ahoy! Fisherman gets a super patch v0.3.1
This patch contains several amends for 0.3.0 and
other minor documentation corrections.  Major
documentation revision and rewrite.

fisher help shows fisher(1) by default now.

Fix a critical bug that was causing fisher uninstall
--force to remove not the symbolic link, but the
actual files. Closes #24

Rename orphan tag to custom for plugins installed
using a custom URL.

warning Remove fisher --link flag and create symbolic
links by default for local paths. The user does not
have to worry about symbolic links or whether the
copy is as symbolic link or not anymore. If the user
tries to install a local path, then the best thing
to do is to create a symbolic link. This also
eliminates the need to call update.

warning Remove fisher --cache and fisher --validate.
Now, that these options are separated into their own
function and they are intentionally private, there
is no need for them.
2016-01-10 16:13:46 +09:00

3.2 KiB

fisher-install(1) -- Install Plugins

SYNOPSIS

fisher install [plugins ...] [--quiet] [--help]

USAGE

fisher install name
fisher install URL
fisher install path
fisher install owner/repo

DESCRIPTION

Install one or more plugins, by name, URL or local path. If no arguments are given, read the standard input.

If the Git host is not provided, Fisherman will use any value available in $fisher_default_host or https://github.com by default.

In addition, all of the following owner/repo variations are accepted:

Shortcuts to other common Git repository hosting services are also available:

If a URL is given, the repository is cloned to $fisher_cache the first time and any relevant plugin files are copied to $fisher_config functions, completions, conf.d and man directories.

If the plugin already exists in $fisher_cache, the files are copied to $fisher_config. To update a plugin use fisher update.

If the plugin declares dependencies, these will be installed too. If any of the dependencies are already enabled or downloaded to the cache, they will not be updated to prevent version issues. See Plugins in fisher help fishfile.

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.

INSTALL PROCESS

Here is the typical install process breakdown for plugin:

  1. Check if plugin exists in $fisher_index. Fail otherwise.
  2. Download plugin to $fisher_cache if not there already.
  3. Copy all *.fish and functions/*.fish files to $fisher_config/functions.
  4. Copy all completions/*.fish to $fisher_config/completions.
  5. Copy all init.fish and *.config.fish files to $fisher_config/conf.d.
  6. Copy all man/man% to $fisher_config/man/man%.

EXAMPLES

Here is the directory tree of my_plugin somewhere deep under the sea:

my_plugin
|-- README.md
|-- my_plugin.fish
|-- functions
|   |-- my_plugin_helper.fish
|-- completions
|   |-- my_plugin.fish
|-- test
|   |-- my_plugin.fish
|-- man
    |-- man1
        |-- my_plugin.1

And here is the directory tree of $fisher_config/ after running fisher install my_plugin:

$fisher_config
|-- functions
    |-- my_plugin.fish
    |-- my_plugin_helper.fish
|-- completions
    |-- my_plugin.fish
|-- man
    |-- man1
        |-- my_plugin.1
|-- cache
    |-- my_other_plugin
    |-- my_plugin/...

In addition, any init.fish or *.config.fish files, are copied to $fisher_config/conf.d and evaluated during the start of the shell.

Notes: init.fish files are renamed to my_plugin.init.fish to prevent name collisions.

SEE ALSO

fisher(1)
fisher help config
fisher help update
fisher help uninstall