rust-analyzer relies heavily on source code generation.
Things like feature documentation or assist tests are implemented by
processing rust-analyzer's own source code and generating the appropriate
output. See sourcegen_
tests in various crates.
This crate contains utilities to make this kind of source-gen easy.