From 14709db6d6009c198b1b90f2c7b87f65194527a5 Mon Sep 17 00:00:00 2001 From: Arseny Maslennikov Date: Sun, 21 Mar 2021 16:01:29 +0300 Subject: 48212: Introduce new completion for Linux task capabilities --- ChangeLog | 3 ++ Completion/Linux/Type/_capabilities | 65 +++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 Completion/Linux/Type/_capabilities diff --git a/ChangeLog b/ChangeLog index 6fb01eab5..2bbf0afd5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2021-03-28 Oliver Kiddle + * Arseny Maslennikov: 48212: Completion/Linux/Type/_capabilities: + Introduce new completion for Linux task capabilities + * Štěpán Němec: 48231: Completion/Unix/Command/_git: add missing --pretty formats and improve descriptions diff --git a/Completion/Linux/Type/_capabilities b/Completion/Linux/Type/_capabilities new file mode 100644 index 000000000..8cb31878f --- /dev/null +++ b/Completion/Linux/Type/_capabilities @@ -0,0 +1,65 @@ +#autoload + +# This function completes POSIX capabilities for Linux. +# Many command line utilities expect different syntax to encode various kinds +# of capability names or sets, so this function tries to be as generic as +# possible. It accepts compadd options to allow variations on the exact +# generated completion matches. +# +# Usage examples: +# +# Complete full capability names: +# _capabilities -p cap_ +# Sort the completion list by capability number: +# _capabilities -o nosort + +# The list of Linux capabilities is taken from include/uapi/linux/capability.h +# and subject to the following pipe filter: +# grep 'define CAP' | sed -r 's/^[[:space:]]*#define[[:space:]]+CAP_//; s/[[:space:]]+[0-9]+$//' | tr '[[:upper:]]' '[[:lower:]]' +local -a caplist=( + chown + dac_override + dac_read_search + fowner + fsetid + kill + setgid + setuid + setpcap + linux_immutable + net_bind_service + net_broadcast + net_admin + net_raw + ipc_lock + ipc_owner + sys_module + sys_rawio + sys_chroot + sys_ptrace + sys_pacct + sys_admin + sys_boot + sys_nice + sys_resource + sys_time + sys_tty_config + mknod + lease + audit_write + audit_control + setfcap + mac_override + mac_admin + syslog + wake_alarm + block_suspend + audit_read + perfmon + bpf + checkpoint_restore +) +local -a expl + +_description capabilities expl "Linux capability" +compadd "${(@)expl}" "$@" -a - caplist -- cgit 1.4.1