I kinda had a similar idea also using tree-sitter. what I found was that
tree-sitter's parse tree output is very verbose, containing lots of stuff that is useless for doc generation.
I wasn't able to find a good way to prune and clean up the parse trees into AST at scale (to support multiple languages).
Another difficulty I found was handling c preprocessor. It will make cpp/c language look very different. Tree-sitter can't deal with it properly.
I kinda had a similar idea also using tree-sitter. what I found was that
tree-sitter's parse tree output is very verbose, containing lots of stuff that is useless for doc generation.
I wasn't able to find a good way to prune and clean up the parse trees into AST at scale (to support multiple languages).
Another difficulty I found was handling c preprocessor. It will make cpp/c language look very different. Tree-sitter can't deal with it properly.