diff --git a/clean_files.txt b/clean_files.txt index cb62cd3c..e8cdf8be 100644 --- a/clean_files.txt +++ b/clean_files.txt @@ -48,6 +48,7 @@ completion/available/django.completion.bash completion/available/dmidecode.completion.bash completion/available/docker-machine.completion.bash completion/available/docker.completion.bash +completion/available/dotnet.completion.bash completion/available/gcloud.completion.bash completion/available/gem.completion.bash completion/available/git.completion.bash diff --git a/completion/available/dotnet.completion.bash b/completion/available/dotnet.completion.bash new file mode 100644 index 00000000..362cfc92 --- /dev/null +++ b/completion/available/dotnet.completion.bash @@ -0,0 +1,14 @@ +# shellcheck shell=bash +about-completion "bash parameter completion for the dotnet CLI" +# see https://docs.microsoft.com/en-us/dotnet/core/tools/enable-tab-autocomplete#bash + +function _dotnet_bash_complete() { + local cur="${COMP_WORDS[COMP_CWORD]}" IFS=$'\n' + local candidates + + read -d '' -ra candidates < <(dotnet complete --position "${COMP_POINT}" "${COMP_LINE}" 2> /dev/null) + + read -d '' -ra COMPREPLY < <(compgen -W "${candidates[*]:-}" -- "$cur") +} + +complete -f -F _dotnet_bash_complete dotnet