diff --git a/src/_blkid b/src/_blkid new file mode 100644 index 0000000..7afccc6 --- /dev/null +++ b/src/_blkid @@ -0,0 +1,59 @@ +#compdef blkid +# ------------------------------------------------------------------------------ +# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the zsh-users nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Description +# ----------- +# +# Completion for blkid (locate/print block device attributes) from util-linux +# https://man7.org/linux/man-pages/man8/blkid.8.html +# ------------------------------------------------------------------------------ +# Authors +# ------- +# * Aditi Sharma (https://github.com/Aditi76117) +# ------------------------------------------------------------------------------ + +_arguments \ + '(-h --help)'{-h,--help}'[display help message and exit]' \ + '(-V --version)'{-V,--version}'[display version information and exit]' \ + '(-c --cache)'{-c+,--cache=}'[specify cache file]:cache file:_files' \ + '(-o --output)'{-o+,--output=}'[specify output format]:format:(full value device export udev)' \ + '--output-uuid[print only UUIDs]' \ + '--output-label[print only labels]' \ + '--match-token=[search for devices with specific tokens]:token (e.g. UUID= or LABEL=)' \ + '--match-tag=[search for devices with a tag name]:tag name' \ + '--probe[use low-level probing on devices]' \ + '--match-types=[limit probing to specific filesystem types]:filesystem types' \ + '(-d --no-encoding)'{-d,--no-encoding}'[do not encode non-printable characters]' \ + '--list-one[print only the first device found]' \ + '*:device:_files -g /dev' + +# Local Variables: +# mode: Shell-Script +# sh-indentation: 2 +# indent-tabs-mode: nil +# sh-basic-offset: 2 +# End: +# vim: ft=zsh sw=2 ts=2 et diff --git a/src/_cal b/src/_cal new file mode 100644 index 0000000..821f9af --- /dev/null +++ b/src/_cal @@ -0,0 +1,69 @@ +#compdef cal +# ------------------------------------------------------------------------------ +# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the zsh-users nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Description +# ----------- +# +# Completion for cal (calendar display) from util-linux +# https://man7.org/linux/man-pages/man1/cal.1.html +# ------------------------------------------------------------------------------ +# Authors +# ------- +# * Aditi Sharma (https://github.com/Aditi76117) +# ------------------------------------------------------------------------------ + +_arguments \ + '(-h --help)'{-h,--help}'[display help message and exit]' \ + '(-V --version)'{-V,--version}'[display version information and exit]' \ + '(-j --julian)'{-j,--julian}'[display Julian days (days numbered from Jan 1)]' \ + '(-m --monday)'{-m,--monday}'[weeks start on Monday]' \ + '(-s --sunday)'{-s,--sunday}'[weeks start on Sunday]' \ + '(-y --year)'{-y,--year}'[display the whole year]' \ + '(-3 --three)'{-3,--three}'[display previous, current and next month]' \ + '(-1 --one)'{-1,--one}'[display only current month (default)]' \ + '(-A --after)'{-A+,--after=}'[months to display after current]:months after' \ + '(-B --before)'{-B+,--before=}'[months to display before current]:months before' \ + '(-C --center)'{-C+,--center=}'[months to display before and after current]:months around' \ + '*::arguments:->args' + +case $state in + args) + # Allow optional [month] [year] arguments + if (( CURRENT == 2 )); then + _message 'optional month (1-12)' + elif (( CURRENT == 3 )); then + _message 'optional year (e.g. 2025)' + fi + ;; +esac + +# Local Variables: +# mode: Shell-Script +# sh-indentation: 2 +# indent-tabs-mode: nil +# sh-basic-offset: 2 +# End: +# vim: ft=zsh sw=2 ts=2 et diff --git a/src/_fallocate b/src/_fallocate new file mode 100644 index 0000000..99b9e23 --- /dev/null +++ b/src/_fallocate @@ -0,0 +1,58 @@ +#compdef fallocate +# ------------------------------------------------------------------------------ +# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the zsh-users nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# ------------------------------------------------------------------------------ +# Description +# ----------- +# +# Completion for fallocate (preallocate space to a file) from util-linux +# https://man7.org/linux/man-pages/man1/fallocate.1.html +# ------------------------------------------------------------------------------ +# Authors +# ------- +# * Aditi Sharma (https://github.com/Aditi76117) +# ------------------------------------------------------------------------------ + +_arguments \ + '(-h --help)'{-h,--help}'[display help message and exit]' \ + '(-V --version)'{-V,--version}'[display version information and exit]' \ + '(-l --length)'{-l+,--length=}'[specify length of the allocation]:length (e.g. 1G, 512M)' \ + '(-o --offset)'{-o+,--offset=}'[start offset for allocation]:offset (e.g. 0, 1K)' \ + '--dig-holes[detect and punch holes in the range]' \ + '--punch-hole[punch holes (deallocate space)]' \ + '--collapse-range[remove a range of bytes and move later bytes forward]' \ + '--zero-range[zero and optionally deallocate space]' \ + '--keep-size[do not extend file size beyond current size]' \ + '--insert-range[insert space into file shifting existing data]' \ + '*:filename:_files' + +# Local Variables: +# mode: Shell-Script +# sh-indentation: 2 +# indent-tabs-mode: nil +# sh-basic-offset: 2 +# End: +# vim: ft=zsh sw=2 ts=2 et diff --git a/src/_lsblk b/src/_lsblk new file mode 100644 index 0000000..5db45ff --- /dev/null +++ b/src/_lsblk @@ -0,0 +1,89 @@ +#compdef lsblk +# ------------------------------------------------------------------------------ +# Copyright (c) 2016 Github zsh-users - https://github.com/zsh-users +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the zsh-users nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Description +# ----------- +# +# Completion for lsblk (list block devices) from util-linux +# +# https://man7.org/linux/man-pages/man8/lsblk.8.html +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * Aditi Sharma (https://github.com/Aditi76117) +# +# ------------------------------------------------------------------------------ + +_arguments \ + '(-h --help)'{-h,--help}'[display help message and exit]' \ + '(-V --version)'{-V,--version}'[display version information and exit]' \ + '--noheadings[do not print headings]' \ + '--raw[use raw output format]' \ + '--pairs[use key="value" output format]' \ + '--json[use JSON output format]' \ + '--inverse[use inverse dependencies tree]' \ + '--ascii[use ASCII characters only for tree formatting]' \ + '--scsi[output SCSI information]' \ + '--fs[output info about filesystems]' \ + '--topology[output topology information]' \ + '--perms[output permission information]' \ + '--paths[print full device paths]' \ + '--list[use list format output]' \ + '(-b --bytes)'{-b,--bytes}'[print sizes in bytes]' \ + '(-d --nodeps)'{-d,--nodeps}'[don’t print slaves or holders]' \ + '(-D --discard)'{-D,--discard}'[print discard capabilities]' \ + '(-E --dedup)'{-E,--dedup}'[deduplicate output by major:minor]' \ + '(-e --exclude)'{-e+,--exclude=}'[exclude devices by name]:device names' \ + '(-f --fs)'{-f,--fs}'[output info about filesystems]' \ + '(-i --ascii)'{-i,--ascii}'[use ASCII characters only for tree formatting]' \ + '(-J --json)'{-J,--json}'[use JSON output format]' \ + '(-l --list)'{-l,--list}'[use list format output]' \ + '(-m --perms)'{-m,--perms}'[output permission information]' \ + '(-n --noheadings)'{-n,--noheadings}'[don’t print headings]' \ + '(-o --output)'{-o+,--output=}'[specify columns to output]:columns:_lsblk_columns' \ + '(-O --output-all)'{-O,--output-all}'[output all available columns]' \ + '(-P --pairs)'{-P,--pairs}'[use key="value" output format]' \ + '(-r --raw)'{-r,--raw}'[use raw output format]' \ + '(-s --inverse)'{-s,--inverse}'[use inverse dependencies tree]' \ + '(-S --scsi)'{-S,--scsi}'[output SCSI information]' \ + '(-t --topology)'{-t,--topology}'[output topology information]' \ + '(-x --sort)'{-x+,--sort=}'[sort output by column]:column:_lsblk_columns' \ + '*:device:_files -g /dev' + +# Helper function for --output and --sort columns +_lsblk_columns() { + _values 'columns' \ + NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT UUID LABEL MODEL SERIAL +} + +# Local Variables: +# mode: Shell-Script +# sh-indentation: 2 +# indent-tabs-mode: nil +# sh-basic-offset: 2 +# End: +# vim: ft=zsh sw=2 ts=2 et