diff options
author | Eric Cook <illua@users.sourceforge.net> | 2024-11-11 09:27:52 -0500 |
---|---|---|
committer | Eric Cook <illua@users.sourceforge.net> | 2024-11-11 09:27:52 -0500 |
commit | 9b8af0900fd8167543e5786b46e70d3f32d45e2b (patch) | |
tree | 206a7ca2da1f3947b6b95191a98b1593f4664372 /Completion/Unix/Command | |
parent | f282ff579284c7dd918438bc8e30fba4f6776c8c (diff) | |
download | zsh-9b8af0900fd8167543e5786b46e70d3f32d45e2b.tar.gz zsh-9b8af0900fd8167543e5786b46e70d3f32d45e2b.tar.xz zsh-9b8af0900fd8167543e5786b46e70d3f32d45e2b.zip |
53144: _sysctl: support completion with the dot delimiter on linux
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r-- | Completion/Unix/Command/_sysctl | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Completion/Unix/Command/_sysctl b/Completion/Unix/Command/_sysctl index 442953c4d..09995c98e 100644 --- a/Completion/Unix/Command/_sysctl +++ b/Completion/Unix/Command/_sysctl @@ -23,10 +23,18 @@ case $OSTYPE in else args=( ${args:#((#s)|*\))(\*|)--*} ) # remove long options fi + local delimiter=. + sysctlvars=( /proc/sys/**/*(.e*'REPLY=${REPLY#/proc/sys/}'*) ) + if zstyle -t ":completion:${curcontext}:argument-rest" delimiter / || (( ${words[CURRENT][(Ie)/]} )); then + delimiter=/ + else + sysctlvars=(${sysctlvars//\//.}) + fi + _arguments -S -A "-*" : $args \ '(- :)'{-h,--help}'[display help text and exit]' \ '(- :)'{-V,--version}'[display version info and exit]' \ - '*:sysctl variable:_files -W /proc/sys' + "*:sysctl variable:_multi_parts -i -S = -q $delimiter sysctlvars" ;; freebsd<14->.*) args+=( |