summaryrefslogtreecommitdiffstats
path: root/completions/fio
diff options
context:
space:
mode:
Diffstat (limited to 'completions/fio')
-rw-r--r--completions/fio90
1 files changed, 90 insertions, 0 deletions
diff --git a/completions/fio b/completions/fio
new file mode 100644
index 0000000..f81a4da
--- /dev/null
+++ b/completions/fio
@@ -0,0 +1,90 @@
+# fio(1) completion -*- shell-script -*-
+
+_fio()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ case $prev in
+ --help | --version)
+ return
+ ;;
+ --debug)
+ local prefix=
+ [[ $cur == *,* ]] && prefix="${cur%,*},"
+ COMPREPLY=($(compgen -W "process file io mem blktrace verify
+ random parse diskutil job mutex profile time net rate compress
+ steadystate helperthread" -- "${cur##*,}"))
+ ((${#COMPREPLY[@]} == 1)) && COMPREPLY=(${COMPREPLY/#/$prefix})
+ return
+ ;;
+ --output-format)
+ COMPREPLY=($(compgen -W "terse json json+ normal" -- "$cur"))
+ return
+ ;;
+ --terse-version)
+ COMPREPLY=($(compgen -W "2 3" -- "$cur"))
+ return
+ ;;
+ --cmdhelp)
+ # TODO more commands?
+ COMPREPLY=($(compgen -W "all" -- "$cur"))
+ return
+ ;;
+ --enghelp)
+ # TODO print ioengine help, or list available ioengines
+ # TODO engine,help arg
+ return
+ ;;
+ --eta)
+ COMPREPLY=($(compgen -W "always never auto" -- "$cur"))
+ return
+ ;;
+ --daemonize)
+ _filedir pid
+ return
+ ;;
+ --client)
+ _known_hosts_real -- "$cur"
+ return
+ ;;
+ --remote-config)
+ _filedir job
+ return
+ ;;
+ --idle-prof)
+ COMPREPLY=($(compgen -W "system percpu calibrate" -- "$cur"))
+ return
+ ;;
+ --inflate-log)
+ _filedir log
+ return
+ ;;
+ --trigger-file)
+ _filedir
+ return
+ ;;
+ --trigger | --trigger-remote)
+ compopt -o filenames
+ COMPREPLY=($(compgen -c -- "$cur"))
+ return
+ ;;
+ --aux-path)
+ _filedir -d
+ return
+ ;;
+ esac
+
+ $split && return
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
+ return
+ fi
+
+ _filedir job
+} &&
+ complete -F _fio fio
+
+# ex: filetype=sh