zsh-workers
 help / color / mirror / code / Atom feed
From: Oliver Kiddle <okiddle@yahoo.co.uk>
To: Zsh workers <zsh-workers@zsh.org>
Subject: PATCH: use lowercase descriptions in lp completion
Date: Tue, 04 Aug 2020 14:10:22 +0200	[thread overview]
Message-ID: <91555-1596543022.737930@nDpk.4Sv0.L_Hv> (raw)
In-Reply-To: <91555-1596543022.737930.ref@nDpk.4Sv0.L_Hv>

This is a patch I've had sitting around for a while waiting for me to
find time to make substantial improvements to lp completion. But while
far from ideal, I think it is an improvement, nonetheless.

My purpose here is actually testing the migrated mailing list. But
rather than send messages saying "testing", I'll post one or two things
like this.

The majority of this is changing descriptions in line with our
convention of lowercase. But it does also handle the job-sheets option.
The location from them is hardcoded. Perhaps we can do a better job of
determining the location but this does no harm if they're elsewhere.

Oliver

diff --git a/Completion/Unix/Command/_lp b/Completion/Unix/Command/_lp
index e84d9ad04..dd2bf5e1a 100644
--- a/Completion/Unix/Command/_lp
+++ b/Completion/Unix/Command/_lp
@@ -58,6 +58,9 @@ _lp_job_options()
 	  '6:rotated 180 degrees')
 	_describe "orientation requested" desc_opts
 	;;
