emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IDE


From: Eric Ludlam
Subject: Re: IDE
Date: Thu, 22 Oct 2015 08:58:20 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 10/22/2015 07:17 AM, Dmitry Gutov wrote:
On 10/22/2015 04:35 AM, Eric Ludlam wrote:

I'm not sure what is relevant here as far as listing features. There are
12 minor modes that come with semantic doing various diverse things.
Things like idle-summary-mode will show you an api summary of the symbol
under point.

Robe already supports eldoc-mode. If idle-summary-mode has some UI advantages, I believe they should be folded into eldoc-mode as well.


Semantic's idle process handling makes sure databases are synchronized once, then enables tools to run after, so it is more about the scheduling of different tools that use semantic.

In addition, by going through the semantic version, there are a range of different formatting options to use that the user can select from. That doesn't require idle-summary-mode, but is a side effect of using semantic to extract contextual information.

Also, eldoc only supported Emacs Lisp and no extensions when I wrote the semantic idle handler. Other features of idle-summary-mode would port fine between either.

There is COGRE which can pull data from the
buffer, reference some databases, and pop up a uml diagram of your code
which is a bit over-the-top.

COGRE sounds good, but I imagine it'll need more support than just dumping the AST.

And I can't get it to do anything (here's the documentation for automatic generation: http://www.randomsample.de/cedetdocs/cogre/Semantic-Support.html#Semantic-Support, and trying to interact with the editor manually leads to "eieio-oref: eieio-oref called on a class: cogre-class", etc).

It's also not in Emacs, for some reason.

It was deemed optional when Yidong merged CEDET into Emacs. You will probably need to use Emacs24 to make it work. To try it out do this:

1) Install graphviz (it uses that for the layout engine)
2) Start emacs 24
3) Use CEDET from it's git repository
4) M-x find-library RET cogre RET
5) find cogre-element-peer in the code
6) M-x cogre-uml-quick-class RET

should get you something to play with.

(*) Other things that the users ask for is fuzzy completion, showing completions right away after dot (Robe isn't fast enough for that) and working over TRAMP inside a Vagrant environment. It doesn't seem like CEDET integration will help with any of those.


CEDET is a framework that provides an abstraction for connecting different tools that need to talk about hard problems together. The problems it solves are related to project information, abstracting 'tag' information down to something Lisp programs can reason on, and abstracting code generation into a scheme that can allow lisp programs to support multiple languages. CEDET doesn't have 'fuzzy completion' but it can feed a fuzzy completion engine. CEDET doesn't do anything special with TRAMP, but someone could use CEDET to bind that workflow into the common workflow. When thinking about CEDET, it isn't about a bullet list of user facing features but about how it can enable someone working on said feature to have their work leveraged to a wider audience.

Eric



reply via email to

[Prev in Thread] Current Thread [Next in Thread]