On Sat, Feb 7, 2009 at 4:51 PM, Jeff Wheeler <[email protected]> wrote:

> This doesn't seem too complicated to implement, assuming the statusbar
> already allows variable heights (I think it does, because entering
> command mode in Vim with ':' changes the height from one to two lines).

It does not. I think it would be rather easy to implement though
(localized at least),
you can find the code in Yi.UI.Vty.refresh.


> Somewhat related, I think it would be super neat to write keybindings
> using TemplateHaskell, with a syntax like [$keys|C-M-a|]. With tons of
> help from #haskell, I got something like [1] (way more help than I
> deserved, hehe). Anybody else think that would be neat?

This is also a long-time wanted feature; I think you refer to
quasiquoting rather than
TH per se though.

>> Currently, devising highlighting schemes for new languages is a bit tedious. 
>> One
>> has to create a couple of files, and I haven't yet found good documentation 
>> on
>> how to do so, and what are good practices. It's been a while since I've tried
>> doing something in that direction, so I don't remember any particular gripes.
>> But I do like the parsing-approach. I looked into ditch Vim because 
>> vimscript is
>> an unbearable Perlesque PITA, and making *formally* correct syntax files is 
>> next
>> to impossible!
>
> When I wrote the Python lexer, I never instructed Yi on how to combine
> the tokens into a tree, forming structures like "function definition"
> and "class definition". I'd like to do this; I think Parsec or BNF
> syntax suggest a good way to handle this.

We have a parsing library (Parser.Incremental). Student(s) will start now
with using it to improve/implement some modes. Once they are done I
expect it will be easy to copy/paste their work and do syntax-level stuff for
other languages.

Cheers,
JP.

--~--~---------~--~----~------------~-------~--~----~
Yi development mailing list
[email protected]
http://groups.google.com/group/yi-devel
-~----------~----~----~----~------~----~------~--~---

Reply via email to