emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs learning curve


From: Eric M. Ludlam
Subject: Re: Emacs learning curve
Date: Wed, 14 Jul 2010 07:43:42 -0400
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a1pre) Gecko/20091222 Shredder/3.1a1pre

On 07/13/2010 10:49 PM, Stephen J. Turnbull wrote:
David Engster writes:

  >  As you know, a language mode consists of different things. For instance
  >  font locking, indentation, accessing some kind of documentation, or
  >  communication with an interpreter. CEDET doesn't really immediately have
  >  much to do with those, although font locking could probably profit from
  >  a semantic parser and semantic tags can also contain documentation;
  >  indentation is entirely another beast, though.
  >
  >  I think all that was said was that CEDET can provide stuff like semantic
  >  parsing, project support and template generation under a general
  >  framework, so that other tools (like ECB) can use that information, and
  >  therefore it might be possible to unify those areas of a language mode.

Maybe that's all that was intended to be said, but the requirement was
for a unifying framework *now*, and it was claimed that CEDET fits the
bill.  According to the description above, it does not.  Instead, it
adds yet another set of semantics for overlaying on a text buffer.  It
does not unify the existing sets (syntax highlighting, grinding, MMM
for mixed-language files, maybe others like project membership), and
it hasn't even been demonstrated that it *can*.

I feel the need to both agree and disagree.

I agree that CEDET is not a unifying force for *all* things a language mode may wish to do.

I had responded to a couple different assertions. One was something David Kastrup wrote:

| The question is why the respective facilities are not part of the
| generic Emacs language support framework.  Support for every language
| has a completely disjoint set of features, keybindings, highlighting,
| and so on of wildly differing quality, design and usability.

My response was meant that CEDET is not a C/C++ only feature, but an infrastructure under which a mode can support code completion and the like. CEDET doesn't tackle keybindings or font lock since Emacs already does that. However, a suite of minor modes based on the infrastructure of CEDET can provide features (like code completion) which a mode author then does not need to implement themselves if a grammar is supplied. Thus, advanced major modes that try to solve some complex problems like code completion, compilation, or code generation could have a unified set of keybindings and behaviors for those features based on those minor modes.

Hopefully that is more clear.

A second thing I responded to was something Tom wrote:

| Since we don't have a killer feature which would attract new
| users like perfect code assist (context aware completion, instant
| display of documentation of elements, live indication of syntax
| errors, etc.) out of the box with near-zero configuration, we

to which this current thread branch originates. The CEDET/Semantic tools can do these things such as code assist, display documentation (though you have to ask for it) and even live indication of some syntax errors. (A feature that could use some help in CEDET.)

In theory, things like font-lock, or MMM mode features could work with the parsers CEDET/Semantic. I've participated in discussions on these topics to try and solve them, but they are not solved, so I agree there is no quick fix there.

Eric




reply via email to

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