From 17d31d881e9f88554aa1b90dc855554d1f640261 Mon Sep 17 00:00:00 2001 From: William Ting Date: Wed, 13 Feb 2013 12:14:52 -0600 Subject: [PATCH] Revert "remove _j() as it was never used to begin with." This reverts commit 49a0d702ba52640c11f7b54aea291a65b71beff7. Conflicts: bin/autojump Closes #178, #181. --- bin/_j | 6 ++++++ bin/autojump.zsh | 2 ++ install.sh | 35 ++++++++++++++++++++++++++++++++++- uninstall.sh | 7 +++++++ 4 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 bin/_j diff --git a/bin/_j b/bin/_j new file mode 100644 index 0000000..6cbd600 --- /dev/null +++ b/bin/_j @@ -0,0 +1,6 @@ +#compdef j +cur=${words[2, -1]} + +autojump --complete ${=cur[*]} | while read i; do + compadd -U "$i"; +done diff --git a/bin/autojump.zsh b/bin/autojump.zsh index 197edbd..92383ca 100644 --- a/bin/autojump.zsh +++ b/bin/autojump.zsh @@ -37,6 +37,7 @@ chpwd_functions+=autojump_chpwd function j { # Cannot use =~ due to MacPorts zsh v4.2, see issue #125. + echo "j()" if [[ ${@} == -* ]]; then autojump ${@} return @@ -54,6 +55,7 @@ function j { } function jc { + echo "j()" if [[ ${@} == -* ]]; then j ${@} else diff --git a/install.sh b/install.sh index 584d53c..498031c 100755 --- a/install.sh +++ b/install.sh @@ -3,12 +3,13 @@ function help_msg { echo "./install.sh [OPTION..]" echo - echo " -a, --auto Try to determine destdir, prefix" + echo " -a, --auto Try to determine destdir, prefix (and zshshare if applicable)" echo " -g, --global Use default global settings (destdir=/; prefix=usr)" echo " -l, --local Use default local settings (destdir=~/.autojump)" echo echo " -d, --destdir PATH Set install destination to PATH" echo " -p, --prefix PATH Use PATH as prefix" + echo " -Z, --zshshare PATH Use PATH as zsh share destination" echo echo " -f, --force Ignore Python version check" echo " -n, --dry_run Only show installation paths, don't install anything" @@ -19,6 +20,11 @@ function help_msg { echo ' Documentation: $destdir$prefix/share/man/man1' echo ' Icon: $destdir$prefix/share/autojump' echo ' Shell scripts: $destdir/etc/profile.d' + echo ' zsh functions: $destdir$zshsharedir' + echo + echo 'Unless specified, $zshshare will be :' + echo ' - $destdir$prefix/functions for local installations' + echo ' - $destdir$prefix/share/zsh/site-functions for all other installations' } dry_run= @@ -28,6 +34,7 @@ force= shell=`echo ${SHELL} | awk -F/ '{ print $NF }'` destdir= prefix="usr/local" +zshsharedir= # If no arguments passed, default to --auto. if [[ ${#} == 0 ]]; then @@ -91,6 +98,14 @@ while true; do exit 1 fi ;; + -Z|--zshshare) + if [ $# -gt 1 ]; then + zshsharedir=$2; shift 2 + else + echo "--zshshare or -Z requires an argument" 1>&2 + exit 1 + fi + ;; --) shift break @@ -137,6 +152,18 @@ if [[ ${shell} != "bash" ]] && [[ ${shell} != "zsh" ]]; then exit 1 fi +# zsh functions +if [[ $shell == "zsh" ]]; then + if [[ -z $zshsharedir ]]; then + # if not set, use a default + if [[ $local ]]; then + zshsharedir="${prefix}functions" + else + zshsharedir="${prefix}share/zsh/site-functions" + fi + fi +fi + # check Python version if [ ! ${force} ]; then python_version=`python -c 'import sys; print(sys.version_info[:])'` @@ -167,6 +194,9 @@ echo "Binary: ${destdir}${prefix}bin/" echo "Documentation: ${destdir}${prefix}share/man/man1/" echo "Icon: ${destdir}${prefix}share/autojump/" echo "Shell scripts: ${destdir}etc/profile.d/" +if [[ -z $shell ]] || [[ $shell == "zsh" ]]; then + echo "zsh functions: ${destdir}${zshsharedir}" +fi echo if [[ $dry_run ]]; then @@ -186,6 +216,9 @@ mkdir -p ${destdir}etc/profile.d/ || exit 1 cp -v ./bin/autojump.sh ${destdir}etc/profile.d/ || exit 1 cp -v ./bin/autojump.bash ${destdir}etc/profile.d/ || exit 1 cp -v ./bin/autojump.zsh ${destdir}etc/profile.d/ || exit 1 +mkdir -p ${destdir}${zshsharedir} || exit 1 +# TODO: remove unused _j function (2013.02.01_1348, ting) +install -v -m 0755 ./bin/_j ${destdir}${zshsharedir} || exit 1 # MODIFY AUTOJUMP.SH FOR CUSTOM INSTALLS if [[ -z ${local} ]] && [[ -z ${global} ]]; then diff --git a/uninstall.sh b/uninstall.sh index f9e7788..4154984 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -65,7 +65,14 @@ if [ -d "${prefix}/share/autojump/" ]; then if [ -f /etc/profile.d/autojump.zsh ]; then sudo rm -v /etc/profile.d/autojump.zsh + fpath=`/usr/bin/env zsh -c 'echo $fpath'` + for f in ${fpath}; do + if [[ -f ${f}/_j ]]; then + sudo rm -v ${f}/_j + fi + done + remove_msg "global" "zsh" fi fi