this allows invocations as the previous but also permits passing arguments to curl like: gi --proxy somewhere:8080 -- linux python
function gi() (
gi_args=()
for arg; do
if [[ $arg = -- ]]; then
curl_args=("${gi_args[@]}")
gi_args=()
else
gi_args+=("$arg")
fi
done
IFS=,
curl "${curl_args[@]}" https://www.toptal.com/developers/gitignore/api/"${gi_args[*]}"
)
if hash curl; then
curl "${curl_args[@]}" https://www.toptal.com/developers/gitignore/api/"${gi_args[*]}"
elif hash wget; then
wget -O- "${curl_args[@]}" https://www.toptal.com/developers/gitignore/api/"${gi_args[*]}"
else
echo "please install curl or wget to run this command" >&2
exit 1
fi
complete -f -c git -n '__fish_git_using_command ignore' -a '(__fish_print_gitignore_list)'
function __fish_print_gitignore_list
if ! set -q __FISH_PRINT_GITIGNORE_LIST
set -g __FISH_PRINT_GITIGNORE_LIST (curl -sL https://www.toptal.com/developers/gitignore/api/list)
end
echo $__FISH_PRINT_GITIGNORE_LIST | string split ","
end