|
@@ -4,21 +4,43 @@ if [ -z "$1" ]; then
|
|
|
(sleep 3; exit 1) &
|
|
(sleep 3; exit 1) &
|
|
|
PROJECT=$(timeout 2 fd \
|
|
PROJECT=$(timeout 2 fd \
|
|
|
--base-directory ~ \
|
|
--base-directory ~ \
|
|
|
- -t d \
|
|
|
|
|
- -d 5 \
|
|
|
|
|
|
|
+ -d 10 \
|
|
|
-u -E '.[a-fh-zA-FG-Z]*' \
|
|
-u -E '.[a-fh-zA-FG-Z]*' \
|
|
|
--prune \\.git$ \
|
|
--prune \\.git$ \
|
|
|
|
|
+ -E "Library" \
|
|
|
|
|
+ -E "OrbStack" \
|
|
|
|
|
+ -E "node_modules" \
|
|
|
|
|
+ -E "target" \
|
|
|
|
|
+ -E "dist" \
|
|
|
|
|
+ -E ".bare" \
|
|
|
|
|
+ -E ".cargo" \
|
|
|
|
|
+ -E ".npm" \
|
|
|
|
|
+ -E ".rustup" \
|
|
|
|
|
+ -E "venv" \
|
|
|
|
|
+ -E ".venv" \
|
|
|
-x echo {//} \
|
|
-x echo {//} \
|
|
|
| fzf);
|
|
| fzf);
|
|
|
else
|
|
else
|
|
|
PROJECT="$1"
|
|
PROJECT="$1"
|
|
|
fi;
|
|
fi;
|
|
|
|
|
|
|
|
-if [ -n $PROJECT ] && [ ! "$PROJECT" = '' ]; then
|
|
|
|
|
- PROJECT=$(realpath $PROJECT)
|
|
|
|
|
- NAME=$(basename $PROJECT)
|
|
|
|
|
- tmux select-window -t $NAME || \
|
|
|
|
|
- tmux new-window -c "$PROJECT" -n "$NAME" /bin/zsh $DOTFILES_DIR/.scripts/nvim_launch.zsh $PROJECT
|
|
|
|
|
|
|
+if [ -n "$PROJECT" ]; then
|
|
|
|
|
+ PROJECT=$(realpath "$PROJECT")
|
|
|
|
|
+ NAME=$(basename "$PROJECT")
|
|
|
|
|
+
|
|
|
|
|
+ if git -C "$PROJECT" rev-parse --is-inside-work-tree &>/dev/null; then
|
|
|
|
|
+ GIT_DIR=$(git -C "$PROJECT" rev-parse --git-dir 2>/dev/null)
|
|
|
|
|
+ COMMON_DIR=$(git -C "$PROJECT" rev-parse --git-common-dir 2>/dev/null)
|
|
|
|
|
+
|
|
|
|
|
+ if [[ "$GIT_DIR" != "$COMMON_DIR" ]]; then
|
|
|
|
|
+ REPO_ROOT=$(dirname "$COMMON_DIR")
|
|
|
|
|
+ REPO_NAME=$(basename "$REPO_ROOT")
|
|
|
|
|
+ NAME="$NAME | $REPO_NAME"
|
|
|
|
|
+ fi
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
|
|
+ tmux select-window -t "$NAME" || \
|
|
|
|
|
+ tmux new-window -c "$PROJECT" -n "$NAME" /bin/zsh $DOTFILES_DIR/.scripts/nvim_launch.zsh "$PROJECT"
|
|
|
else
|
|
else
|
|
|
exit 1
|
|
exit 1
|
|
|
fi;
|
|
fi;
|