From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10117 invoked from network); 24 May 2009 05:30:14 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from new-brage.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.254.104) by ns1.primenet.com.au with SMTP; 24 May 2009 05:30:14 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 90191 invoked from network); 24 May 2009 05:30:06 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 24 May 2009 05:30:06 -0000 Received: (qmail 1668 invoked by alias); 24 May 2009 05:29:59 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 26987 Received: (qmail 1653 invoked from network); 24 May 2009 05:29:58 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 24 May 2009 05:29:58 -0000 Received: from web37305.mail.mud.yahoo.com (web37305.mail.mud.yahoo.com [209.191.90.248]) by bifrost.dotsrc.org (Postfix) with SMTP id C68F28027106 for ; Sun, 24 May 2009 07:29:51 +0200 (CEST) Received: (qmail 80537 invoked by uid 60001); 24 May 2009 05:29:50 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1243142990; bh=dR4tohHlKKgOVRJ6PnXR6kvqex+q5VU2PQLyuNcGMOc=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type; b=OMsNUrYlXQvtY4FZpBvcT+/Yo4WVUhZmNVSRhMVcGRNUKkPvr1JRF8mqtivzCmV+/ZzzgGBiONvL3qRvPr873NSFnT3Ou33vw7t35zKfUnI0+nGy2iGVXmwYuHRbO7z+tf02hYhfKEdcvwxYk3PpYt7eDco3YZXCtSL9+8HZY8c= DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type; b=iJpHFZIOt0RtYEHtxmOxSilWsHKp7kJfcnPhgqhe4D72z1iQwQol5Ih5jf117oJD1hr0XfOsFypR8bPtc82tQUDxUsFDpIgyJpK+Hv0UzU0aAdMbeXqrH5RicJiXYMs6+5rZ0HLHP+gRipnNn7x9etelBHYEDTg5EzU4KxYT3mA=; Message-ID: <153994.78930.qm@web37305.mail.mud.yahoo.com> X-YMail-OSG: _yY_kTcVM1kTXio3ryBuJw.JGJhDEI4F74I1bPuoNR8LLeIz1l_NyWYFYCZhEE.noQyOGniLiX2hi8DSI.cChmuzEkdeVutqf7Un6LcN1cV4_T_jASGtXlbBVYJUov2s5LYKSNEhUPZV_CBN_ZWic1.e2s.G5kNG57YSN35gTaqYiFGtTlfM_5gO_QoBHJLOzlH_OOLH_vrR8rn_HW8YFemCsyQvYEr0JMy6KiYj0ir6ijVxQS89KDQom1Chn.kaJuIphJqp.ZhCvas5LsZRHjxuV5JOA8QiyC5vrUMb2HRs6Za.v1nr7A-- Received: from [128.175.185.64] by web37305.mail.mud.yahoo.com via HTTP; Sat, 23 May 2009 22:29:49 PDT X-Mailer: YahooMailRC/1277.43 YahooMailWebService/0.7.289.10 Date: Sat, 23 May 2009 22:29:49 -0700 (PDT) From: Michael Hwang Subject: Completion for pgrep and pkill To: zsh-workers@sunsite.dk MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-1800720267-1243142989=:78930" X-Virus-Scanned: ClamAV 0.94.2/9385/Sun May 24 03:50:55 2009 on bifrost X-Virus-Status: Clean --0-1800720267-1243142989=:78930 Content-Type: text/plain; charset=us-ascii I was surprised that this hadn't been written yet, so I used it as an opportunity to learn the completion system. A few things, though. The completion relies on ps, which I know takes arguments differently on different platforms. Without any cross-platform experience, I can't say whether or not the completion will work properly on a non-GNU system. Someone might need to go through and change it to be more portable. Also, completions for IDs (group or user) are converted to their symbolic names if completed through menu selection. I'm not sure if this should be kept or not, as tab completion for a non-ambiguous numeric ID will no longer work. I suspect someone will want it removed. Completion for pgrep's -d option (output delimiter) defaults to each character of IFS. If you tab through the completion menu, it displays space, null, tab, and carriage return properly as \ , $'\0', $'\t', and $'\r', but a newline is not $'\n' as expected. Instead, it is two single quotes with a newline in between. It's a minor annoyance to have the completion menu jump around while cycling through the list. The completion behaves even more strangely if you start with a quote. Enjoy. :-) Michael Hwang --0-1800720267-1243142989=:78930 Content-Type: application/octet-stream; name=_pgrep Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="_pgrep" I2NvbXBkZWYgcGdyZXAgcGtpbGwgCgpsb2NhbCBjb250ZXh0IHN0YXRlIGxp bmUKdHlwZXNldCAtQSBvcHRfYXJncwp0eXBlc2V0IC1hIGFyZ3VtZW50cwoK YXJndW1lbnRzPSgnLVBbcGFyZW50IHByb2Nlc3MgaWRdOnBhcmVudCBwcm9j ZXNzIGlkOi0+cHBpZCcgCgkgICAnLWdbbWF0Y2ggb25seSBpbiBwcm9jZXNz IGdyb3VwIGlkc106Z3JvdXA6LT5wZ2lkJyAKCSAgICctR1ttYXRjaCBvbmx5 IHJlYWwgZ3JvdXAgaWRdOmdyb3VwOi0+Z3JvdXAnIAoJICAgJy1zW21hdGNo IG9ubHkgc2Vzc2lvbiBpZF06c2Vzc2lvbiBpZDotPnNpZCcgCgkgICAnLXRb bWF0Y2ggb25seSBjb250cm9sbGVkIGJ5IHRlcm1pbmFsXTp0ZXJtaW5hbCBk ZXZpY2U6LT50dHknCgkgICAnLXVbbWF0Y2ggb25seSBlZmZlY3RpdmUgdXNl ciBpZF06dXNlcjotPnVzZXInIAoJICAgJy1VW21hdGNoIG9ubHkgcmVhbCB1 c2VyIGlkXTp1c2VyOi0+dXNlcicgCiAgICAgICAgICAgJygtbiktb1tvbGRl c3QgcHJvY2Vzc10nIAoJICAgJygtbyktbltuZXdlc3QgcHJvY2Vzc10nIAoJ ICAgJy1mW21hdGNoIGFnYWluc3QgZnVsbCBjb21tYW5kIGxpbmVdJyAKCSAg ICctdltuZWdhdGUgbWF0Y2hpbmddJyAKCSAgICcteFttYXRjaCBleGFjdGx5 XScgCgkgICAnKjpwcm9jZXNzIG5hbWU6LT5wbmFtZScpCgppZiBbWyAkc2Vy dmljZSA9PSAncGtpbGwnIF1dCnRoZW4KCWFyZ3VtZW50cys9KCctJyR7XnNp Z25hbHN9J1tzaWduYWxdJykKZWxpZiBbWyAkc2VydmljZSA9PSAncGdyZXAn IF1dCnRoZW4KCWFyZ3VtZW50cys9KCctZFtvdXRwdXQgZGVsaW1pdGVyXTpk ZWxpbWl0ZXI6Y29tcGFkZCAkeyhzXDpcOilJRlN9JwoJCSAgICAnLWxbbGlz dCBuYW1lIGluIGFkZGl0aW9uIHRvIGlkXScpCmZpCgpfYXJndW1lbnRzIC1z IC13ICRhcmd1bWVudHMKCmNhc2UgJHN0YXRlIGluCgkodHR5KQoJCWNvbXBz ZXQgLVAgJyosJwoKCQlsb2NhbCAtYSB1c2VkCgkJdXNlZD0oJHsoczosOilJ UFJFRklYfSkKCgkJY29tcGFkZCAtUyAnLCcgLXEgLUYgdXNlZCAvZGV2L3R0 eSooOnQpCgkJOzsKCQkKCShzaWQpCgkJY29tcHNldCAtUCAnKiwnCgoJCWxv Y2FsIC1hIHVzZWQgc2lkCgkJdXNlZD0oJHsoczosOilJUFJFRklYfSkKCQlz aWQ9KCR7KHVvbikkKHBzIC1BIG8gc2lkPSl9KQoKCQljb21wYWRkIC1TICcs JyAtcSAtRiB1c2VkICRzaWQKCQk7OwoJCgkocHBpZCkKCQljb21wc2V0IC1Q ICcqLCcKCgkJbG9jYWwgLWEgdXNlZCBwcGlkCgkJdXNlZD0oJHsoczosOilJ UFJFRklYfSkKCQlwcGlkPSgkeyh1b24pJChwcyAtQSBvIHBwaWQ9KX0pCgoJ CWNvbXBhZGQgLVMgJywnIC1xIC1GIHVzZWQgJHBwaWQKCQk7OwoKCShwZ2lk KQoJCWNvbXBzZXQgLVAgJyosJwoKCQlsb2NhbCAtYSB1c2VkIHBnaWQKCQl1 c2VkPSgkeyhzOiw6KUlQUkVGSVh9KQoJCXBnaWQ9KCR7KHVvbikkKHBzIC1B IG8gcGdpZD0pfSkKCgkJY29tcGFkZCAtUyAnLCcgLXEgLUYgdXNlZCAkcGdp ZAoJCTs7CgkKCShwbmFtZSkKCQlpZiAoKCAkeytvcHRfYXJnc1steF19ICkp ICYmICgoICR7K29wdF9hcmdzWy1mXX0gKSkKCQl0aGVuCgkJCWNvbXBhZGQg JHsodSkkeyhmKSIkKHBzIC1BIG8gY21kPSkifX0KCQllbHNlCgkJCWNvbXBh ZGQgJHsodSkkeyhmKSIkKHBzIC1BIGNvIGNtZD0pIn19CgkJZmkKCQk7OwoJ CgkoZ3JvdXApCgkJY29tcHNldCAtUCAnKiwnCgoJCWxvY2FsIGdyb3VwCgkJ Z3JvdXA9JChnZXRlbnQgZ3JvdXApCgoJCWxvY2FsIC1hIGdyb3VwcyBpZHMK CQlncm91cHM9KCR7JHsoZilncm91cH0lJToqfSkKCQlpZHM9KCR7JHskeyhm KWdyb3VwfSMqOio6fSUlOip9KQoKCQlsb2NhbCAtYSB1c2VkCgkJdXNlZD0o JHsoczosOilJUFJFRklYfSkKCgkJY29tcGFkZCAtUyAnLCcgLXEgLUYgdXNl ZCAtZCBpZHMgJGdyb3VwcyAkZ3JvdXBzCgkJOzsKCgkodXNlcikKCQljb21w c2V0IC1QICcqLCcKCgkJbG9jYWwgcGFzc3dkCgkJcGFzc3dkPSQoZ2V0ZW50 IHBhc3N3ZCkKCgkJbG9jYWwgLWEgdXNlcnMgaWRzCgkJdXNlcnM9KCR7JHso ZilwYXNzd2R9JSU6Kn0pCgkJaWRzPSgkeyR7JHsoZilwYXNzd2R9Iyo6Kjp9 JSU6Kn0pCgkJCgkJbG9jYWwgLWEgdXNlZAoJCXVzZWQ9KCR7KHM6LDopSVBS RUZJWH0pCgoJCWNvbXBhZGQgLVMgJywnIC1xIC1GIHVzZWQgLWQgaWRzICR1 c2VycyAkdXNlcnMKCQk7Owplc2FjCg== --0-1800720267-1243142989=:78930--