The prebuild ASTs option prebuilds the ASTs for all files in a
compilation base when a single file in that compilation database
gets opened by the client. This reduces latency when a opening
subsequent files in the same compilation database. This matters
in large codebases where building the AST can take multiple seconds.
This is hidden behind an option as this might have a non-trivial
overhead on huge projects with a single compilation database
containing all files used in the project. If we want to enable
this by default, we might need a heuristic that only prebuilds the
AST for a set of files that the user is likely to access next.
Another option is to make the set of files that have their AST
prebuild configurable via globs.
This is still missing tests and more documentation but I wanted to get some feedback first before continuing.