#compdef footclient

_arguments \
    -s -S -C \
    '(-t --term)'{-t,--term}'[value to set the environment variable TERM to (foot)]:term:->terms' \
    '(-T --title)'{-T,--title}'[initial window title]:()' \
    '(-a --app-id)'{-a,--app-id}'[value to set the app-id property on the Wayland window to (foot)]:()' \
    '--toplevel-tag=[value to set the toplevel-tag property on the Wayland window to]:()' \
    '(-m --maximized)'{-m,--maximized}'[start in maximized mode]' \
    '(-F --fullscreen)'{-F,--fullscreen}'[start in fullscreen mode]' \
    '(-L --login-shell)'{-L,--login-shell}'[start shell as a login shell]' \
    '(-D --working-directory)'{-D,--working-directory}'[initial working directory for the client application (CWD)]:working_directory:_files' \
    '(-w --window-size-pixels)'{-w,--window-size-pixels}'[window WIDTHxHEIGHT, in pixels (700x500)]:size_pixels:()' \
    '(-W --window-size-chars)'{-W,--window-size-chars}'[window WIDTHxHEIGHT, in characters (not set)]:size_chars:()' \
    '(-s --server-socket)'{-s,--server-socket}'[override the default path to the foot server socket ($XDG_RUNTIME_DIR/foot-$WAYLAND_DISPLAY.sock)]:server:_files' \
    '(-H --hold)'{-H,--hold}'[remain open after child process exits]' \
    '(-N --no-wait)'{-N,--no-wait}'[detach the client process from the running terminal, exiting immediately]' \
    '(-o --override)'{-o,--override}'[configuration option to override, in form SECTION.KEY=VALUE]:()' \
    '(-E --client-environment)'{-E,--client-environment}"[child process inherits footclient's environment, instead of the server's]" \
    '(-d --log-level)'{-d,--log-level}'[log level (warning)]:loglevel:(info warning error none)' \
    '(-l --log-colorize)'{-l,--log-colorize}'[enable or disable colorization of log output on stderr]:logcolor:(never always auto)' \
    '(-v --version)'{-v,--version}'[show the version number and quit]' \
    '(-h --help)'{-h,--help}'[show help message and quit]' \
    ':command: _command_names -e' \
    '*::command arguments: _dispatch ${words[1]} ${words[1]}'

case ${state} in
    terms)
        _values 'terminal definitions' /usr/share/terminfo/**/*(.:t)
        ;;
esac
