Add fish function for generating and saving completions

This commit is contained in:
ViViDboarder 2022-01-27 12:37:35 -08:00
parent e550f80e6f
commit ca9a2151f6

View File

@ -0,0 +1,20 @@
function update_completions --description "Update completions for a command" --argument-names "target_command"
# Usage: update_completions kubectl completion fish
#
# This generates new completions, sources them, and then saves it to your
# user completions directory for future loading.
if not set -q target_command ; or [ -z "$target_command" ]
echo "Must pass some command to generate completions. eg: update_completions kubectl completion fish" 1>&2
return 1
end
set --local completion_dir "$HOME/.config/fish/completions"
if set -q XDG_CONFIG_HOME
set --local completion_dir "$XDG_CONFIG_HOME"
end
set --local completion_path "$completion_dir/$target_command.fish"
eval $argv[1..] | tee "$completion_path" | source
echo "Completions for $target_command generated, sourced, and stored in $completion_path for future shells" 1>&2
end