From 0867c7fe938c0338d675c66af52cf4567f8e24dc Mon Sep 17 00:00:00 2001 From: Aditi76117 Date: Sun, 3 Aug 2025 19:08:01 +0530 Subject: [PATCH 1/5] Add completions for lsblk, cal, blkid, and fallocate (util-linux) --- src/_blkid | 59 +++++++++++++++++++++++++++++++++ src/_cal | 69 ++++++++++++++++++++++++++++++++++++++ src/_fallocate | 58 ++++++++++++++++++++++++++++++++ src/_lsblk | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 275 insertions(+) create mode 100644 src/_blkid create mode 100644 src/_cal create mode 100644 src/_fallocate create mode 100644 src/_lsblk 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 From 3e05c065014e34b2bef4c94c041783398333d118 Mon Sep 17 00:00:00 2001 From: Aditi76117 Date: Mon, 4 Aug 2025 01:03:12 +0530 Subject: [PATCH 2/5] Add completions for chmem, ipcmk, ipcrm, ipcs, ldattach and mcookie (util-linux) --- src/_chmem | 51 +++++++++++++++++++++++++++++++++++++++++ src/_ipcmk | 50 ++++++++++++++++++++++++++++++++++++++++ src/_ipcrm | 57 ++++++++++++++++++++++++++++++++++++++++++++++ src/_ipcs | 57 ++++++++++++++++++++++++++++++++++++++++++++++ src/_ldattach | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/_mcookie | 49 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 327 insertions(+) create mode 100644 src/_chmem create mode 100644 src/_ipcmk create mode 100644 src/_ipcrm create mode 100644 src/_ipcs create mode 100644 src/_ldattach create mode 100644 src/_mcookie diff --git a/src/_chmem b/src/_chmem new file mode 100644 index 0000000..cd462e4 --- /dev/null +++ b/src/_chmem @@ -0,0 +1,51 @@ +#compdef chmem +# ------------------------------------------------------------------------------ +# 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 script for chmem - configure memory +# +# Author: +# *Aditi Sharma (https://github.com/Aditi76117) +# ------------------------------------------------------------------------------ + +_arguments -s \ + '--enable[Enable memory section]:memory section (e.g., 0x1234)' \ + '--disable[Disable memory section]:memory section (e.g., 0x1234)' \ + '--blocks[Specify blocks instead of section numbers]' \ + '--verbose[Enable verbose mode]' \ + '--help[Display help message and exit]' \ + '--version[Display version information and exit]' + +# 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/_ipcmk b/src/_ipcmk new file mode 100644 index 0000000..8367023 --- /dev/null +++ b/src/_ipcmk @@ -0,0 +1,50 @@ +#compdef ipcmk +# ------------------------------------------------------------------------------ +# 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 script for ipcmk - create various IPC resources +# +# Author: +# * Aditi Sharma (https://github.com/Aditi76117) +# ------------------------------------------------------------------------------ + +_arguments -s \ + '--help[Display help message and exit]' \ + '--version[Display version information and exit]' \ + '-M+[Create a shared memory segment of given size in bytes]:size (bytes)' \ + '-Q[Create a message queue]' \ + '-S+[Create a semaphore array with given number of elements]:number of elements' + +# 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/_ipcrm b/src/_ipcrm new file mode 100644 index 0000000..4ddc69d --- /dev/null +++ b/src/_ipcrm @@ -0,0 +1,57 @@ +#compdef ipcrm +# ------------------------------------------------------------------------------ +# 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 script for ipcrm - remove System V IPC objects +# +# Author: +# * Aditi Sharma (https://github.com/Aditi76117) +# ------------------------------------------------------------------------------ + +_arguments -s \ + '--all[Remove all resources of specified type]' \ + '--all=msg[Remove all message queues]' \ + '--all=shm[Remove all shared memory segments]' \ + '--all=sem[Remove all semaphores]' \ + '--msgid[Remove message queue by id]:msgid: ' \ + '--shmid[Remove shared memory segment by id]:shmid: ' \ + '--semid[Remove semaphore by id]:semid: ' \ + '--msgkey[Remove message queue by key]:msgkey: ' \ + '--shmkey[Remove shared memory segment by key]:shmkey: ' \ + '--semkey[Remove semaphore by key]:semkey: ' \ + '--help[Display help message and exit]' \ + '--version[Display version information and exit]' + +# 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/_ipcs b/src/_ipcs new file mode 100644 index 0000000..8330e83 --- /dev/null +++ b/src/_ipcs @@ -0,0 +1,57 @@ +#compdef ipcs +# ------------------------------------------------------------------------------ +# 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 script for ipcs - show information on IPC facilities +# +# Author: +# * Aditi Sharma (https://github.com/Aditi76117) +# ------------------------------------------------------------------------------ + +_arguments -s \ + '-m[List shared memory segments]' \ + '-q[List message queues]' \ + '-s[List semaphore arrays]' \ + '-a[List all facilities]' \ + '-c[Show creator and owner]' \ + '-l[Show limits]' \ + '-p[Show PIDs]' \ + '-t[Show times]' \ + '-u[Show summary]' \ + '--human[Print sizes in human-readable format]' \ + '--help[Display help message and exit]' \ + '--version[Display version information and exit]' + +# 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/_ldattach b/src/_ldattach new file mode 100644 index 0000000..3d3aedc --- /dev/null +++ b/src/_ldattach @@ -0,0 +1,63 @@ +#compdef ldattach +# ------------------------------------------------------------------------------ +# 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 script for ldattach - attach a line discipline to a serial line +# +# Author: +# * Aditi Sharma (https://github.com/Aditi76117) +# ------------------------------------------------------------------------------ + +_arguments -s \ + '--debug[Enable debugging output]' \ + '--eightbits[Use 8-bit characters]' \ + '--evenparity[Use even parity]' \ + '--oddparity[Use odd parity]' \ + '--noparity[Use no parity]' \ + '--nohangup[Do not hang up on close]' \ + '--speed[Specify baud rate]:baud rate (e.g., 9600)' \ + '--wait-slave[Wait for slave device to appear]' \ + '--help[Display help message and exit]' \ + '--version[Display version information and exit]' \ + '*::device:->device' + +# Complete device argument +case $state in + device) + _files -g '/dev/tty*' + ;; +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/_mcookie b/src/_mcookie new file mode 100644 index 0000000..92324d0 --- /dev/null +++ b/src/_mcookie @@ -0,0 +1,49 @@ +#compdef mcookie +# ------------------------------------------------------------------------------ +# 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 script for mcookie - generate random 128-bit hexadecimal numbers +# +# Author: +# * Aditi Sharma (https://github.com/Aditi76117) +# ------------------------------------------------------------------------------ + +_arguments -s \ + '--max-size[Set maximum length of output]:number' \ + '--verbose[Print entropy source and random seed info]' \ + '--help[Display help message and exit]' \ + '--version[Display version information and exit]' + +# 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 From 8a7515adc8ab6f24c7285b99db5a8a11aa1ed9ac Mon Sep 17 00:00:00 2001 From: Aditi76117 Date: Mon, 4 Aug 2025 01:12:02 +0530 Subject: [PATCH 3/5] Add completions for ipcmk (util-linux) --- src/_ipcmk | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/_ipcmk b/src/_ipcmk index 8367023..b64128d 100644 --- a/src/_ipcmk +++ b/src/_ipcmk @@ -35,11 +35,13 @@ # ------------------------------------------------------------------------------ _arguments -s \ + '--shmem[Create a shared memory segment]' \ + '--queue[Create a message queue]' \ + '--semaphore[Create a semaphore array]' \ + '--size[Size of shared memory segment (in bytes)]:size (bytes): ' \ + '--mode[Permissions for the resource (octal)]:permissions (e.g. 0600): ' \ '--help[Display help message and exit]' \ - '--version[Display version information and exit]' \ - '-M+[Create a shared memory segment of given size in bytes]:size (bytes)' \ - '-Q[Create a message queue]' \ - '-S+[Create a semaphore array with given number of elements]:number of elements' + '--version[Display version information and exit]' # Local Variables: # mode: Shell-Script From d9b1b2bfa9d0c4a7a6341503ede91f52ea2de7fe Mon Sep 17 00:00:00 2001 From: Aditi76117 Date: Mon, 4 Aug 2025 01:27:06 +0530 Subject: [PATCH 4/5] Add completions for ipcmk (util-linux) --- src/_ipcmk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/_ipcmk b/src/_ipcmk index b64128d..7a464c9 100644 --- a/src/_ipcmk +++ b/src/_ipcmk @@ -50,3 +50,7 @@ _arguments -s \ # sh-basic-offset: 2 # End: # vim: ft=zsh sw=2 ts=2 et + +# Note: This script is useful only on systems with `ipcmk` (typically Linux). +# macOS does not include this command. + From 331e0ab9faac76ecfa767fad64248a997d49ad4c Mon Sep 17 00:00:00 2001 From: Aditi76117 Date: Tue, 5 Aug 2025 00:10:06 +0530 Subject: [PATCH 5/5] Remove _lsblk and _cal as they are already present in upstream zsh --- src/_cal | 69 ------------------------------------------ src/_lsblk | 89 ------------------------------------------------------ 2 files changed, 158 deletions(-) delete mode 100644 src/_cal delete mode 100644 src/_lsblk diff --git a/src/_cal b/src/_cal deleted file mode 100644 index 821f9af..0000000 --- a/src/_cal +++ /dev/null @@ -1,69 +0,0 @@ -#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/_lsblk b/src/_lsblk deleted file mode 100644 index 5db45ff..0000000 --- a/src/_lsblk +++ /dev/null @@ -1,89 +0,0 @@ -#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