diff --git a/bin/tat b/bin/tat new file mode 100755 index 0000000..e9c8100 --- /dev/null +++ b/bin/tat @@ -0,0 +1,22 @@ +#!/bin/sh +# +# Attach or create tmux session named the same as current directory. + +session_name="$(basename "$PWD" | tr . -)" + +session_exists() { + tmux list-sessions | sed -E 's/:.*$//' | grep -q "^$session_name$" +} + +not_in_tmux() { + [ -z "$TMUX" ] +} + +if not_in_tmux; then + tmux new-session -As "$session_name" +else + if ! session_exists; then + (TMUX='' tmux new-session -Ad -s "$session_name") + fi + tmux switch-client -t "$session_name" +fi diff --git a/fish/config.fish b/fish/config.fish index 93bba8b..52091d5 100644 --- a/fish/config.fish +++ b/fish/config.fish @@ -7,6 +7,7 @@ set -g -x EDITOR "emacsclient" set -g -x ALTERNATE_EDITOR "vim" # Setup PATH +ensure_path ~/.dotfiles/bin ensure_path ~/bin ensure_path ~/.emacs.d/bin