[slimpl] How to help Slimpl
Peter Seibel
peter at gigamonkeys.com
Thu Feb 23 08:26:56 CST 2006
On Feb 23, 2006, at 5:56 AM, Larry Clapp wrote:
> Hi, all,
>
> Paolo Amoroso's recent call to arms on the Gardener's list galvanized
> me to actually write the How To Help Slimpl post that I've needed to
> do for weeks.
Excellent. And I'll add one simple task to the top of this list: if
someone could transfer this list of tasks to the project page on the
ALU Wiki then Larry could send a mail to the main Gardeners' list and
let everyone know that if they have any interest in the project they
can take another look. I think that will also make the project ready
to be officially blessed.
-Peter
>
> As I see it, Slim-Vim needs a few infrastructure pieces to help it
> integrate with Vim, some of which this list has discussed already (and
> some of which Slim-Vim can't actually use yet). I've hesitated to
> post such a list in part because it requires more knowledge of Vim or
> Perl than Lisp, and because so many of them I could do by myself and
> just haven't had time or haven't gotten around to yet. Well, more
> fool I. :) Here goes:
>
> - An event system of some kind. The list has discussed this before,
> so several ideas for this exist. I just want someone to complete
> it, document it, and package it as a stand-alone Vim module.
>
> Requirements: I would need to register a Vim function that will get
> called periodically. Ideally the end-user could specify the period.
>
> At this point, I feel somewhat leery of anything requiring a change
> to Vim or Slime, but perhaps we could offer differing levels of
> performance based on the sophistication of the user, e.g. a Vim-only
> event system that anyone could use, or a patched Vim for more
> advanced/adventurous users. (QUICK POLL: Does anyone else share my
> concern along these lines, or would everyone on the list feel
> perfectly comfortable patching Vim and recompiling it for
> themselves?)
>
> - An interface to the Hyperspec, ideally something that interfaces
> with Vim's tag system in a sane way.
> - My VILisp has an interface that works for me, but I've gotten
> little feedback about whether it works for other people. If
> someone would like to play with it on other operating systems and
> browsers and report bugs, that would help me improve it. See
> http://www.vim.org/scripts/script.php?script_id=221.
> - A script to convert the Hyperspec to a Vim help file. (We can't
> just re-release the Hyperspec as a Vim help file, so far as I can
> tell; I think that would count as a "derivative work".) Such a
> script may already exist for general HTML. Great; point us to it!
>
> - Sytax highlighting for a slimpl debugger window. (This will have to
> wait until I *have* a slimpl debugger window, but it's waiting in
> the shed. (I initially wrote "in the wings", but "in the shed"
> works better with the gardening metaphor. :))
>
> - Testing on other operating systems / versions of Perl / versions of
> Vim / versions/implementations of Lisp. I've done the vast majority
> of my testing on Debian Linux with Vim 6.4, Perl 5.7/5.8, and clisp
> 2.33. For the foreseeable future, I plan to test against "a recent
> CVS snapshot of Slime", which I'll update every so often, so no need
> to test earlier versions of that.
>
> - Documentation on the slime/swank interface. This needn't mention
> Slimpl at all, of course, and might get us a few warm fuzzies from
> the Slime team.
>
> - A REPL mode for Vim. I envision this as a mostly-normal editor
> buffer, except that you can't make changes above the last expression
> (if you try to, the editor should automatically copy the current
> expression to the last line and start editing it there), and if you
> press a certain key, it calls a function (which will call Slim-Vim
> to evaluate the expression and return a result).
>
> - Someone to scrutinize Vim's indentation system and a) tell us how to
> tweak it for best results, b) write an indent-expression that
> adjusts indentation properly, and/or c) tell us how to hook Slim-Vim
> into it.
>
> For example, Vim doesn't, by default, indent FLET expressions very
> well:
>
> (flet ((some-long-function-name ()
> (expr)))
> ...)
>
> - Write a Vim function that looks at the current cursor position and
> returns true if it's in a Lisp comment. This would help with
> extracting "the current expression" from the buffer. Currently I
> use the % operator, which doesn't ignore text in comments, so if you
> have "(foo" or an emoticon in a comment it breaks Slim-Vim (and
> VILisp, for that matter).
>
> See also ":help %", and search Vim.org for related modules.
>
> That's about all I can think of at the moment. Thanks for reading
> this far. :)
>
> -- Larry
>
> _______________________________________________
> slimpl mailing list
> slimpl at lispniks.com
> http://www.lispniks.com/mailman/listinfo/slimpl
--
Peter Seibel * peter at gigamonkeys.com
Gigamonkeys Consulting * http://www.gigamonkeys.com/
Practical Common Lisp * http://www.gigamonkeys.com/book/
More information about the slimpl
mailing list