From 5a549cfc94c5325b92514ae98a1c176b93d5640c Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Thu, 8 Mar 2018 11:52:13 -0300 Subject: Support for custom sessions --- session | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'session') diff --git a/session b/session index 3f9f03a..e9884e6 100755 --- a/session +++ b/session @@ -7,7 +7,9 @@ # Parameters NAME="$0" BASENAME="`basename $0`" -IGNORE="$HOME/.config/session-ignore" +CONFIG="$HOME/.config/session" +CUSTOM="$CONFIG/custom" +IGNORE="$CONFIG/ignore" # Check if a given program is not being ignored by configuration function __session_not_ignored { @@ -28,6 +30,11 @@ function __session_not_ignored { # Query for program sessions function __session_query { + # Custom + if __session_not_ignored custom && [ -d "$CUSTOM" ]; then + ls -1 $CUSTOM + fi + # VIM if __session_not_ignored vim && [ -e "$HOME/.local/share/vim/sessions" ]; then ls -1 $HOME/.local/share/vim/sessions | sed -e 's/\.vim//g' @@ -70,6 +77,13 @@ function __session_list { __session_query | sort | uniq | while read session; do echo -en "$n. $session:" + # Custom + if __session_not_ignored custom && [ -e "$CUSTOM/$session" ]; then + echo -n " custom" + #else + # echo " -" + fi + # Check VIM session if __session_not_ignored vim && [ -e "$HOME/.local/share/vim/sessions/$session.vim" ]; then echo -n " vim" @@ -156,6 +170,11 @@ function __session_exec { function __session_open { SESSION="$1" + # Custom + if __session_not_ignored custom && [ -e "$CUSTOM/$SESSION" ]; then + __session_exec $CUSTOM/$SESSION + fi + # Check VIM session if __session_not_ignored vim && [ -e "$HOME/.local/share/vim/sessions/$SESSION.vim" ]; then if which vim &> /dev/null; then @@ -205,6 +224,9 @@ function __session_open { fi } +# Ensure config folders exist +mkdir -p $CONFIG $CUSTOM + # Dispatch if [ "$BASENAME" == "session-list" ]; then __session_list -- cgit v1.2.3