diff options
| author | Ole Jørgen Brønner <olejorgenb@yahoo.no> | 2016-12-25 08:30:44 +0100 |
|---|---|---|
| committer | Ole Jørgen Brønner <olejorgenb@yahoo.no> | 2016-12-25 08:30:44 +0100 |
| commit | 01760c8d21440988932edeab193fa0f853abf125 (patch) | |
| tree | 69cd26786b7a002896e3b906a8f357242bafc447 /src/_udisksctl | |
| parent | Merge pull request #479 from zsh-users/go-subdir-comp (diff) | |
| download | zsh-completions-01760c8d21440988932edeab193fa0f853abf125.tar zsh-completions-01760c8d21440988932edeab193fa0f853abf125.tar.gz zsh-completions-01760c8d21440988932edeab193fa0f853abf125.tar.bz2 zsh-completions-01760c8d21440988932edeab193fa0f853abf125.tar.lz zsh-completions-01760c8d21440988932edeab193fa0f853abf125.tar.xz zsh-completions-01760c8d21440988932edeab193fa0f853abf125.tar.zst zsh-completions-01760c8d21440988932edeab193fa0f853abf125.zip | |
Completion for 'udisksctl'
Salvaged from rejected/ignored patch to upstream by Damir Jelić (poljar) [1].
License is assumed to be gpl2 since it was submitted as a patch to udisks [2].
I tried contacting poljar, but the email address is no longer active.
[1] https://lists.freedesktop.org/archives/devkit-devel/2014-February/001554.html
[2] https://cgit.freedesktop.org/udisks/tree/tools
Diffstat (limited to 'src/_udisksctl')
| -rw-r--r-- | src/_udisksctl | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/src/_udisksctl b/src/_udisksctl new file mode 100644 index 0000000..745c7d3 --- /dev/null +++ b/src/_udisksctl @@ -0,0 +1,135 @@ +#compdef udisksctl +# +# ------------------------------------------------------------------------------ +# Copyright (C) 2007-2011 David Zeuthen <zeuthen@gmail.com> +# Copyright (C) 2007-2011 Red Hat, Inc. +# All Rights Reserved. +# +# The source code for the udisks daemon and command-line tools are +# licensed to you under the GNU General Public License. Either version 2 +# of the License, or (at your option) any later version. +# +# https://www.gnu.org/licenses/old-licenses/gpl-2.0.html +# +# ------------------------------------------------------------------------------ +# Description +# ----------- +# +# Completion script for udisksctl +# (https://cgit.freedesktop.org/udisks/tree/tools) +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * Damir Jelić <poljarinho at gmail.com> [1] +# +# [1] https://lists.freedesktop.org/archives/devkit-devel/2014-February/001554.html +# + + +_paths() { + local -a _path_list + + for _path in $(_call_program paths "udisksctl complete \"udisksctl $words\" $CURSOR"); do + _path_list+=$_path + done + + _describe 'paths' _path_list +} + +_filesystems() { + _fs_types=( + 'adfs' 'affs' 'autofs' 'cifs' 'coda' 'coherent' 'cramfs' 'debugfs' 'devpts' + 'efs' 'ext' 'ext2' 'ext3' 'ext4' 'hfs' 'hfsplus' 'hpfs' 'iso9660' 'jfs' 'minix' + 'msdos' 'ncpfs' 'nfs' 'nfs4' 'ntfs' 'proc' 'qnx4' 'ramfs' 'reiserfs' 'romfs' + 'squashfs' 'smbfs' 'sysv' 'tmpfs' 'ubifs' 'udf' 'ufs' 'umsdos' 'usbfs' 'vfat' + 'xenix' 'xfs' 'xiafs' + ) + + _describe 'file system types' _fs_types +} + +_udisksctl() { + typeset -A opt_args + local curcontext="$curcontext" state line + + _arguments -C \ + '1:udisksctl commands:->cmds' \ + '*:: :->cmd_args' \ + + case $state in + cmds) + local commands; commands=( + 'help: Show help' + 'info: Show info about an object' + 'dump: Show info about all object' + 'status: Shows high-level status' + 'monitor: Monitor changes to objects' + 'mount: Mount a filesystem' + 'unmount: Unmount a filesystem' + 'unlock: Unlock an encrypted device' + 'lock: Lock an encrypted device' + 'loop-setup: Set-up a loop device' + 'loop-delete: Delete a loop device' + 'smart-simulate: Set SMART data for a drive' + ) + _describe -t commands 'udisksctl commands' commands + ;; + + cmd_args) + case $words[1] in + info) + _arguments \ + {-p,--object-path}'[Object to get information about]:object path:_paths' \ + {-b,--block-device}'[Block device to get information about]:block device:_paths' \ + {-d,--drive}'[Drive to get information about]:drives:_paths' \ + ;; + mount) + _arguments \ + {-p,--object-path}'[Object to mount]:object path:_paths' \ + {-b,--block-device}'[Block device to mount]:block device:_paths' \ + {-t,--filesystem-type}'[Filesystem type to use]:fs type:_filesystems' \ + {-o,--options}'[Mount options]' \ + '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ + ;; + unmount) + _arguments \ + {-p,--object-path}'[Object to unmount]:object path:_paths' \ + {-b,--block-device}'[Block device to unmount]:block device:_paths' \ + {-f,--force}'[Force/lazy unmount]' \ + '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ + ;; + unlock|lock) + _arguments \ + {-p,--object-path}'[Object to lock/unlock]:object path:_paths' \ + {-b,--block-device}'[Block device to lock/unlock]:block device:_paths' \ + '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ + ;; + loop-setup) + _arguments \ + {-f,--file}'[File to set-up a loop device for]:files:_files' \ + {-r,--read-only}'[Setup read-only device]' \ + {-o,--offset}'[Start at <num> bytes into file]:offset in bytes:' \ + {-s,--size}'[Limit size to <num> bytes]:limit in bytes:' \ + '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ + ;; + loop-delete) + _arguments \ + {-p,--object-path}'[Object for loop device to delete]:object path:_paths' \ + {-b,--block-device}'[Loop device to delete]:block device:_paths' \ + '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ + ;; + smart-simulate) + _arguments \ + {-f,--file}'[File with libatasmart blob]:files:_files' \ + {-p,--object-path}'[Object to get information about]:object path:_paths' \ + {-b,--block-device}'[Block device to get information about]:block device:_paths' \ + '(--no-user-interaction)--no-user-interaction[Do not authenticate the user if needed]' \ + ;; + esac + ;; + esac +} + +_udisksctl "$@" |
