ref: c01317e08dd94002f497f9a3ec65760ae3e1cddc
dir: /contrib/zsh_compl/_rgbasm/
#compdef rgbasm _rgbasm_warnings() { local warnings=( 'error:Turn all warnings into errors' 'all:Enable most warning messages' 'extra:Enable extra, possibly unwanted, messages' 'everything:Enable literally everything' 'assert:Warn when WARN-type asserts fail' 'backwards-for:Warn when start and stop are backwards relative to step' 'builtin-args:Report incorrect args to built-in funcs' 'charmap-redef:Warn when redefining a charmap mapping' 'div:Warn when dividing the smallest int by -1' 'empty-data-directive:Warn on arg-less d[bwl] in ROM' 'empty-macro-arg:Warn on empty macro arg' 'empty-strrpl:Warn on calling STRRPL with empty pattern' 'large-constant:Warn on constants too large for a signed 32-bit int' 'long-string:Warn on strings too long' 'macro-shift:Warn when shifting macro args part their limits' 'nested-comment:Warn on "/*" inside block comments' 'numeric-string:Warn when a multi-character string is treated as a number' 'obsolete:Warn when using deprecated features' 'shift:Warn when shifting negative values' 'shift-amount:Warn when a shift'\''s operand it negative or \> 32' 'truncation:Warn when implicit truncation loses bits' 'unmapped-char:Warn on unmapped character' 'user:Warn when executing the WARN built-in' ) # TODO: handle `no-` and `error=` somehow? # TODO: handle `=0|1|2` levels for `numeric-string` and `truncation`? _describe warning warnings } local args=( # Arguments are listed here in the same order as in the manual, except for the version '(- : * options)'{-V,--version}'[Print version number]' '(-E --export-all)'{-E,--export-all}'[Export all symbols]' '(-h --halt-without-nop)'{-h,--halt-without-nop}'[Avoid outputting a `nop` after `halt`]' '(-L ---preserve-ld)'{-L,--preserve-ld}'[Prevent auto-optimizing `ld` into `ldh`]' '(-v --verbose)'{-v,--verbose}'[Print additional messages regarding progression]' -w'[Disable all warnings]' '(-b --binary-digits)'{-b,--binary-digits}'+[Change chars for binary constants]:digit spec:' '*'{-D,--define}'+[Define a string symbol]:name + value (default 1):' '(-g --gfx-chars)'{-g,--gfx-chars}'+[Change chars for gfx constants]:chars spec:' '(-i --include)'{-i,--include}'+[Add an include directory]:include path:_files -/' '(-M --dependfile)'{-M,--dependfile}"+[List deps in make format]:output file:_files -g '*.{d,mk}'" -MG'[Assume missing files should be generated]' -MP'[Add phony targets to all deps]' '*'-MT"+[Add a target to the rules]:target:_files -g '*.{d,mk,o}'" '*'-MQ"+[Add a target to the rules]:target:_files -g '*.{d,mk,o}'" '(-o --output)'{-o,--output}'+[Output file]:output file:_files' '(-p --pad-value)'{-p,--pad-value}'+[Set padding byte]:padding byte:' '(-r --recursion-depth)'{-r,--recursion-depth}'+[Set maximum recursion depth]:depth:' '(-W --warning)'{-W,--warning}'+[Toggle warning flags]:warning flag:_rgbasm_warnings' ":assembly sources:_files -g '*.asm'" ) _arguments -s -S : $args