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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
#compdef nim
_nim() {
_arguments -C \
':command:((
{compile,c}\:compile\ project\ with\ default\ code\ generator\ C
doc\:generate\ the\ documentation\ for\ inputfile
{compileToC,cc}\:compile\ project\ with\ C\ code\ generator
{compileToCpp,cpp}\:compile\ project\ to\ C++\ code
{compileToOC,objc}\:compile\ project\ to\ Objective\ C\ code
js\:compile\ project\ to\ Javascript
e\:run\ a\ Nimscript\ file
rst2html\:convert\ a\ reStructuredText\ file\ to\ HTML
rst2tex\:convert\ a\ reStructuredText\ file\ to\ TeX
jsondoc\:extract\ the\ documentation\ to\ a\ json\ file
buildIndex\:build\ an\ index\ for\ the\ whole\ documentation
genDepend\:generate\ a\ DOT\ file\ containing\ the\ module\ dependency\ graph
dump\:dump\ all\ defined\ conditionals\ and\ search\ paths
check\:checks\ the\ project\ for\ syntax\ and\ semantic
))' \
'*-r[run the application]' \
'*--run[run the application]' \
'*-p=[add path to search paths]' \
'*--path=[add path to search paths]' \
'*-d=[define a conditional symbol]' \
'*--define=[define a conditional symbol]' \
'*-u=[undefine a conditional symbol]' \
'*--undef=[undefine a conditional symbol]' \
'*-f[force rebuilding of all modules]' \
'*--forceBuild[force rebuilding of all modules]' \
'*--stackTrace=on[turn stack tracing on]' \
'*--stackTrace=off[turn stack tracing off]' \
'*--lineTrace=on[turn line tracing on]' \
'*--lineTrace=off[turn line tracing off]' \
'*--threads=on[turn support for multi-threading on]' \
'*--threads=off[turn support for multi-threading off]' \
'*-x=on[turn all runtime checks on]' \
'*-x=off[turn all runtime checks off]' \
'*--checks=on[turn all runtime checks on]' \
'*--checks=off[turn all runtime checks off]' \
'*--objChecks=on[turn obj conversion checks on]' \
'*--objChecks=off[turn obj conversion checks off]' \
'*--fieldChecks=on[turn case variant field checks on]' \
'*--fieldChecks=off[turn case variant field checks off]' \
'*--rangeChecks=on[turn range checks on]' \
'*--rangeChecks=off[turn range checks off]' \
'*--boundChecks=on[turn bound checks on]' \
'*--boundChecks=off[turn bound checks off]' \
'*--overflowChecks=on[turn int over-/underflow checks on]' \
'*--overflowChecks=off[turn int over-/underflow checks off]' \
'*-a[turn assertions on]' \
'*-a[turn assertions off]' \
'*--assertions=on[turn assertions on]' \
'*--assertions=off[turn assertions off]' \
'*--floatChecks=on[turn all floating point (NaN/Inf) checks on]' \
'*--floatChecks=off[turn all floating point (NaN/Inf) checks off]' \
'*--nanChecks=on[turn NaN checks on]' \
'*--nanChecks=off[turn NaN checks off]' \
'*--infChecks=on[turn Inf checks on]' \
'*--infChecks=off[turn Inf checks off]' \
'*--nilChecks=on[turn nil checks on]' \
'*--nilChecks=off[turn nil checks off]' \
'*--opt=none[do not optimize]' \
'*--opt=speed[optimize for speed|size - use -d:release for a release build]' \
'*--opt=size[optimize for size]' \
'*--debugger:native[use native debugger (gdb)]' \
'*--app=console[generate a console app]' \
'*--app=gui[generate a GUI app]' \
'*--app=lib[generate a dynamic library]' \
'*--app=staticlib[generate a static library]' \
'*--cpu=alpha[compile for Alpha architecture]' \
'*--cpu=amd64[compile for x86_64 architecture]' \
'*--cpu=arm[compile for ARM architecture]' \
'*--cpu=arm64[compile for ARM64 architecture]' \
'*--cpu=avr[compile for AVR architecture]' \
'*--cpu=esp[compile for ESP architecture]' \
'*--cpu=hppa[compile for HPPA architecture]' \
'*--cpu=i386[compile for i386 architecture]' \
'*--cpu=ia64[compile for ia64 architecture]' \
'*--cpu=js[compile to JavaScript]' \
'*--cpu=m68k[compile for m68k architecture]' \
'*--cpu=mips[compile for MIPS architecture]' \
'*--cpu=mipsel[compile for MIPS EL architecture]' \
'*--cpu=mips64[compile for MIPS64 architecture]' \
'*--cpu=mips64el[compile for MIPS64 EL architecture]' \
'*--cpu=msp430[compile for msp430 architecture]' \
'*--cpu=nimvm[compile for Nim VM]' \
'*--cpu=powerpc[compile for PowerPC architecture]' \
'*--cpu=powerpc64[compile for PowerPC64 architecture]' \
'*--cpu=powerpc64el[compile for PowerPC64 EL architecture]' \
'*--cpu=riscv32[compile for RISC-V 32 architecture]' \
'*--cpu=riscv64[compile for RISC-V 64 architecture]' \
'*--cpu=sparc[compile for SPARC architecture]' \
'*--cpu=sparc64[compile for SPARC64 architecture]' \
'*--cpu=vm[compile for Nim VM]' \
'*--cpu=wasm32[compile to WASM 32]' \
'*--gc=refc[use reference counting garbage collection]' \
'*--gc=arc[use ARC garbage collection]' \
'*--gc=orc[use ORC garbage collection]' \
'*--gc=markAndSweep[use mark-and-sweep garbage collection]' \
'*--gc=boehm[use Boehm garbage collection]' \
'*--gc=go[use Go garbage collection]' \
'*--gc=regions[use region-based memory management]' \
'*--gc=none[disable garbage collection]' \
'*--os=Standalone[generate a stand-alone executable]' \
'*--os=AIX[compile for AIX]' \
'*--os=Amiga[compile for Amiga OS]' \
'*--os=Android[compile for Android]' \
'*--os=Any[compile for any OS]' \
'*--os=Atari[compile for Atari]' \
'*--os=DOS[compile for DOS]' \
'*--os=DragonFly[compile for DragonFly]' \
'*--os=FreeBSD[compile for FreeBSD]' \
'*--os=FreeRTOS[compile for FreeRTOS]' \
'*--os=Genode[compile for Genode]' \
'*--os=Haiku[compile for Haiku]' \
'*--os=iOS[compile for iOS]' \
'*--os=Irix[compile for Irix]' \
'*--os=Linux[compile for Linux]' \
'*--os=MacOS[compile for MacOS]' \
'*--os=MacOSX[compile for MacOSX]' \
'*--os=MorphOS[compile for MorphOS]' \
'*--os=NetBSD[compile for NetBSD]' \
'*--os=Netware[compile for Netware]' \
'*--os=NimVM[compile for NimVM]' \
'*--os=NintendoSwitch[compile for NintendoSwitch]' \
'*--os=OS2[compile for OS2]' \
'*--os=OpenBSD[compile for OpenBSD]' \
'*--os=PalmOS[compile for PalmOS]' \
'*--os=QNX[compile for QNX]' \
'*--os=SkyOS[compile for SkyOS]' \
'*--os=Solaris[compile for Solaris]' \
'*--os=VxWorks[compile for VxWorks]' \
'*--os=Windows[compile for Windows]' \
'*--os=JS[generate javascript]' \
'*--panics=off[turn panics into process terminations: off by default]' \
'*--panics=on[turn panics into process terminations]' \
'*--verbosity=0[set verbosity to 0]' \
'*--verbosity=1[set verbosity to 1 (default)]' \
'*--verbosity=2[set verbosity to 2]' \
'*--verbosity=3[set verbosity to 3]' \
'*--hints=on[print compilation hints]' \
'*--hints=off[disable compilation hints]' \
'*--hints=list[print compilation hints list]' \
':filename:_files -g"*.nim"'
}
_nim "$@"
|