Added tmux session handling

master
Jef Roosens 2021-06-04 16:24:23 +02:00
parent 1dfac456f1
commit 0bc29fea6b
Signed by: Jef Roosens
GPG Key ID: 955C0660072F691F
3 changed files with 25 additions and 1 deletions

View File

@ -1,6 +1,6 @@
# General
alias 'clear=echo "No more clear for you"'
alias 'e=$EDITOR'
# alias 'e=$EDITOR'
alias 'ec=$EDITOR ~/.bashrc'
alias 'sc=source ~/.bashrc'

View File

@ -9,6 +9,7 @@
export EDITOR=nvim
export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
export INPUTRC="$HOME/.inputrc"
export HISTCONTROL=ignorespace
# =====FUNCTIONS=====

23
.local/bin/e 100755
View File

@ -0,0 +1,23 @@
#!/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