diff options
Diffstat (limited to 'zsh/.zsh/functions')
-rw-r--r-- | zsh/.zsh/functions/add-to-list | 10 | ||||
-rw-r--r-- | zsh/.zsh/functions/env | 3 | ||||
-rw-r--r-- | zsh/.zsh/functions/venv | 15 |
3 files changed, 28 insertions, 0 deletions
diff --git a/zsh/.zsh/functions/add-to-list b/zsh/.zsh/functions/add-to-list new file mode 100644 index 0000000..18720e0 --- /dev/null +++ b/zsh/.zsh/functions/add-to-list @@ -0,0 +1,10 @@ +# -*- mode: sh; -*- +if [[ ! "${(P)${1}}" =~ (^|:)"$2"(:|$) ]]; then + if [ -n "$3" ]; then + # Append + typeset -g $1="${(P)${1}}:$2" + else + # Prepend + typeset -g $1="$2:${(P)${1}}" + fi +fi diff --git a/zsh/.zsh/functions/env b/zsh/.zsh/functions/env new file mode 100644 index 0000000..a79fd5d --- /dev/null +++ b/zsh/.zsh/functions/env @@ -0,0 +1,3 @@ +# -*- mode: shell-script -*- + +/usr/bin/env "$@" | grep -v \^LESS_TERMCAP_ diff --git a/zsh/.zsh/functions/venv b/zsh/.zsh/functions/venv new file mode 100644 index 0000000..03ec83d --- /dev/null +++ b/zsh/.zsh/functions/venv @@ -0,0 +1,15 @@ +# -*- mode: sh; -*- +if [ "${#}" -eq 1 ]; then + local venv_activate="$HOME/.virtualenv/$1/bin/activate" + + if [ -r "$venv_activate" ]; then + source $venv_activate + else + echo "$1 is not a know virtual environment" + fi +else + echo "Virtual environments: " + for itm in ~/.virtualenv/*; do + echo " $(basename $itm)" + done +fi |