From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20024 invoked by alias); 7 Sep 2016 15:25:13 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 39224 Received: (qmail 12565 invoked from network); 7 Sep 2016 15:25:13 -0000 X-Qmail-Scanner-Diagnostics: from mail-oi0-f46.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.218.46):SA:0(0.3/5.0):. Processed in 0.362114 secs); 07 Sep 2016 15:25:13 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,SPF_PASS,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: phy1729@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.218.46 as permitted sender) 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== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:subject:message-id:mail-followup-to :mime-version:content-disposition:user-agent; bh=3nQByw+BlMZjr4q6Hb442xRq3uG5YE1CdSS7v/ClO7Q=; b=HaRyYqIyJledv04E+nirU165fBceJULmDE9HS0eGukbe/HeJ8Oq2LPPLSgwU9RCv3Q Thuq/MKakmDTPrLr9Iijf7sEujUIEtD3txmREF0pMdlfA3XI5FYRELFSI/lKEeFhzWbN Jt3fvoX5k2bZAdMztBYZE3SDVM21O/+NR8YNgt4OknTat71TyEO4n/uMx20lIttuSk5Y u3C7nFFgDrFWYJ2inP0JwmCaajIkZ0LuQAKjqYCJmOwveKgTCJMnyJ7V5IsoH6tPPDRX /ej6h3Z2AlF6bpLbEtyeRSicLjT/ZwxKmQ/voanHag+8IEfXBKY+by88Lf1Gv1rGOXNW 4/iw== X-Gm-Message-State: AE9vXwOow0f+g/kCuyloW5thH5Wjwnbd96p/rkcFBTLET/Lts0qzQlLZYijK1x4TYxUi8w== X-Received: by 10.202.80.82 with SMTP id e79mr24674343oib.146.1473252047498; Wed, 07 Sep 2016 05:40:47 -0700 (PDT) Date: Wed, 7 Sep 2016 07:40:46 -0500 From: Matthew Martin To: zsh-workers@zsh.org Subject: [patch 1/3] _chflags: Introduce addflags to reduce redundancy Message-ID: <20160907124046.dd4x2npaxwfrwze4@CptOrmolo.darkstar> Mail-Followup-To: zsh-workers@zsh.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: NeoMutt/20160827 () 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]'