Signed-off-by: Sami Kerola <kerolasa@xxxxxx> --- shell-completion/addpart | 25 +++++++++++++++++++++++++ shell-completion/blockdev | 44 ++++++++++++++++++++++++++++++++++++++++++++ shell-completion/delpart | 19 +++++++++++++++++++ shell-completion/fdformat | 11 +++++++++++ shell-completion/fsck | 36 ++++++++++++++++++++++++++++++++++++ shell-completion/fsck.cramfs | 18 ++++++++++++++++++ shell-completion/fsck.minix | 11 +++++++++++ shell-completion/isosize | 17 +++++++++++++++++ shell-completion/mkfs | 25 +++++++++++++++++++++++++ shell-completion/mkfs.bfs | 28 ++++++++++++++++++++++++++++ shell-completion/mkfs.cramfs | 40 ++++++++++++++++++++++++++++++++++++++++ shell-completion/mkfs.minix | 33 +++++++++++++++++++++++++++++++++ shell-completion/mkswap | 36 ++++++++++++++++++++++++++++++++++++ shell-completion/partx | 37 +++++++++++++++++++++++++++++++++++++ shell-completion/raw | 17 +++++++++++++++++ shell-completion/resizepart | 22 ++++++++++++++++++++++ shell-completion/swaplabel | 28 ++++++++++++++++++++++++++++ 17 files changed, 447 insertions(+) create mode 100644 shell-completion/addpart create mode 100644 shell-completion/blockdev create mode 100644 shell-completion/delpart create mode 100644 shell-completion/fdformat create mode 100644 shell-completion/fsck create mode 100644 shell-completion/fsck.cramfs create mode 100644 shell-completion/fsck.minix create mode 100644 shell-completion/isosize create mode 100644 shell-completion/mkfs create mode 100644 shell-completion/mkfs.bfs create mode 100644 shell-completion/mkfs.cramfs create mode 100644 shell-completion/mkfs.minix create mode 100644 shell-completion/mkswap create mode 100644 shell-completion/partx create mode 100644 shell-completion/raw create mode 100644 shell-completion/resizepart create mode 100644 shell-completion/swaplabel diff --git a/shell-completion/addpart b/shell-completion/addpart new file mode 100644 index 0000000..07ebf5e --- /dev/null +++ b/shell-completion/addpart @@ -0,0 +1,25 @@ +_addpart_module() +{ + local cur + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + case $COMP_CWORD in + 1) + local DEVS + DEVS="$(lsblk -o NAME -n -r)" + OPTS="-h --help -V --version $DEVS" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + ;; + 2) + COMPREPLY=( $(compgen -W "$((1 + $(ls $prev?* 2>/dev/null | wc -l)))" -- $cur) ) + ;; + 3) + COMPREPLY=( $(compgen -W "start" -- $cur) ) + ;; + 4) + COMPREPLY=( $(compgen -W "length" -- $cur) ) + ;; + esac + return 0 +} +complete -F _addpart_module addpart diff --git a/shell-completion/blockdev b/shell-completion/blockdev new file mode 100644 index 0000000..82ac6c1 --- /dev/null +++ b/shell-completion/blockdev @@ -0,0 +1,44 @@ +_blockdev_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + DEVS="$(lsblk -o NAME -n -r)" + OPTS="-h -V -q + --report + --getsz + --setro + --setrw + --getro + --getdiscardzeroes + --getss + --getpbsz + --getiomin + --getioopt + --getalignoff + --getmaxsect + --getbsz + --setbsz + --getsize64 + --setra + --getra + --setfra + --getfra + --flushbufs + --rereadpt + $DEVS" + case $prev in + '--setbsz') + COMPREPLY=( $(compgen -W "bytes" -- $cur) ) + return 0 + ;; + '--setbsz'|'--setfra') + COMPREPLY=( $(compgen -W "sectors" -- $cur) ) + return 0 + ;; + esac + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 +} +complete -F _blockdev_module blockdev diff --git a/shell-completion/delpart b/shell-completion/delpart new file mode 100644 index 0000000..849c018 --- /dev/null +++ b/shell-completion/delpart @@ -0,0 +1,19 @@ +_delpart_module() +{ + local cur OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + case $COMP_CWORD in + 1) + local DEVS + DEVS="$(lsblk -o NAME,TYPE -n -r | awk '$2 ~ /disk/ {print "/dev/" $1}')" + OPTS="-h --help -V --version $DEVS" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + ;; + 2) + COMPREPLY=( $(compgen -W "$(cat /sys/block/${prev##*/}/*/partition 2>/dev/null)" -- $cur) ) + ;; + esac + return 0 +} +complete -F _delpart_module delpart diff --git a/shell-completion/fdformat b/shell-completion/fdformat new file mode 100644 index 0000000..f7d6a8e --- /dev/null +++ b/shell-completion/fdformat @@ -0,0 +1,11 @@ +_fdformat_module() +{ + local cur OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + DEVS=$(ls /dev/fd[0-9]* 2>/dev/null) + OPTS="-n --no-verify -h --help -V --version $DEVS" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 +} +complete -F _fdformat_module fdformat diff --git a/shell-completion/fsck b/shell-completion/fsck new file mode 100644 index 0000000..c3da5f5 --- /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 + DEVS="$(lsblk -o NAME -n -r | awk '{print "/dev/" $1}')" + COMPREPLY=( $(compgen -W "$DEVS" -- $cur) ) + return 0 +} +complete -F _fsck_module fsck diff --git a/shell-completion/fsck.cramfs b/shell-completion/fsck.cramfs new file mode 100644 index 0000000..410b084 --- /dev/null +++ b/shell-completion/fsck.cramfs @@ -0,0 +1,18 @@ +_fsck.cramfs_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + OPTS='-v --verbose -x --destination -h --help -V --version file' + case $prev in + '-x'|'--destination') + compopt -o filenames + COMPREPLY=( $(compgen -o dirnames -- ${cur:-"/"}) ) + return 0 + ;; + esac + COMPREPLY=( $(compgen -W "${OPTS[*]}" -S ' ' -- $cur) ) + return 0 +} +complete -F _fsck.cramfs_module fsck.cramfs diff --git a/shell-completion/fsck.minix b/shell-completion/fsck.minix new file mode 100644 index 0000000..f01626a --- /dev/null +++ b/shell-completion/fsck.minix @@ -0,0 +1,11 @@ +_fsck.minix_module() +{ + local cur OPTS DEVS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + DEVS="$(lsblk -o NAME -n -r | awk '{print "/dev/" $1}')" + OPTS="-l -a -r -v -s -m -f -V --version" + COMPREPLY=( $(compgen -W "${OPTS[*]} $DEVS" -- $cur) ) + return 0 +} +complete -F _fsck.minix_module fsck.minix diff --git a/shell-completion/isosize b/shell-completion/isosize new file mode 100644 index 0000000..2b4a499 --- /dev/null +++ b/shell-completion/isosize @@ -0,0 +1,17 @@ +_isosize_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + OPTS='-d --divisor -x --sectors -h --help -V --version' + case $prev in + '-d'|'--divisor') + COMPREPLY=( $(compgen -W "number" -- $cur) ) + return 0 + ;; + esac + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 +} +complete -F _isosize_module isosize diff --git a/shell-completion/mkfs b/shell-completion/mkfs new file mode 100644 index 0000000..ee6a26b --- /dev/null +++ b/shell-completion/mkfs @@ -0,0 +1,25 @@ +_mkfs_module() +{ + local cur prev OPTS DEVS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-t'|'--type') + FSTYPES=$(for I in $(\ls /sbin/mkfs.* /usr/sbin/mkfs.* 2>/dev/null); do echo ${I##*mkfs.}; done) + COMPREPLY=( $(compgen -W "$FSTYPES" -- $cur) ) + return 0 + ;; + esac + case $cur in + -*) + OPTS='-t --type --verbose -h --help -V --version' + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + DEVS="$(lsblk -o NAME -n -r | awk '{print "/dev/" $1}')" + COMPREPLY=( $(compgen -W "$DEVS /path/to/file" -- $cur) ) + return 0 +} +complete -F _mkfs_module mkfs diff --git a/shell-completion/mkfs.bfs b/shell-completion/mkfs.bfs new file mode 100644 index 0000000..b1a226a --- /dev/null +++ b/shell-completion/mkfs.bfs @@ -0,0 +1,28 @@ +_bfs_module() +{ + local cur prev OPTS DEVS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-N'|'--inodes') + COMPREPLY=( $(compgen -W "number" -- $cur) ) + return 0 + ;; + '-V'|'--vname'|'-F'|'--fname') + COMPREPLY=( $(compgen -W "name" -- $cur) ) + return 0 + ;; + esac + case $cur in + -*) + OPTS='-N --inodes --vname --fname -v --verbose -h --help -V --version' + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + DEVS="$(lsblk -o NAME -n -r | awk '{print "/dev/" $1}')" + COMPREPLY=( $(compgen -W "$DEVS /path/to/file" -- $cur) ) + return 0 +} +complete -F _bfs_module bfs diff --git a/shell-completion/mkfs.cramfs b/shell-completion/mkfs.cramfs new file mode 100644 index 0000000..65ee988 --- /dev/null +++ b/shell-completion/mkfs.cramfs @@ -0,0 +1,40 @@ +_mkfs.cramfs_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-b') + COMPREPLY=( $(compgen -W "blksize" -- $cur) ) + return 0 + ;; + '-e') + COMPREPLY=( $(compgen -W "edition" -- $cur) ) + return 0 + ;; + '-N') + COMPREPLY=( $(compgen -W "big little host" -- $cur) ) + return 0 + ;; + '-i') + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 + ;; + '-n') + COMPREPLY=( $(compgen -W "name" -- $cur) ) + return 0 + ;; + esac + case $cur in + -*) + OPTS="-h -v -E -b -e -N -i -n -p -s -z" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +} +complete -F _mkfs.cramfs_module mkfs.cramfs diff --git a/shell-completion/mkfs.minix b/shell-completion/mkfs.minix new file mode 100644 index 0000000..c717b3c --- /dev/null +++ b/shell-completion/mkfs.minix @@ -0,0 +1,33 @@ +_mkfs.minix_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-i') + COMPREPLY=( $(compgen -W "inodes" -- $cur) ) + return 0 + ;; + '-l') + COMPREPLY=( $(compgen -W "badblocks-file" -- $cur) ) + return 0 + ;; + '-n') + COMPREPLY=( $(compgen -W "14 30" -- $cur) ) + return 0 + ;; + esac + case $cur in + -*) + OPTS="-c -i -l -n -1 -2 -3" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + local DEVS + DEVS="$(lsblk -o NAME -n -r | awk '{print "/dev/" $1}')" + COMPREPLY=( $(compgen -W "$DEVS" -- $cur) ) + return 0 +} +complete -F _mkfs.minix_module mkfs.minix diff --git a/shell-completion/mkswap b/shell-completion/mkswap new file mode 100644 index 0000000..c847aa9 --- /dev/null +++ b/shell-completion/mkswap @@ -0,0 +1,36 @@ +_mkswap_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-p'|'--pagesize') + COMPREPLY=( $(compgen -W "bytes" -- $cur) ) + return 0 + ;; + '-L'|'--label') + COMPREPLY=( $(compgen -W "label" -- $cur) ) + return 0 + ;; + '-v'|'--swapversion') + COMPREPLY=( $(compgen -W "1" -- $cur) ) + return 0 + ;; + '-U'|--uuid) + COMPREPLY=( $(compgen -W "$(lsblk -n --output uuid)" -- $cur) ) + return 0 + ;; + esac + case $cur in + -*) + OPTS="-c --check -f --force -p --pagesize -L --label -v --swapversion -U --uuid -V --version -h --help" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +} +complete -F _mkswap_module mkswap diff --git a/shell-completion/partx b/shell-completion/partx new file mode 100644 index 0000000..c558d36 --- /dev/null +++ b/shell-completion/partx @@ -0,0 +1,37 @@ +_partx_module() +{ + local cur prev OPTS OUTPUT + COMPREPLY=() + OUTPUT="NR START END SECTORS SIZE NAME UUID TYPE FLAGS SCHEME" + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-n'|'--nr') + COMPREPLY=( $(compgen -W "$(lsblk -o NAME,TYPE -n -r | awk '$2 ~ /part/ {print "/dev/" $1}')" -- $cur) ) + return 0 + ;; + '-o'|'--output') + # FIXME: how to append to a string with compgen? + compopt -o nospace + COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) ) + return 0 + ;; + '-t'|'--type') + # FIXME: some command should list type libblkid knows. + COMPREPLY=( $(compgen -W "aix bsd dos gpt mac minix sgi solaris_x86 sun ultrix unixware" -- $cur) ) + return 0 + ;; + esac + case $cur in + -*) + OPTS="-a --add -d --delete -s --show -u --update -b --bytes -g --noheadings -n --nr -o --output -P --pairs -r --raw -t --type -v --verbose -h --help -V --version" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + local DEVS + DEVS="$(sblk -o NAME,TYPE -n -r | awk '$2 ~ /disk/ {print "/dev/" $1}')" + COMPREPLY=( $(compgen -W "$DEVS" -- $cur) ) + return 0 +} +complete -F _partx_module partx diff --git a/shell-completion/raw b/shell-completion/raw new file mode 100644 index 0000000..41e03f2 --- /dev/null +++ b/shell-completion/raw @@ -0,0 +1,17 @@ +_raw_module() +{ + local cur + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + case $cur in + -*) + local OPTS + OPTS="-q --query -a --all -h --help -V --version" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + COMPREPLY=( $(compgen -W "$(ls 2>/dev/null /dev/raw/*)" -- $cur) ) + return 0 +} +complete -F _raw_module raw diff --git a/shell-completion/resizepart b/shell-completion/resizepart new file mode 100644 index 0000000..827638a --- /dev/null +++ b/shell-completion/resizepart @@ -0,0 +1,22 @@ +_resizepart_module() +{ + local cur OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + case $COMP_CWORD in + 1) + local DEVS + DEVS="$(lsblk -o NAME,TYPE -n -r | awk '$2 ~ /disk/ {print "/dev/" $1}')" + OPTS="-h --help -V --version $DEVS" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + ;; + 2) + COMPREPLY=( $(compgen -W "$(cat /sys/block/${prev##*/}/*/partition 2>/dev/null)" -- $cur) ) + ;; + 3) + COMPREPLY="length" + ;; + esac + return 0 +} +complete -F _resizepart_module resizepart diff --git a/shell-completion/swaplabel b/shell-completion/swaplabel new file mode 100644 index 0000000..c857d15 --- /dev/null +++ b/shell-completion/swaplabel @@ -0,0 +1,28 @@ +_swaplabel_module() +{ + local cur prev OPTS + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-L'|'--label') + COMPREPLY=( $(compgen -W "label" -- $cur) ) + return 0 + ;; + '-U'|'--uuid') + COMPREPLY=( $(compgen -W '$(uuidgen)' -- $cur) ) + return 0 + ;; + esac + case $cur in + -*) + OPTS="-L --label -U --uuid -h --help -V --version" + COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) + return 0 + ;; + esac + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +} +complete -F _swaplabel_module swaplabel -- 1.8.2 -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html