Replace package database with independently installed package repositories (#427)

Replace package database with independently installed package repositories

- Add support for fetching and installing from package repositories containing package URLs and metadata
- Support multiple package repository sources
- Add new repo command
- Remove submit command
- Enhance describe and search commands
- Fix and improve help text for new and adjusted commands
- Fix bundle install exit status
- Refer to plugins as "plugins" instead of the general term "packages"
- Code clarity improvements
- Put plugin/theme distinction into package metadata
This commit is contained in:
Stephen M. Coakley 2017-02-04 21:49:39 -06:00 committed by GitHub
parent e2c3343ebb
commit 2d1deeb5fd
189 changed files with 520 additions and 470 deletions

View File

@ -50,7 +50,7 @@ Oh My Fish includes a small utility `omf` to fetch and install new packages and
#### `omf update` _`[omf]`_ _`[<package>...]`_ #### `omf update` _`[omf]`_ _`[<package>...]`_
Update the framework and installed packages. Update Oh My Fish, all package repositories, and all installed packages.
- When called without arguments, update core and all installed packages. - When called without arguments, update core and all installed packages.
- You can choose to update only the core, by running `omf update omf`. - You can choose to update only the core, by running `omf update omf`.
@ -64,6 +64,10 @@ Install one _or more_ packages.
- You can install packages directly by URL via `omf install URL` - You can install packages directly by URL via `omf install URL`
- When called without arguments, install missing packages from [bundle](#dotfiles). - When called without arguments, install missing packages from [bundle](#dotfiles).
#### `omf repositories` _`[list|add|remove]`_
Manage user-installed package repositories. Package repositories are where packages come from used by commands like `omf install`. By default the [official repository](https://github.com/oh-my-fish/packages-main) is always installed and available.
#### `omf list` #### `omf list`
List installed packages. List installed packages.
@ -94,13 +98,6 @@ Scaffold out a new package or theme.
Searches Oh My Fish's database for a given package, theme or both. It also supports fuzzy search, so if you are not sure of the name you can simply `omf search simple`. Searches Oh My Fish's database for a given package, theme or both. It also supports fuzzy search, so if you are not sure of the name you can simply `omf search simple`.
#### `omf submit` _`pkg/<name>`_ _`[<url>]`_
Add a new package. To add a theme, use `omf submit` _`themes/<name>`_ _`<url>`_.
Please note that the _`[<url>]`_ portion of the command should be the url to your repo on github. For example, with the `example` plugin, the command run should be `omf submit pkg/example https://github.com/oh-my-fish/example`.
Make sure to [send us a PR][omf-pulls-link] to update the registry.
#### `omf channel` #### `omf channel`
Gets or changes the update channel. Gets or changes the update channel.

View File

@ -489,7 +489,7 @@ end
# Assert that all tools we need are available. # Assert that all tools we need are available.
function assert_cmds function assert_cmds
set -l cmds basename cp cut date dirname fold head mkdir mv rm sed sort tar tr set -l cmds awk basename cp cut date dirname fold head mkdir mv rm sed sort tar tr
for cmd in $cmds for cmd in $cmds
type -f -q $cmd type -f -q $cmd

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-android-sdk

View File

@ -1 +0,0 @@
https://github.com/pkg-gretel/pkg-ansible

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-apt

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-archlinux

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-argu

View File

@ -1 +0,0 @@
https://github.com/thecotne/omf-plugin-artisan

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-await

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-aws

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-bak

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-balias

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-bang-bang

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-basename-compat

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-battery

View File

@ -1 +0,0 @@
https://github.com/devert/plugin-blt

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-brew

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-bundler

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-cd

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-composer

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-config

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-direnv

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-docker-machine

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-dpaste

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-emacs

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-errno

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-exenv

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-expand

View File

@ -1 +0,0 @@
https://github.com/jcouyang/plugin-export

View File

@ -1 +0,0 @@
https://github.com/pkg-gretel/pkg-extract

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-fasd

View File

@ -1 +0,0 @@
https://github.com/HenrikWL/plugin-fish_logo.git

View File

@ -1 +0,0 @@
https://github.com/derekstavis/plugin-fonts

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-foreign-env

View File

@ -1 +0,0 @@
https://github.com/gretel/pkg-fzf

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-gem

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-getopts

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-gi

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-git-flow

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-gityaw

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-grc

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-hash

View File

@ -1 +0,0 @@
https://github.com/lfiolhais/plugin-homebrew-command-not-found

View File

@ -1 +0,0 @@
https://github.com/pkg-gretel/pkg-hub

View File

@ -1 +0,0 @@
https://github.com/belltoy/plugin-iex

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-jump

View File

@ -1 +0,0 @@
https://github.com/pkg-gretel/pkg-keychain

View File

@ -1 +0,0 @@
https://github.com/vincentjames501/fish-kill-on-port

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-license

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-linuxbrew

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-local-config

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/marlin

View File

@ -1 +0,0 @@
https://github.com/belltoy/plugin-mix

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-mou

View File

@ -1 +0,0 @@
https://github.com/benc/pkg-mvn

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-node-binpath

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-nodenv

View File

@ -1 +0,0 @@
https://github.com/derekstavis/plugin-nvm

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-osx

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-pbcopy

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-peco

View File

@ -1 +0,0 @@
https://github.com/rzyns/pkg-php-version

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-phpbrew

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-pj.git

View File

@ -1 +0,0 @@
https://github.com/iamruinous/plugin-powerline

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-proxy

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-pyenv

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-python

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-rails

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-rbenv

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-rustup.git

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-rvm

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-spark

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-ssh-config.d

View File

@ -1 +0,0 @@
https://github.com/wk/plugin-ssh-term-helper

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-sublime

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-sudope.git

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-tab

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-technicolor

View File

@ -1 +0,0 @@
https://github.com/sagebind/plugin-termux

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-thefuck

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-tiny

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-title

View File

@ -1 +0,0 @@
https://github.com/sagebind/tmux-zen

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-vcs

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-vi-mode

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-virtualfish.git

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-vundle

View File

@ -1 +0,0 @@
https://github.com/fischerling/plugin-wd

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-weather

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-wifi-password

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-wttr

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/plugin-z

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/theme-agnoster

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/theme-batman

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/theme-beloglazov

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/theme-bira

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/theme-bobthefish

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/theme-budspencer

View File

@ -1 +0,0 @@
https://github.com/oh-my-fish/theme-cbjohnson

Some files were not shown because too many files have changed in this diff Show More