diff options
Diffstat (limited to 'completions/strings')
-rw-r--r-- | completions/strings | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/completions/strings b/completions/strings new file mode 100644 index 0000000..059f557 --- /dev/null +++ b/completions/strings @@ -0,0 +1,45 @@ +# strings(1) completion -*- shell-script -*- + +_strings() +{ + local cur prev words cword split + _init_completion -s || return + + case $prev in + --help | --version | --bytes | -!(-*)[hvVn]) + return + ;; + --radix | -!(-*)t) + COMPREPLY=($(compgen -W 'o d x' -- "$cur")) + return + ;; + --target | -!(-*)T) + COMPREPLY=($(compgen -W '$(LC_ALL=C "$1" --help 2>/dev/null | \ + command sed -ne "s/: supported targets: \(.*\)/\1/p")' \ + -- "$cur")) + return + ;; + --encoding | -!(-*)e) + COMPREPLY=($(compgen -W 's S b l B L' -- "$cur")) + return + ;; + esac + + $split && return + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + [[ ${COMPREPLY-} == *= ]] && compopt -o nospace + return + elif [[ $cur == @* ]]; then + cur=${cur:1} + _filedir + COMPREPLY=("${COMPREPLY[@]/#/@}") + return + fi + + _filedir +} && + complete -F _strings strings + +# ex: filetype=sh |