completion:**:users ignored-patterns more robust

Calculates ignored users at runtime by extracting them from
passwd database and considering all users with UID < 100
(on Solaris systems) or UID < 500 (everywhere else).

By my timings, this doesn't make it any noticably slower.
This commit is contained in:
kernc 2014-02-24 23:43:25 +01:00 committed by Kernc
parent 7722dd4400
commit 0ff0ece5e2

View file

@ -99,14 +99,13 @@ zstyle -e ':completion:*:hosts' hosts 'reply=(
)'
# Don't complete uninteresting users...
zstyle ':completion:*:*:*:users' ignored-patterns \
adm amanda apache avahi beaglidx bin cacti canna clamav daemon \
dbus distcache dovecot fax ftp games gdm gkrellmd gopher \
hacluster haldaemon halt hsqldb ident junkbust ldap lp mail \
mailman mailnull mldonkey mysql nagios \
named netdump news nfsnobody nobody nscd ntp nut nx openvpn \
operator pcap postfix postgres privoxy pulse pvm quagga radvd \
rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs '_*'
zstyle ':completion:*:*:*:users' ignored-patterns nobody nobody4 noaccess '_*' \
$([[ $OSTYPE =~ solaris ]] && max_uid=100 || max_uid=500
IFS=:
while read user pass uid remainder; do
[[ ! $user =~ (^#|root) ]] && ((uid < max_uid)) && echo $user
done </etc/passwd
)
# ... unless we really want to.
zstyle '*' single-ignored show