Re: [cedet-semantic] semantic-symref question
Brought to you by:
zappo
From: Eric L. <er...@si...> - 2019-11-25 14:56:46
|
On 11/25/19 9:22 AM, Dmitry Gutov wrote: > Hi Eric, > > On 23.11.2019 15:32, Eric Ludlam wrote: >> This would be a big win for CEDET, as these backends are becoming >> quite popular, and would let people use CEDET tools as the interface > > I'm curious. Are there particular features that one would want to use in > CEDET on top of LSP? Because I've always thought of CEDET as a way to > get roughly same capabilities as LSP provides (completion, navigation, > documentation display). I think of CEDET as a providing a generic interface to language services, in addition to a base implementation of those language services. Ideally, if someone wants to write a nice high-level tool, like code navigation (eassist), completion (company), or a refactoring tool, it should be possible to write it once against CEDET. Then when some new tool comes along (like lsp) that does something new (support a new language, faster queries, better accuracy) the tool author need do nothing if that tool is integrated as a back-end for CEDET. CEDET will always provide a base all-emacs implementation, but it has scaling issues. When an external tool exists that can handle the scaling issues, it would provide a nice back-end for CEDET to get the same benefit. Those external tools (like lsp) will often have large user bases that extend past Emacs, which means Emacs would also gain the benefits that larger user group can provide. There are several parts of CEDET that are better than most generic tools. This is why the back-ends often just help with code analytics that haven't been brought into Emacs' workspace yet. Once a particular file is identified, the core CEDET functionality takes over, and the additional data is extracted an used. So, to your original question, what would you use from CEDET on top of lsp? There are a lot of small modes and conveniences, such as decorations modes, include navigation, bookmarks, and code gen with srecode. There are a few other tools on top of CEDET that could also provide benefits. When a new tools is built on something like global, idutils, rtags, etc, then it is restricted to that tool. When the core tool starts to die, then those features in Emacs are lost. Of course, this all depends on individuals volunteering to create CEDET backends when new stuff shows up. Does that make sense? Eric |