#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'
