fix(tmux): Project opener always use user base path

This commit is contained in:
Tanguy Herbron 2023-11-14 00:14:35 +01:00
parent 98d3086417
commit 02f6173754

View File

@ -7,15 +7,15 @@ bind '"\e": "\C-W\c-d"'
move_pane () {
tmux has-session -t $SESSION_NAME 2>/dev/null
if [ $? != 0 ]; then
tmux new-session -s $SESSION_NAME -d -n $PROJECT -c $1
tmux new-session -s $SESSION_NAME -d -n $PROJECT_NAME -c $PROJECT_PATH
fi
tmux has-session -t $SESSION_NAME:$PROJECT 2>/dev/null
tmux has-session -t $SESSION_NAME:$PROJECT_NAME 2>/dev/null
if [ $? != 0 ]; then
tmux new-window -t $SESSION_NAME: -n $PROJECT -d -c $1
tmux new-window -t $SESSION_NAME: -n $PROJECT_NAME -d -c $PROJECT_PATH
fi
tmux switch-client -t $SESSION_NAME:$PROJECT
tmux switch-client -t $SESSION_NAME:$PROJECT_NAME
# Close tmux popup if any
tmux display-popup -C
@ -24,16 +24,20 @@ move_pane () {
declare -A CUSTOM_SESSIONS
CUSTOM_SESSIONS[Projects]=Halia
SELECTED=$(find . -name .git -type d -prune -not -path "./.*" 2>/dev/null | sed 's/\/.git//' | cut -d'/' -f2- | fzf)
PROJECT_LIST=$(find ~/* -name .git -type d -prune 2>/dev/null)
ROOT=$(echo $SELECTED | cut -d '/' -f1)
PROJECT=$(echo $SELECTED | rev | cut -d '/' -f1 | rev)
SESSION_NAME=$([ -z "${CUSTOM_SESSIONS[$ROOT]}" ] && echo "$ROOT" || echo "${CUSTOM_SESSIONS[$ROOT]}")
SELECTED=$(echo $PROJECT_LIST | sed 's/\/.git/\n/g' | sed "s/$(echo $HOME | sed 's/\//\\\//g')//" | cut -d'/' -f2- | fzf)
PROJECT_PATH=$(echo $PROJECT_LIST | sed 's/\/.git/\n/g' | grep $SELECTED)
PROJECT_ROOT=$(echo $SELECTED | cut -d '/' -f1)
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 $SELECTED" Enter
tmux send-keys "cd $PROJECT_PATH" Enter
# Close tmux popup if any
tmux display-popup -C