aboutsummaryrefslogtreecommitdiff
path: root/misc/bash
diff options
context:
space:
mode:
authorCarlo Nucera <carlo.nucera@protonmail.com>2020-07-16 13:32:28 -0400
committerCarlo Nucera <carlo.nucera@protonmail.com>2020-07-16 13:32:28 -0400
commit048e916f6477acc7e57e1d85e832d3efb42ad3f6 (patch)
tree3261da4d301fc6bd9df375a8bab3a4a555dc6199 /misc/bash
parent886c91dfcc462d157dc2ce5265800e98d1bc45dd (diff)
parent16c9f6762d082155b967710a5fd3a095937d76ba (diff)
Merge branch 'master' of github.com:NixOS/nix into optional-derivation-output-storepath
Diffstat (limited to 'misc/bash')
-rw-r--r--misc/bash/completion.sh19
-rw-r--r--misc/bash/local.mk1
2 files changed, 20 insertions, 0 deletions
diff --git a/misc/bash/completion.sh b/misc/bash/completion.sh
new file mode 100644
index 000000000..bc184edd6
--- /dev/null
+++ b/misc/bash/completion.sh
@@ -0,0 +1,19 @@
+function _complete_nix {
+ local -a words
+ local cword cur
+ _get_comp_words_by_ref -n ':=&' words cword cur
+ local have_type
+ while IFS= read -r line; do
+ if [[ -z $have_type ]]; then
+ have_type=1
+ if [[ $line = filenames ]]; then
+ compopt -o filenames
+ fi
+ else
+ COMPREPLY+=("$line")
+ fi
+ done < <(NIX_GET_COMPLETIONS=$cword "${words[@]}")
+ __ltrim_colon_completions "$cur"
+}
+
+complete -F _complete_nix nix
diff --git a/misc/bash/local.mk b/misc/bash/local.mk
new file mode 100644
index 000000000..66235af05
--- /dev/null
+++ b/misc/bash/local.mk
@@ -0,0 +1 @@
+$(eval $(call install-file-as, $(d)/completion.sh, $(datarootdir)/bash-completion/completions/nix, 0644))