samedi 21 février 2015

Is there a better to find out the script location which is part of a zprezto module?


I am writing a custom module to extend the zprezto framework for myself. The goal is to be able to start a tmux with proper configuration by name. Here is the code of the init.zsh of my custom module:



SCRIPT=${0:A}
export _MYTMUX_SDIR=`dirname $SCRIPT`

function start_tmux {
PROJECT_NAME=$1
tmux has-session -t $PROJECT_NAME 2>/dev/null
if [ "$?" -eq 1 ] ; then
echo "No Session found. Creating and configuring..."
tmux new-session -d -s $PROJECT_NAME
tmux source-file ${_MYTMUX_SDIR}/tmux-${PROJECT_NAME}.conf
else
echo "Session found. Connecting."
fi
tmux attach-session -t $PROJECT_NAME
}


function start_aws {
start_tmux aws
}

function start_digitalocean {
start_tmux digitalocean
}


I am forced to export a variable _MYTMUX_SDIR to keep track of the location of the script. It is needed because the tmux configuration files are colocated with the module init.zsh script.


If I put this code inside the function body, it will give me the directory location wherein the function is called.


My question:


Is there a better way to find out the script location? I want to avoid putting variable in environment unnecessarily.



Aucun commentaire:

Enregistrer un commentaire