[clangd] Add textDocument/ast extension method to dump the AST
This is a mass-market version of the "dump AST" tweak we have behind -hidden-features. I think in this friendlier form it'll be useful for people outside clang developers, which would justify making it a real feature. It could be useful as a step towards lightweight clang-AST tooling in clangd itself (like matcher-based search). Advantages over the tweak: - simplified information makes it more accessible, likely somewhat useful without learning too much clang internals - can be shown in a tree view - structured information gives some options for presentation (e.g. icon + two text colors + tooltip in vscode) - clickable nodes jump to the corresponding code Disadvantages: - a bunch of code to handle different node types - likely missing some important info vs dump-ast due to brevity/oversight - may end up chasing/maintaining support for the long tail of nodes Demo with VSCode support: https://imgur.com/a/6gKfyIV Differential Revision: https://reviews.llvm.org/D89571
Loading
Please sign in to comment