aboutsummaryrefslogtreecommitdiff
path: root/misc/bash/completion.sh
diff options
context:
space:
mode:
Diffstat (limited to 'misc/bash/completion.sh')
-rw-r--r--misc/bash/completion.sh10
1 files changed, 9 insertions, 1 deletions
diff --git a/misc/bash/completion.sh b/misc/bash/completion.sh
index 097353b50..93298c369 100644
--- a/misc/bash/completion.sh
+++ b/misc/bash/completion.sh
@@ -1,6 +1,14 @@
function _complete_nix {
+ local have_type
while IFS= read -r line; do
- COMPREPLY+=("$line")
+ if [[ -z $have_type ]]; then
+ have_type=1
+ if [[ $line = filenames ]]; then
+ compopt -o filenames
+ fi
+ else
+ COMPREPLY+=("$line")
+ fi
done < <(NIX_GET_COMPLETIONS=$COMP_CWORD "${COMP_WORDS[@]}")
}