[PATCH] D35894: [clangd] Code hover for Clangd

Marc-Andre Laperle via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 2 07:06:39 PDT 2017


malaperle added a comment.

In https://reviews.llvm.org/D35894#828702, @ilya-biryukov wrote:

> I just wanted to take a step back and discuss what we want to get from code hover in the first place.
>
> I would expect a typical code hover to be a bit more involved and include:
>
> - "kind" of a symbol under hover (i.e. a MACRO, global function, typedef, class/struct),
> - type of the symbol, if applicable (i.e. types for local vars, typedefs, etc.),
> - name of the symbol,
> - containing namespace/class information (i.e. "member of namespace std", "member of class std::vector"),
> - doc comment, if any.
>
>   We could start with a subset of those.


I think all of those would be great. Our objective is to bring basic but correct features that will put us close to parity with Eclipse CDT, so that our users can transition. In CDT only the "raw" source is shown, similar to this patch (except in CDT it attaches comment nodes so you get the few lines of comments before). I think priority wise, we would likely want to tackle other LSP features first before adding more things to the hover, (References, Open Definition, etc).
I do find that just showing the raw code is lacking in many situations for example I have found myself having to figure out which namespace a symbol was in by hand so it's very much desirable to add more to the hover.


https://reviews.llvm.org/D35894





More information about the cfe-commits mailing list