22 lines
671 B
Bash
22 lines
671 B
Bash
#!/bin/bash
|
|
|
|
_fselect_complete() {
|
|
_init_completion || return
|
|
|
|
for ((i=COMP_CWORD-1; i>=0; i--)); do
|
|
local word="${COMP_WORDS[i]}"
|
|
if [[ "${word,,}" == "from" ]]; then
|
|
_filedir -d
|
|
elif [[ "${word,,}" == "into" ]]; then
|
|
local output_formats=$(fselect --output-formats)
|
|
COMPREPLY=($(compgen -W "$output_formats" -- "${COMP_WORDS[COMP_CWORD]}"))
|
|
else
|
|
local fields=$(fselect --fields)
|
|
local functions=$(fselect --functions)
|
|
COMPREPLY=($(compgen -W "$fields $functions" -- "${COMP_WORDS[COMP_CWORD]}"))
|
|
fi
|
|
done
|
|
}
|
|
|
|
complete -F _fselect_complete fselect
|