zsh-workers
 help / color / mirror / code / Atom feed
* PATCH: use lowercase descriptions in lp completion
       [not found] <91555-1596543022.737930.ref@nDpk.4Sv0.L_Hv>
@ 2020-08-04 12:10 ` Oliver Kiddle
  0 siblings, 0 replies; only message in thread
From: Oliver Kiddle @ 2020-08-04 12:10 UTC (permalink / raw)
  To: Zsh workers

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
 }


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-08-04 12:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <91555-1596543022.737930.ref@nDpk.4Sv0.L_Hv>
2020-08-04 12:10 ` PATCH: use lowercase descriptions in lp completion Oliver Kiddle

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).