[slimpl] Hello list, and an idea about asynchronous events

Dmitry Petukhov dmgenp at gmail.com
Wed Feb 15 01:10:19 CST 2006


On 2/14/06, Larry Clapp <larry at theclapp.org> wrote:

>
> > how many people do day-to-day development on VT ?
>
> I do, for work.  I telecommute, so I do most of my coding (no Lisp,
> lots of shell and Perl) in a tty.  Sometimes I develop locally -- in a
> tabbed tty (gnome-terminal), with Vim in some tabs and shells in
> others.  Even when I worked "on site", I did a lot of my development
> ssh'ed into a remote server.  Anyone that develops on a remote server
> might want to do development on a tty.


Then there's a chance what you use screen utility. You can use this to alert
vim within a screen. Maybe not very elegant solution, but again, it works
now ;)

$ screen -t vim-lisp -S lisp vim
$ echo -e "\x1B:call SlimplReadData()\n" >/tmp/temp # this should be
permanent file in slimpl directory
$ screen -S lisp -p vim-lisp -X "readreg" `echo -e "\x01"` "/tmp/temp" # get
vim command into screen register \x01

# now, we can send an event to vim:
$ screen -S lisp -p vim-lisp -X "process" `echo -e "\x01"` # well, we can
use regular letter for register, and avoid this echo




> What does the list think?  I think we have 4 (or maybe 5) choices:
>
>   - Do blocking waits for all calls to Swank


then what with debuger? it might pop up at any moment, you need to peek at
swank socket periodically, or go async.

  - Implement an event framework that basically intercepts many Vim
>     commands (typed text, cursor movement) and does event processing
>     before or after them


This is very poor solution IMO.

  - Fork a separate process that prods Vim (say) 4x/sec via the Vim
>     server channel


no need to prod vim, this process should talk to swank itself (as i said in
another message)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.lispniks.com/pipermail/slimpl/attachments/20060215/f6cd8e76/attachment.html


More information about the slimpl mailing list