diff --git a/home/private_dot_config/zsh/functions/tn-ws b/home/private_dot_config/zsh/functions/tn-ws new file mode 100644 index 0000000..22deb8a --- /dev/null +++ b/home/private_dot_config/zsh/functions/tn-ws @@ -0,0 +1,30 @@ +#!/usr/bin/env zsh +##? create a new tmux session +##? use current directory name as a fallback +##? create neovim and shell windows + + +if [ -z "$1" ]; then + SESSION="${PWD:A:t2}" +else + SESSION="$1" +fi + +# sanitize name +SESSION="${SESSION:gs/\./_}" + +if ! tmux list-sessions | grep $SESSION 2>/dev/null; then + tmux new-session -d -s $SESSION + + tmux rename-window -t $SESSION:0 'neovim' + tmux send-keys -t 'neovim' 'nvim' Enter + + tmux new-window -t $SESSION:1 -n 'shell' + tmux send-keys -t 'shell' + + #TODO: open as many windows as defined by '$2' +fi + +tmux attach -t $SESSION + +