Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[patch 1/3] _chflags: Introduce addflags to reduce redundancy
- X-seq: zsh-workers 39224
- From: Matthew Martin <phy1729@xxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: [patch 1/3] _chflags: Introduce addflags to reduce redundancy
- Date: Wed, 7 Sep 2016 07:40:46 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:message-id:mail-followup-to:mime-version :content-disposition:user-agent; bh=3nQByw+BlMZjr4q6Hb442xRq3uG5YE1CdSS7v/ClO7Q=; b=ez7NrdBsEJCkBiJVH9CRIE0pvWoS7S7Iyd6o/vN3AUOmDc6rCu8MfloIpBut2ixtst EYma8pPnhjSPRyMaHD0LFUPx9DUTWeGe8KV7bLfd/U4KS2m3ZVzOaSgyZOBd0n+rRmlR kJG+CYmXFDag+Rs5r06pNrGbKMD89sJGdJw4xcZN+jDe9okk4yqFfTBwGaFtE+pmAzGf iv+u1ldoJ8GU2pGLkt7bOfHgEcGoYkUhCRXjTM32negMc221Dw0LARomkKLTfJ5ZPadZ S4hhY+EopIycPiczR2uwXmMBnG6rvIatEtkswkRmyrI7bTqSMWBDIGMxtWMYXntQuRhy mFRg==
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mail-followup-to: zsh-workers@xxxxxxx
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
This seems to not have gone through.
Mostly functionally the same but
- s/attribute/flag/ the description of offline, sparse, and reparse
- correct the negation for offline, rdonly, sparse, system, and reparse
- remove the non-existant unlnk flag
- Matthew Martin
diff --git a/Completion/BSD/Command/_chflags b/Completion/BSD/Command/_chflags
index bfbaa01..8147df0 100644
--- a/Completion/BSD/Command/_chflags
+++ b/Completion/BSD/Command/_chflags
@@ -2,55 +2,46 @@
local flags args own='-g *(-u$EUID)'
-flags=(
- '(noopaque)opaque[set the opaque flag]'
- '(opaque)noopaque[unset the opaque flag]'
- '(dump)nodump[set the nodump flag]'
- '(nodump)dump[unset the nodump flag]'
- '(nouappnd)uappnd[set the user append-only flag]'
- '(uappnd)nouappnd[unset the user append-only flag]'
- '(nouchg)uchg[set the user immutable flag]'
- '(uchg)nouchg[unset the user immutable flag]'
-)
+addflags() {
+ for 1 2; do
+ if [[ $1 = no* ]]; then
+ flags+=("(${1#no})$1[set the $2 flag]"
+ "($1)${1#no}[unset the $2 flag]")
+ else
+ flags+=("(no$1)$1[set the $2 flag]"
+ "($1)no$1[unset the $2 flag]")
+ fi
+ done
+}
+
+addflags \
+ nodump nodump \
+ opaque opaque \
+ uappnd 'user append-only' \
+ uchg 'user immutable'
if (( ! EUID )); then
- flags+=(
- '(noarch)arch[set the archived flag]'
- '(arch)noarch[unset the archived flag]'
- '(nosappnd)sappnd[set the system append-only flag]'
- '(sappnd)nosappnd[unset the system append-only flag]'
- '(noschg)schg[set the system immutable flag]'
- '(schg)noschg[unset the system immutable flag]'
- )
+ addflags \
+ arch archived \
+ sappnd 'system append-only' \
+ schg 'system immutable'
unset own
fi
if [[ $OSTYPE = (freebsd|dragonfly|darwin)* ]]; then
- flags+=(
- '(nouunlnk)uunlnk[set the user undeletable flag]'
- '(uunlnk)nouunlnk[unset the user undeletable flag]'
- '(nohidden)hidden[set the hidden flag]'
- '(hidden)nohidden[unset the hidden flag]'
- )
- [[ $OSTYPE = freebsd* ]] && flags+=(
- '(uoffline)offline[set the offline attribute]'
- '(offline)uoffline[unset the offline attribute]'
- '(urdonly)rdonly[set readonly flag]'
- '(rdonly)urdonly[unset readonly flag]'
- '(usparse)sparse[set the sparse attribute]'
- '(sparse)usparse[unset the sparse attribute]'
- '(usystem)system[set system flag]'
- '(system)usystem[unset system flag]'
- '(ureparse)reparse[set the Windows reparse point attribute]'
- '(reparse)ureparse[unset the Windows reparse point attribute]'
- '(uunlnk)unlnk[set undeletable flag]'
- '(unlnk)uunlnk[unset undeletable flag]'
- )
+ addflags \
+ hidden hidden \
+ uunlnk 'user undeletable'
+
+ [[ $OSTYPE = freebsd* ]] && addflags \
+ offline offline \
+ rdonly readonly \
+ reparse 'Windows reparse point' \
+ sparse 'sparse file' \
+ system system
+
+ (( EUID )) || addflags sunlnk 'system undeletable'
- (( EUID )) || flags+=(
- '(nosunlnk)sunlnk[set the system undeletable flag]'
- '(sunlnk)nosunlnk[unset the system undeletable flag]'
- )
args=(
"-f[don't display diagnostic messages]"
'-h[act on symlinks]'
Messages sorted by:
Reverse Date,
Date,
Thread,
Author