[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