#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' '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' 'purge:Warn when purging exported symbols or labels' 'shift:Warn when shifting negative values' 'shift-amount:Warn when a shift'\''s operand is negative or \> 32' 'truncation:Warn when implicit truncation loses bits' 'unmapped-char:Warn on unmapped character' 'unmatched-directive:Warn on unmatched directive pair' 'unterminated-load:Warn on LOAD without ENDL' 'user:Warn when executing the WARN built-in' ) _describe warning warnings } local args=( # Arguments are listed here in the same order as in the manual, except for the version and help '(- : * options)'{-V,--version}'[Print version number and exit]' '(- : * options)'{-h,--help}'[Print help text and exit]' '(-E --export-all)'{-E,--export-all}'[Export all symbols]' '(-v --verbose)'{-v,--verbose}'[Enable verbose output]' -w'[Disable all warnings]' '(-b --binary-digits)'{-b,--binary-digits}'+[Change chars for binary constants]:digit spec:' --color'[Whether to use color in output]:color:(auto always never)' '*'{-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}"+[Write dependencies in Makefile format]:output file:_files -g '*.{d,mk}'" -MC'[Continue after missing dependencies]' -MG'[Assume missing dependencies should be generated]' -MP'[Add phony targets to all dependencies]' '*'-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 --preinclude)'{-P,--preinclude}"+[Pre-include a file]:include file:_files -g '*.{asm,inc}'" '(-p --pad-value)'{-p,--pad-value}'+[Set padding byte]:padding byte:' '(-Q --q-precision)'{-Q,--q-precision}'+[Set fixed-point precision]:precision:' '(-r --recursion-depth)'{-r,--recursion-depth}'+[Set maximum recursion depth]:depth:' '(-s --state)'{-s,--state}"+[Write features of final state]:state file:_files -g '*.dump.asm'" '(-W --warning)'{-W,--warning}'+[Toggle warning flags]:warning flag:_rgbasm_warnings' '(-X --max-errors)'{-X,--max-errors}'+[Set maximum errors before aborting]:maximum errors:' ":assembly sources:_files -g '*.asm'" ) _arguments -s -S : $args