+      (job-sheets(|-*))
+	compadd "$@" /usr/share/cups/banners/*(:t)
+	;;
       (sides)
 	compadd "$@" one-sided two-sided-{long,short}-edge
 	;;
@@ -163,128 +166,128 @@ _lp()
   case $service in
     (lpq)
       _arguments \
-	'-E[Force encryption]' \
+	'-E[force encryption]' \
 	'-U:username (for connection to server):_users' \
 	'-h:alternate server:_hosts' \
-	'(-a)-P+[Destination printer]:printers:_printers' \
-	'(-P)-a[All printers]' \
-	'-l[Long listing]' \
-	'*:poll interval (+seconds):'
+	'(-a)-P+[destination printer]:printer:_printers' \
+	'(-P)-a[all printers]' \
+	'-l[long listing]' \
+	'*:poll interval (+seconds)'
       ;;
 
     (lprm)
       _arguments \
-	'-E[Force encryption]' \
+	'-E[force encryption]' \
 	'-U:username (for connection to server):_users' \
 	'-h:alternate server:_hosts' \
-	'-P+[Destination printer]:printers:_printers' \
-	'*:job ids:_lp_list_jobs'
+	'-P+[destination printer]:printer:_printers' \
+	'*:job id:_lp_list_jobs'
       ;;
 
     (lpoptions)
       _arguments \
-	'-E[Force encryption]' \
+	'-E[force encryption]' \
 	'-U:username (for connection to server):_users' \
 	'-h:alternate server:_hosts' \
-	'(-p -l -r -x)-d+[Set default printer]:printers:_printers' \
-	'(-l -x)*-o:job options:_lp_job_options' \
-	'(-d -x)-p+[Destination printer for options]:printers:_printers' \
-	'(-d -o -r -x)-l[List options]' \
+	'(-p -l -r -x)-d+[set default printer]:printer:_printers' \
+	'(-l -x)*-o:job option:_lp_job_options' \
+	'(-d -x)-p+[destination printer for options]:printer:_printers' \
+	'(-d -o -r -x)-l[list options]' \
 	'(-d -l -x)*-r:remove option:_lp_job_options' \
-	'(-d -l -r -o)-x+[Remove all options]:printers:_printers'
+	'(-d -l -r -o)-x+[remove all options]:printer:_printers'
       ;;
 
     (lpstat)
       _arguments \
-	'-E[Force encryption]' \
-	'-R[Shows print job ranking]' \
+	'-E[force encryption]' \
+	'-R[shows print job ranking]' \
 	'-U:username (for connection to server):_users' \
-	'-W:which jobs:(completed not-completed)' \
-	'-a+[Show accepting state]:printers:_printers' \
-	'-c:printer classes:' \
-	'-d[Show current default destination]' \
+	'-W:which job:(completed not-completed)' \
+	'-a+[show accepting state]:printer:_printers' \
+	'-c:printer class' \
+	'-d[show current default destination]' \
 	'-h:hostname (alternate server):_hosts' \
-	'-l[Long listing]' \
-	'-o+[Destinations]:printers:_printers' \
-	'-p+:printers:_printers' \
+	'-l[long listing]' \
+	'-o+[destinations]:printer:_printers' \
+	'-p+:printer:_printers' \
 	'-r[CUPS server running status]' \
-	'-s[Status summary]' \
-	'-t[All status info]' \
-	'-u[List jobs by users]:users:_users' \
-	'-v+[Show devices]:printers:_printers'
+	'-s[status summary]' \
+	'-t[all status info]' \
+	'-u[list jobs by users]:user:_users' \
+	'-v+[show devices]:printer:_printers'
       ;;
 
     (lpr)
       _arguments \
-	'-E[Force encryption]' \
+	'-E[force encryption]' \
 	'-H:hostname (alternate server):_hosts' \
-	'(-C -J -T)'-{C,J,T}':job name:' \
-	'-P+[Destination printer]:printers:_printers' \
+	'(-C -J -T)'-{C,J,T}':job name' \
+	'-P+[destination printer]:printer:_printers' \
 	'-U:username (for connection to server):_users' \
-	'-#[Copies]:copies (1--100):' \
-	'-h[Disables banner printing]' \
-	'-l[Raw file]' \
-	'-m[Send an email on job completion]' \
-	'*-o:print job options:_lp_job_options' \
-	'-p[Format with shaded header incl. date, time etc.]' \
-	'-q[Hold job for printing.]' \
-	'-r[Delete files after printing]' \
-	'*:PS/PDF files:_pspdf'
+	'-#[copies]:copies (1--100)' \
+	'-h[disables banner printing]' \
+	'-l[raw file]' \
+	'-m[send an email on job completion]' \
+	'*-o:print job option:_lp_job_options' \
+	'-p[format with shaded header incl. date, time etc.]' \
+	'-q[hold job for printing.]' \
+	'-r[delete files after printing]' \
+	'*:PS/PDF file:_pspdf'
       ;;
 
     (lp)
       _arguments \
-	'-E[Force encryption]' \
-	'-U[Username (for connection to server)]:username:_users' \
+	'-E[force encryption]' \
+	'-U[username (for connection to server)]:username:_users' \
 	'-c[(OBSOLETE) copy to spool dir before printing]' \
-	'-d+[Destination printer]:printers:_printers' \
+	'-d+[destination printer]:printer:_printers' \
 	'-h:hostname (alternate server):_hosts' \
-	'-i[Job id to modify]:job id:' \
-	'-m[Send an email on job completion]' \
-	'-n[Copies]:copies (1--100):' \
-	'*-o:print job options:_lp_job_options' \
-	'-q[Job priority -- 1 (lowest) to 100 (highest)]:priority:' \
-	"-s[Don't report resulting job IDs]" \
-	'-t[Sets the job name]:job name:' \
-	'-u[Job submission username]:username:_users' \
-	'-H[Time to print]:print time (or enter hh\:mm):(hold immediate restart resume)' \
-	'-P:page range list:' \
-	'*:PS/PDF files:_pspdf'
+	'-i[job id to modify]:job id' \
+	'-m[send an email on job completion]' \
+	'-n[copies]:copies (1--100)' \
+	'*-o:print job option:_lp_job_options' \
+	'-q[job priority -- 1 (lowest) to 100 (highest)]:priority' \
+	"-s[don't report resulting job IDs]" \
+	'-t[set the job name]:job name' \
+	'-u[job submission username]:username:_users' \
+	'-H[time to print]:print time (or enter hh\:mm):(hold immediate restart resume)' \
+	'-P:page range list' \
+	'*:PS/PDF file:_pspdf'
       ;;
 
     (lpinfo)
       _arguments \
-	'-E[Force encryption]' \
-	'-U[Username (for connection to server)]:username:_users' \
+	'-E[force encryption]' \
+	'-U[username (for connection to server)]:username:_users' \
 	'-h:hostname (alternate server):_hosts' \
-	'-l[Shows a "long" listing of devices or drivers]' \
-	{--exclude-schemes,--include-schemes}'[Device/PPD schemes to filter from results]:scheme-list:' \
-	'(-v --timeout)--device-id[IEEE-1284 device ID to match]:device-id-string:' \
-	'(-v --timeout)--language:locale:' \
-	'(-v --timeout)--product[Product to match]:name:' \
-	'(-v --timeout)--make-and-model[Make and model to match]:name:' \
-	'(-v --timeout)-m[List available drivers]' \
-	'(-m --device-id --language --make-and-model --product)--timeout[Timeout when listing devices with -v]:timeout (seconds):' \
-	'(-m --device-id --language --make-and-model --product)-v[List available devices]'
+	'-l[show a "long" listing of devices or drivers]' \
+	{--exclude-schemes,--include-schemes}'[device/PPD schemes to filter from results]:scheme-list' \
+	'(-v --timeout)--device-id[IEEE-1284 device ID to match]:device-id-string' \
+	'(-v --timeout)--language:locale' \
+	'(-v --timeout)--product[product to match]:name' \
+	'(-v --timeout)--make-and-model[make and model to match]:name' \
+	'(-v --timeout)-m[list available drivers]' \
+	'(-m --device-id --language --make-and-model --product)--timeout[timeout when listing devices with -v]:timeout (seconds)' \
+	'(-m --device-id --language --make-and-model --product)-v[list available devices]'
       ;;
 
     (lpadmin)
       _arguments \
-	'-E[Force encryption/Enable destination]' \
-	'-U[Username (for connection to server)]:username:_users' \
+	'-E[force encryption/enable destination]' \
+	'-U[username (for connection to server)]:username:_users' \
 	'-h:hostname (alternate server):_hosts' \
-	'(-p -R -x -o)-d+[Default printer]:printers:_printers' \
-	'(-d -x)-p+[Configure printer]:printers:_printers' \
-	'(-p -R -d -o)-x+[Delete printer]:printers:_printers' \
-	'(-x -d)-R[Name-default]:name-default:' \
-	'-c:printer classes:' \
-	'-m:model:' \
-	'(-x -d)*-o:options:_lp_job_options' \
-	'-r[Remove from class]:class:' \
-	'-u[Access policy]:access policy:' \
-	'-v[Device-uri of printer queue]:device-uri:' \
-	'-D[Text description of destination]:info:' \
-	'-L[Location of the printer]:location:' \
+	'(-p -R -x -o)-d+[default printer]:printer:_printers' \
+	'(-d -x)-p+[configure printer]:printer:_printers' \
+	'(-p -R -d -o)-x+[delete printer]:printer:_printers' \
+	'(-x -d)-R[name-default]:name-default' \
+	'-c:printer class' \
+	'-m:model' \
+	'(-x -d)*-o:option:_lp_job_options' \
+	'-r[remove from class]:class' \
+	'-u[access policy]:access policy' \
+	'-v[device-uri of printer queue]:device-uri' \
+	'-D[text description of destination]:info' \
+	'-L[location of the printer]:location' \
 	'-P[PPD file to use]:PPD file:_files "*.(#i)ppd(-.)"'
   esac
 }


           reply	other threads:[~2020-08-04 12:10 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <91555-1596543022.737930.ref@nDpk.4Sv0.L_Hv>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=91555-1596543022.737930@nDpk.4Sv0.L_Hv \
    --to=okiddle@yahoo.co.uk \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).