#compdef tmuxp

# AUTOMATICALLY GENERATED by `shtab`


_shtab_tmuxp_commands() {
  local _commands=(
    "convert:"
    "debug-info:"
    "edit:"
    "freeze:"
    "import:"
    "load:"
    "ls:"
    "shell:"
  )
  _describe 'tmuxp commands' _commands
}

_shtab_tmuxp_import_commands() {
  local _commands=(
    "teamocil:"
    "tmuxinator:"
  )
  _describe 'tmuxp import commands' _commands
}

_shtab_tmuxp_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
  "(- : *)"{--version,-V}"[show program\'s version number and exit]"
  "--log-level[log level (debug, info, warning, error, critical) (default \"info\")]:log_level:(debug info warning error critical)"
)

_shtab_tmuxp_convert_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
  {--yes,-y}"[always answer yes]"
  ":checks tmuxp and current directory for workspace files.:_files"
)

_shtab_tmuxp_debug_info_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
)

_shtab_tmuxp_edit_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
  ":checks current tmuxp and current directory for workspace files.:"
)

_shtab_tmuxp_freeze_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
  "-S[pass-through for tmux -S]:socket_path:"
  "-L[pass-through for tmux -L]:socket_name:"
  {-f,--workspace-format}"[format to save in]:workspace_format:(yaml json)"
  {-o,--save-to}"[file to save to]:save_to:"
  {--yes,-y}"[always answer yes]"
  {--quiet,-q}"[don\'t prompt for confirmation]"
  "--force[overwrite the workspace file]"
  ":session_name:"
)

_shtab_tmuxp_import_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
)

_shtab_tmuxp_import_teamocil_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
  ":checks current \~\/.teamocil and current directory for yaml files:_files"
)

_shtab_tmuxp_import_tmuxinator_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
  ":checks current \~\/.tmuxinator and current directory for yaml files:_files"
)

_shtab_tmuxp_load_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
  "-L[passthru to tmux(1) -L]:socket_name:"
  "-S[passthru to tmux(1) -S]:socket_path:"
  "-f[passthru to tmux(1) -f]:tmux_config_file:_files"
  "-s[start new session with new session name]:new_session_name:"
  {--yes,-y}"[always answer yes]"
  "-d[load the session without attaching it]"
  {-a,--append}"[load workspace, appending windows to the current session]"
  "-2[force tmux to assume the terminal supports 256 colours.]"
  "-8[like -2, but indicates that the terminal supports 88 colours.]"
  "--log-file[file to log errors\/output to]:log_file:_files"
  "(*):filepath to session or filename of session in tmuxp workspace directory:_files"
)

_shtab_tmuxp_ls_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
)

_shtab_tmuxp_shell_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
  "-S[pass-through for tmux -S]:socket_path:"
  "-L[pass-through for tmux -L]:socket_name:"
  "-c[instead of opening shell, execute python code in libtmux and exit]:command:"
  "--best[use best shell available in site packages]"
  "--pdb[use plain pdb]"
  "--code[use stdlib\'s code.interact()]"
  "--ptipython[use ptpython \+ ipython]"
  "--ptpython[use ptpython]"
  "--ipython[use ipython]"
  "--bpython[use bpython]"
  "--use-pythonrc[load PYTHONSTARTUP env var and \~\/.pythonrc.py script in --code]"
  "--no-startup[load PYTHONSTARTUP env var and \~\/.pythonrc.py script in --code]"
  "--use-vi-mode[use vi-mode in ptpython\/ptipython]"
  "--no-vi-mode[use vi-mode in ptpython\/ptipython]"
  ":session_name:"
  ":window_name:"
)


_shtab_tmuxp() {
  local context state line curcontext="$curcontext" one_or_more='(-)*' remainder='(*)'

  if ((${_shtab_tmuxp_options[(I)${(q)one_or_more}*]} + ${_shtab_tmuxp_options[(I)${(q)remainder}*]} == 0)); then  # noqa: E501
    _shtab_tmuxp_options+=(': :_shtab_tmuxp_commands' '*::: :->tmuxp')
  fi
  _arguments -C $_shtab_tmuxp_options

  case $state in
    tmuxp)
      words=($line[1] "${words[@]}")
      (( CURRENT += 1 ))
      curcontext="${curcontext%:*:*}:_shtab_tmuxp-$line[1]:"
      case $line[1] in
        convert) _arguments -C $_shtab_tmuxp_convert_options ;;
        debug-info) _arguments -C $_shtab_tmuxp_debug_info_options ;;
        edit) _arguments -C $_shtab_tmuxp_edit_options ;;
        freeze) _arguments -C $_shtab_tmuxp_freeze_options ;;
        import) _shtab_tmuxp_import ;;
        load) _arguments -C $_shtab_tmuxp_load_options ;;
        ls) _arguments -C $_shtab_tmuxp_ls_options ;;
        shell) _arguments -C $_shtab_tmuxp_shell_options ;;
      esac
  esac
}

_shtab_tmuxp_import() {
  local context state line curcontext="$curcontext" one_or_more='(-)*' remainder='(*)'

  if ((${_shtab_tmuxp_import_options[(I)${(q)one_or_more}*]} + ${_shtab_tmuxp_import_options[(I)${(q)remainder}*]} == 0)); then  # noqa: E501
    _shtab_tmuxp_import_options+=(': :_shtab_tmuxp_import_commands' '*::: :->import')
  fi
  _arguments -C $_shtab_tmuxp_import_options

  case $state in
    import)
      words=($line[1] "${words[@]}")
      (( CURRENT += 1 ))
      curcontext="${curcontext%:*:*}:_shtab_tmuxp_import-$line[1]:"
      case $line[1] in
        teamocil) _arguments -C $_shtab_tmuxp_import_teamocil_options ;;
        tmuxinator) _arguments -C $_shtab_tmuxp_import_tmuxinator_options ;;
      esac
  esac
}



typeset -A opt_args
_shtab_tmuxp "$@"
