Git Product home page Git Product logo

fisherman's Introduction

fisherman-logo

Build Status Slack

fisherman is a fish-shell plugin manager.

Translations: 日本語, 繁體中文, 简体中文, 한국어, Русский, Português, Türkçe, Español, Français, Català, Deutsch, فارسی.

Install

curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher

Usage

Install a plugin.

fisher z

Install several plugins concurrently.

fisher fzf edc/bass omf/thefuck omf/theme-bobthefish

Install a specific branch.

fisher edc/bass:master

Install a specific tag.

Install a gist.

fisher https://gist.github.com/username/1f40e1c6e0551b2666b2

Install a local plugin.

fisher ~/path/to/my_plugin

Edit your fishfile and run fisher to commit changes, e.g. install missing plugins.

$EDITOR ~/.config/fish/fishfile
fisher

Show everything you've installed.

fisher ls
@ my_plugin     # a local plugin
* bobthefish    # current theme
  bass
  fzf
  thefuck
  z

Show everything available to install.

fisher ls-remote

Show additional information about plugins:

fisher ls-remote --format="%name(%stars): %info [%url]\n"

Update everything.

fisher up

Update specific plugins.

fisher up bass z fzf

Remove plugins.

fisher rm thefuck

Remove all the plugins.

fisher ls | fisher rm

Get help.

fisher help z

FAQ

Is fisherman compatible with oh-my-fish themes and plugins?

Yes!

How can I contribute to fisherman?

You are welcome to join the organization. Just ask and someone will send you an invite.

Where does fisherman put stuff?

The configuration and cache are saved to ~/.config/fisherman and ~/.cache/fisherman respectively.

The fishfile and plugins are saved to ~/.config/fish by default.

To customize this location, add the following to your ~/.config/fish/config.fish file:

set -U fish_path ~/my/path

for file in $fish_path/conf.d/*.fish
  builtin source $file 2> /dev/null
end

set fish_function_path $fish_path/functions $fish_function_path
set fish_complete_path $fish_path/completions $fish_complete_path

How do I have fisherman copy plugin files instead of linking?

By default, fisherman will create symlinks to plugin files.

To have fisherman copy files:

set -U fisher_copy true

What is a fishfile and how do I use it?

The fishfile lists what you've installed, and it's automatically updated as you install / remove plugins.

You can edit this file and run fisher to install missing plugins and dependencies.

What is a plugin?

A plugin is:

  1. a directory with one or more .fish functions at the root level of the project or inside a functions/ directory

  2. a theme or prompt: a fish_prompt.fish and/or fish_right_prompt.fish

  3. a snippet: one or more .fish files inside a conf.d/ directory, run by fish at the start of the session

How do I create my own plugins?

You can use fishkit to help you scaffold out a new project from scratch.

How can I list plugins as dependencies to my plugin?

Create a new fishfile at the root level of your project and write the plugin URL like so github.com/owner/repo.

Why am I receiving errors when running fisher ls-remote?

You can export the GITHUB_USER and GITHUB_TOKEN environment variables in your shell, to prevent GitHub's search API from rejecting anonymous requests:

set -x GITHUB_USER your_username
set -x GITHUB_TOKEN your_github_api_token_for_fisherman

If you don't have a GitHub API token, you can generate one from account settings

fisherman's People

Contributors

jojibucaran avatar detailyang avatar markcial avatar laughedelic avatar franciscolourenco avatar pickfire avatar jethrokuan avatar sijad avatar jorgebucaran avatar lilyball avatar asymmetric avatar mert574 avatar patrickf1 avatar peey avatar rholak avatar sanyer avatar sullimander avatar bonds avatar sotayamashita avatar igrep avatar dfdgsdfg avatar pwwang avatar edouard-lopez avatar greenie avatar externl avatar ianferguson avatar vividboarder avatar simnalamburt avatar gyakovlev avatar fabioantunes avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.