summaryrefslogtreecommitdiffstats
path: root/scripts/completion
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/completion')
-rw-r--r--scripts/completion/zsh/_dpkg-parsechangelog23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/completion/zsh/_dpkg-parsechangelog b/scripts/completion/zsh/_dpkg-parsechangelog
new file mode 100644
index 0000000..21fd9bc
--- /dev/null
+++ b/scripts/completion/zsh/_dpkg-parsechangelog
@@ -0,0 +1,23 @@
+#compdef dpkg-parsechangelog
+
+local -a args
+args=(
+ '(-l --file)'{-l+,--file=}'[specify path to d/changelog]: :_files'
+ # Note: We have to use "= " since _perl_modules in zsh ≤5.8 assumes ${words[1]} is a perl. (See workers/48321)
+ '-F+[specify changelog format]:changelog format:= _perl_modules --strip-prefix --perl-hierarchy=Dpkg\:\:Changelog'
+ '!-L+'
+ '(-S --show-field)'{-S+,--show-field=}'[show only one field]:changelog field:(Source Version Distribution Urgency Maintainer Date Timestamp Closes Changelog)'
+ '(-)'{-\?,--help}'[show the usage message]'
+ '(-)--version[show the version information]'
+ '--format=[set the output format]:output format:((dpkg\:classic rfc822))'
+ '(--all)--reverse[print all changes, oldest to newest]'
+ '(--reverse)--all[print all changes, newest to oldest]'
+ # TODO: all these should complete version numbers from ${(Q)opt_args[-l]:-debian/changelog}
+ '(-s --since -v)'{-s+,--since=,-v+}'[specify strict lower bound]:version number'
+ '(-u --until)'{-u+,--until=}'[specify strict upper bound]:version number'
+ '(-f --from)'{-f+,--from=}'[specify weak lower bound]:version number'
+ '(-t --to)'{-t+,-to=}'[specify weak upper bound]:version number'
+ '(-c --count -n)'{-c+,-n+,--count=}'[specify number of entries to print]:limit (integer)'
+ '(-o --offset)'{-o+,--offset=}'[offset the number of entries to print]:offset (integer)'
+)
+_arguments : "${args[@]}"