[armedbear-devel] Embedding ABCL into IntelliJ IDEA and writing plugins
Anton Vodonosov
avodonosov at yandex.ru
Wed Aug 19 21:24:07 UTC 2009
Hello,
I created IntelliJ IDEA plugin that embeds ABCL, allows to connect
from SLIME and extend IDEA using Common Lisp.
I haven't contrived any useful functionality (that is easy
to implement), therefore, for the sake of example, the plugin
ads to IDEA commands yank and yank-pop, like in Emacs.
Source may be found here: http://github.com/avodonosov/abcl-idea/tree/master
Binary distro: http://cloud.github.com/downloads/avodonosov/abcl-idea/abcl-idea.zip
There is a readme, check it for more details.
Some conclusions from my experience:
- it is absolutely possible to create IDEA plugins using ABCL.
- Jfli interface to java is currently more convenient than
native ABCL's
- ABCL's performance of slime fuzzy-completion is still
unsatisfying (it is the only little unsatisfying thing
for me)
- ABCL is more suited to be embedded into J editor, than
into something else. For example Interpreter.kill method
stops ABCL like:
if (jlisp) {
... close input output streams
}
else
System.exit(status);
I.e. if we call Interpretter.kill() in IDEA plugin, it will
exit whose IDEA process
This is not a big problem, because with having Interpreter
source code we may But having source code we can copy/past
desirable kill behavior - closing streams. But it would
make sense to reactor it a little to be more embedding friendly.
If somebody is interested to write IDEA plugins in Lisp,
my plugin may be used as a basis for further extension.
Best regards,
- Anton
More information about the armedbear-devel
mailing list