On Sep 5, 8:40 am, bradford <
fingerm...@gmail.com> wrote:
> ENSIME exists for Emacs, and it's supposedly great. I haven't seen a
> Vim implementation that supports the same feature set. Why is this?
>
I assume this is what you're talking about?
http://aemon.com/file_dump/ensime_manual.html#tth_sEc1.1
"ENSIME is the ENhanced Scala Interaction Mode for Emacs. It provides
many features that are commonly found only in IDEs, such as live error-
checking, symbol inspection, package/type browsing, and basic
refactorings."
Live error-checking: quickfix list?
Symbol inspection: ctags/cscope support? What does this mean?
Package/type browsing: ctags/cscope support
Basic refactorings: you're kidding. Vim probably has more plugins for
this than I could count in a day.
> "Your editor's extension mechanism should ideally be able to open a
> persistent socket connection and respond to asynchronous events on
> that socket. Otherwise it may be difficult to interact with some of
> the long-running calls."
>
Vim has its own client-server interface which can be used to
communicate with an asynchronous process. There are plugins which
allow users to use these features simply and easily (or so I
understand, I just use them directly).
That said, there have been several requests in the past to allow
asynch processes within Vim itself, to allow things like interactive
terminals within Vim. However without any idea of what you're actually
trying to accomplish we certainly cannot tell you how you might
accomplish it with existing functionality.
> Where is Vim lacking in this regard?
Are you seriously asking, or just trolling? What specifically are you
looking for?