> Ryan Joseph via fpc-pascal <fpc-pascal@lists.freepascal.org> hat am 23. April 
> 2020 um 10:58 geschrieben:
> 
> 
> > On Apr 23, 2020, at 3:49 PM, Mattias Gaertner via fpc-pascal 
> > <fpc-pascal@lists.freepascal.org> wrote:
> > > 3) Class/record member completions.
> > I guess you mean identifier completion after a dot.
> 
> Exactly. Fields or methods and helpers even if possible. I assume that exists.
> 
> Btw, the names you're giving like "FindDeclaration" where can I find these? 
> Maybe there's a wiki or unit header I can look at.

https://wiki.freepascal.org/Codetools
And then look at the examples in lazarus/components/codetools/examples.


> > > I would like to implement "code lens" which shows the context of a symbol 
> > > in a popup window but I think only VScode supports this feature and it's 
> > > no common so code tools may not be able to retrieve.
> > What do you mean with "context"? Codetools can give you all kind of context.
> 
> For example VScode lets you hover over a symbol name like TObject and a 
> window will popup that shows the declaration in code, like a mini-editor that 
> goes to the line where the declaration starts in that file. It's basically 
> the same as opening a new tab/window but it's more for really quick 
> references. I'm not sure how it's implemented in LSP but maybe you could 
> return the line number and file name and the client does the rest.

FindDeclaration gives you the line and column. You can also get the source span 
of the declaration.
And there is FindSmartHint, which returns a brief text for a declaration 
including some context like type/var/const, private/public, parent class, etc.

Mattias
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to