standardize plugins, update metadata
add about-plugin metadata
chmod -x plugins
cleanup filenames to standardize on x.plugin.bash format
only plugin files intended to be executable from the command line should
contain a shebang line, and should be a+x.
diff --git a/plugins/available/_xterm.plugins.bash b/plugins/available/_xterm.plugin.bash
similarity index 100%
rename from plugins/available/_xterm.plugins.bash
rename to plugins/available/_xterm.plugin.bash
diff --git a/plugins/available/base.plugin.bash b/plugins/available/base.plugin.bash
old mode 100755
new mode 100644
index 85f15ad..8c5f24f
--- a/plugins/available/base.plugin.bash
+++ b/plugins/available/base.plugin.bash
@@ -1,7 +1,5 @@
-#!/usr/bin/env bash
-
cite about-plugin
-about-plugin generic and miscellaneous tools
+about-plugin miscellaneous tools
ips ()
{
diff --git a/plugins/available/battery.plugin.bash b/plugins/available/battery.plugin.bash
old mode 100755
new mode 100644
index 4c0e380..1bfba2c
--- a/plugins/available/battery.plugin.bash
+++ b/plugins/available/battery.plugin.bash
@@ -1,7 +1,5 @@
-#!/usr/bin/env bash
-
cite about-plugin
-about-plugin query and display info about your battery charge level
+about-plugin display info about your battery charge level
battery_percentage(){
about 'displays battery charge as a percentage of full (100%)'
diff --git a/plugins/available/dirs.plugins.bash b/plugins/available/dirs.plugin.bash
old mode 100755
new mode 100644
similarity index 86%
rename from plugins/available/dirs.plugins.bash
rename to plugins/available/dirs.plugin.bash
index e03ccf5..d80b354
--- a/plugins/available/dirs.plugins.bash
+++ b/plugins/available/dirs.plugin.bash
@@ -1,5 +1,3 @@
-#!/usr/bin/env bash
-
# Directory stack navigation:
#
# Add to stack with: pu /path/to/directory
@@ -7,6 +5,9 @@
# Show stack with: d
# Jump to location by number.
+cite about-plugin
+about-plugin directory stack navigation
+
# Show directory stack
alias d="dirs -v -l"
@@ -31,6 +32,9 @@
alias po="popd"
function dirs-help() {
+ about directory navigation alias usage
+ group dirs
+
echo "Directory Navigation Alias Usage"
echo
echo "Use the power of directory stacking to move"
@@ -64,10 +68,18 @@
alias L='cat ~/.dirs'
G () { # goes to distination dir otherwise , stay in the dir
+ about goes to destination dir
+ param 1: directory
+ example '$ G ..'
+ group dirs
+
cd ${1:-$(pwd)} ;
}
S () { # SAVE a BOOKMARK
+ about save a bookmark
+ group dirs
+
sed "/$@/d" ~/.dirs > ~/.dirs1;
\mv ~/.dirs1 ~/.dirs;
echo "$@"=\"`pwd`\" >> ~/.dirs;
@@ -75,6 +87,9 @@
}
R () { # remove a BOOKMARK
+ about remove a bookmark
+ group dirs
+
sed "/$@/d" ~/.dirs > ~/.dirs1;
\mv ~/.dirs1 ~/.dirs;
}
diff --git a/plugins/available/extract.plugin.bash b/plugins/available/extract.plugin.bash
index 1c3e9b1..fbd969c 100644
--- a/plugins/available/extract.plugin.bash
+++ b/plugins/available/extract.plugin.bash
@@ -1,3 +1,5 @@
+cite about-plugin
+about-plugin one command to extract them all...
extract () {
if [ $# -ne 1 ]
then
diff --git a/plugins/available/fasd.bash b/plugins/available/fasd.plugin.bash
similarity index 99%
rename from plugins/available/fasd.bash
rename to plugins/available/fasd.plugin.bash
index 984f630..220460c 100755
--- a/plugins/available/fasd.bash
+++ b/plugins/available/fasd.plugin.bash
@@ -584,7 +584,8 @@
fasd --init env
case $- in
- *i*) alias fasd=$BASH_IT'/plugins/enabled/fasd.bash'
+ *i*) cite about-plugin
+ about-plugin navigate 'frecently' used files and directories
eval "$(fasd --init auto)"
;;
*) # assume being executed as an executable
diff --git a/plugins/available/git.plugins.bash b/plugins/available/git.plugin.bash
similarity index 84%
rename from plugins/available/git.plugins.bash
rename to plugins/available/git.plugin.bash
index 41b031f..15876de 100644
--- a/plugins/available/git.plugins.bash
+++ b/plugins/available/git.plugin.bash
@@ -1,26 +1,42 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin git helper functions
function git_remote {
+ about 'adds remote $GIT_HOSTING:$1 to current repo'
+ group git
+
echo "Running: git remote add origin ${GIT_HOSTING}:$1.git"
git remote add origin $GIT_HOSTING:$1.git
}
function git_first_push {
+ about push into origin refs/heads/master
+ group git
+
echo "Running: git push origin master:refs/heads/master"
git push origin master:refs/heads/master
}
function git_remove_missing_files() {
+ about "git rm's missing files"
+ group git
+
git ls-files -d -z | xargs -0 git update-index --remove
}
# Adds files to git's exclude file (same as .gitignore)
function local-ignore() {
+ about adds file or path to git exclude file
+ param 1: file or path fragment to ignore
+ group git
echo "$1" >> .git/info/exclude
}
# get a quick overview for your git repo
function git_info() {
+ about overview for your git repo
+ group git
+
if [ -n "$(git symbolic-ref HEAD 2> /dev/null)" ]; then
# print informations
echo "git repo overview"
@@ -29,7 +45,7 @@
# print all remotes and thier details
for remote in $(git remote show); do
- echo $remote:
+ echo $remote:
git remote show $remote
echo
done
@@ -43,10 +59,10 @@
fi
# print at least 5 last log entries
- echo
+ echo
echo "log:"
git log -5 --oneline
- echo
+ echo
else
echo "you're currently not in a git repository"
@@ -55,6 +71,9 @@
}
function git_stats {
+ about display stats per author
+ group git
+
# awesome work from https://github.com/esc/git-stats
# including some modifications
diff --git a/plugins/available/hg.plugin.bash b/plugins/available/hg.plugin.bash
new file mode 100644
index 0000000..97182fb
--- /dev/null
+++ b/plugins/available/hg.plugin.bash
@@ -0,0 +1,25 @@
+cite about-plugin
+about-plugin hg helper functions
+
+hg_dirty() {
+ about displays dirty status of hg repository
+ group hg
+
+ hg status --no-color 2> /dev/null \
+ | awk '$1 == "?" { print "?" } $1 != "?" { print "!" }' \
+ | sort | uniq | head -c1
+}
+
+hg_in_repo() {
+ about 'determine if pwd is an hg repo'
+ group hg
+
+ [[ `hg branch 2> /dev/null` ]] && echo 'on '
+}
+
+hg_branch() {
+ about display current hg branch
+ group hg
+
+ hg branch 2> /dev/null
+}
diff --git a/plugins/available/hg.plugins.bash b/plugins/available/hg.plugins.bash
deleted file mode 100644
index 33c81d3..0000000
--- a/plugins/available/hg.plugins.bash
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env bash
-hg_dirty() {
- hg status --no-color 2> /dev/null \
- | awk '$1 == "?" { print "?" } $1 != "?" { print "!" }' \
- | sort | uniq | head -c1
-}
-
-hg_in_repo() {
- [[ `hg branch 2> /dev/null` ]] && echo 'on '
-}
-
-hg_branch() {
- hg branch 2> /dev/null
-}
diff --git a/plugins/available/javascript.plugins.bash b/plugins/available/javascript.plugin.bash
similarity index 68%
rename from plugins/available/javascript.plugins.bash
rename to plugins/available/javascript.plugin.bash
index 76a7e13..40ee20e 100644
--- a/plugins/available/javascript.plugins.bash
+++ b/plugins/available/javascript.plugin.bash
@@ -1,16 +1,22 @@
-#!/usr/bin/env bash
-#
-# The install directory is hard-coded. TOOD: allow the directory to be specified on the command line.
-#
+# The install directory is hard-coded. TODO: allow the directory to be specified on the command line.
+
+cite about-plugin
+about-plugin download jquery files into current project
[[ -z "$JQUERY_VERSION_NUMBER" ]] && JQUERY_VERSION_NUMBER="1.6.1"
[[ -z "$JQUERY_UI_VERSION_NUMBER" ]] && JQUERY_UI_VERSION_NUMBER="1.8.13"
function rails_jquery {
+ about 'download rails.js into public/javascripts'
+ group javascript
+
curl -o public/javascripts/rails.js http://github.com/rails/jquery-ujs/raw/master/src/rails.js
}
function jquery_install {
+ about 'download jquery.js into public/javascripts'
+ group javascripts
+
if [ -z "$1" ]
then
version=$JQUERY_VERSION_NUMBER
@@ -21,6 +27,9 @@
}
function jquery_ui_install {
+ about 'download jquery_us.js into public/javascripts'
+ group javascripts
+
if [ -z "$1" ]
then
version=$JQUERY_UI_VERSION_NUMBER
diff --git a/plugins/available/jekyll.plugins.bash b/plugins/available/jekyll.plugin.bash
similarity index 92%
rename from plugins/available/jekyll.plugins.bash
rename to plugins/available/jekyll.plugin.bash
index 74e3cb1..2edd79e 100644
--- a/plugins/available/jekyll.plugins.bash
+++ b/plugins/available/jekyll.plugin.bash
@@ -1,6 +1,11 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin manage your jekyll site
editpost() {
+ about edit a post
+ param 1: site directory
+ group jekyll
+
unset SITE
if [ -z "$1" ]
then
@@ -35,11 +40,11 @@
DATE=`echo $POST | grep -oE "[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}"`
TITLE=`cat $POST | grep -oE "title: (.+)"`
TITLE=`echo $TITLE | sed 's/title: //'`
- echo "$COUNTER) $DATE $TITLE" >> "$TMPFILE"
+ echo "$COUNTER) $DATE $TITLE" >> "$TMPFILE"
POSTS[$COUNTER]=$POST
COUNTER=`expr $COUNTER + 1`
done
- less $TMPFILE
+ less $TMPFILE
read -p "Number of post to edit: " POST_TO_EDIT
if [ -z "$JEKYLL_EDITOR" ]
then
@@ -50,6 +55,10 @@
}
newpost() {
+ about create a new post
+ param 1: site directory
+ group jekyll
+
unset SITE
if [ -z "$1" ]
then
@@ -93,7 +102,7 @@
then
select OPTION in $OPTIONS
do
- if [[ $OPTION = "Text" ]]
+ if [[ $OPTION = "Text" ]]
then
POST_TYPE="Text"
break
@@ -257,6 +266,10 @@
}
function testsite() {
+ about launches local jekyll server
+ param 1: site directory
+ group jekyll
+
unset SITE
if [ -z "$1" ]
then
@@ -285,6 +298,10 @@
}
function buildsite() {
+ about builds site
+ param 1: site directory
+ group jekyll
+
unset SITE
if [ -z "$1" ]
then
@@ -314,6 +331,10 @@
}
function deploysite() {
+ about 'rsyncs site to remote host'
+ param 1: site directory
+ group jekyll
+
unset SITE
if [ -z "$1" ]
then
diff --git a/plugins/available/latex.plugin.bash b/plugins/available/latex.plugin.bash
index c2ce9dd..ff9316a 100644
--- a/plugins/available/latex.plugin.bash
+++ b/plugins/available/latex.plugin.bash
@@ -1,4 +1,5 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin use mactex
# add mactex to the path if its present
MACTEX_PATH=/usr/local/texlive/2009/bin/universal-darwin
diff --git a/plugins/available/nginx.plugins.bash b/plugins/available/nginx.plugin.bash
similarity index 82%
rename from plugins/available/nginx.plugins.bash
rename to plugins/available/nginx.plugin.bash
index 6dd86dd..bdee127 100644
--- a/plugins/available/nginx.plugins.bash
+++ b/plugins/available/nginx.plugin.bash
@@ -1,6 +1,10 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin manage your nginx service
function nginx_reload() {
+ about reload your nginx config
+ group nginx
+
FILE="${NGINX_PATH}/logs/nginx.pid"
if [ -e $FILE ]; then
echo "Reloading NGINX..."
@@ -13,6 +17,9 @@
}
function nginx_stop() {
+ about stop nginx
+ group nginx
+
FILE="${NGINX_PATH}/logs/nginx.pid"
if [ -e $FILE ]; then
echo "Stopping NGINX..."
@@ -25,6 +32,9 @@
}
function nginx_start() {
+ about start nginx
+ group nginx
+
FILE="${NGINX_PATH}/sbin/nginx"
if [ -e $FILE ]; then
echo "Starting NGINX..."
@@ -35,6 +45,9 @@
}
function nginx_restart() {
+ about restart nginx
+ group nginx
+
FILE="${NGINX_PATH}/logs/nginx.pid"
if [ -e $FILE ]; then
echo "Stopping NGINX..."
diff --git a/plugins/available/nvm.plugin.bash b/plugins/available/nvm.plugin.bash
index 3f489dd..0e51e0a 100644
--- a/plugins/available/nvm.plugin.bash
+++ b/plugins/available/nvm.plugin.bash
@@ -5,6 +5,9 @@
# Implemented by Tim Caswell <tim@creationix.com>
# with much bash help from Matthew Ranney
+cite about-plugin
+about-plugin 'node version manager, as a bash function'
+
export NVM_DIR=$HOME/.nvm
if [ ! -d "$NVM_DIR" ]; then
@@ -75,6 +78,10 @@
nvm()
{
+ about 'Node Version Manager'
+ param '1: command, see nvm help'
+ group nvm
+
if [ $# -lt 1 ]; then
nvm help
return
diff --git a/plugins/available/osx.plugin.bash b/plugins/available/osx.plugin.bash
index 7d3d077..ade109a 100644
--- a/plugins/available/osx.plugin.bash
+++ b/plugins/available/osx.plugin.bash
@@ -1,6 +1,10 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin 'osx-specific functions'
function tab() {
+ about 'opens a new terminal tab'
+ group osx
+
osascript 2>/dev/null <<EOF
tell application "System Events"
tell process "Terminal" to keystroke "t" using command down
@@ -15,6 +19,10 @@
# this one switches your os x dock between 2d and 3d
# thanks to savier.zwetschge.org
function dock-switch() {
+ about 'switch dock between 2d and 3d'
+ param '1: "2d" or "3d"'
+ example '$ dock-switch 2d'
+ group osx
if [ $(uname) = "Darwin" ]; then
@@ -39,6 +47,10 @@
# Download a file and open it in Preview
function prevcurl() {
+ about 'download a file and open it in Preview'
+ param '1: url'
+ group 'osx'
+
if [ ! $(uname) = "Darwin" ]
then
echo "This function only works with Mac OS X"
diff --git a/plugins/available/python.plugin.bash b/plugins/available/python.plugin.bash
index 6c87f8a..01d2e49 100644
--- a/plugins/available/python.plugin.bash
+++ b/plugins/available/python.plugin.bash
@@ -1,4 +1,5 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin '"alias "http" to SimpleHTTPServer'
if [ $(uname) = "Linux" ]
then
diff --git a/plugins/available/rbenv.plugin.bash b/plugins/available/rbenv.plugin.bash
index c45d714..70fe62c 100644
--- a/plugins/available/rbenv.plugin.bash
+++ b/plugins/available/rbenv.plugin.bash
@@ -1,8 +1,10 @@
-#!/usr/bin/env bash
-
# Load rbebv, if you are using it
+
+cite about-plugin
+about-plugin 'load rbenv, if you are using it'
+
export PATH="$HOME/.rbenv/bin:$PATH"
[[ `which rbenv` ]] && eval "$(rbenv init -)"
# Load the auto-completion script if rbenv was loaded.
-[[ -e ~/.rbenv/completions/rbenv.bash ]] && source ~/.rbenv/completions/rbenv.bash
\ No newline at end of file
+[[ -e ~/.rbenv/completions/rbenv.bash ]] && source ~/.rbenv/completions/rbenv.bash
diff --git a/plugins/available/ruby.plugin.bash b/plugins/available/ruby.plugin.bash
index 9ae61a4..11e632f 100644
--- a/plugins/available/ruby.plugin.bash
+++ b/plugins/available/ruby.plugin.bash
@@ -1,4 +1,10 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin 'adds "remove_gem" function'
+
function remove_gem {
+ about 'removes installed gem'
+ param '1: installed gem name'
+ group ruby
+
gem list | grep $1 | awk '{ print $1; }' | xargs sudo gem uninstall
}
diff --git a/plugins/available/rvm.plugin.bash b/plugins/available/rvm.plugin.bash
index e0d18ba..6acad07 100644
--- a/plugins/available/rvm.plugin.bash
+++ b/plugins/available/rvm.plugin.bash
@@ -1,6 +1,8 @@
-#!/usr/bin/env bash
-
# Load RVM, if you are using it
+
+cite about-plugin
+about-plugin 'load rvm, if you are using it'
+
[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm
# Check to make sure that RVM is actually loaded before adding
diff --git a/plugins/available/ssh.plugin.bash b/plugins/available/ssh.plugin.bash
new file mode 100644
index 0000000..4e17206
--- /dev/null
+++ b/plugins/available/ssh.plugin.bash
@@ -0,0 +1,19 @@
+cite about-plugin
+about-plugin 'ssh helper functions'
+
+function add_ssh() {
+ about 'add entry to ssh config'
+ param '1: host'
+ param '2: hostname'
+ param '3: user'
+ group 'ssh'
+
+ echo -en "\n\nHost $1\n HostName $2\n User $3\n ServerAliveInterval 30\n ServerAliveCountMax 120" >> ~/.ssh/config
+}
+
+function sshlist() {
+ about 'list hosts defined in ssh config'
+ group 'ssh'
+
+ awk '$1 ~ /Host$/ { print $2 }' ~/.ssh/config
+}
diff --git a/plugins/available/ssh.plugins.bash b/plugins/available/ssh.plugins.bash
deleted file mode 100644
index 39718fb..0000000
--- a/plugins/available/ssh.plugins.bash
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env bash
-
-function add_ssh() {
- echo -en "\n\nHost $1\n HostName $2\n User $3\n ServerAliveInterval 30\n ServerAliveCountMax 120" >> ~/.ssh/config
-}
-
-function sshlist() {
- awk '$1 ~ /Host$/ { print $2 }' ~/.ssh/config
-}
diff --git a/plugins/available/subversion.plugin.bash b/plugins/available/subversion.plugin.bash
index a7fe941..bdb3edf 100644
--- a/plugins/available/subversion.plugin.bash
+++ b/plugins/available/subversion.plugin.bash
@@ -1,8 +1,21 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin 'svn helper functions'
+
rm_svn(){
+ about 'remove ".svn" files from directory'
+ param '1: directory to search for files'
+ group 'svn'
+
+ if [ -z "$1" ]; then
+ reference rm_svn
+ return
+ fi
find $1 -name .svn -print0 | xargs -0 rm -rf
}
svn_add(){
- svn status | grep '^\?' | sed -e 's/? *//' | sed -e 's/ /\ /g' | xargs svn add
+ about 'add to svn repo'
+ group 'svn'
+
+ svn status | grep '^\?' | sed -e 's/? *//' | sed -e 's/ /\ /g' | xargs svn add
}
diff --git a/plugins/available/tmux.plugin.bash b/plugins/available/tmux.plugin.bash
index ff35336..f7ee337 100644
--- a/plugins/available/tmux.plugin.bash
+++ b/plugins/available/tmux.plugin.bash
@@ -1,2 +1,6 @@
# make sure that tmux is launched in 256 color mode
+
+cite about-plugin
+about-plugin 'make sure that tmux is launched in 256 color mode'
+
alias tmux="TERM=xterm-256color tmux"
diff --git a/plugins/available/tmuxinator.plugin.bash b/plugins/available/tmuxinator.plugin.bash
index cf5500d..a011435 100644
--- a/plugins/available/tmuxinator.plugin.bash
+++ b/plugins/available/tmuxinator.plugin.bash
@@ -1,3 +1,4 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin 'sources tmuxinator script if available'
[[ -s $HOME/.tmuxinator/scripts/tmuxinator ]] && . $HOME/.tmuxinator/scripts/tmuxinator
diff --git a/plugins/available/vagrant.plugins.bash b/plugins/available/vagrant.plugin.bash
similarity index 94%
rename from plugins/available/vagrant.plugins.bash
rename to plugins/available/vagrant.plugin.bash
index 3131744..aa223e7 100644
--- a/plugins/available/vagrant.plugins.bash
+++ b/plugins/available/vagrant.plugin.bash
@@ -1,4 +1,6 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin 'set up vagrant autocompletion'
+
_vagrant()
{
cur="${COMP_WORDS[COMP_CWORD]}"
diff --git a/plugins/available/virtualenv.plugin.bash b/plugins/available/virtualenv.plugin.bash
index ba27c76..b8c4609 100644
--- a/plugins/available/virtualenv.plugin.bash
+++ b/plugins/available/virtualenv.plugin.bash
@@ -1,19 +1,30 @@
-#!/usr/bin/env bash
-
# make sure virtualenvwrapper is enabled if available
+
+cite about-plugin
+about-plugin 'virtualenvwrapper helper functions'
+
[[ `which virtualenvwrapper.sh` ]] && . virtualenvwrapper.sh
-# create a new virtualenv for this directory
+
function mkvenv {
+ about 'create a new virtualenv for this directory'
+ group virtualenv
+
cwd=`basename \`pwd\``
mkvirtualenv --no-site-packages --distribute $cwd
}
-# create a new virtualenv for the branch you're currently in
+
function mkvbranch {
+ about 'create a new virtualenv for the current branch'
+ group virtualenv
+
mkvirtualenv --no-site-packages --distribute "$(basename `pwd`)@$(git_prompt_info)"
}
function wovbranch {
+ about 'sets workon branch'
+ group virtualenv
+
workon "$(basename `pwd`)@$(git_prompt_info)"
}
diff --git a/plugins/available/z.bash b/plugins/available/z.plugin.bash
similarity index 95%
rename from plugins/available/z.bash
rename to plugins/available/z.plugin.bash
index ef3e3d9..7ffe8fb 100644
--- a/plugins/available/z.bash
+++ b/plugins/available/z.plugin.bash
@@ -1,7 +1,7 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin 'maintains a jump-list of the directories you actually use'
+about-plugin ' z is DEPRECATED, use fasd instead'
-# maintains a jump-list of the directories you actually use
-#
# INSTALL:
# * put something like this in your .bashrc:
# . /path/to/z.sh
diff --git a/plugins/available/z_autoenv.plugins.bash b/plugins/available/z_autoenv.plugin.bash
similarity index 87%
rename from plugins/available/z_autoenv.plugins.bash
rename to plugins/available/z_autoenv.plugin.bash
index 04efa85..dd1aec1 100644
--- a/plugins/available/z_autoenv.plugins.bash
+++ b/plugins/available/z_autoenv.plugin.bash
@@ -1,4 +1,6 @@
-#!/usr/bin/env bash
+cite about-plugin
+about-plugin 'source into environment when cding to directories'
+
if [[ -n "${ZSH_VERSION}" ]]
then __array_offset=0
else __array_offset=1