summaryrefslogtreecommitdiff
path: root/completions/fio
diff options
context:
space:
mode:
Diffstat (limited to 'completions/fio')
-rw-r--r--completions/fio89
1 files changed, 89 insertions, 0 deletions
diff --git a/completions/fio b/completions/fio
new file mode 100644
index 00000000..7710cf6b
--- /dev/null
+++ b/completions/fio
@@ -0,0 +1,89 @@
+# 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[@]} -eq 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