Create the concept of enabled plugins
This allows users to disable a plugin without completely removing it. Instead, they simply remove the `plugins/enabled/*.bash` file for the plugin they want to disable. This continues the concept of "everything on" while providing greater flexibility to future users. It might be a good idea to allow turning these off by default in the future and allowing not only the `plugins/enabled/*.bash` files but also an array of `<plugin_name>` values that would search for `plugins/available/<plugin_name>.plugin.bash` to enable them. That method would make it easier for people custom tune their plugins from within their `.bash_profile` script.
This commit is contained in:
113
plugins/available/base.plugin.bash
Normal file
113
plugins/available/base.plugin.bash
Normal file
@@ -0,0 +1,113 @@
|
||||
#!/bin/bash
|
||||
|
||||
# For generic functions.
|
||||
|
||||
function ips {
|
||||
ifconfig | grep "inet " | awk '{ print $2 }'
|
||||
}
|
||||
|
||||
function down4me() {
|
||||
curl -s "http://www.downforeveryoneorjustme.com/$1" | sed '/just you/!d;s/<[^>]*>//g'
|
||||
}
|
||||
|
||||
function myip {
|
||||
res=$(curl -s checkip.dyndns.org | grep -Eo '[0-9\.]+')
|
||||
echo "Your public IP is: ${bold_green} $res ${normal}"
|
||||
}
|
||||
|
||||
# Make a directory and immediately 'cd' into it
|
||||
|
||||
function mkcd() {
|
||||
mkdir -p "$*"
|
||||
cd "$*"
|
||||
}
|
||||
|
||||
# Search through directory contents with grep
|
||||
|
||||
function lsgrep(){
|
||||
ls | grep "$*"
|
||||
}
|
||||
|
||||
# View man documentation in Preview
|
||||
pman () {
|
||||
man -t "${1}" | open -f -a $PREVIEW
|
||||
}
|
||||
|
||||
|
||||
pcurl() {
|
||||
curl "${1}" | open -f -a $PREVIEW
|
||||
}
|
||||
|
||||
pri() {
|
||||
ri -T "${1}" | open -f -a $PREVIEW
|
||||
}
|
||||
|
||||
quiet() {
|
||||
$* &> /dev/null &
|
||||
}
|
||||
|
||||
banish-cookies() {
|
||||
rm -r ~/.macromedia ~/.adobe
|
||||
ln -s /dev/null ~/.adobe
|
||||
ln -s /dev/null ~/.macromedia
|
||||
}
|
||||
|
||||
# disk usage per directory
|
||||
# in Mac OS X and Linux
|
||||
usage ()
|
||||
{
|
||||
if [ $(uname) = "Darwin" ]; then
|
||||
if [ -n $1 ]; then
|
||||
du -hd $1
|
||||
else
|
||||
du -hd 1
|
||||
fi
|
||||
|
||||
elif [ $(uname) = "Linux" ]; then
|
||||
if [ -n $1 ]; then
|
||||
du -h --max-depth=1 $1
|
||||
else
|
||||
du -h --max-depth=1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# One thing todo
|
||||
function t() {
|
||||
if [[ "$*" == "" ]] ; then
|
||||
cat ~/.t
|
||||
else
|
||||
echo "$*" > ~/.t
|
||||
fi
|
||||
}
|
||||
|
||||
# Checks for existence of a command
|
||||
command_exists () {
|
||||
type "$1" &> /dev/null ;
|
||||
}
|
||||
|
||||
# List all plugins and functions defined by bash-it
|
||||
function plugins-help() {
|
||||
|
||||
echo "bash-it Plugins Help-Message"
|
||||
echo
|
||||
|
||||
set | grep "()" \
|
||||
| sed -e "/^_/d" | grep -v "BASH_ARGC=()" \
|
||||
| sed -e "/^\s/d" | grep -v "BASH_LINENO=()" \
|
||||
| grep -v "BASH_ARGV=()" \
|
||||
| grep -v "BASH_SOURCE=()" \
|
||||
| grep -v "DIRSTACK=()" \
|
||||
| grep -v "GROUPS=()" \
|
||||
| grep -v "BASH_CMDS=()" \
|
||||
| grep -v "BASH_ALIASES=()" \
|
||||
| grep -v "COMPREPLY=()" | sed -e "s/()//"
|
||||
}
|
||||
|
||||
# back up file with timestamp
|
||||
# useful for administrators and configs
|
||||
buf () {
|
||||
filename=$1
|
||||
filetime=$(date +%Y%m%d_%H%M%S)
|
||||
cp ${filename} ${filename}_${filetime}
|
||||
}
|
||||
Reference in New Issue
Block a user