From 3e05c065014e34b2bef4c94c041783398333d118 Mon Sep 17 00:00:00 2001 From: Aditi76117 Date: Mon, 4 Aug 2025 01:03:12 +0530 Subject: [PATCH] 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