revans/bash-it — pull request #134 by erichs (2012-05-14 02:29:43+00:00)
Title: Plugin management system

This admittedly large pull request does the following:

o updates to the latest version of composure.sh
o composure metadata is added to all plugin.bash files
o metadata is used to implement a plugin management and help system
o standardizes plugin names, file modes, and shebang lines
o updates bash-it() help text
o moves a few helper functions to lib/helpers.bash
o disables z() if fasd plugin is enabled (they are incompatible)

## Plugin Management

type: bash-it-plugins

```bash
$ bash-it-plugins
Plugin Enabled? Description
_xterm [ ] automatically set your xterm title with host and location info
base [x] miscellaneous tools
battery [ ] display info about your battery charge level
browser [x] render commandline output in your browser
dirs [x] directory stack navigation
extract [x] one command to extract them all...
fasd [x] navigate "frecently" used files and directories
git [x] git helper functions
hg [ ] hg helper functions
javascript [x] download jquery files into current project
jekyll [x] manage your jekyll site
latex [ ] use mactex
nginx [ ] manage your nginx service
nvm [x] node version manager, as a bash function
osx [x] osx-specific functions
python [x] alias "http" to SimpleHTTPServer
rbenv [x] load rbenv, if you are using it
ruby [x] adds "remove_gem" function
rvm [ ] load rvm, if you are using it
ssh [x] ssh helper functions
subversion [ ] svn helper functions
tmux [x] make sure that tmux is launched in 256 color mode
tmuxinator [ ] sources tmuxinator script if available
vagrant [ ] set up vagrant autocompletion
virtualenv [ ] virtualenvwrapper helper functions
z [ ] maintains a jump-list of the directories you actually use
z is DEPRECATED, use fasd instead
z_autoenv [ ] source into environment when cding to directories

to enable a plugin, do:
$ enable-plugin -or- $ enable-plugin all

to disable a plugin, do:
$ disable-plugin -or- $ disable-plugin all
```

enable-plugin and disable-plugin do just what you'd expect.

Similar metadata niceties can also be achieved in this fashion for the completion, themes, and aliases.