···11+# bash parameter completion for the dotnet CLI
22+33+function _dotnet_bash_complete()
44+{
55+ local cur="${COMP_WORDS[COMP_CWORD]}" IFS=$'\n' # On Windows you may need to use use IFS=$'\r\n'
66+ local candidates
77+88+ read -d '' -ra candidates < <(dotnet complete --position "${COMP_POINT}" "${COMP_LINE}" 2>/dev/null)
99+1010+ read -d '' -ra COMPREPLY < <(compgen -W "${candidates[*]:-}" -- "$cur")
1111+}
1212+1313+complete -f -F _dotnet_bash_complete dotnet
···11+# zsh parameter completion for the dotnet CLI
22+33+_dotnet_zsh_complete()
44+{
55+ local completions=("$(dotnet complete "$words")")
66+77+ # If the completion list is empty, just continue with filename selection
88+ if [ -z "$completions" ]
99+ then
1010+ _arguments '*::arguments: _normal'
1111+ return
1212+ fi
1313+1414+ # This is not a variable assignment, don't remove spaces!
1515+ _values = "${(ps:\n:)completions}"
1616+}
1717+1818+compdef _dotnet_zsh_complete dotnet