feat(tmux): Add debug mode to projectinator
This commit is contained in:
parent
02f6173754
commit
754d7c20d1
@ -4,15 +4,43 @@
|
||||
set -o emacs
|
||||
bind '"\e": "\C-W\c-d"'
|
||||
|
||||
move_pane () {
|
||||
OPEN_MODE="new_pane"
|
||||
|
||||
while getopts ":l:v" option; do
|
||||
case $option in
|
||||
l)
|
||||
OPEN_MODE="local"
|
||||
;;
|
||||
v)
|
||||
VERBOSE=true
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
debug () {
|
||||
if [ "$VERBOSE" = true ]; then
|
||||
echo $1
|
||||
fi
|
||||
}
|
||||
|
||||
open_local () {
|
||||
tmux send-keys "cd $PROJECT_PATH" Enter
|
||||
|
||||
# Close tmux popup if any
|
||||
tmux display-popup -C
|
||||
}
|
||||
|
||||
open_new_pane () {
|
||||
tmux has-session -t $SESSION_NAME 2>/dev/null
|
||||
if [ $? != 0 ]; then
|
||||
debug "Session $SESSION_NAME missing, creating it."
|
||||
tmux new-session -s $SESSION_NAME -d -n $PROJECT_NAME -c $PROJECT_PATH
|
||||
fi
|
||||
|
||||
tmux has-session -t $SESSION_NAME:$PROJECT_NAME 2>/dev/null
|
||||
if [ $? != 0 ]; then
|
||||
tmux new-window -t $SESSION_NAME: -n $PROJECT_NAME -d -c $PROJECT_PATH
|
||||
debug "Window $PROJECT_NAME in $SESSION_NAME not found, creating it."
|
||||
tmux new-window -t $SESSION_NAME -n $PROJECT_NAME -d -c $PROJECT_PATH
|
||||
fi
|
||||
|
||||
tmux switch-client -t $SESSION_NAME:$PROJECT_NAME
|
||||
@ -34,15 +62,13 @@ PROJECT_NAME=$(echo $SELECTED | rev | cut -d '/' -f1 | rev)
|
||||
|
||||
SESSION_NAME=$([ -z "${CUSTOM_SESSIONS[$PROJECT_ROOT]}" ] && echo "$PROJECT_ROOT" || echo "${CUSTOM_SESSIONS[$PROJECT_ROOT]}")
|
||||
|
||||
while getopts ":l" option; do
|
||||
case $option in
|
||||
l)
|
||||
tmux send-keys "cd $PROJECT_PATH" Enter
|
||||
debug "Project path is $PROJECT_PATH"
|
||||
|
||||
# Close tmux popup if any
|
||||
tmux display-popup -C
|
||||
case $OPEN_MODE in
|
||||
"new_pane")
|
||||
open_new_pane
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ $OPTIND -eq 1 ]; then move_pane "$SELECTED"; fi
|
||||
"local")
|
||||
open_local
|
||||
;;
|
||||
esac
|
||||
|
Loading…
Reference in New Issue
Block a user