huggingface-cli-completion / huggingface-cli-completion.sh
pavel321's picture
Create huggingface-cli-completion.sh
c019761 verified
raw
history blame contribute delete
913 Bytes
_huggingface_download_completion() {
local commands=("download" "upload" "repo-files" "env" "login" "whoami" "logout" "repo" "lfs-enable-largefiles" "scan-cache" "delete-cache" "tag" "version" "upload-large-folder")
local cur="${COMP_WORDS[COMP_CWORD]}"
# If no command has been specified, suggest commands
if [[ $COMP_CWORD -eq 1 ]]; then
COMPREPLY=( $(compgen -W "${commands[*]}" -- "$cur") )
return
fi
# If the command is 'download', suggest model names
if [[ ${COMP_WORDS[1]} == "download" ]]; then
# Fetch available models from Hugging Face Model Hub
local models=$(curl -s https://huggingface.co/api/models | jq -r '.[].modelId')
# Generate completions based on fetched model names
COMPREPLY=( $(compgen -W "$models" -- "$cur") )
return
fi
}
complete -F _huggingface_download_completion huggingface-cli