yage
f3e70c61cb
===================================================================== --- Changes ------------------------------ - scwrypts runner has new arguments -q/--quiet allows quiet-mode operation while still logging to logfiles -v/--verbose forces verbose mode --version longform required (-v is now for "verbose" mode) - scwrypts runner now auto-detects certain CLI usage, running in quiet, logged mode if pattern match successfully identifies a single scwrypt (or when using --name); use --verbose to override this behavior - 'k exec' no longer requires double '--' if a '--' comes after - old : k exec -it my-pod-0 -- -- /bin/sh + new : k exec -it my-pod-0 -- /bin/sh + still works : k -- exec -it my-pod-0 -- /bin/sh --- Bug Fixes ---------------------------- - fixed various plugins/kubectl auto-completion settings; arguments after '--' or profile number (e.g. 'k 1 get deployments') will now appropriately autocomplete in the indicated profile - helm template functions now work on related .tpl files as well (renders from chart root) - fixed some goofy UTF-8 icons in zsh/lib/utils/io --- New Features ------------------------- - (experimental) scwrypts zsh plugin for interactive command selection (like CTRL+SPACE), but allows you to build command arguments, providing help dialogue for the selected command --- New Scripts -------------------------- - zsh/misc/tally ) helps keep tally-counts of things; helpful when running long scripts "what iteration am I on"
47 lines
1.2 KiB
Bash
47 lines
1.2 KiB
Bash
#####################################################################
|
|
command -v compdef >/dev/null 2>&1 || return 0
|
|
#####################################################################
|
|
|
|
for CLI in kubectl helm flux
|
|
do
|
|
eval "_${CLI[1]}() {
|
|
local SUBSESSION=0
|
|
echo \${words[2]} | grep -q '^[0-9]\\+$' && SUBSESSION=\${words[2]}
|
|
|
|
local PASSTHROUGH_WORDS=($CLI)
|
|
[[ \$CURRENT -gt 2 ]] && echo \${words[2]} | grep -qv '^[0-9]\\+$' && {
|
|
local KUBECONTEXT=\$(k \$SUBSESSION meta get context)
|
|
local NAMESPACE=\$(k \$SUBSESSION meta get namespace)
|
|
|
|
[ \$KUBECONTEXT ] \
|
|
&& PASSTHROUGH_WORDS+=($([[ $CLI =~ ^helm$ ]] && echo '--kube-context' || echo '--context') \$KUBECONTEXT) \
|
|
;
|
|
[ \$NAMESPACE ] \
|
|
&& PASSTHROUGH_WORDS+=(--namespace \$NAMESPACE) \
|
|
;
|
|
}
|
|
|
|
local DELIMIT_COUNT=0
|
|
local WORD
|
|
for WORD in \${words[@]:1}
|
|
do
|
|
case \$WORD in
|
|
[0-9]* ) continue ;;
|
|
-- )
|
|
echo \$words | grep -q 'exec' && ((DELIMIT_COUNT+=1))
|
|
[[ \$DELIMIT_COUNT -eq 0 ]] && ((DELIMIT_COUNT+=1)) && continue
|
|
;;
|
|
esac
|
|
PASSTHROUGH_WORDS+=(\"\$WORD\")
|
|
done
|
|
|
|
echo \"\$words\" | grep -q '\\s\\+$' && PASSTHROUGH_WORDS+=(' ')
|
|
|
|
words=\"\$PASSTHROUGH_WORDS\"
|
|
_$CLI
|
|
}
|
|
"
|
|
|
|
compdef _${CLI[1]} ${CLI[1]}
|
|
done
|