aboutsummaryrefslogtreecommitdiffstats
path: root/src/_udisksctl
diff options
context:
space:
mode:
authorOle Jørgen Brønner <olejorgenb@yahoo.no>2016-12-25 08:30:44 +0100
committerOle Jørgen Brønner <olejorgenb@yahoo.no>2016-12-25 08:30:44 +0100
commit01760c8d21440988932edeab193fa0f853abf125 (patch)
tree69cd26786b7a002896e3b906a8f357242bafc447 /src/_udisksctl
parentMerge pull request #479 from zsh-users/go-subdir-comp (diff)
downloadzsh-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/_udisksctl135
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 "$@"