#!/usr/bin/env bash create_session() { tmux new -ds "$1" tmux send-keys -t "$1" 'nvim' Enter } # Use Git repo root as dir if we're in one dir=`git rev-parse --show-toplevel 2> /dev/null || pwd` dir_hash=`echo "$dir" | shasum | grep -o '^[^ ]\+'` dir_name=`basename "$dir" | sed 's/[^a-zA-Z0-9]/_/g'` session_name="${dir_name}-${dir_hash}" tmux has -t "$session_name" 2> /dev/null || \ create_session "$session_name" # Attach to the session if [ -n "$TMUX" ]; then tmux switch-client -t "$session_name" else tmux attach -t "$session_name" fi