[Lldb-commits] [lldb] [lldb-dap] Provide `declarationLocation` for variables (PR #102928)
Walter Erquinigo via lldb-commits
lldb-commits at lists.llvm.org
Wed Aug 21 19:18:20 PDT 2024
walter-erquinigo wrote:
> > @vogelsgesang , the $__lldb_extensions.declaration is used by the Mojo extension. Once this change gets it, I'll update the Mojo extension to use the new declaration info and remove $__lldb_extensions.declaration.
>
> Is that extension's source code available? I wonder how you are currently using the declarationLocation in your frontend, and if your extension is based on `lldb-dap`. If so, would it make sense to upstream your UI integration to `lldb-dap`? Or maybe even to VS-Code itself?
The source code is not available and I couldn't include it in the typescript part of the lldb-dap. I'll explain what I do:
The Mojo extension has a listener that captures the DAP traffic. Then, whenever it receives variable information, which includes `$__lldb_extensions.declaration`, it then invokes the Mojo LSP for all the references of a given variable and then it displays the values of that variable in the source code. It looks like this:
<img width="685" alt="Screenshot 2024-08-21 at 10 16 53 PM" src="https://github.com/user-attachments/assets/6e0d0800-5a65-43bc-a52d-b5037043732f">
Sadly I can't easily open source that because it requires the cooperation of an LSP. If you think that this feature would be useful to you, assuming that you have a preferred LSP, then we can talk about open sourcing this and adding an LSP hook somewhere. With at least 2 LSPs in question, we could design something relatively generic.
https://github.com/llvm/llvm-project/pull/102928
More information about the lldb-commits
mailing list