emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r1013


From: Jorgen Schaefer
Subject: Re: Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r101338: ...)
Date: Sun, 16 Feb 2014 18:07:12 +0100

On Sun, 16 Feb 2014 18:45:36 +0200
Eli Zaretskii <address@hidden> wrote:

> But how about starting with those GUI code folding
> decorations like every IDE nowadays has, while Emacs doesn't?  (ECB
> comes close, but why shouldn't an Emacs user have that out of the box,
> especially when Speedbar does something very similar for ages?)

Assuming you mean something like this:

http://pythonthusiast.pythonblogs.com/gallery/230/pycharm2.PNG

Yes please.

The whole code folding infrastructure in Emacs needs work, really. The
problem, as often with Emacs, is not that it wouldn't exist at all, but
that there are two dozen solutions that all have different
shortcomings.
 
> > Despite certain expectations that everything is better when written
> > in Emacs Lisp, context-dependent code completion and documentation
> > display support is usually delegated to an external process, and
> > there are relatively new packages that use editor-agnostic
> > services: Jedi for Python, nREPL for Clojure, Tern for JavaScript,
> > OmniSharp for C#.
> 
> Where's their integration with Emacs, though?

Jedi: https://github.com/tkf/emacs-jedi
Jedi and Rope: https://github.com/jorgenschaefer/elpy
nrepl: https://github.com/technomancy/nrepl.el (and others)
tern: https://github.com/marijnh/tern/tree/master/emacs (and others)
OmniSharp: https://github.com/sp3ctum/omnisharp-emacs (apparently)

Some of them have integration with company, too.

As I said in the thread you mentioned, the problem is not that these
extensions wouldn't exist for Emacs, it's that each and every one of
them reinvents most of the wheel to get similar features to Emacs.

> > There are even several packages that provide support for C/C++ code 
> > completion using Clang or libclang. They are older, though, than
> > the ones mentioned above.
> 
> And where's _their_ integration with Emacs?

The integration was declined on this list because Emacs should prefer
gcc over clang to protect user's freedoms, and gcc does not provide such
features.

> > One feature that has seen less attention is refactoring, but there 
> > already are a few packages providing simplistic (and some, even
> > more complex) refactorings: js2-refactor, ruby-refactor,
> > clj-refactor, traad and others.
> 
> Yes, refactoring is very important, and we should have it before we
> can call ourselves IDE.

Various Rope-based extensions for Emacs (ropemacs, elpy) offer access to
Rope's Python refactoring tools. It's still short of "real"
integration, though, but the first steps are there.

Regards,
Jorgen



reply via email to

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