From 7783d7cf27bb8ff41d3a17a0a0c9a0b870288f1e Mon Sep 17 00:00:00 2001 From: Gregory Nofi Date: Thu, 13 Sep 2012 16:22:52 -0400 Subject: [PATCH 1/4] Remove duplicate darwin clause and add default clause for git diff alias. --- aliases/available/git.aliases.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aliases/available/git.aliases.bash b/aliases/available/git.aliases.bash index bbac313b..58411d81 100644 --- a/aliases/available/git.aliases.bash +++ b/aliases/available/git.aliases.bash @@ -35,7 +35,7 @@ case $OSTYPE in darwin*) alias gd='git diff | mate' ;; - darwin*) + *) alias gd='git diff' ;; esac From a0a9b1e716d3408b2802d7add79e3b60e403909d Mon Sep 17 00:00:00 2001 From: Travis Swicegood Date: Wed, 19 Sep 2012 21:53:27 -0500 Subject: [PATCH 2/4] Add code to handle node_modules path --- plugins/available/node.plugin.bash | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 plugins/available/node.plugin.bash diff --git a/plugins/available/node.plugin.bash b/plugins/available/node.plugin.bash new file mode 100644 index 00000000..76027be7 --- /dev/null +++ b/plugins/available/node.plugin.bash @@ -0,0 +1,6 @@ +cite about-plugin +about-plugin 'Node.js helper functions' + +export PATH=./node_modules/.bin:$PATH + + From 018c62c6c56014e8c222bf313209a5722dcf43c4 Mon Sep 17 00:00:00 2001 From: Travis Swicegood Date: Thu, 20 Sep 2012 15:36:54 -0500 Subject: [PATCH 3/4] Make sure that the npm prefix is in PATH --- plugins/available/node.plugin.bash | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/available/node.plugin.bash b/plugins/available/node.plugin.bash index 76027be7..06b158e7 100644 --- a/plugins/available/node.plugin.bash +++ b/plugins/available/node.plugin.bash @@ -3,4 +3,7 @@ about-plugin 'Node.js helper functions' export PATH=./node_modules/.bin:$PATH +# Make sure the global npm prefix is on the path +[[ `which npm` ]] && export PATH=$(npm config get prefix)/bin:$PATH + From c1a5c0d203db240b7f2d21dd4cf9d6a0eedd3ee3 Mon Sep 17 00:00:00 2001 From: Nils Winkler Date: Tue, 13 Nov 2012 14:16:21 +0100 Subject: [PATCH 4/4] Added completion (show, help, enable, disable) for the bash-it function --- completion/available/bash-it.completion.bash | 135 +++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 completion/available/bash-it.completion.bash diff --git a/completion/available/bash-it.completion.bash b/completion/available/bash-it.completion.bash new file mode 100644 index 00000000..83ddfbc4 --- /dev/null +++ b/completion/available/bash-it.completion.bash @@ -0,0 +1,135 @@ +#!/usr/bin/env bash + +_bash-it-comp-enable-disable() +{ + local enable_disable_args="alias plugin completion" + COMPREPLY=( $(compgen -W "${enable_disable_args}" -- ${cur}) ) +} + +_bash-it-comp-list-available-not-enabled() +{ + subdirectory="$1" + + local available_things=$(for f in `ls -1 $BASH_IT/$subdirectory/available/*.bash`; + do + if [ ! -e $BASH_IT/$subdirectory/enabled/$(basename $f) ] + then + basename $f | cut -d'.' -f1 + fi + done) + + COMPREPLY=( $(compgen -W "all ${available_things}" -- ${cur}) ) +} + +_bash-it-comp-list-enabled() +{ + subdirectory="$1" + + local enabled_things=$(for f in `ls -1 $BASH_IT/$subdirectory/enabled/*.bash`; + do + basename $f | cut -d'.' -f1 + done) + + COMPREPLY=( $(compgen -W "all ${enabled_things}" -- ${cur}) ) +} + +_bash-it-comp-list-available() +{ + subdirectory="$1" + + local enabled_things=$(for f in `ls -1 $BASH_IT/$subdirectory/available/*.bash`; + do + basename $f | cut -d'.' -f1 + done) + + COMPREPLY=( $(compgen -W "${enabled_things}" -- ${cur}) ) +} + +_bash-it-comp() +{ + local cur prev opts prevprev + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + opts="help show enable disable" + + case "${prev}" in + show) + local show_args="plugins aliases completions" + COMPREPLY=( $(compgen -W "${show_args}" -- ${cur}) ) + return 0 + ;; + help) + local help_args="plugins aliases" + COMPREPLY=( $(compgen -W "${help_args}" -- ${cur}) ) + return 0 + ;; + enable) + _bash-it-comp-enable-disable + return 0 + ;; + disable) + _bash-it-comp-enable-disable + return 0 + ;; + aliases) + prevprev="${COMP_WORDS[COMP_CWORD-2]}" + + case "${prevprev}" in + help) + _bash-it-comp-list-available aliases + return 0 + ;; + esac + ;; + alias) + prevprev="${COMP_WORDS[COMP_CWORD-2]}" + + case "${prevprev}" in + enable) + _bash-it-comp-list-available-not-enabled aliases + return 0 + ;; + disable) + _bash-it-comp-list-enabled aliases + return 0 + ;; + esac + ;; + plugin) + prevprev="${COMP_WORDS[COMP_CWORD-2]}" + + case "${prevprev}" in + enable) + _bash-it-comp-list-available-not-enabled plugins + return 0 + ;; + disable) + _bash-it-comp-list-enabled plugins + return 0 + ;; + esac + ;; + completion) + prevprev="${COMP_WORDS[COMP_CWORD-2]}" + + case "${prevprev}" in + enable) + _bash-it-comp-list-available-not-enabled completion + return 0 + ;; + disable) + _bash-it-comp-list-enabled completion + return 0 + ;; + esac + ;; + esac + + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + + return 0 +} + +complete -F _bash-it-comp bash-it