mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-23 04:30:24 +02:00
42242: add [DFNO]BSD to the mix in ldconfig completion
This commit is contained in:
parent
36fcaeb167
commit
ef0aae1c27
3 changed files with 86 additions and 35 deletions
81
Completion/Unix/Command/_ldconfig
Normal file
81
Completion/Unix/Command/_ldconfig
Normal file
|
@ -0,0 +1,81 @@
|
|||
#compdef ldconfig ldconfig.real
|
||||
|
||||
local ret=1
|
||||
local -a args context line state state_descr
|
||||
local -A opt_args
|
||||
|
||||
case $OSTYPE in
|
||||
linux*)
|
||||
args=(
|
||||
'(x -v --verbose)'{-v,--verbose}'[output verbosely]' \
|
||||
+ x \
|
||||
'(: -)'{-\?,--help}'[display help information]'
|
||||
'(: -)'{-p,--print-cache}'[display libraries in current cache]'
|
||||
'(: -)--usage[display brief usage information]'
|
||||
'(: -)'{-V,--version}'[display version information]'
|
||||
+ l
|
||||
'(x o)-l[manually link individual libraries (library mode)]'
|
||||
+ o
|
||||
'(x l -c --format)'{-c+,--format=}'[specify cache format]:cache format:(old new compat)'
|
||||
'(x l)-C+[specify cache file to use instead of /etc/ld.so.cache]:cache file:_files'
|
||||
'(x l)-f+[specify configuration file to use instead of /etc/ld.so.conf]:configuration file:_files'
|
||||
'(x l -i --ignore-aux-cache)'{-i,--ignore-aux-cache}'[ignore auxiliary cache file]'
|
||||
'(x l -N)-n[process only directories specified on command line (implies -N)]'
|
||||
'(x l)-N[do not rebuild cache]'
|
||||
'(x l)-r+[specify root directory]:root directory:_directories'
|
||||
'(x l)-X[do not update symbolic links]'
|
||||
)
|
||||
;;
|
||||
*bsd*|dragonfly*)
|
||||
args=(
|
||||
'(-U)-m[merge into the existing hints file]'
|
||||
'(: -)-r[list the current contents of the hints file]'
|
||||
);|
|
||||
dragonfly*|freebsd*|openbsd*)
|
||||
args+=(
|
||||
'(-U)-R[rescan previously configured directories]'
|
||||
);|
|
||||
dragonfly*|freebsd*)
|
||||
args+=(
|
||||
'(-aout)-elf[generate hints for elf format shared libraries]'
|
||||
'-f+[specify hints file]:hints file:_files'
|
||||
'-i[run in insecure mode]'
|
||||
);|
|
||||
freebsd*|netbsd*|openbsd*)
|
||||
args+=(
|
||||
'-v[switch on verbose mode]'
|
||||
);|
|
||||
freebsd*|openbsd*)
|
||||
args+=(
|
||||
'-s[do not scan /usr/lib for shared libraries]'
|
||||
);|
|
||||
freebsd*)
|
||||
args+=(
|
||||
'-32[generate hints for 32-bit ABI shared libraries]'
|
||||
'(-elf)-aout[generate hints for a.out format shared libraries]'
|
||||
);|
|
||||
netbsd*)
|
||||
args+=(
|
||||
'(-s)-c[do not scan directories in /etc/ls.so.conf]'
|
||||
'(-s)-S[do not scan /usr/lib for shared libraries]'
|
||||
'-s[do not scan /usr/lib or directories in /etc/ld.so.conf for shared libraries]'
|
||||
);|
|
||||
openbsd*)
|
||||
args+=(
|
||||
'(-m)-U[unconfigure specified directories or inaccessable directories if none specified]'
|
||||
);|
|
||||
esac
|
||||
|
||||
_arguments -s -S : \
|
||||
'(x)*: :->files' \
|
||||
$args \
|
||||
&& ret=0
|
||||
|
||||
[[ $state == files ]] &&
|
||||
if [[ -n ${opt_args[(I)l--l]} ]]; then
|
||||
_object_files && ret=0
|
||||
else
|
||||
_directories && ret=0
|
||||
fi
|
||||
|
||||
return ret
|
Loading…
Add table
Add a link
Reference in a new issue