From 8cf91b5d97e626b2aa22b4829196a4128d859b69 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Mon, 15 May 2023 09:46:22 -0500 Subject: feat: add tmux script --- bin/tmux-projectr | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 bin/tmux-projectr (limited to 'bin') diff --git a/bin/tmux-projectr b/bin/tmux-projectr new file mode 100755 index 0000000..5dd89a1 --- /dev/null +++ b/bin/tmux-projectr @@ -0,0 +1,27 @@ +#!/bin/sh + +if [ "$#" -eq 0 ]; then + GIT_PREVIEW='onefetch --include-hidden {}' + DIR_PREVIEW='tree -CL 3 --gitignore --noreport --filelimit=50 {}' + PREVIEW_CMD="($GIT_PREVIEW || $DIR_PREVIEW) 2>/dev/null" + + # shellcheck disable=2046 + set -- $( + projectr -mgt ~/dkr ~/pkg ~/src -P ~/.dotfiles --exclude-cwd | + fzf-tmux "$FZF_TMUX_OPTS" -- --tac --select-1 --exit-0 -d/ --with-nth -1 \ + --bind 'focus:transform-header(echo {})' \ + --preview-window='right,75%,<80(up,75%,border-bottom)' --preview="$PREVIEW_CMD" + ) +fi + +name=$(basename "$1" | tr . _) + +if ! tmux has-session -t="$name" 2>/dev/null; then + tmux new-session -ds "$name" -c "$1" +fi + +if [ -z "$TMUX" ] && [ -z "$name" ]; then + tmux attach-session -t "$name" +elif tmux has-session -t="$name" 2>/dev/null; then + tmux switch-client -t "$name" +fi -- cgit v1.2.3-70-g09d2