about summary refs log tree commit diff
path: root/Completion/Pbmplus/_pbm_file
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Pbmplus/_pbm_file')
-rw-r--r--Completion/Pbmplus/_pbm_file20
1 files changed, 20 insertions, 0 deletions
diff --git a/Completion/Pbmplus/_pbm_file b/Completion/Pbmplus/_pbm_file
new file mode 100644
index 000000000..6f96d9460
--- /dev/null
+++ b/Completion/Pbmplus/_pbm_file
@@ -0,0 +1,20 @@
+#compdef -P (p[bgpn]m*|*top[bgpn]m)
+
+local expl
+
+if [[ "$words[1]" = pnm* ]]; then
+  pat='*.(#i)p[bgp]m'
+elif [[ "$words[1]" = *top[bgpn]m ]]; then
+  pat="*.(#i)${words[1]%%top[bgpn]m}"
+else
+  pat="*.(#i)${words[1][1,3]}"
+fi
+
+if (( $# )); then
+  expl=( "$@" )
+else
+  _description expl 'picture file'
+fi
+
+_path_files "$expl[@]" -g "$pat" ||
+    _files "$expl[@]" -g '*.(#i)p[bgp]m'