1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
#compdef diffoscope
typeset -A opt_args
_diffoscope() {
_arguments \
'--debug[Display debug messages]' \
'--pdb[Open the Python pdb debugger in case of crashes]' \
'--status-fd=[Send machine-readable status to file descriptor FD]:' \
'(--progress --no-progress)'{--progress,--no-progress}'=[Show an approximate progress bar. Default: yes if stdin is a tty, otherwise no.]:' \
'--no-default-limits[Disable most default output limits and diff calculation limits.]' \
'--text=[Write plain text output to given file (use - for stdout)]:' \
'--text-color=[When to output color diff. Default: auto, meaning yes if the output is a terminal, otherwise no.]:--text-color :(never auto always)' \
'--output-empty[If there was no difference, then output an empty diff for each output type that was specified. In --text output, an empty file is written.]' \
'--html=[Write HTML report to given file (use - for stdout)]:' \
'--html-dir=[Write multi-file HTML report to given directory]:' \
'--css=[Link to an extra CSS for the HTML report]:' \
'--jquery=[URL link to jQuery, for --html and --html-dir output. If this is a non-existent relative URL, diffoscope will create a symlink to a system installation. (Paths searched: /usr/share/javascript/jquery/jquery.js.) If not given, --html output will not use JS but --html-dir will if it can be found; give "disable" to disable JS on all outputs.]:' \
'--json=[Write JSON text output to given file (use - for stdout)]:' \
'--markdown=[Write Markdown text output to given file (use - for stdout)]:' \
'--restructured-text=[Write RsT text output to given file (use - for stdout)]:' \
'--difftool=[Compare differences one-by-one using the specified external command similar to git-difftool(1)]:' \
'--profile=[Write profiling info to given file (use - for stdout)]:' \
'--max-text-report-size=[Maximum bytes written in --text report. (0 to disable, default: 0)]:' \
'--max-report-size=[Maximum bytes of a report in a given format, across all of its pages. Note that some formats, such as --html, may be restricted by even smaller limits such as --max-page-size. (0 to disable, default: 41943040)]:' \
'--max-diff-block-lines=[Maximum number of lines output per unified-diff block, across all pages. (0 to disable, default: 1024)]:' \
'--max-page-size=[Maximum bytes of the top-level (--html-dir) or sole (--html) page. (default: %(default)s, remains in effect even with --no-default-limits)]:' \
'--max-page-diff-block-lines=[Maximum number of lines output per unified-diff block on the top-level (--html-dir) or sole (--html) page, before spilling it into a child page (--html-dir) or skipping the rest of the diff block. (default: %(default)s, remains in effect even with --no-default-limits)]:' \
'--new-file[Treat absent files as empty]' \
'--exclude=[Exclude files whose names (including any directory part) match %(metavar)s. Use this option to ignore files based on their names.]:' \
'--exclude-command=[Exclude commands that match %(metavar)s. For example "^readelf.*\s--debug-dump=info" and '^radare2.*' can take a long time and differences here are likely secondary differences caused by something represented elsewhere. Use this option to disable commands that use a lot of resources.]:' \
'--exclude-directory-metadata=[Exclude directory metadata. Useful if comparing files whose filesystem-level metadata is not intended to be distributed to other systems. This is true for most distributions package builders, but not true for the output of commands such as `make install`. Metadata of archive members remain un-excluded except if "recursive" choice is set. Use this option to ignore permissions, timestamps, xattrs etc. Default: False if comparing two directories, else True. Note that "file" metadata actually a property of its containing directory, and is not relevant when distributing the file across systems.]:--exclude-directory-metadata :(auto yes no recursive)' \
'--diff-mask=[Replace/unify substrings that match regular expression %(metavar)s from output strings before applying diff. For example, to filter out a version number or changed path.]:' \
'--fuzzy-threshold=[Threshold for fuzzy-matching (0 to disable, %(default)s is default, 400 is high fuzziness)]:' \
'--tool-prefix-binutils=[Prefix for binutils program names, e.g. "aarch64-linux-gnu-" for a foreign-arch binary or "g" if you"re on a non-GNU system.]:' \
'--max-diff-input-lines=[Maximum number of lines fed to diff(1) (0 to disable, default: 4194304)]:' \
'--max-container-depth=[Maximum depth to recurse into containers. (Cannot be disabled for security reasons, default: %(default)s)]:' \
'--max-diff-block-lines-saved=[Maximum number of lines saved per diff block. Most users should not need this, unless you run out of memory. This truncates diff(1) output before emitting it in a report, and affects all types of output, including --text and --json. (0 to disable, default: %(default)s)]:' \
'--use-dbgsym=[When to automatically use corresponding -dbgsym packages when comparing .deb files. WHEN is one of "never", "auto", "always". Default: auto, meaning yes if two .changes or .buildinfo files are specified, otherwise no.]:--use-dbgsym :(no auto yes)' \
'--force-details[Force recursing into the depths of file formats even if files have the same content, only really useful for debugging diffoscope. Default: %(default)s]' \
'(--help -h)'{--help,-h}'[Show this help and exit]' \
'--version[Show program"s version number and exit]' \
'--list-tools=[Show external tools required and exit. If specified, the output will list packages in that distribution that satisfy these dependencies.]:--list-tools :(arch debian FreeBSD guix)' \
'--list-debian-substvars[List packages needed for Debian in "substvar" format.]' \
'--list-missing-tools=[Show missing external tools and exit. If specified, the output will list packages in that distribution that satisfy these dependencies.]:--list-missing-tools :(arch debian FreeBSD guix)' \
'*:: :->args'
_files
}
_diffoscope
|