about summary refs log tree commit diff
path: root/pkgs/development/compilers/dotnet/completions/dotnet.bash
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/dotnet/completions/dotnet.bash')
-rw-r--r--pkgs/development/compilers/dotnet/completions/dotnet.bash13
1 files changed, 13 insertions, 0 deletions
diff --git a/pkgs/development/compilers/dotnet/completions/dotnet.bash b/pkgs/development/compilers/dotnet/completions/dotnet.bash
new file mode 100644
index 0000000000000..56c599e4358d5
--- /dev/null
+++ b/pkgs/development/compilers/dotnet/completions/dotnet.bash
@@ -0,0 +1,13 @@
+# bash parameter completion for the dotnet CLI
+
+function _dotnet_bash_complete()
+{
+  local cur="${COMP_WORDS[COMP_CWORD]}" IFS=$'\n' # On Windows you may need to use use IFS=$'\r\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