nix/misc/bash/completion.sh

21 lines
557 B
Bash
Raw Normal View History

2020-05-10 18:32:21 +00:00
function _complete_nix {
2020-05-11 19:37:53 +00:00
local -a words
local cword cur
_get_comp_words_by_ref -n ':=&' words cword cur
2020-05-10 19:35:07 +00:00
local have_type
2020-05-10 18:32:21 +00:00
while IFS= read -r line; do
local completion=${line%% *}
2020-05-10 19:35:07 +00:00
if [[ -z $have_type ]]; then
have_type=1
if [[ $completion = filenames ]]; then
2020-05-10 19:35:07 +00:00
compopt -o filenames
fi
else
COMPREPLY+=("$completion")
2020-05-10 19:35:07 +00:00
fi
2020-05-11 19:37:53 +00:00
done < <(NIX_GET_COMPLETIONS=$cword "${words[@]}")
__ltrim_colon_completions "$cur"
2020-05-10 18:32:21 +00:00
}
complete -F _complete_nix nix