33 lines
638 B
Plaintext
33 lines
638 B
Plaintext
#compdef session
|
|
|
|
__session_sessions() {
|
|
list() {
|
|
for item in $HOME/.local/share/tmux/layouts/session-*; do
|
|
item=${item#$HOME/.local/share/tmux/layouts/}
|
|
echo ${item#session-}
|
|
done
|
|
}
|
|
local -a sessions
|
|
sessions=(${(fo)"$(list)"})
|
|
_describe 'session' sessions
|
|
}
|
|
|
|
__session_hosts() {
|
|
list() {
|
|
declare -A hosts
|
|
if [ -f ~/.config/session ]; then
|
|
source ~/.config/session
|
|
for key val in "${(@kv)hosts}"; do
|
|
echo $key
|
|
done
|
|
fi
|
|
}
|
|
local -a hosts
|
|
hosts=(${(fo)"$(list)"})
|
|
_describe 'host' hosts
|
|
}
|
|
|
|
_arguments \
|
|
':session:__session_sessions' \
|
|
':host:__session_hosts'
|