Wahoo: 一个Fishshell框架

x286 4年前



Requiressudoto install fish and other dependencies.

curl -L git.io/wa | sh  wa help


You don't need to usesudoif you already havefishinstalled or use Homebrew, but if you are starting from scratch you need tosudoin order to installfish, its dependencies and change the system's default shell.


Each command is preceded bywa, e.g,wa help


Update the framework using [git][git].

Updates are constructive. Unstaged changes are stashed and reapplied after pulling updates from upstream. Similarly, if you have committed changes to the repo they are rebased with master.

get <package>

Install one or more themes or packages. Discover packages withwa getand themes withwa usewithout arguments. If the package is already installed Wahoo will update it.


List all packages in the registry. Same aswa getwithout arguments.

use <theme>

Apply a theme. If the theme is not installed, Wahoo will download it from the registry. To list all available themes typewa use.

remove <package>

Remove a theme or package. Packages listening touninstallevents will be called before the package is removed from disk to allow custom cleanup of resources, etc. See Documentation.

new pkg|theme <name>

Create a new directory in$WAHOO_CUSTOM/[themes|pkg]/<name>or$WAHOO_PATH/[themes|pkg]/<name>if that fails and copy a starting template for the new package. The template for packages is the same asthemes/default/fish_prompt.fish. For regular packages it's created in the fly.

submit <package>

Current directory must be undergitsource control and have a remote origin.

Creates a new branchadd-<package name>in your local fork of Wahoo and adds a new entry to the local registry under$WAHOO_PATH/dbusing the $PWD git remote origin. If you haven't forked Wahoo, this forks the project on GitHub and updates your local clone remote origin and upstream.

Finally, the GitHub's repository is opened in your preferred browser. You can submit a PR from there.

If you prefer to roll your own, simply add a new file<package name>.pkgor<theme name>.themewith the remote URL to$WAHOO_PATH/dband submit your PR. See Documentation.