This is not a bug but a comment. I ran across Beagle in one of my tech feeds and it reminded me of an idea I had a number of years ago. As I am sure you are aware, the formatting of source code is a religion among software developers. While the formatting of code for readability is important, it is amazing the fervor with which various formatting decisions are debated. Tabs vs spaces, on what line should curly braces be placed, whether to put a space between a cast, etc., etc., ad nauseam. The thought came to me that if source code was stored as an AST rather than formatted text, the formatting could be applied during checkout. This would allow a developer's personal formatting to be applied. In other words, everyone gets the code in the format they prefer. The formatting would also be applied for diffs. I have not pursued this idea but thought I would mention it to you since you are already doing the heavy lifting of AST generation.
This is not a bug but a comment. I ran across Beagle in one of my tech feeds and it reminded me of an idea I had a number of years ago. As I am sure you are aware, the formatting of source code is a religion among software developers. While the formatting of code for readability is important, it is amazing the fervor with which various formatting decisions are debated. Tabs vs spaces, on what line should curly braces be placed, whether to put a space between a cast, etc., etc., ad nauseam. The thought came to me that if source code was stored as an AST rather than formatted text, the formatting could be applied during checkout. This would allow a developer's personal formatting to be applied. In other words, everyone gets the code in the format they prefer. The formatting would also be applied for diffs. I have not pursued this idea but thought I would mention it to you since you are already doing the heavy lifting of AST generation.