Update
This commit is contained in:
parent
6ca7084b29
commit
e2f546b857
2
conf.d/zim/modules/alacritty/init.zsh
Normal file
2
conf.d/zim/modules/alacritty/init.zsh
Normal file
@ -0,0 +1,2 @@
|
||||
fpath+="${0:h}/src"
|
||||
|
129
conf.d/zim/modules/alacritty/src/_alacritty
Normal file
129
conf.d/zim/modules/alacritty/src/_alacritty
Normal file
@ -0,0 +1,129 @@
|
||||
#compdef alacritty
|
||||
|
||||
autoload -U is-at-least
|
||||
|
||||
_alacritty() {
|
||||
typeset -A opt_args
|
||||
typeset -a _arguments_options
|
||||
local ret=1
|
||||
|
||||
if is-at-least 5.2; then
|
||||
_arguments_options=(-s -S -C)
|
||||
else
|
||||
_arguments_options=(-s -C)
|
||||
fi
|
||||
|
||||
local context curcontext="$curcontext" state line
|
||||
_arguments "${_arguments_options[@]}" \
|
||||
'--embed=[Defines the X11 window ID (as a decimal integer) to embed Alacritty within]:EMBED: ' \
|
||||
'--config-file=[Specify alternative configuration file \[default: $XDG_CONFIG_HOME/alacritty/alacritty.yml\]]:CONFIG_FILE: ' \
|
||||
'--socket=[Path for IPC socket creation]:SOCKET: ' \
|
||||
'*-o+[Override configuration file options \[example: cursor.style=Beam\]]:OPTION: ' \
|
||||
'*--option=[Override configuration file options \[example: cursor.style=Beam\]]:OPTION: ' \
|
||||
'--working-directory=[Start the shell in the specified working directory]:WORKING_DIRECTORY: ' \
|
||||
'*-e+[Command and args to execute (must be last argument)]:COMMAND: ' \
|
||||
'*--command=[Command and args to execute (must be last argument)]:COMMAND: ' \
|
||||
'-t+[Defines the window title \[default: Alacritty\]]:TITLE: ' \
|
||||
'--title=[Defines the window title \[default: Alacritty\]]:TITLE: ' \
|
||||
'--class=[Defines window class/app_id on X11/Wayland \[default: Alacritty\]]:instance> | <instance>,<general: ' \
|
||||
'-h[Print help information]' \
|
||||
'--help[Print help information]' \
|
||||
'-V[Print version information]' \
|
||||
'--version[Print version information]' \
|
||||
'--print-events[Print all events to stdout]' \
|
||||
'--ref-test[Generates ref test]' \
|
||||
'(-v)*-q[Reduces the level of verbosity (the min level is -qq)]' \
|
||||
'(-q)*-v[Increases the level of verbosity (the max level is -vvv)]' \
|
||||
'--hold[Remain open after child process exit]' \
|
||||
":: :_alacritty_commands" \
|
||||
"*::: :->alacritty" \
|
||||
&& ret=0
|
||||
case $state in
|
||||
(alacritty)
|
||||
words=($line[1] "${words[@]}")
|
||||
(( CURRENT += 1 ))
|
||||
curcontext="${curcontext%:*:*}:alacritty-command-$line[1]:"
|
||||
case $line[1] in
|
||||
(msg)
|
||||
_arguments "${_arguments_options[@]}" \
|
||||
'-s+[IPC socket connection path override]:SOCKET: ' \
|
||||
'--socket=[IPC socket connection path override]:SOCKET: ' \
|
||||
'-h[Print help information]' \
|
||||
'--help[Print help information]' \
|
||||
":: :_alacritty__msg_commands" \
|
||||
"*::: :->msg" \
|
||||
&& ret=0
|
||||
|
||||
case $state in
|
||||
(msg)
|
||||
words=($line[1] "${words[@]}")
|
||||
(( CURRENT += 1 ))
|
||||
curcontext="${curcontext%:*:*}:alacritty-msg-command-$line[1]:"
|
||||
case $line[1] in
|
||||
(create-window)
|
||||
_arguments "${_arguments_options[@]}" \
|
||||
'--working-directory=[Start the shell in the specified working directory]:WORKING_DIRECTORY: ' \
|
||||
'*-e+[Command and args to execute (must be last argument)]:COMMAND: ' \
|
||||
'*--command=[Command and args to execute (must be last argument)]:COMMAND: ' \
|
||||
'-t+[Defines the window title \[default: Alacritty\]]:TITLE: ' \
|
||||
'--title=[Defines the window title \[default: Alacritty\]]:TITLE: ' \
|
||||
'--class=[Defines window class/app_id on X11/Wayland \[default: Alacritty\]]:instance> | <instance>,<general: ' \
|
||||
'--version[Print version information]' \
|
||||
'--hold[Remain open after child process exit]' \
|
||||
'-h[Print help information]' \
|
||||
'--help[Print help information]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(help)
|
||||
_arguments "${_arguments_options[@]}" \
|
||||
'--version[Print version information]' \
|
||||
'-h[Print help information]' \
|
||||
'--help[Print help information]' \
|
||||
&& ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
(help)
|
||||
_arguments "${_arguments_options[@]}" \
|
||||
&& ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
(( $+functions[_alacritty_commands] )) ||
|
||||
_alacritty_commands() {
|
||||
local commands; commands=(
|
||||
'msg:Send a message to the Alacritty socket' \
|
||||
'help:Print this message or the help of the given subcommand(s)' \
|
||||
)
|
||||
_describe -t commands 'alacritty commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_alacritty__msg__create-window_commands] )) ||
|
||||
_alacritty__msg__create-window_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'alacritty msg create-window commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_alacritty__help_commands] )) ||
|
||||
_alacritty__help_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'alacritty help commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_alacritty__msg__help_commands] )) ||
|
||||
_alacritty__msg__help_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'alacritty msg help commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_alacritty__msg_commands] )) ||
|
||||
_alacritty__msg_commands() {
|
||||
local commands; commands=(
|
||||
'create-window:Create a new window in the same Alacritty process' \
|
||||
'help:Print this message or the help of the given subcommand(s)' \
|
||||
)
|
||||
_describe -t commands 'alacritty msg commands' commands "$@"
|
||||
}
|
||||
|
||||
_alacritty "$@"
|
Loading…
Reference in New Issue
Block a user