Added tmux session handling
parent
1dfac456f1
commit
0bc29fea6b
|
@ -1,6 +1,6 @@
|
||||||
# General
|
# General
|
||||||
alias 'clear=echo "No more clear for you"'
|
alias 'clear=echo "No more clear for you"'
|
||||||
alias 'e=$EDITOR'
|
# alias 'e=$EDITOR'
|
||||||
alias 'ec=$EDITOR ~/.bashrc'
|
alias 'ec=$EDITOR ~/.bashrc'
|
||||||
alias 'sc=source ~/.bashrc'
|
alias 'sc=source ~/.bashrc'
|
||||||
|
|
||||||
|
|
1
.bashrc
1
.bashrc
|
@ -9,6 +9,7 @@
|
||||||
export EDITOR=nvim
|
export EDITOR=nvim
|
||||||
export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
|
export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
|
||||||
export INPUTRC="$HOME/.inputrc"
|
export INPUTRC="$HOME/.inputrc"
|
||||||
|
export HISTCONTROL=ignorespace
|
||||||
|
|
||||||
|
|
||||||
# =====FUNCTIONS=====
|
# =====FUNCTIONS=====
|
||||||
|
|
|
@ -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
|
Loading…
Reference in New Issue