Behold ntagger.
ntagger is a small Nim tool that generates universal-ctags–compatible tag files for Nim projects by reusing the Nim compiler's own parser and AST. It can be used both as a CLI (producing a tags stream on stdout or in a file) and as a library via generateCtagsForDir.
I've been trying out neovim for a bit and wanted at least some old school tag matching for Nim. The current ones didn't fit my needs or were broken (including Nim own nim ctags command).
Basic usage matches ctags: ntagger -f tags. There's a special mode just for Atlas as well ntagger --atlas that makes a deps/tags file as well.
Processing ctags for the entire Nim stdlib takes about 0.5 seconds on my machine:
-> % time ntagger --system -f tags
/Users/elcritch/.local/share/grabnim/nim-2.2.6/lib/system/gc_ms.nim(339, 41) Warning: Number of spaces around '+%' is not consistent [Spacing]
ntagger --system -f tags 0.50s user 0.05s system 99% cpu 0.555 total