Re: [cedet-semantic] semantic-symref question
Brought to you by:
zappo
From: Eric L. <er...@si...> - 2019-11-25 13:29:57
|
Thanks Anand, I wasn't trying to suggest using only lsp. Only that lsp servers sometimes have useful features that would serve as a good backend to CEDET. In the same way you can adapt the output of 'grep' for used with semantic-symref, if any particular lsp server happens to have a similar feature, it too could be adapted. In that light, you might also consider using idutils backend for semantic symref. It supports C/C++ which has roughly the same lexical syntax as Java, and basically provides a grep like output. I was looking through the symref code to remind myself what was there. There is already a grep back-end which is used if no other tool is identified. Maybe you used it already, but it needs improvement? Eric On 11/25/19 2:21 AM, Anand Tamariya wrote: > Hi Eric, > IMHO LSP is to VSCode what CEDET is to Emacs. Only CEDET is a tad > better. LSP offloads all language related editing to a language specific > external service. This overlooks the fact that programming languages are > more similar in their structure than there are differences. CEDET seems > to have beautifully captured this idea. For a demo, I've been able to > use the refactoring logic to extract method that I'd written for Java to > refactor Elisp code!! > > The last thing remaining is the symref backend. In absence of any API, > I'm thinking of post-processing results from grep tool for semantic > references. This should give us a quick win. > > Regards, > Anand > > On Sat, Nov 23, 2019 at 7:02 PM Eric Ludlam <er...@si... > <mailto:er...@si...>> wrote: > > Hi Anand, > > Of the tools I had integrted, none were particularly spectacular for > very large code bases, but ok for smaller ones. > > I'm not familiar with any symref level external tools for Java other > than the core java tools themselves. (ie - the jar files.) There is > some support in CEDET already with some jar based semanticdb tables, > but > I never wrote any introspection tools for symrefs. > > A new thing that has appeared recently are LSP servers for different > languages. A good bet would be to look for an LSP server for Java, and > see what it supports. Supporting LSP as a backend for CEDET would be a > nice addition. This one: https://github.com/emacs-lsp/lsp-java looks > like it supports references. > > The trick would then be to write a semanticdb backend, and a symref > backend over one of these lsp servers Emacs interfaces. 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. > > > Eric > > On 11/21/19 11:24 PM, Anand Tamariya wrote: > > Hi Eric, > > I've looked at some third party scripts. I realized that they > can't work > > across multiple languages without context awareness - my language of > > interest being Java. > > > > Your efforts with these tools is in the right direction and really > > commendable. They provide great starting points for adding > support for > > new languages. Do you recall any API which would help me do a global > > search as grep / cscope tools do which can then be fed into > semantic-symref? > > > > Regards, > > Anand > > > > On Thu, Nov 21, 2019 at 8:43 AM Eric Ludlam > <er...@si... <mailto:er...@si...> > > <mailto:er...@si... <mailto:er...@si...>>> wrote: > > > > On 11/19/19 11:33 PM, Anand Tamariya wrote: > > > Hi Eric, > > > What are your thoughts about integrating semantic parsing with > > symref > > > for refactoring? Is it possible/desirable? > > > > Hi Anand, > > > > That was one of my goals with those two tools. You may > notice that > > in a > > symref buffer, there are some options in the menu for doing > renames. I > > didn't get very far with this project. > > > > Someone else started a refactoring tool using a mix of semantic, > > symref, > > and srecode. > > > > https://github.com/tuhdo/semantic-refactor > > > > I haven't done any coding in a while so haven't tried this > much myself. > > > > Eric > > > |