#compdef cbirds
_arguments \
  '--birds[how many birds (default 800)]:value:' \
  '-n[how many birds (default 800)]:value:' \
  '--size[sprite size in pixels (default 30)]:value:' \
  '-s[sprite size in pixels (default 30)]:value:' \
  '--flocks[flocks that keep to their own kind (default 1)]:value:' \
  '-g[flocks that keep to their own kind (default 1)]:value:' \
  '--hawks[predators hunting the flock (default 0)]:value:' \
  '-k[predators hunting the flock (default 0)]:value:' \
  '--preset[murmuration, swarm, storm]:name:(murmuration swarm storm)' \
  '--seed[the same seed gives the same flock]:value:' \
  '--boundary[how hard the edges push back (default 4)]:value:' \
  '--separation[how much a bird keeps its distance (default 4)]:value:' \
  '--alignment[how much a bird matches its neighbours (default 4)]:value:' \
  '--turning[sharpest turn a frame, 12 is instant (default 8)]:value:' \
  '--perception[how far a bird sees, 12 to 60 (default 36)]:value:' \
  '--speed[how fast the flock flies, 0.2x to 2.6x (default 1, 0.4x)]:value:' \
  '--avoidance[how much flocks keep out of each other'\''s way (default 4)]:value:' \
  '--color[theme, ember, ice, acid, matrix, aurora, prism, potion, dusk, ash, ink]:name:(theme ember ice acid matrix aurora prism potion dusk ash ink)' \
  '-c[theme, ember, ice, acid, matrix, aurora, prism, potion, dusk, ash, ink]:name:(theme ember ice acid matrix aurora prism potion dusk ash ink)' \
  '--shape[bird, arrow, plane, dot]:name:(bird arrow plane dot)' \
  '--sprite[a PNG you supply, kept in its own colours]:file:_files' \
  '--trails[faint tails behind the flock]' \
  '-e[faint tails behind the flock]' \
  '--depth[a second sky further off: smaller, slower, dimmer birds]' \
  '--3d[a murmuration in three dimensions]' \
  '--panel[the sliders in the corner from the start; h toggles them]' \
  '-l[the sliders in the corner from the start; h toggles them]' \
  '--render[braille by default; sextants, blocks, or kitty in Kitty and Ghostty]:name:(kitty braille sextants blocks)' \
  '--say[the flock writes TEXT and holds it as a sign]:value:' \
  '--clock[the flock tells the time, HH:MM, in local time]' \
  '--clock-at[start the clock at HH:MM or HH:MM:SS, not now]:value:' \
  '--seconds[the clock shows the seconds too, HH:MM:SS]' \
  '--font-size[how many rows tall a sign'\''s letters are, 4 to 10]:value:' \
  '--picture[the flock draws a PNG, in its colours unless --color is given]:file:_files' \
  '--matrix[it is raining birds]' \
  '--text[a file whose letters take flight; text piped in does the same]:file:_files' \
  '--bench[run N frames with no terminal, print the numbers, quit]:value:' \
  '--frames[quit after N frames, for recording]:value:' \
  '--snapshot[write the last frame as a PNG]:file:_files' \
  '--record[record a GIF, or a .cast for asciinema, with no terminal, and quit]:file:_files' \
  '--record-fps[frames a second; a GIF can carry up to 50 (default 25)]:value:' \
  '--record-seconds[how long the recording runs (default 6, 34 for text)]:value:' \
  '--record-size[the size to record at, in cells (default 96x26)]:value:' \
  '--unlock-fps[render as fast as the terminal allows]' \
  '--screensaver[quit at once on any key, click or movement, for tmux'\''s lock-command]' \
  '--link[share one sky with other cbirds --link windows]' \
  '-h[the one-screen help]' \
  '--help[every option, grouped]' \
  '--completion[completions for bash, zsh or fish]:shell:(bash zsh fish)' \
  '-V[print the version and quit]' \
  '--version[print the version and quit]'
