[PATCH] D89277: [clangd] Add $/dumpMemoryTree LSP extension

Kadir Cetinkaya via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 13 01:56:12 PDT 2020


kadircet added a comment.

In D89277#2326376 <https://reviews.llvm.org/D89277#2326376>, @nridge wrote:

> This is neat! Are there plans to add vscode client support to invoke this?

Yes, since we control the plugin in vscode we should have a way to invoke it there. (we already have support for `switchHeaderSource`).

We should first agree on the interaction though. This currently uses `showMessage` to display the dump, which is the most generic way LSP provides us with, but usually isn't good for multi-line output.
Other options we have are:

- Write it into logs - Hard to find, but at least will look reasonable on every editor.
- Insert as a commented block into the code. (like dumpast) - Clutters the code, but again looks reasonable on every editor and easier to find than logs.
- Provide a json object in clangd and use fancy client side features like tree views. - Probably the best output, but will only work on a handful of editors and will require a lot of effort to implement.

I am leaning towards using showMessage and also logging the tree. Do others have opinions on other possibilities or pros/cons of the options i've listed above?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89277/new/

https://reviews.llvm.org/D89277



More information about the cfe-commits mailing list