[zsh] Clean up path functions; init_path wasn't being called after definition
This commit is contained in:
parent
0aaffa1cca
commit
aa6e81fdeb
3 changed files with 46 additions and 27 deletions
|
@ -3,27 +3,37 @@
|
||||||
|
|
||||||
append_to_path() {
|
append_to_path() {
|
||||||
local should_export_path=1
|
local should_export_path=1
|
||||||
|
local verbose=0
|
||||||
|
|
||||||
while getopts "e" opt; do
|
while getopts "ve" opt; do
|
||||||
case $opt in
|
case $opt in
|
||||||
"e") should_export_path=1;;
|
"e") should_export_path=1;;
|
||||||
"+e") should_export_path=0;;
|
"+e") should_export_path=0;;
|
||||||
*) >&2 echo "$0: unknown option '$opt'"
|
"v") verbose=1;;
|
||||||
|
*) ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
local result=1
|
||||||
local path_to_add=$@[$OPTIND]
|
local path_to_add=$@[$OPTIND]
|
||||||
|
|
||||||
if [[ -d "$path_to_add" ]]; then
|
if [[ -d "$path_to_add" ]]; then
|
||||||
path+="$path_to_add"
|
if (( $verbose )); then
|
||||||
|
echo "Appending $path_to_add to \$path"
|
||||||
if (( $should_export_path )); then
|
|
||||||
export path
|
|
||||||
fi
|
fi
|
||||||
|
path+="$path_to_add"
|
||||||
return 1
|
else
|
||||||
|
if (( $verbose )); then
|
||||||
|
echo "$path_to_add doesn't exist"
|
||||||
|
fi
|
||||||
|
result=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
if (( $should_export_path )); then
|
||||||
|
export path
|
||||||
|
fi
|
||||||
|
|
||||||
|
return $result
|
||||||
}
|
}
|
||||||
|
|
||||||
append_to_path "$@"
|
append_to_path "$@"
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
# Eryn Wells <eryn@erynwells.me>
|
# Eryn Wells <eryn@erynwells.me>
|
||||||
# vim:ft=zsh:
|
|
||||||
|
|
||||||
autoload -Uz prepend_to_path
|
|
||||||
autoload -Uz append_to_path
|
autoload -Uz append_to_path
|
||||||
|
|
||||||
init_path() {
|
init_path() {
|
||||||
local should_be_verbose=1
|
local should_be_verbose=0
|
||||||
|
|
||||||
while getopts "v" opt; do
|
while getopts "v" opt; do
|
||||||
case $opt in
|
case $opt in
|
||||||
|
@ -15,7 +13,10 @@ init_path() {
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
export path=()
|
local verbose_flag
|
||||||
|
if (( $should_be_verbose )); then
|
||||||
|
verbose_flag='-v'
|
||||||
|
fi
|
||||||
|
|
||||||
for p in \
|
for p in \
|
||||||
"$HOME/bin" \
|
"$HOME/bin" \
|
||||||
|
@ -35,13 +36,12 @@ init_path() {
|
||||||
"/usr/sbin" \
|
"/usr/sbin" \
|
||||||
"/sbin"
|
"/sbin"
|
||||||
do
|
do
|
||||||
append_to_path +e "$p"
|
append_to_path +e $verbose_flag "$p"
|
||||||
if (( $? && $should_be_verbose )); then
|
|
||||||
echo $p
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
|
|
||||||
export path
|
export path
|
||||||
|
|
||||||
rehash
|
rehash
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init_path "$@"
|
||||||
|
|
|
@ -1,29 +1,38 @@
|
||||||
# Eryn Wells <eryn@erynwells.me>
|
# Eryn Wells <eryn@erynwells.me>
|
||||||
# vim:ft=zsh:
|
|
||||||
|
|
||||||
prepend_to_path() {
|
prepend_to_path() {
|
||||||
local should_export_path=1
|
local should_export_path=1
|
||||||
|
local should_be_verbose=0
|
||||||
|
|
||||||
while getopts "e" opt; do
|
while getopts "ve" opt; do
|
||||||
case $opt in
|
case $opt in
|
||||||
"e") should_export_path=1;;
|
"e") should_export_path=1;;
|
||||||
"+e") should_export_path=0;;
|
"+e") should_export_path=0;;
|
||||||
*) >&2 echo "$0: unknown option '$opt'"
|
"v") should_be_verbose=1;;
|
||||||
|
*) ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
local result=1
|
||||||
local path_to_add=$@[$OPTIND]
|
local path_to_add=$@[$OPTIND]
|
||||||
|
|
||||||
if [[ -d "$path_to_add" ]]; then
|
if [[ -d "$path_to_add" ]]; then
|
||||||
path=("$path_to_add" $path)
|
if (( $verbose )); then
|
||||||
|
echo "Prepending $path_to_add to \$path"
|
||||||
if (( $should_export_path )); then
|
|
||||||
export path
|
|
||||||
fi
|
fi
|
||||||
|
path=("$path_to_add" $path)
|
||||||
return 0
|
else
|
||||||
|
if (( $verbose )); then
|
||||||
|
echo "$path_to_add doesn't exist"
|
||||||
|
fi
|
||||||
|
result=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 1
|
if (( $should_export_path )); then
|
||||||
|
export path
|
||||||
|
fi
|
||||||
|
|
||||||
|
return $result
|
||||||
}
|
}
|
||||||
|
|
||||||
prepend_to_path "$@"
|
prepend_to_path "$@"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue