summaryrefslogtreecommitdiffstats
path: root/shell-completion/fsck
diff options
context:
space:
mode:
Diffstat (limited to 'shell-completion/fsck')
-rw-r--r--shell-completion/fsck36
1 files changed, 36 insertions, 0 deletions
diff --git a/shell-completion/fsck b/shell-completion/fsck
new file mode 100644
index 000000000..40b9a13e7
--- /dev/null
+++ b/shell-completion/fsck
@@ -0,0 +1,36 @@
+_fsck_module()
+{
+ local cur prev OPTS DEVS
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ case $prev in
+ '-b')
+ COMPREPLY=( $(compgen -W "superblock" -- $cur) )
+ return 0
+ ;;
+ '-B')
+ COMPREPLY=( $(compgen -W "blocksize" -- $cur) )
+ return 0
+ ;;
+ '-j')
+ COMPREPLY=( $(compgen -W "external_journal" -- $cur) )
+ return 0
+ ;;
+ '-l'|'-L')
+ COMPREPLY=( $(compgen -W "bad_blocks_file" -- $cur) )
+ return 0
+ ;;
+ esac
+ case $cur in
+ -*)
+ OPTS="-p -n -y -c -f -v -b -B -j -l -L"
+ COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
+ return 0
+ ;;
+ esac
+ while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
+ COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
+ return 0
+}
+complete -F _fsck_module fsck