Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: use lowercase descriptions in lp completion



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
 }




Messages sorted by: Reverse Date, Date, Thread, Author