summaryrefslogtreecommitdiffstats
path: root/bash-completion/swapon
diff options
context:
space:
mode:
Diffstat (limited to 'bash-completion/swapon')
-rw-r--r--bash-completion/swapon48
1 files changed, 48 insertions, 0 deletions
diff --git a/bash-completion/swapon b/bash-completion/swapon
new file mode 100644
index 000000000..83e7e241f
--- /dev/null
+++ b/bash-completion/swapon
@@ -0,0 +1,48 @@
+_swapon_module()
+{
+ local cur prev OPTS
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ case $prev in
+ '-p'|'--priority')
+ # Priority range is -1 to 32767. Perhaps these
+ # few are enough.
+ COMPREPLY=( $(compgen -W "$(echo {-1..9} 32767)" -- $cur) )
+ return 0
+ ;;
+ '--show')
+ # FIXME: how to append to a string with compgen?
+ local OUTPUT
+ OUTPUT="NAME TYPE SIZE USED PRIO"
+ compopt -o nospace
+ COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) )
+ return 0
+ ;;
+ esac
+ case $cur in
+ -*)
+ OPTS="-a --all
+ -d --discard
+ -e --ifexists
+ -f --fixpgsz
+ -p --priority
+ -s --summary
+ --show
+ --noheadings
+ --raw
+ --bytes
+ -v --verbose
+ -h --help
+ -V --version"
+ COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
+ return 0
+ ;;
+ esac
+ # FIXME: compgen will split SPEC= from '=' point. The append
+ # comma separated value problem is very similar.
+ compopt -o filenames
+ COMPREPLY=( $(compgen -f -- $cur) )
+ return 0
+}
+complete -F _swapon_module swapon