I personally would love to see Yi become the next Emacs/Vi.  Like you
I find Yi's text editing capabilities coupled with its potential for
IDE like features very exciting.
Whenever I'm using an IDE I find myself wishing for emacs editing
capabilities, and whenever I'm using emacs I find myself wishing for
an IDE's knowledge of my project (autocompletion, jump to declaration,
etc.)  You can get some or all of these features for some languages,
Scala has an excellent Emacs plugin that provides all of that and
more, Haskell has several Emacs plugins that together provide most of
this functionality, Slime for Lisp, Cedet for C/C++/Java, etc.
The problems that I have with all of these is that
1) They aren't uniform. They all have features that do more or less
the same thing for their particular language but all the key bindings
are different and even the elisp functions names differ wildly so it's
sometimes hard to even _find_ the functionality you're looking for.
2) They are generally unstable and support is often spotty.  Since
there is no uniform way to support new languages every language
community has to reinvent the wheel and this means bugs, often the
same bugs, across multiple emacs modes.
3) Going along with #2 it's often a couple of hours work just to get
all the functionality because there's no standard.  Flymake mode
closes some of this gap, but only the easiest part of it, the problems
of parsing files and then using that information to help the user
largely has to be redone every time.

I think Yi has huge potential as an emacs/vi like editor but I think
we could possibly accomplish a even more than that by 'supporting
language support'.  Something I want to look into is the possibility
of parsing multiple languages into some kind of generic AST so we
could then provide content assist as a language independent feature.
This is similar to what gcc does by having a front facing phase that
compiles to a gcc specific intermediate language and then a code
generation back end that translates that language into the platform
specific machine code.  That might be ambitious right now though :)

Andrew

On May 16, 9:59 pm, Jeremy Wall <jw...@google.com> wrote:
> It says on the main page of the yi google project page is to make yi the
> editor of choice for haskell hackers.
>
> I'm wondering if that is still the perferred mission. I only bring this up
> since several other contributors on the list have mentioned goals that were
> a little more ambitious. I think Yi has a lot of potential as an editor for
> any source code myself and I'm wondering if maybe we should revisit the
> mission statement? Are we content to only target haskell developers or do we
> want build an editor that is awesome for use by anyone?
>
> Personally I'd like to see Yi be an edtior that hardcore coders perfer.
> Right now the only two real contenders in that realm are Vi and Emacs. Vi
> has the modal edting interface sown up but sucks for configurability and
> extensibility. Emacs has the extensibility and configurability down pretty
> good at least as compared to Vi but it's text editing affordances leave a
> lot to be desired. I originally got interested in Yi because I was
> dissatisfied with both. I'm a pretty advanced Vim user but switched to emacs
> after banging my head against vimscript once too many times. I run Emacs in
> viper mode with vimpulse and it gets me close but not quite all the way to
> vim editing with Emacs extensibility still available to me but it's not
> optimal yet.
>
> Yi seems to have a good foundation to closing the gap between Vim and Emacs
> that I'm looking for. It also has potential in the IDE space without
> sacrificing its text editing and extensibility. I say all of this to ask
> what do the other developers want to accomplish in Yi and is there a common
> unified theme we can pull from that?
>
> Jeremy

-- 
Yi development mailing list
yi-devel@googlegroups.com
http://groups.google.com/group/yi-devel

Reply via email to