mirror of
https://github.com/kristoferssolo/solorice.git
synced 2025-10-21 20:10:34 +00:00
Update 2025-08-11
This commit is contained in:
parent
0b4520aae5
commit
5326bd7e21
10
.dotter/executor.toml
Normal file
10
.dotter/executor.toml
Normal file
@ -0,0 +1,10 @@
|
||||
packages = [ "x11" ]
|
||||
|
||||
[variables]
|
||||
dpi = "96"
|
||||
font_size = "10"
|
||||
terminal = "alacritty"
|
||||
browser = "floorp"
|
||||
|
||||
[files]
|
||||
"config/niri/config-desktop.kdl" = "~/.config/niri/config.kdl"
|
||||
116
config/zsh/completions/_bat
Normal file
116
config/zsh/completions/_bat
Normal file
@ -0,0 +1,116 @@
|
||||
#compdef bat
|
||||
|
||||
local curcontext="$curcontext" ret=1
|
||||
local -a state state_descr line
|
||||
typeset -A opt_args
|
||||
|
||||
(( $+functions[_bat_cache_subcommand] )) ||
|
||||
_bat_cache_subcommand() {
|
||||
local -a args
|
||||
args=(
|
||||
'(-b --build -c --clear)'{-b,--build}'[initialize or update the syntax/theme cache]'
|
||||
'(-b --build -c --clear)'{-c,--clear}'[remove the cached syntax definitions and themes]'
|
||||
--source='[specify directory to load syntaxes and themes from]:directory:_files -/'
|
||||
--target='[specify directory to store the cached syntax and theme set in]:directory:_files -/'
|
||||
--blank'[create completely new syntax and theme sets]'
|
||||
--acknowledgements'[build acknowledgements.bin]'
|
||||
'(: -)'{-h,--help}'[show help information]'
|
||||
)
|
||||
|
||||
_arguments -S -s $args
|
||||
}
|
||||
|
||||
(( $+functions[_bat_main] )) ||
|
||||
_bat_main() {
|
||||
local -a args
|
||||
args=(
|
||||
'(-A --show-all)'{-A,--show-all}'[show non-printable characters (space, tab, newline, ..)]'
|
||||
--nonprintable-notation='[specify how to display non-printable characters when using --show-all]:notation:(caret unicode)'
|
||||
\*{-p,--plain}'[show plain style (alias for `--style=plain`), repeat twice to disable automatic paging (alias for `--paging=never`)]'
|
||||
'(-l --language)'{-l+,--language=}'[set the language for syntax highlighting]:language:->languages'
|
||||
\*{-H+,--highlight-line=}'[highlight specified block of lines]:start\:end'
|
||||
\*--file-name='[specify the name to display for a file]:name:_files'
|
||||
'(-d --diff)'--diff'[only show lines that have been added/removed/modified]'
|
||||
--diff-context='[specify lines of context around added/removed/modified lines when using `--diff`]:lines'
|
||||
--tabs='[set the tab width]:tab width [4]'
|
||||
--wrap='[specify the text-wrapping mode]:mode [auto]:(auto never character)'
|
||||
'!(--wrap)'{-S,--chop-long-lines}
|
||||
--terminal-width='[explicitly set the width of the terminal instead of determining it automatically]:width'
|
||||
'(-n --number --diff --diff-context)'{-n,--number}'[show line numbers]'
|
||||
--color='[specify when to use colors]:when:(auto never always)'
|
||||
--italic-text='[use italics in output]:when:(always never)'
|
||||
--decorations='[specify when to show the decorations]:when:(auto never always)'
|
||||
--paging='[specify when to use the pager]:when:(auto never always)'
|
||||
'(-m --map-syntax)'{-m+,--map-syntax=}'[map a glob pattern to an existing syntax name]: :->syntax-maps'
|
||||
'(--theme)'--theme='[set the color theme for syntax highlighting]:theme:->theme_preferences'
|
||||
'(--theme-dark)'--theme-dark='[set the color theme for syntax highlighting for dark backgrounds]:theme:->themes'
|
||||
'(--theme-light)'--theme-light='[set the color theme for syntax highlighting for light backgrounds]:theme:->themes'
|
||||
'(: --list-themes --list-languages -L)'--list-themes'[show all supported highlighting themes]'
|
||||
--style='[comma-separated list of style elements to display]: : _values "style [default]"
|
||||
default auto full plain changes header header-filename header-filesize grid rule numbers snip'
|
||||
\*{-r+,--line-range=}'[only print the specified line range]:start\:end'
|
||||
'(* -)'{-L,--list-languages}'[display all supported languages]'
|
||||
-P'[disable paging]'
|
||||
"--no-config[don't use the configuration file]"
|
||||
"--no-custom-assets[don't load custom assets]"
|
||||
'(--no-lessopen)'--lessopen'[enable the $LESSOPEN preprocessor]'
|
||||
'(--lessopen)'--no-lessopen'[disable the $LESSOPEN preprocessor if enabled (overrides --lessopen)]'
|
||||
'(* -)'--config-dir"[show bat's configuration directory]"
|
||||
'(* -)'--config-file'[show path to the configuration file]'
|
||||
'(* -)'--generate-config-file'[generate a default configuration file]'
|
||||
'(* -)'--cache-dir"[show bat's cache directory]"
|
||||
'(* -)'{-h,--help}'[show help information]'
|
||||
'(* -)'{-V,--version}'[show version information]'
|
||||
'*: :{ _files || compadd cache }'
|
||||
)
|
||||
|
||||
_arguments -S -s $args && ret=0
|
||||
|
||||
case "$state" in
|
||||
syntax-maps)
|
||||
if ! compset -P '*:'; then
|
||||
_message -e patterns 'glob pattern:language'
|
||||
return
|
||||
fi
|
||||
;& # fall-through
|
||||
|
||||
languages)
|
||||
local IFS=$'\n'
|
||||
local -a languages
|
||||
languages=( $(bat --list-languages | awk -F':|,' '{ for (i = 1; i <= NF; ++i) printf("%s:%s\n", $i, $1) }') )
|
||||
|
||||
_describe 'language' languages && ret=0
|
||||
;;
|
||||
|
||||
themes)
|
||||
local -a themes expl
|
||||
themes=(${(f)"$(_call_program themes bat --list-themes)"} )
|
||||
|
||||
_wanted themes expl 'theme' compadd -a themes && ret=0
|
||||
;;
|
||||
theme_preferences)
|
||||
local -a themes expl
|
||||
themes=(auto dark light auto:always auto:system ${(f)"$(_call_program themes bat --list-themes)"} )
|
||||
|
||||
_wanted themes expl 'theme' compadd -a themes && ret=0
|
||||
;;
|
||||
esac
|
||||
|
||||
return ret
|
||||
}
|
||||
|
||||
case $words[2] in
|
||||
cache)
|
||||
## Completion of the 'cache' command itself is removed for better UX
|
||||
## See https://github.com/sharkdp/bat/issues/2085#issuecomment-1271646802
|
||||
shift words
|
||||
(( CURRENT-- ))
|
||||
curcontext="${curcontext%:*}-${words[1]}:"
|
||||
_bat_cache_subcommand
|
||||
;;
|
||||
|
||||
*)
|
||||
_bat_main
|
||||
;;
|
||||
esac
|
||||
|
||||
2343
config/zsh/completions/_deno
Normal file
2343
config/zsh/completions/_deno
Normal file
File diff suppressed because it is too large
Load Diff
40
config/zsh/completions/_fastanime
Normal file
40
config/zsh/completions/_fastanime
Normal file
@ -0,0 +1,40 @@
|
||||
#compdef fastanime
|
||||
|
||||
_fastanime_completion() {
|
||||
local -a completions
|
||||
local -a completions_with_descriptions
|
||||
local -a response
|
||||
(( ! $+commands[fastanime] )) && return 1
|
||||
|
||||
response=("${(@f)$(env COMP_WORDS="${words[*]}" COMP_CWORD=$((CURRENT-1)) _FASTANIME_COMPLETE=zsh_complete fastanime)}")
|
||||
|
||||
for type key descr in ${response}; do
|
||||
if [[ "$type" == "plain" ]]; then
|
||||
if [[ "$descr" == "_" ]]; then
|
||||
completions+=("$key")
|
||||
else
|
||||
completions_with_descriptions+=("$key":"$descr")
|
||||
fi
|
||||
elif [[ "$type" == "dir" ]]; then
|
||||
_path_files -/
|
||||
elif [[ "$type" == "file" ]]; then
|
||||
_path_files -f
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$completions_with_descriptions" ]; then
|
||||
_describe -V unsorted completions_with_descriptions -U
|
||||
fi
|
||||
|
||||
if [ -n "$completions" ]; then
|
||||
compadd -U -V unsorted -a completions
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ $zsh_eval_context[-1] == loadautofunc ]]; then
|
||||
# autoload from fpath, call function directly
|
||||
_fastanime_completion "$@"
|
||||
else
|
||||
# eval/source/. command, register function for later
|
||||
compdef _fastanime_completion fastanime
|
||||
fi
|
||||
638
config/zsh/completions/_fzf
Normal file
638
config/zsh/completions/_fzf
Normal file
@ -0,0 +1,638 @@
|
||||
### key-bindings.zsh ###
|
||||
# ____ ____
|
||||
# / __/___ / __/
|
||||
# / /_/_ / / /_
|
||||
# / __/ / /_/ __/
|
||||
# /_/ /___/_/ key-bindings.zsh
|
||||
#
|
||||
# - $FZF_TMUX_OPTS
|
||||
# - $FZF_CTRL_T_COMMAND
|
||||
# - $FZF_CTRL_T_OPTS
|
||||
# - $FZF_CTRL_R_OPTS
|
||||
# - $FZF_ALT_C_COMMAND
|
||||
# - $FZF_ALT_C_OPTS
|
||||
|
||||
|
||||
# Key bindings
|
||||
# ------------
|
||||
|
||||
# The code at the top and the bottom of this file is the same as in completion.zsh.
|
||||
# Refer to that file for explanation.
|
||||
if 'zmodload' 'zsh/parameter' 2>'/dev/null' && (( ${+options} )); then
|
||||
__fzf_key_bindings_options="options=(${(j: :)${(kv)options[@]}})"
|
||||
else
|
||||
() {
|
||||
__fzf_key_bindings_options="setopt"
|
||||
'local' '__fzf_opt'
|
||||
for __fzf_opt in "${(@)${(@f)$(set -o)}%% *}"; do
|
||||
if [[ -o "$__fzf_opt" ]]; then
|
||||
__fzf_key_bindings_options+=" -o $__fzf_opt"
|
||||
else
|
||||
__fzf_key_bindings_options+=" +o $__fzf_opt"
|
||||
fi
|
||||
done
|
||||
}
|
||||
fi
|
||||
|
||||
'builtin' 'emulate' 'zsh' && 'builtin' 'setopt' 'no_aliases'
|
||||
|
||||
{
|
||||
if [[ -o interactive ]]; then
|
||||
|
||||
#----BEGIN INCLUDE common.sh
|
||||
# NOTE: Do not directly edit this section, which is copied from "common.sh".
|
||||
# To modify it, one can edit "common.sh" and run "./update-common.sh" to apply
|
||||
# the changes. See code comments in "common.sh" for the implementation details.
|
||||
|
||||
__fzf_defaults() {
|
||||
printf '%s\n' "--height ${FZF_TMUX_HEIGHT:-40%} --min-height 20+ --bind=ctrl-z:ignore $1"
|
||||
command cat "${FZF_DEFAULT_OPTS_FILE-}" 2> /dev/null
|
||||
printf '%s\n' "${FZF_DEFAULT_OPTS-} $2"
|
||||
}
|
||||
|
||||
__fzf_exec_awk() {
|
||||
if [[ -z ${__fzf_awk-} ]]; then
|
||||
__fzf_awk=awk
|
||||
if [[ $OSTYPE == solaris* && -x /usr/xpg4/bin/awk ]]; then
|
||||
__fzf_awk=/usr/xpg4/bin/awk
|
||||
elif command -v mawk >/dev/null 2>&1; then
|
||||
local n x y z d
|
||||
IFS=' .' read -r n x y z d <<< $(command mawk -W version 2> /dev/null)
|
||||
[[ $n == mawk ]] && (( d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004 )) && __fzf_awk=mawk
|
||||
fi
|
||||
fi
|
||||
LC_ALL=C exec "$__fzf_awk" "$@"
|
||||
}
|
||||
#----END INCLUDE
|
||||
|
||||
# CTRL-T - Paste the selected file path(s) into the command line
|
||||
__fzf_select() {
|
||||
setopt localoptions pipefail no_aliases 2> /dev/null
|
||||
local item
|
||||
FZF_DEFAULT_COMMAND=${FZF_CTRL_T_COMMAND:-} \
|
||||
FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse --walker=file,dir,follow,hidden --scheme=path" "${FZF_CTRL_T_OPTS-} -m") \
|
||||
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) "$@" < /dev/tty | while read -r item; do
|
||||
echo -n -E "${(q)item} "
|
||||
done
|
||||
local ret=$?
|
||||
echo
|
||||
return $ret
|
||||
}
|
||||
|
||||
__fzfcmd() {
|
||||
[ -n "${TMUX_PANE-}" ] && { [ "${FZF_TMUX:-0}" != 0 ] || [ -n "${FZF_TMUX_OPTS-}" ]; } &&
|
||||
echo "fzf-tmux ${FZF_TMUX_OPTS:--d${FZF_TMUX_HEIGHT:-40%}} -- " || echo "fzf"
|
||||
}
|
||||
|
||||
fzf-file-widget() {
|
||||
LBUFFER="${LBUFFER}$(__fzf_select)"
|
||||
local ret=$?
|
||||
zle reset-prompt
|
||||
return $ret
|
||||
}
|
||||
if [[ "${FZF_CTRL_T_COMMAND-x}" != "" ]]; then
|
||||
zle -N fzf-file-widget
|
||||
bindkey -M emacs '^T' fzf-file-widget
|
||||
bindkey -M vicmd '^T' fzf-file-widget
|
||||
bindkey -M viins '^T' fzf-file-widget
|
||||
fi
|
||||
|
||||
# ALT-C - cd into the selected directory
|
||||
fzf-cd-widget() {
|
||||
setopt localoptions pipefail no_aliases 2> /dev/null
|
||||
local dir="$(
|
||||
FZF_DEFAULT_COMMAND=${FZF_ALT_C_COMMAND:-} \
|
||||
FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse --walker=dir,follow,hidden --scheme=path" "${FZF_ALT_C_OPTS-} +m") \
|
||||
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) < /dev/tty)"
|
||||
if [[ -z "$dir" ]]; then
|
||||
zle redisplay
|
||||
return 0
|
||||
fi
|
||||
zle push-line # Clear buffer. Auto-restored on next prompt.
|
||||
BUFFER="builtin cd -- ${(q)dir:a}"
|
||||
zle accept-line
|
||||
local ret=$?
|
||||
unset dir # ensure this doesn't end up appearing in prompt expansion
|
||||
zle reset-prompt
|
||||
return $ret
|
||||
}
|
||||
if [[ "${FZF_ALT_C_COMMAND-x}" != "" ]]; then
|
||||
zle -N fzf-cd-widget
|
||||
bindkey -M emacs '\ec' fzf-cd-widget
|
||||
bindkey -M vicmd '\ec' fzf-cd-widget
|
||||
bindkey -M viins '\ec' fzf-cd-widget
|
||||
fi
|
||||
|
||||
# CTRL-R - Paste the selected command from history into the command line
|
||||
fzf-history-widget() {
|
||||
local selected
|
||||
setopt localoptions noglobsubst noposixbuiltins pipefail no_aliases noglob nobash_rematch 2> /dev/null
|
||||
# Ensure the module is loaded if not already, and the required features, such
|
||||
# as the associative 'history' array, which maps event numbers to full history
|
||||
# lines, are set. Also, make sure Perl is installed for multi-line output.
|
||||
if zmodload -F zsh/parameter p:{commands,history} 2>/dev/null && (( ${+commands[perl]} )); then
|
||||
selected="$(printf '%s\t%s\000' "${(kv)history[@]}" |
|
||||
perl -0 -ne 'if (!$seen{(/^\s*[0-9]+\**\t(.*)/s, $1)}++) { s/\n/\n\t/g; print; }' |
|
||||
FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '\t↳ ' --highlight-line ${FZF_CTRL_R_OPTS-} --query=${(qqq)LBUFFER} +m --read0") \
|
||||
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd))"
|
||||
else
|
||||
selected="$(fc -rl 1 | __fzf_exec_awk '{ cmd=$0; sub(/^[ \t]*[0-9]+\**[ \t]+/, "", cmd); if (!seen[cmd]++) print $0 }' |
|
||||
FZF_DEFAULT_OPTS=$(__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '\t↳ ' --highlight-line ${FZF_CTRL_R_OPTS-} --query=${(qqq)LBUFFER} +m") \
|
||||
FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd))"
|
||||
fi
|
||||
local ret=$?
|
||||
if [ -n "$selected" ]; then
|
||||
if [[ $(__fzf_exec_awk '{print $1; exit}' <<< "$selected") =~ ^[1-9][0-9]* ]]; then
|
||||
zle vi-fetch-history -n $MATCH
|
||||
else # selected is a custom query, not from history
|
||||
LBUFFER="$selected"
|
||||
fi
|
||||
fi
|
||||
zle reset-prompt
|
||||
return $ret
|
||||
}
|
||||
zle -N fzf-history-widget
|
||||
bindkey -M emacs '^R' fzf-history-widget
|
||||
bindkey -M vicmd '^R' fzf-history-widget
|
||||
bindkey -M viins '^R' fzf-history-widget
|
||||
fi
|
||||
|
||||
} always {
|
||||
eval $__fzf_key_bindings_options
|
||||
'unset' '__fzf_key_bindings_options'
|
||||
}
|
||||
### end: key-bindings.zsh ###
|
||||
### completion.zsh ###
|
||||
# ____ ____
|
||||
# / __/___ / __/
|
||||
# / /_/_ / / /_
|
||||
# / __/ / /_/ __/
|
||||
# /_/ /___/_/ completion.zsh
|
||||
#
|
||||
# - $FZF_TMUX (default: 0)
|
||||
# - $FZF_TMUX_OPTS (default: empty)
|
||||
# - $FZF_COMPLETION_TRIGGER (default: '**')
|
||||
# - $FZF_COMPLETION_OPTS (default: empty)
|
||||
# - $FZF_COMPLETION_PATH_OPTS (default: empty)
|
||||
# - $FZF_COMPLETION_DIR_OPTS (default: empty)
|
||||
|
||||
|
||||
# Both branches of the following `if` do the same thing -- define
|
||||
# __fzf_completion_options such that `eval $__fzf_completion_options` sets
|
||||
# all options to the same values they currently have. We'll do just that at
|
||||
# the bottom of the file after changing options to what we prefer.
|
||||
#
|
||||
# IMPORTANT: Until we get to the `emulate` line, all words that *can* be quoted
|
||||
# *must* be quoted in order to prevent alias expansion. In addition, code must
|
||||
# be written in a way works with any set of zsh options. This is very tricky, so
|
||||
# careful when you change it.
|
||||
#
|
||||
# Start by loading the builtin zsh/parameter module. It provides `options`
|
||||
# associative array that stores current shell options.
|
||||
if 'zmodload' 'zsh/parameter' 2>'/dev/null' && (( ${+options} )); then
|
||||
# This is the fast branch and it gets taken on virtually all Zsh installations.
|
||||
#
|
||||
# ${(kv)options[@]} expands to array of keys (option names) and values ("on"
|
||||
# or "off"). The subsequent expansion# with (j: :) flag joins all elements
|
||||
# together separated by spaces. __fzf_completion_options ends up with a value
|
||||
# like this: "options=(shwordsplit off aliases on ...)".
|
||||
__fzf_completion_options="options=(${(j: :)${(kv)options[@]}})"
|
||||
else
|
||||
# This branch is much slower because it forks to get the names of all
|
||||
# zsh options. It's possible to eliminate this fork but it's not worth the
|
||||
# trouble because this branch gets taken only on very ancient or broken
|
||||
# zsh installations.
|
||||
() {
|
||||
# That `()` above defines an anonymous function. This is essentially a scope
|
||||
# for local parameters. We use it to avoid polluting global scope.
|
||||
'local' '__fzf_opt'
|
||||
__fzf_completion_options="setopt"
|
||||
# `set -o` prints one line for every zsh option. Each line contains option
|
||||
# name, some spaces, and then either "on" or "off". We just want option names.
|
||||
# Expansion with (@f) flag splits a string into lines. The outer expansion
|
||||
# removes spaces and everything that follow them on every line. __fzf_opt
|
||||
# ends up iterating over option names: shwordsplit, aliases, etc.
|
||||
for __fzf_opt in "${(@)${(@f)$(set -o)}%% *}"; do
|
||||
if [[ -o "$__fzf_opt" ]]; then
|
||||
# Option $__fzf_opt is currently on, so remember to set it back on.
|
||||
__fzf_completion_options+=" -o $__fzf_opt"
|
||||
else
|
||||
# Option $__fzf_opt is currently off, so remember to set it back off.
|
||||
__fzf_completion_options+=" +o $__fzf_opt"
|
||||
fi
|
||||
done
|
||||
# The value of __fzf_completion_options here looks like this:
|
||||
# "setopt +o shwordsplit -o aliases ..."
|
||||
}
|
||||
fi
|
||||
|
||||
# Enable the default zsh options (those marked with <Z> in `man zshoptions`)
|
||||
# but without `aliases`. Aliases in functions are expanded when functions are
|
||||
# defined, so if we disable aliases here, we'll be sure to have no pesky
|
||||
# aliases in any of our functions. This way we won't need prefix every
|
||||
# command with `command` or to quote every word to defend against global
|
||||
# aliases. Note that `aliases` is not the only option that's important to
|
||||
# control. There are several others that could wreck havoc if they are set
|
||||
# to values we don't expect. With the following `emulate` command we
|
||||
# sidestep this issue entirely.
|
||||
'builtin' 'emulate' 'zsh' && 'builtin' 'setopt' 'no_aliases'
|
||||
|
||||
# This brace is the start of try-always block. The `always` part is like
|
||||
# `finally` in lesser languages. We use it to *always* restore user options.
|
||||
{
|
||||
# The 'emulate' command should not be placed inside the interactive if check;
|
||||
# placing it there fails to disable alias expansion. See #3731.
|
||||
if [[ -o interactive ]]; then
|
||||
|
||||
# To use custom commands instead of find, override _fzf_compgen_{path,dir}
|
||||
#
|
||||
# _fzf_compgen_path() {
|
||||
# echo "$1"
|
||||
# command find -L "$1" \
|
||||
# -name .git -prune -o -name .hg -prune -o -name .svn -prune -o \( -type d -o -type f -o -type l \) \
|
||||
# -a -not -path "$1" -print 2> /dev/null | sed 's@^\./@@'
|
||||
# }
|
||||
#
|
||||
# _fzf_compgen_dir() {
|
||||
# command find -L "$1" \
|
||||
# -name .git -prune -o -name .hg -prune -o -name .svn -prune -o -type d \
|
||||
# -a -not -path "$1" -print 2> /dev/null | sed 's@^\./@@'
|
||||
# }
|
||||
|
||||
###########################################################
|
||||
|
||||
#----BEGIN INCLUDE common.sh
|
||||
# NOTE: Do not directly edit this section, which is copied from "common.sh".
|
||||
# To modify it, one can edit "common.sh" and run "./update-common.sh" to apply
|
||||
# the changes. See code comments in "common.sh" for the implementation details.
|
||||
|
||||
__fzf_defaults() {
|
||||
printf '%s\n' "--height ${FZF_TMUX_HEIGHT:-40%} --min-height 20+ --bind=ctrl-z:ignore $1"
|
||||
command cat "${FZF_DEFAULT_OPTS_FILE-}" 2> /dev/null
|
||||
printf '%s\n' "${FZF_DEFAULT_OPTS-} $2"
|
||||
}
|
||||
|
||||
__fzf_exec_awk() {
|
||||
if [[ -z ${__fzf_awk-} ]]; then
|
||||
__fzf_awk=awk
|
||||
if [[ $OSTYPE == solaris* && -x /usr/xpg4/bin/awk ]]; then
|
||||
__fzf_awk=/usr/xpg4/bin/awk
|
||||
elif command -v mawk >/dev/null 2>&1; then
|
||||
local n x y z d
|
||||
IFS=' .' read -r n x y z d <<< $(command mawk -W version 2> /dev/null)
|
||||
[[ $n == mawk ]] && (( d >= 20230302 && (x * 1000 + y) * 1000 + z >= 1003004 )) && __fzf_awk=mawk
|
||||
fi
|
||||
fi
|
||||
LC_ALL=C exec "$__fzf_awk" "$@"
|
||||
}
|
||||
#----END INCLUDE
|
||||
|
||||
__fzf_comprun() {
|
||||
if [[ "$(type _fzf_comprun 2>&1)" =~ function ]]; then
|
||||
_fzf_comprun "$@"
|
||||
elif [ -n "${TMUX_PANE-}" ] && { [ "${FZF_TMUX:-0}" != 0 ] || [ -n "${FZF_TMUX_OPTS-}" ]; }; then
|
||||
shift
|
||||
if [ -n "${FZF_TMUX_OPTS-}" ]; then
|
||||
fzf-tmux ${(Q)${(Z+n+)FZF_TMUX_OPTS}} -- "$@"
|
||||
else
|
||||
fzf-tmux -d ${FZF_TMUX_HEIGHT:-40%} -- "$@"
|
||||
fi
|
||||
else
|
||||
shift
|
||||
fzf "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# Extract the name of the command. e.g. ls; foo=1 ssh **<tab>
|
||||
__fzf_extract_command() {
|
||||
# Control completion with the "compstate" parameter, insert and list nothing
|
||||
compstate[insert]=
|
||||
compstate[list]=
|
||||
cmd_word="${(Q)words[1]}"
|
||||
}
|
||||
|
||||
__fzf_generic_path_completion() {
|
||||
local base lbuf compgen fzf_opts suffix tail dir leftover matches
|
||||
base=$1
|
||||
lbuf=$2
|
||||
compgen=$3
|
||||
fzf_opts=$4
|
||||
suffix=$5
|
||||
tail=$6
|
||||
|
||||
setopt localoptions nonomatch
|
||||
if [[ $base = *'$('* ]] || [[ $base = *'<('* ]] || [[ $base = *'>('* ]] || [[ $base = *':='* ]] || [[ $base = *'`'* ]]; then
|
||||
return
|
||||
fi
|
||||
eval "base=$base" 2> /dev/null || return
|
||||
[[ $base = *"/"* ]] && dir="$base"
|
||||
while [ 1 ]; do
|
||||
if [[ -z "$dir" || -d ${dir} ]]; then
|
||||
leftover=${base/#"$dir"}
|
||||
leftover=${leftover/#\/}
|
||||
[ -z "$dir" ] && dir='.'
|
||||
[ "$dir" != "/" ] && dir="${dir/%\//}"
|
||||
matches=$(
|
||||
export FZF_DEFAULT_OPTS
|
||||
FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse --scheme=path" "${FZF_COMPLETION_OPTS-}")
|
||||
unset FZF_DEFAULT_COMMAND FZF_DEFAULT_OPTS_FILE
|
||||
if declare -f "$compgen" > /dev/null; then
|
||||
eval "$compgen $(printf %q "$dir")" | __fzf_comprun "$cmd_word" ${(Q)${(Z+n+)fzf_opts}} -q "$leftover"
|
||||
else
|
||||
if [[ $compgen =~ dir ]]; then
|
||||
walker=dir,follow
|
||||
rest=${FZF_COMPLETION_DIR_OPTS-}
|
||||
else
|
||||
walker=file,dir,follow,hidden
|
||||
rest=${FZF_COMPLETION_PATH_OPTS-}
|
||||
fi
|
||||
__fzf_comprun "$cmd_word" ${(Q)${(Z+n+)fzf_opts}} -q "$leftover" --walker "$walker" --walker-root="$dir" ${(Q)${(Z+n+)rest}} < /dev/tty
|
||||
fi | while read -r item; do
|
||||
item="${item%$suffix}$suffix"
|
||||
echo -n -E "${(q)item} "
|
||||
done
|
||||
)
|
||||
matches=${matches% }
|
||||
if [ -n "$matches" ]; then
|
||||
LBUFFER="$lbuf$matches$tail"
|
||||
fi
|
||||
zle reset-prompt
|
||||
break
|
||||
fi
|
||||
dir=$(dirname "$dir")
|
||||
dir=${dir%/}/
|
||||
done
|
||||
}
|
||||
|
||||
_fzf_path_completion() {
|
||||
__fzf_generic_path_completion "$1" "$2" _fzf_compgen_path \
|
||||
"-m" "" " "
|
||||
}
|
||||
|
||||
_fzf_dir_completion() {
|
||||
__fzf_generic_path_completion "$1" "$2" _fzf_compgen_dir \
|
||||
"" "/" ""
|
||||
}
|
||||
|
||||
_fzf_feed_fifo() {
|
||||
command rm -f "$1"
|
||||
mkfifo "$1"
|
||||
cat <&0 > "$1" &|
|
||||
}
|
||||
|
||||
_fzf_complete() {
|
||||
setopt localoptions ksh_arrays
|
||||
# Split arguments around --
|
||||
local args rest str_arg i sep
|
||||
args=("$@")
|
||||
sep=
|
||||
for i in {0..${#args[@]}}; do
|
||||
if [[ "${args[$i]-}" = -- ]]; then
|
||||
sep=$i
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [[ -n "$sep" ]]; then
|
||||
str_arg=
|
||||
rest=("${args[@]:$((sep + 1)):${#args[@]}}")
|
||||
args=("${args[@]:0:$sep}")
|
||||
else
|
||||
str_arg=$1
|
||||
args=()
|
||||
shift
|
||||
rest=("$@")
|
||||
fi
|
||||
|
||||
local fifo lbuf matches post
|
||||
fifo="${TMPDIR:-/tmp}/fzf-complete-fifo-$$"
|
||||
lbuf=${rest[0]}
|
||||
post="${funcstack[1]}_post"
|
||||
type $post > /dev/null 2>&1 || post=cat
|
||||
|
||||
_fzf_feed_fifo "$fifo"
|
||||
matches=$(
|
||||
FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse" "${FZF_COMPLETION_OPTS-} $str_arg") \
|
||||
FZF_DEFAULT_OPTS_FILE='' \
|
||||
__fzf_comprun "$cmd_word" "${args[@]}" -q "${(Q)prefix}" < "$fifo" | $post | tr '\n' ' ')
|
||||
if [ -n "$matches" ]; then
|
||||
LBUFFER="$lbuf$matches"
|
||||
fi
|
||||
command rm -f "$fifo"
|
||||
}
|
||||
|
||||
# To use custom hostname lists, override __fzf_list_hosts.
|
||||
# The function is expected to print hostnames, one per line as well as in the
|
||||
# desired sorting and with any duplicates removed, to standard output.
|
||||
if ! declare -f __fzf_list_hosts > /dev/null; then
|
||||
__fzf_list_hosts() {
|
||||
command sort -u \
|
||||
<(
|
||||
# Note: To make the pathname expansion of "~/.ssh/config.d/*" work
|
||||
# properly, we need to adjust the related shell options. We need to
|
||||
# unset "NO_GLOB" (or reset "GLOB"), which disable the pathname
|
||||
# expansion totally. We need to unset "DOT_GLOB" and set "CASE_GLOB"
|
||||
# to avoid matching unwanted files. We need to set "NULL_GLOB" to
|
||||
# avoid attempting to read the literal filename '~/.ssh/config.d/*'
|
||||
# when no matching is found.
|
||||
setopt GLOB NO_DOT_GLOB CASE_GLOB NO_NOMATCH NULL_GLOB
|
||||
|
||||
__fzf_exec_awk '
|
||||
# Note: mawk <= 1.3.3-20090705 does not support the POSIX brackets of
|
||||
# the form [[:blank:]], and Ubuntu 18.04 LTS still uses this
|
||||
# 16-year-old mawk unfortunately. We need to use [ \t] instead.
|
||||
match(tolower($0), /^[ \t]*host(name)?[ \t]*[ \t=]/) {
|
||||
$0 = substr($0, RLENGTH + 1) # Remove "Host(name)?=?"
|
||||
sub(/#.*/, "")
|
||||
for (i = 1; i <= NF; i++)
|
||||
if ($i !~ /[*?%]/)
|
||||
print $i
|
||||
}
|
||||
' ~/.ssh/config ~/.ssh/config.d/* /etc/ssh/ssh_config 2> /dev/null
|
||||
) \
|
||||
<(
|
||||
__fzf_exec_awk -F ',' '
|
||||
match($0, /^[][a-zA-Z0-9.,:-]+/) {
|
||||
$0 = substr($0, 1, RLENGTH)
|
||||
gsub(/[][]|:[^,]*/, "")
|
||||
for (i = 1; i <= NF; i++)
|
||||
print $i
|
||||
}
|
||||
' ~/.ssh/known_hosts 2> /dev/null
|
||||
) \
|
||||
<(
|
||||
__fzf_exec_awk '
|
||||
{
|
||||
sub(/#.*/, "")
|
||||
for (i = 2; i <= NF; i++)
|
||||
if ($i != "0.0.0.0")
|
||||
print $i
|
||||
}
|
||||
' /etc/hosts 2> /dev/null
|
||||
)
|
||||
}
|
||||
fi
|
||||
|
||||
_fzf_complete_telnet() {
|
||||
_fzf_complete +m -- "$@" < <(__fzf_list_hosts)
|
||||
}
|
||||
|
||||
# The first and the only argument is the LBUFFER without the current word that contains the trigger.
|
||||
# The current word without the trigger is in the $prefix variable passed from the caller.
|
||||
_fzf_complete_ssh() {
|
||||
local -a tokens
|
||||
tokens=(${(z)1})
|
||||
case ${tokens[-1]} in
|
||||
-i|-F|-E)
|
||||
_fzf_path_completion "$prefix" "$1"
|
||||
;;
|
||||
*)
|
||||
local user
|
||||
[[ $prefix =~ @ ]] && user="${prefix%%@*}@"
|
||||
_fzf_complete +m -- "$@" < <(__fzf_list_hosts | __fzf_exec_awk -v user="$user" '{print user $0}')
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_fzf_complete_export() {
|
||||
_fzf_complete -m -- "$@" < <(
|
||||
declare -xp | sed 's/=.*//' | sed 's/.* //'
|
||||
)
|
||||
}
|
||||
|
||||
_fzf_complete_unset() {
|
||||
_fzf_complete -m -- "$@" < <(
|
||||
declare -xp | sed 's/=.*//' | sed 's/.* //'
|
||||
)
|
||||
}
|
||||
|
||||
_fzf_complete_unalias() {
|
||||
_fzf_complete +m -- "$@" < <(
|
||||
alias | sed 's/=.*//'
|
||||
)
|
||||
}
|
||||
|
||||
_fzf_complete_kill() {
|
||||
local transformer
|
||||
transformer='
|
||||
if [[ $FZF_KEY =~ ctrl|alt|shift ]] && [[ -n $FZF_NTH ]]; then
|
||||
nths=( ${FZF_NTH//,/ } )
|
||||
new_nths=()
|
||||
found=0
|
||||
for nth in ${nths[@]}; do
|
||||
if [[ $nth = $FZF_CLICK_HEADER_NTH ]]; then
|
||||
found=1
|
||||
else
|
||||
new_nths+=($nth)
|
||||
fi
|
||||
done
|
||||
[[ $found = 0 ]] && new_nths+=($FZF_CLICK_HEADER_NTH)
|
||||
new_nths=${new_nths[*]}
|
||||
new_nths=${new_nths// /,}
|
||||
echo "change-nth($new_nths)+change-prompt($new_nths> )"
|
||||
else
|
||||
if [[ $FZF_NTH = $FZF_CLICK_HEADER_NTH ]]; then
|
||||
echo "change-nth()+change-prompt(> )"
|
||||
else
|
||||
echo "change-nth($FZF_CLICK_HEADER_NTH)+change-prompt($FZF_CLICK_HEADER_WORD> )"
|
||||
fi
|
||||
fi
|
||||
'
|
||||
_fzf_complete -m --header-lines=1 --no-preview --wrap --color fg:dim,nth:regular \
|
||||
--bind "click-header:transform:$transformer" -- "$@" < <(
|
||||
command ps -eo user,pid,ppid,start,time,command 2> /dev/null ||
|
||||
command ps -eo user,pid,ppid,time,args 2> /dev/null || # For BusyBox
|
||||
command ps --everyone --full --windows # For cygwin
|
||||
)
|
||||
}
|
||||
|
||||
_fzf_complete_kill_post() {
|
||||
__fzf_exec_awk '{print $2}'
|
||||
}
|
||||
|
||||
fzf-completion() {
|
||||
local tokens prefix trigger tail matches lbuf d_cmds cursor_pos cmd_word
|
||||
setopt localoptions noshwordsplit noksh_arrays noposixbuiltins
|
||||
|
||||
# http://zsh.sourceforge.net/FAQ/zshfaq03.html
|
||||
# http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion-Flags
|
||||
tokens=(${(z)LBUFFER})
|
||||
if [ ${#tokens} -lt 1 ]; then
|
||||
zle ${fzf_default_completion:-expand-or-complete}
|
||||
return
|
||||
fi
|
||||
|
||||
# Explicitly allow for empty trigger.
|
||||
trigger=${FZF_COMPLETION_TRIGGER-'**'}
|
||||
[[ -z $trigger && ${LBUFFER[-1]} == ' ' ]] && tokens+=("")
|
||||
|
||||
# When the trigger starts with ';', it becomes a separate token
|
||||
if [[ ${LBUFFER} = *"${tokens[-2]-}${tokens[-1]}" ]]; then
|
||||
tokens[-2]="${tokens[-2]-}${tokens[-1]}"
|
||||
tokens=(${tokens[0,-2]})
|
||||
fi
|
||||
|
||||
lbuf=$LBUFFER
|
||||
tail=${LBUFFER:$(( ${#LBUFFER} - ${#trigger} ))}
|
||||
|
||||
# Trigger sequence given
|
||||
if [ ${#tokens} -gt 1 -a "$tail" = "$trigger" ]; then
|
||||
d_cmds=(${=FZF_COMPLETION_DIR_COMMANDS-cd pushd rmdir})
|
||||
|
||||
{
|
||||
cursor_pos=$CURSOR
|
||||
# Move the cursor before the trigger to preserve word array elements when
|
||||
# trigger chars like ';' or '`' would otherwise reset the 'words' array.
|
||||
CURSOR=$((cursor_pos - ${#trigger} - 1))
|
||||
# Check if at least one completion system (old or new) is active.
|
||||
# If at least one user-defined completion widget is detected, nothing will
|
||||
# be completed if neither the old nor the new completion system is enabled.
|
||||
# In such cases, the 'zsh/compctl' module is loaded as a fallback.
|
||||
if ! zmodload -F zsh/parameter p:functions 2>/dev/null || ! (( ${+functions[compdef]} )); then
|
||||
zmodload -F zsh/compctl 2>/dev/null
|
||||
fi
|
||||
# Create a completion widget to access the 'words' array (man zshcompwid)
|
||||
zle -C __fzf_extract_command .complete-word __fzf_extract_command
|
||||
zle __fzf_extract_command
|
||||
} always {
|
||||
CURSOR=$cursor_pos
|
||||
# Delete the completion widget
|
||||
zle -D __fzf_extract_command 2>/dev/null
|
||||
}
|
||||
|
||||
[ -z "$trigger" ] && prefix=${tokens[-1]} || prefix=${tokens[-1]:0:-${#trigger}}
|
||||
if [[ $prefix = *'$('* ]] || [[ $prefix = *'<('* ]] || [[ $prefix = *'>('* ]] || [[ $prefix = *':='* ]] || [[ $prefix = *'`'* ]]; then
|
||||
return
|
||||
fi
|
||||
[ -n "${tokens[-1]}" ] && lbuf=${lbuf:0:-${#tokens[-1]}}
|
||||
|
||||
if eval "noglob type _fzf_complete_${cmd_word} >/dev/null"; then
|
||||
prefix="$prefix" eval _fzf_complete_${cmd_word} ${(q)lbuf}
|
||||
zle reset-prompt
|
||||
elif [ ${d_cmds[(i)$cmd_word]} -le ${#d_cmds} ]; then
|
||||
_fzf_dir_completion "$prefix" "$lbuf"
|
||||
else
|
||||
_fzf_path_completion "$prefix" "$lbuf"
|
||||
fi
|
||||
# Fall back to default completion
|
||||
else
|
||||
zle ${fzf_default_completion:-expand-or-complete}
|
||||
fi
|
||||
}
|
||||
|
||||
[ -z "$fzf_default_completion" ] && {
|
||||
binding=$(bindkey '^I')
|
||||
[[ $binding =~ 'undefined-key' ]] || fzf_default_completion=$binding[(s: :w)2]
|
||||
unset binding
|
||||
}
|
||||
|
||||
# Normal widget
|
||||
zle -N fzf-completion
|
||||
bindkey '^I' fzf-completion
|
||||
fi
|
||||
|
||||
} always {
|
||||
# Restore the original options.
|
||||
eval $__fzf_completion_options
|
||||
'unset' '__fzf_completion_options'
|
||||
}
|
||||
### end: completion.zsh ###
|
||||
635
config/zsh/completions/_sqlx
Normal file
635
config/zsh/completions/_sqlx
Normal file
@ -0,0 +1,635 @@
|
||||
#compdef sqlx
|
||||
|
||||
autoload -U is-at-least
|
||||
|
||||
_sqlx() {
|
||||
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[@]}" : \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
":: :_sqlx_commands" \
|
||||
"*::: :->sqlx-cli" \
|
||||
&& ret=0
|
||||
case $state in
|
||||
(sqlx-cli)
|
||||
words=($line[1] "${words[@]}")
|
||||
(( CURRENT += 1 ))
|
||||
curcontext="${curcontext%:*:*}:sqlx-command-$line[1]:"
|
||||
case $line[1] in
|
||||
(database)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
":: :_sqlx__database_commands" \
|
||||
"*::: :->database" \
|
||||
&& ret=0
|
||||
|
||||
case $state in
|
||||
(database)
|
||||
words=($line[1] "${words[@]}")
|
||||
(( CURRENT += 1 ))
|
||||
curcontext="${curcontext%:*:*}:sqlx-database-command-$line[1]:"
|
||||
case $line[1] in
|
||||
(create)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'-D+[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--database-url=[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--connect-timeout=[The maximum time, in seconds, to try connecting to the database server before returning an error]:CONNECT_TIMEOUT:_default' \
|
||||
'--no-dotenv[Do not automatically load \`.env\` files]' \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(drop)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'-D+[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--database-url=[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--connect-timeout=[The maximum time, in seconds, to try connecting to the database server before returning an error]:CONNECT_TIMEOUT:_default' \
|
||||
'-y[Automatic confirmation. Without this option, you will be prompted before dropping your database]' \
|
||||
'--no-dotenv[Do not automatically load \`.env\` files]' \
|
||||
'-f[PostgreSQL only\: force drops the database]' \
|
||||
'--force[PostgreSQL only\: force drops the database]' \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(reset)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'--source=[Path to folder containing migrations]:SOURCE:_default' \
|
||||
'-D+[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--database-url=[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--connect-timeout=[The maximum time, in seconds, to try connecting to the database server before returning an error]:CONNECT_TIMEOUT:_default' \
|
||||
'-y[Automatic confirmation. Without this option, you will be prompted before dropping your database]' \
|
||||
'--no-dotenv[Do not automatically load \`.env\` files]' \
|
||||
'-f[PostgreSQL only\: force drops the database]' \
|
||||
'--force[PostgreSQL only\: force drops the database]' \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(setup)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'--source=[Path to folder containing migrations]:SOURCE:_default' \
|
||||
'-D+[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--database-url=[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--connect-timeout=[The maximum time, in seconds, to try connecting to the database server before returning an error]:CONNECT_TIMEOUT:_default' \
|
||||
'--no-dotenv[Do not automatically load \`.env\` files]' \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(help)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
":: :_sqlx__database__help_commands" \
|
||||
"*::: :->help" \
|
||||
&& ret=0
|
||||
|
||||
case $state in
|
||||
(help)
|
||||
words=($line[1] "${words[@]}")
|
||||
(( CURRENT += 1 ))
|
||||
curcontext="${curcontext%:*:*}:sqlx-database-help-command-$line[1]:"
|
||||
case $line[1] in
|
||||
(create)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(drop)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(reset)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(setup)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(help)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
(prepare)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'-D+[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--database-url=[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--connect-timeout=[The maximum time, in seconds, to try connecting to the database server before returning an error]:CONNECT_TIMEOUT:_default' \
|
||||
'--check[Run in '\''check'\'' mode. Exits with 0 if the query metadata is up-to-date. Exits with 1 if the query metadata needs updating]' \
|
||||
'--all[Prepare query macros in dependencies that exist outside the current crate or workspace]' \
|
||||
'--workspace[Generate a single workspace-level \`.sqlx\` folder]' \
|
||||
'--no-dotenv[Do not automatically load \`.env\` files]' \
|
||||
'-h[Print help (see more with '\''--help'\'')]' \
|
||||
'--help[Print help (see more with '\''--help'\'')]' \
|
||||
'*::args -- Arguments to be passed to `cargo rustc ...`:_default' \
|
||||
&& ret=0
|
||||
;;
|
||||
(migrate)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
":: :_sqlx__migrate_commands" \
|
||||
"*::: :->migrate" \
|
||||
&& ret=0
|
||||
|
||||
case $state in
|
||||
(migrate)
|
||||
words=($line[1] "${words[@]}")
|
||||
(( CURRENT += 1 ))
|
||||
curcontext="${curcontext%:*:*}:sqlx-migrate-command-$line[1]:"
|
||||
case $line[1] in
|
||||
(add)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'--source=[Path to folder containing migrations]:SOURCE:_default' \
|
||||
'-r[If true, creates a pair of up and down migration files with same version else creates a single sql file]' \
|
||||
'-t[If set, use timestamp versioning for the new migration. Conflicts with \`--sequential\`]' \
|
||||
'--timestamp[If set, use timestamp versioning for the new migration. Conflicts with \`--sequential\`]' \
|
||||
'(-t --timestamp)-s[If set, use sequential versioning for the new migration. Conflicts with \`--timestamp\`]' \
|
||||
'(-t --timestamp)--sequential[If set, use sequential versioning for the new migration. Conflicts with \`--timestamp\`]' \
|
||||
'-h[Print help (see more with '\''--help'\'')]' \
|
||||
'--help[Print help (see more with '\''--help'\'')]' \
|
||||
':description:_default' \
|
||||
&& ret=0
|
||||
;;
|
||||
(run)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'--source=[Path to folder containing migrations]:SOURCE:_default' \
|
||||
'-D+[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--database-url=[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--connect-timeout=[The maximum time, in seconds, to try connecting to the database server before returning an error]:CONNECT_TIMEOUT:_default' \
|
||||
'--target-version=[Apply migrations up to the specified version. If unspecified, apply all pending migrations. If already at the target version, then no-op]:TARGET_VERSION:_default' \
|
||||
'--dry-run[List all the migrations to be run without applying]' \
|
||||
'--ignore-missing[Ignore applied migrations that are missing in the resolved migrations]' \
|
||||
'--no-dotenv[Do not automatically load \`.env\` files]' \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(revert)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'--source=[Path to folder containing migrations]:SOURCE:_default' \
|
||||
'-D+[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--database-url=[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--connect-timeout=[The maximum time, in seconds, to try connecting to the database server before returning an error]:CONNECT_TIMEOUT:_default' \
|
||||
'--target-version=[Revert migrations down to the specified version. If unspecified, revert only the last migration. Set to 0 to revert all migrations. If already at the target version, then no-op]:TARGET_VERSION:_default' \
|
||||
'--dry-run[List the migration to be reverted without applying]' \
|
||||
'--ignore-missing[Ignore applied migrations that are missing in the resolved migrations]' \
|
||||
'--no-dotenv[Do not automatically load \`.env\` files]' \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(info)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'--source=[Path to folder containing migrations]:SOURCE:_default' \
|
||||
'-D+[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--database-url=[Location of the DB, by default will be read from the DATABASE_URL env var or \`.env\` files]:DATABASE_URL:_default' \
|
||||
'--connect-timeout=[The maximum time, in seconds, to try connecting to the database server before returning an error]:CONNECT_TIMEOUT:_default' \
|
||||
'--no-dotenv[Do not automatically load \`.env\` files]' \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(build-script)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'--source=[Path to folder containing migrations]:SOURCE:_default' \
|
||||
'--force[Overwrite the build script if it already exists]' \
|
||||
'-h[Print help (see more with '\''--help'\'')]' \
|
||||
'--help[Print help (see more with '\''--help'\'')]' \
|
||||
&& ret=0
|
||||
;;
|
||||
(help)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
":: :_sqlx__migrate__help_commands" \
|
||||
"*::: :->help" \
|
||||
&& ret=0
|
||||
|
||||
case $state in
|
||||
(help)
|
||||
words=($line[1] "${words[@]}")
|
||||
(( CURRENT += 1 ))
|
||||
curcontext="${curcontext%:*:*}:sqlx-migrate-help-command-$line[1]:"
|
||||
case $line[1] in
|
||||
(add)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(run)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(revert)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(info)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(build-script)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(help)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
(completions)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
'-h[Print help]' \
|
||||
'--help[Print help]' \
|
||||
':shell:(bash elvish fish powershell zsh)' \
|
||||
&& ret=0
|
||||
;;
|
||||
(help)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
":: :_sqlx__help_commands" \
|
||||
"*::: :->help" \
|
||||
&& ret=0
|
||||
|
||||
case $state in
|
||||
(help)
|
||||
words=($line[1] "${words[@]}")
|
||||
(( CURRENT += 1 ))
|
||||
curcontext="${curcontext%:*:*}:sqlx-help-command-$line[1]:"
|
||||
case $line[1] in
|
||||
(database)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
":: :_sqlx__help__database_commands" \
|
||||
"*::: :->database" \
|
||||
&& ret=0
|
||||
|
||||
case $state in
|
||||
(database)
|
||||
words=($line[1] "${words[@]}")
|
||||
(( CURRENT += 1 ))
|
||||
curcontext="${curcontext%:*:*}:sqlx-help-database-command-$line[1]:"
|
||||
case $line[1] in
|
||||
(create)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(drop)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(reset)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(setup)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
(prepare)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(migrate)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
":: :_sqlx__help__migrate_commands" \
|
||||
"*::: :->migrate" \
|
||||
&& ret=0
|
||||
|
||||
case $state in
|
||||
(migrate)
|
||||
words=($line[1] "${words[@]}")
|
||||
(( CURRENT += 1 ))
|
||||
curcontext="${curcontext%:*:*}:sqlx-help-migrate-command-$line[1]:"
|
||||
case $line[1] in
|
||||
(add)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(run)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(revert)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(info)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(build-script)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
(completions)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
(help)
|
||||
_arguments "${_arguments_options[@]}" : \
|
||||
&& ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
(( $+functions[_sqlx_commands] )) ||
|
||||
_sqlx_commands() {
|
||||
local commands; commands=(
|
||||
'database:Group of commands for creating and dropping your database' \
|
||||
'prepare:Generate query metadata to support offline compile-time verification' \
|
||||
'migrate:Group of commands for creating and running migrations' \
|
||||
'completions:Generate shell completions for the specified shell' \
|
||||
'help:Print this message or the help of the given subcommand(s)' \
|
||||
)
|
||||
_describe -t commands 'sqlx commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__completions_commands] )) ||
|
||||
_sqlx__completions_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx completions commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database_commands] )) ||
|
||||
_sqlx__database_commands() {
|
||||
local commands; commands=(
|
||||
'create:Creates the database specified in your DATABASE_URL' \
|
||||
'drop:Drops the database specified in your DATABASE_URL' \
|
||||
'reset:Drops the database specified in your DATABASE_URL, re-creates it, and runs any pending migrations' \
|
||||
'setup:Creates the database specified in your DATABASE_URL and runs any pending migrations' \
|
||||
'help:Print this message or the help of the given subcommand(s)' \
|
||||
)
|
||||
_describe -t commands 'sqlx database commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database__create_commands] )) ||
|
||||
_sqlx__database__create_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx database create commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database__drop_commands] )) ||
|
||||
_sqlx__database__drop_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx database drop commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database__help_commands] )) ||
|
||||
_sqlx__database__help_commands() {
|
||||
local commands; commands=(
|
||||
'create:Creates the database specified in your DATABASE_URL' \
|
||||
'drop:Drops the database specified in your DATABASE_URL' \
|
||||
'reset:Drops the database specified in your DATABASE_URL, re-creates it, and runs any pending migrations' \
|
||||
'setup:Creates the database specified in your DATABASE_URL and runs any pending migrations' \
|
||||
'help:Print this message or the help of the given subcommand(s)' \
|
||||
)
|
||||
_describe -t commands 'sqlx database help commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database__help__create_commands] )) ||
|
||||
_sqlx__database__help__create_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx database help create commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database__help__drop_commands] )) ||
|
||||
_sqlx__database__help__drop_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx database help drop commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database__help__help_commands] )) ||
|
||||
_sqlx__database__help__help_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx database help help commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database__help__reset_commands] )) ||
|
||||
_sqlx__database__help__reset_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx database help reset commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database__help__setup_commands] )) ||
|
||||
_sqlx__database__help__setup_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx database help setup commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database__reset_commands] )) ||
|
||||
_sqlx__database__reset_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx database reset commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__database__setup_commands] )) ||
|
||||
_sqlx__database__setup_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx database setup commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help_commands] )) ||
|
||||
_sqlx__help_commands() {
|
||||
local commands; commands=(
|
||||
'database:Group of commands for creating and dropping your database' \
|
||||
'prepare:Generate query metadata to support offline compile-time verification' \
|
||||
'migrate:Group of commands for creating and running migrations' \
|
||||
'completions:Generate shell completions for the specified shell' \
|
||||
'help:Print this message or the help of the given subcommand(s)' \
|
||||
)
|
||||
_describe -t commands 'sqlx help commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__completions_commands] )) ||
|
||||
_sqlx__help__completions_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help completions commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__database_commands] )) ||
|
||||
_sqlx__help__database_commands() {
|
||||
local commands; commands=(
|
||||
'create:Creates the database specified in your DATABASE_URL' \
|
||||
'drop:Drops the database specified in your DATABASE_URL' \
|
||||
'reset:Drops the database specified in your DATABASE_URL, re-creates it, and runs any pending migrations' \
|
||||
'setup:Creates the database specified in your DATABASE_URL and runs any pending migrations' \
|
||||
)
|
||||
_describe -t commands 'sqlx help database commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__database__create_commands] )) ||
|
||||
_sqlx__help__database__create_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help database create commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__database__drop_commands] )) ||
|
||||
_sqlx__help__database__drop_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help database drop commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__database__reset_commands] )) ||
|
||||
_sqlx__help__database__reset_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help database reset commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__database__setup_commands] )) ||
|
||||
_sqlx__help__database__setup_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help database setup commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__help_commands] )) ||
|
||||
_sqlx__help__help_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help help commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__migrate_commands] )) ||
|
||||
_sqlx__help__migrate_commands() {
|
||||
local commands; commands=(
|
||||
'add:Create a new migration with the given description' \
|
||||
'run:Run all pending migrations' \
|
||||
'revert:Revert the latest migration with a down file' \
|
||||
'info:List all available migrations' \
|
||||
'build-script:Generate a \`build.rs\` to trigger recompilation when a new migration is added' \
|
||||
)
|
||||
_describe -t commands 'sqlx help migrate commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__migrate__add_commands] )) ||
|
||||
_sqlx__help__migrate__add_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help migrate add commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__migrate__build-script_commands] )) ||
|
||||
_sqlx__help__migrate__build-script_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help migrate build-script commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__migrate__info_commands] )) ||
|
||||
_sqlx__help__migrate__info_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help migrate info commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__migrate__revert_commands] )) ||
|
||||
_sqlx__help__migrate__revert_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help migrate revert commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__migrate__run_commands] )) ||
|
||||
_sqlx__help__migrate__run_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help migrate run commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__help__prepare_commands] )) ||
|
||||
_sqlx__help__prepare_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx help prepare commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate_commands] )) ||
|
||||
_sqlx__migrate_commands() {
|
||||
local commands; commands=(
|
||||
'add:Create a new migration with the given description' \
|
||||
'run:Run all pending migrations' \
|
||||
'revert:Revert the latest migration with a down file' \
|
||||
'info:List all available migrations' \
|
||||
'build-script:Generate a \`build.rs\` to trigger recompilation when a new migration is added' \
|
||||
'help:Print this message or the help of the given subcommand(s)' \
|
||||
)
|
||||
_describe -t commands 'sqlx migrate commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__add_commands] )) ||
|
||||
_sqlx__migrate__add_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate add commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__build-script_commands] )) ||
|
||||
_sqlx__migrate__build-script_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate build-script commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__help_commands] )) ||
|
||||
_sqlx__migrate__help_commands() {
|
||||
local commands; commands=(
|
||||
'add:Create a new migration with the given description' \
|
||||
'run:Run all pending migrations' \
|
||||
'revert:Revert the latest migration with a down file' \
|
||||
'info:List all available migrations' \
|
||||
'build-script:Generate a \`build.rs\` to trigger recompilation when a new migration is added' \
|
||||
'help:Print this message or the help of the given subcommand(s)' \
|
||||
)
|
||||
_describe -t commands 'sqlx migrate help commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__help__add_commands] )) ||
|
||||
_sqlx__migrate__help__add_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate help add commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__help__build-script_commands] )) ||
|
||||
_sqlx__migrate__help__build-script_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate help build-script commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__help__help_commands] )) ||
|
||||
_sqlx__migrate__help__help_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate help help commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__help__info_commands] )) ||
|
||||
_sqlx__migrate__help__info_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate help info commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__help__revert_commands] )) ||
|
||||
_sqlx__migrate__help__revert_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate help revert commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__help__run_commands] )) ||
|
||||
_sqlx__migrate__help__run_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate help run commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__info_commands] )) ||
|
||||
_sqlx__migrate__info_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate info commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__revert_commands] )) ||
|
||||
_sqlx__migrate__revert_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate revert commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__migrate__run_commands] )) ||
|
||||
_sqlx__migrate__run_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx migrate run commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_sqlx__prepare_commands] )) ||
|
||||
_sqlx__prepare_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'sqlx prepare commands' commands "$@"
|
||||
}
|
||||
|
||||
if [ "$funcstack[1]" = "_sqlx" ]; then
|
||||
_sqlx "$@"
|
||||
else
|
||||
compdef _sqlx sqlx
|
||||
fi
|
||||
4940
config/zsh/completions/_uv
Normal file
4940
config/zsh/completions/_uv
Normal file
File diff suppressed because it is too large
Load Diff
146
config/zsh/completions/_uvx
Normal file
146
config/zsh/completions/_uvx
Normal file
@ -0,0 +1,146 @@
|
||||
#compdef uvx
|
||||
|
||||
autoload -U is-at-least
|
||||
|
||||
_uvx() {
|
||||
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[@]}" : \
|
||||
'--from=[Use the given package to provide the command]:FROM:_default' \
|
||||
'*-w+[Run with the given packages installed]:WITH:_default' \
|
||||
'*--with=[Run with the given packages installed]:WITH:_default' \
|
||||
'*--with-editable=[Run with the given packages installed in editable mode]:WITH_EDITABLE:_default' \
|
||||
'*--with-requirements=[Run with all packages listed in the given \`requirements.txt\` files]:WITH_REQUIREMENTS:_default' \
|
||||
'*-c+[Constrain versions using the given requirements files]:CONSTRAINTS:_default' \
|
||||
'*--constraints=[Constrain versions using the given requirements files]:CONSTRAINTS:_default' \
|
||||
'*-b+[Constrain build dependencies using the given requirements files when building source distributions]:BUILD_CONSTRAINTS:_default' \
|
||||
'*--build-constraints=[Constrain build dependencies using the given requirements files when building source distributions]:BUILD_CONSTRAINTS:_default' \
|
||||
'*--overrides=[Override versions using the given requirements files]:OVERRIDES:_default' \
|
||||
'*--env-file=[Load environment variables from a \`.env\` file]:ENV_FILE:_files' \
|
||||
'*--index=[The URLs to use when resolving dependencies, in addition to the default index]:INDEX:_default' \
|
||||
'--default-index=[The URL of the default package index (by default\: <https\://pypi.org/simple>)]:DEFAULT_INDEX:_default' \
|
||||
'-i+[(Deprecated\: use \`--default-index\` instead) The URL of the Python package index (by default\: <https\://pypi.org/simple>)]:INDEX_URL:_default' \
|
||||
'--index-url=[(Deprecated\: use \`--default-index\` instead) The URL of the Python package index (by default\: <https\://pypi.org/simple>)]:INDEX_URL:_default' \
|
||||
'*--extra-index-url=[(Deprecated\: use \`--index\` instead) Extra URLs of package indexes to use, in addition to \`--index-url\`]:EXTRA_INDEX_URL:_default' \
|
||||
'*-f+[Locations to search for candidate distributions, in addition to those found in the registry indexes]:FIND_LINKS:_default' \
|
||||
'*--find-links=[Locations to search for candidate distributions, in addition to those found in the registry indexes]:FIND_LINKS:_default' \
|
||||
'*-P+[Allow upgrades for a specific package, ignoring pinned versions in any existing output file. Implies \`--refresh-package\`]:UPGRADE_PACKAGE:_default' \
|
||||
'*--upgrade-package=[Allow upgrades for a specific package, ignoring pinned versions in any existing output file. Implies \`--refresh-package\`]:UPGRADE_PACKAGE:_default' \
|
||||
'*--reinstall-package=[Reinstall a specific package, regardless of whether it'\''s already installed. Implies \`--refresh-package\`]:REINSTALL_PACKAGE:_default' \
|
||||
'--index-strategy=[The strategy to use when resolving against multiple index URLs]:INDEX_STRATEGY:((first-index\:"Only use results from the first index that returns a match for a given package name"
|
||||
unsafe-first-match\:"Search for every package name across all indexes, exhausting the versions from the first index before moving on to the next"
|
||||
unsafe-best-match\:"Search for every package name across all indexes, preferring the "best" version found. If a package version is in multiple indexes, only look at the entry for the first index"))' \
|
||||
'--keyring-provider=[Attempt to use \`keyring\` for authentication for index URLs]:KEYRING_PROVIDER:((disabled\:"Do not use keyring for credential lookup"
|
||||
subprocess\:"Use the \`keyring\` command for credential lookup"))' \
|
||||
'--resolution=[The strategy to use when selecting between the different compatible versions for a given package requirement]:RESOLUTION:((highest\:"Resolve the highest compatible version of each package"
|
||||
lowest\:"Resolve the lowest compatible version of each package"
|
||||
lowest-direct\:"Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies"))' \
|
||||
'--prerelease=[The strategy to use when considering pre-release versions]:PRERELEASE:((disallow\:"Disallow all pre-release versions"
|
||||
allow\:"Allow all pre-release versions"
|
||||
if-necessary\:"Allow pre-release versions if all versions of a package are pre-release"
|
||||
explicit\:"Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirements"
|
||||
if-necessary-or-explicit\:"Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements"))' \
|
||||
'--fork-strategy=[The strategy to use when selecting multiple versions of a given package across Python versions and platforms]:FORK_STRATEGY:((fewest\:"Optimize for selecting the fewest number of versions for each package. Older versions may be preferred if they are compatible with a wider range of supported Python versions or platforms"
|
||||
requires-python\:"Optimize for selecting latest supported version of each package, for each supported Python version"))' \
|
||||
'*-C+[Settings to pass to the PEP 517 build backend, specified as \`KEY=VALUE\` pairs]:CONFIG_SETTING:_default' \
|
||||
'*--config-setting=[Settings to pass to the PEP 517 build backend, specified as \`KEY=VALUE\` pairs]:CONFIG_SETTING:_default' \
|
||||
'*--config-settings-package=[Settings to pass to the PEP 517 build backend for a specific package, specified as \`PACKAGE\:KEY=VALUE\` pairs]:CONFIG_SETTINGS_PACKAGE:_default' \
|
||||
'*--no-build-isolation-package=[Disable isolation when building source distributions for a specific package]:NO_BUILD_ISOLATION_PACKAGE:_default' \
|
||||
'--exclude-newer=[Limit candidate packages to those that were uploaded prior to the given date]:EXCLUDE_NEWER:_default' \
|
||||
'*--exclude-newer-package=[Limit candidate packages for specific packages to those that were uploaded prior to the given date]:EXCLUDE_NEWER_PACKAGE:_default' \
|
||||
'--link-mode=[The method to use when installing packages from the global cache]:LINK_MODE:((clone\:"Clone (i.e., copy-on-write) packages from the wheel into the \`site-packages\` directory"
|
||||
copy\:"Copy packages from the wheel into the \`site-packages\` directory"
|
||||
hardlink\:"Hard link packages from the wheel into the \`site-packages\` directory"
|
||||
symlink\:"Symbolically link packages from the wheel into the \`site-packages\` directory"))' \
|
||||
'*--no-build-package=[Don'\''t build source distributions for a specific package]:NO_BUILD_PACKAGE:_default' \
|
||||
'*--no-binary-package=[Don'\''t install pre-built wheels for a specific package]:NO_BINARY_PACKAGE:_default' \
|
||||
'*--refresh-package=[Refresh cached data for a specific package]:REFRESH_PACKAGE:_default' \
|
||||
'-p+[The Python interpreter to use to build the run environment.]:PYTHON:_default' \
|
||||
'--python=[The Python interpreter to use to build the run environment.]:PYTHON:_default' \
|
||||
'--generate-shell-completion=[]:GENERATE_SHELL_COMPLETION:(bash elvish fish nushell powershell zsh)' \
|
||||
'--cache-dir=[Path to the cache directory]:CACHE_DIR:_files' \
|
||||
'--python-preference=[]:PYTHON_PREFERENCE:((only-managed\:"Only use managed Python installations; never use system Python installations"
|
||||
managed\:"Prefer managed Python installations over system Python installations"
|
||||
system\:"Prefer system Python installations over managed Python installations"
|
||||
only-system\:"Only use system Python installations; never use managed Python installations"))' \
|
||||
'--python-fetch=[Deprecated version of \[\`Self\:\:python_downloads\`\]]:PYTHON_FETCH:((automatic\:"Automatically download managed Python installations when needed"
|
||||
manual\:"Do not automatically download managed Python installations; require explicit installation"
|
||||
never\:"Do not ever allow Python downloads"))' \
|
||||
'(--no-color)--color=[Control the use of color in output]:COLOR_CHOICE:((auto\:"Enables colored output only when the output is going to a terminal or TTY with support"
|
||||
always\:"Enables colored output regardless of the detected environment"
|
||||
never\:"Disables colored output"))' \
|
||||
'*--allow-insecure-host=[Allow insecure connections to a host]:ALLOW_INSECURE_HOST:_default' \
|
||||
'*--preview-features=[Enable experimental preview features]:PREVIEW_FEATURES:_default' \
|
||||
'--directory=[Change to the given directory prior to running the command]:DIRECTORY:_files' \
|
||||
'--project=[Run the command within the given project directory]:PROJECT:_files' \
|
||||
'--config-file=[The path to a \`uv.toml\` file to use for configuration]:CONFIG_FILE:_files' \
|
||||
'--isolated[Run the tool in an isolated virtual environment, ignoring any already-installed tools]' \
|
||||
'--no-env-file[Avoid reading environment variables from a \`.env\` file]' \
|
||||
'--no-index[Ignore the registry index (e.g., PyPI), instead relying on direct URL dependencies and those provided via \`--find-links\`]' \
|
||||
'-U[Allow package upgrades, ignoring pinned versions in any existing output file. Implies \`--refresh\`]' \
|
||||
'--upgrade[Allow package upgrades, ignoring pinned versions in any existing output file. Implies \`--refresh\`]' \
|
||||
'--no-upgrade[]' \
|
||||
'--reinstall[Reinstall all packages, regardless of whether they'\''re already installed. Implies \`--refresh\`]' \
|
||||
'--no-reinstall[]' \
|
||||
'--pre[]' \
|
||||
'--no-build-isolation[Disable isolation when building source distributions]' \
|
||||
'--build-isolation[]' \
|
||||
'--compile-bytecode[Compile Python files to bytecode after installation]' \
|
||||
'--no-compile-bytecode[]' \
|
||||
'--no-sources[Ignore the \`tool.uv.sources\` table when resolving dependencies. Used to lock against the standards-compliant, publishable package metadata, as opposed to using any workspace, Git, URL, or local path sources]' \
|
||||
'--no-build[Don'\''t build source distributions]' \
|
||||
'--build[]' \
|
||||
'--no-binary[Don'\''t install pre-built wheels]' \
|
||||
'--binary[]' \
|
||||
'(--offline)--refresh[Refresh all cached data]' \
|
||||
'(--offline)--no-refresh[]' \
|
||||
'--show-resolution[Whether to show resolver and installer output from any environment modifications]' \
|
||||
'-V[Display the uvx version]' \
|
||||
'--version[Display the uvx version]' \
|
||||
'-n[Avoid reading from or writing to the cache, instead using a temporary directory for the duration of the operation]' \
|
||||
'--no-cache[Avoid reading from or writing to the cache, instead using a temporary directory for the duration of the operation]' \
|
||||
'(--python-preference)--managed-python[Require use of uv-managed Python versions]' \
|
||||
'(--python-preference)--no-managed-python[Disable use of uv-managed Python versions]' \
|
||||
'--allow-python-downloads[Allow automatically downloading Python when required. \[env\: "UV_PYTHON_DOWNLOADS=auto"\]]' \
|
||||
'--no-python-downloads[Disable automatic downloads of Python. \[env\: "UV_PYTHON_DOWNLOADS=never"\]]' \
|
||||
'(-v --verbose)*-q[Use quiet output]' \
|
||||
'(-v --verbose)*--quiet[Use quiet output]' \
|
||||
'(-q --quiet)*-v[Use verbose output]' \
|
||||
'(-q --quiet)*--verbose[Use verbose output]' \
|
||||
'(--color)--no-color[Disable colors]' \
|
||||
'--native-tls[Whether to load TLS certificates from the platform'\''s native certificate store]' \
|
||||
'--no-native-tls[]' \
|
||||
'--offline[Disable network access]' \
|
||||
'--no-offline[]' \
|
||||
'--preview[Whether to enable all experimental preview features]' \
|
||||
'--no-preview[]' \
|
||||
'--show-settings[Show the resolved settings for the current command]' \
|
||||
'--no-progress[Hide all progress outputs]' \
|
||||
'--no-installer-metadata[Skip writing \`uv\` installer metadata files (e.g., \`INSTALLER\`, \`REQUESTED\`, and \`direct_url.json\`) to site-packages \`.dist-info\` directories]' \
|
||||
'--no-config[Avoid discovering configuration files (\`pyproject.toml\`, \`uv.toml\`)]' \
|
||||
'-h[Display the concise help for this command]' \
|
||||
'--help[Display the concise help for this command]' \
|
||||
"*::external_command:_default" \
|
||||
&& ret=0
|
||||
}
|
||||
|
||||
(( $+functions[_uvx_commands] )) ||
|
||||
_uvx_commands() {
|
||||
local commands; commands=()
|
||||
_describe -t commands 'uvx commands' commands "$@"
|
||||
}
|
||||
|
||||
if [ "$funcstack[1]" = "_uvx" ]; then
|
||||
_uvx "$@"
|
||||
else
|
||||
compdef _uvx uvx
|
||||
fi
|
||||
Loading…
Reference in New Issue
Block a user