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

PATCH: add (-.) glob qualifier to globs where only files are directly applicable



This was previously done en-masse in 19387 but a few cases have sneaked
past review since. I still ponder whether we should have redefined
_files at the time instead to keep the common case easier.

-g "*" also triggered my recursive grep and is pointless.
And there's a case where we can use the _pdf helper.

Oliver

diff --git Completion/Unix/Command/_bittorrent Completion/Unix/Command/_bittorrent
index 1f305a1c0..1fbab35ef 100644
--- Completion/Unix/Command/_bittorrent
+++ Completion/Unix/Command/_bittorrent
@@ -69,7 +69,7 @@ case $service in
       '--piece_size_pow2+[specify power of 2 to set the piece size to]:power:' \
       "--comment+[specify human-readable comment to put in .torrent]:comment:"\
       "--target+[specify target file for the torrent]:file:_files"\
-      ':file:_files -g "*"'
+      ':file:_files'
     return
   ;;
 
diff --git Completion/Unix/Command/_go Completion/Unix/Command/_go
index 30a2bf88f..0b4b16dfa 100644
--- Completion/Unix/Command/_go
+++ Completion/Unix/Command/_go
@@ -15,4 +15,4 @@ case $service in
   ;;
 esac
 
-_wanted files expl "input file" _files -g "$pat"
+_wanted files expl "input file" _files -g "$pat(-.)"
diff --git Completion/Unix/Command/_pandoc Completion/Unix/Command/_pandoc
index e694606c0..464859655 100644
--- Completion/Unix/Command/_pandoc
+++ Completion/Unix/Command/_pandoc
@@ -67,7 +67,7 @@ _pandoc_template(){
   local format=${${(v)opt_args[(i)(-t|--to|-w|--write)]}%%(+|-)*}
   [[ -z $format ]] && format=${(v)opt_args[(i)(-o|--output)]:e}
   local pat="'*'"   # or '*.*' ?
-  [[ -n $format ]] && pat="'*.$format'"
+  [[ -n $format ]] && pat="'*.$format(-.)'"
   local template_dir=$(_pandoc_default_dir)/templates
   _alternative \
     "local-templates:local template:_files -g $pat" \
@@ -80,7 +80,7 @@ _pandoc_template(){
 _pandoc_highlight_style(){
   _alternative \
     'styles:style:( $(pandoc --list-highlight-styles) )' \
-    'style-files:style file:_files -g "*.theme"'
+    'style-files:style file:_files -g "*.theme(-.)"'
 }
 
 # filter file in $PWD, data-dir/filters/ or $PATH
@@ -98,8 +98,8 @@ _pandoc_filter(){
 _pandoc_lua_filter(){
   local filters_dir=$(_pandoc_default_dir)/filters
   _alternative \
-    'local-filters:local filter:_files -g "*.lua"' \
-    'data-dir-filters:filter in data-dir:_files -W filters_dir -g "*.lua"'
+    'local-filters:local filter:_files -g "*.lua(-.)"' \
+    'data-dir-filters:filter in data-dir:_files -W filters_dir -g "*.lua(-.)"'
 }
 
 # default file in $PWD or data-dir/defaults/
@@ -107,8 +107,8 @@ _pandoc_lua_filter(){
 _pandoc_defaults_file() {
   local defaults_dir=$(_pandoc_default_dir)/defaults
   _alternative \
-    'local-defaults:default file:_files -g "*.yaml"' \
-    'data-dir-defaults:default in data-dir:_files -W defaults_dir -g "*.yaml"'
+    'local-defaults:default file:_files -g "*.yaml(-.)"' \
+    'data-dir-defaults:default in data-dir:_files -W defaults_dir -g "*.yaml(-.)"'
 }
 
 # choose reference location
@@ -214,7 +214,7 @@ _arguments -s \
   '--no-highlight[disables syntax highlighting for code blocks and inlines]' \
   '--highlight-style=[specifies the coloring style to be used in highlighted source code]:style|file:_pandoc_highlight_style' \
   '(- :)--print-highlight-style=[prints a JSON version of a highlighting style]: :_pandoc_highlight_style' \
-  '--syntax-definition=[load a KDE XML syntax definition file]:file:{_files -g "*.xml"}' \
+  '--syntax-definition=[load a KDE XML syntax definition file]:file:_files -g "*.xml(-.)"' \
   {\*-H+,\*--include-in-header=}'[include contents of FILE, verbatim, at the end of the header, implies --standalone]:file:_files' \
   {\*-B+,\*--include-before-body=}'[include contents of FILE, verbatim, at the beginning of the document body, implies --standalone]:file:_files' \
   {\*-A+,\*--include-end-body=}'[include contents of FILE, verbatim, at the end of the document body, implies --standalone]:file:_files' \
@@ -242,14 +242,14 @@ _arguments -s \
   '--reference-doc=[use the specified file as a style reference in producing a docx or ODT file]:file: ' \
   '--epub-subdirectory=[specify the subdirectory in the OCF container that is to hold the EPUB-specific contents]:directory:_files -/' \
   '--epub-cover-image=[use the specified image as the EPUB cover]:file:_files' \
-  '--epub-metadata=[look in the specified XML file for metadata for the EPUB]:file:{_files -g "*.xml"}' \
+  '--epub-metadata=[look in the specified XML file for metadata for the EPUB]:file:_files -g "*.xml(-.)"' \
   '*--epub-embed-font=[embed the specified font in the EPUB]:file:_files ' \
   '--epub-chapter-level=[specify the header level at which to split the EPUB into separate "chapter" files]:number:(1 2 3 4 5 6)' \
   '--ipynb-output=[specify how to tread ipynb output cells]:method:(all none best)' \
   '--pdf-engine=[use the specified engine when producing PDF output]:program:_pandoc_pdf_engine' \
   '*--pdf-engine-opt=[use the given string as a command-line argument to the pdf-engine]:string:_pandoc_pdf_engine_opts' \
-  '*--bibliography=[set the bibliography field in the document'"'"'s metadata to FILE]:file:{_files -g "*.(bib|bibtex|copac|json|yaml|enl|xml|wos|medline|mods|ris)"}' \
-  '--csl=[set the csl field in the document'"'"'s metadata to FILE]:file:{_files -g "*.csl"}' \
+  "*--bibliography=[set the bibliography field in the document's metadata to specified file]:file:_files -g '*.(bib|bibtex|copac|json|yaml|enl|xml|wos|medline|mods|ris)(-.)'" \
+  "--csl=[set the csl field in the document's metadata to specified file]:file:_files -g '*.csl(-.)'" \
   '--citation-abbreviations=[set the citation-abbreviations field in the document'"'"'s metadata to FILE]:file:_files' \
   '--natbib[use natbib for citations in LaTeX output]' \
   '--biblatex[use biblatex for citations in LaTeX output]' \
diff --git Completion/Unix/Command/_transmission Completion/Unix/Command/_transmission
index c060cbae3..9b7309fe2 100644
--- Completion/Unix/Command/_transmission
+++ Completion/Unix/Command/_transmission
@@ -114,7 +114,7 @@ _transmission-remote_days(){
 (( $+functions[_transmission-remote_add] )) ||
 _transmission-remote_add(){
 _alternative \
-    'args:torrent:_files -g ".torrent"' \
+    'args:torrent:_files -g ".torrent(-.)"' \
     'args:url:_urls'
 }
 # complete torrents
diff --git Completion/X/Command/_pdftk Completion/X/Command/_pdftk
index 1ac3223f7..b26deb15f 100644
--- Completion/X/Command/_pdftk
+++ Completion/X/Command/_pdftk
@@ -34,13 +34,11 @@ case $words[CURRENT-1] in
 	;;
 
     (fill_form)
-	_description files expl 'FDF and XFDF file'
-	_files "$@" $expl -g '(#i)*.(fdf|xfdf)'
+        _wanted files expl 'FDF or XFDF file' _files -g '(#i)*.(fdf|xfdf)(-.)'
 	;;
 
     ((multibackground|background|stamp|multistamp|output))
-	_description files expl 'PDF file'
-	_files "$@" $expl -g '(#i)*.pdf'
+	_pdf
 	;;
 
     (update_info)




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