Implement "new project" function for another language.

Hi.

I write a really simple Haskell plugin for IDEA. In most cases the JavaScript plugin is a very good helper.

The JSPlugin showed me how to implement a lexer for the highlighting of the files. It doesn't matter if there is nothing more than that in the beginning. But how can I implement the "new project" mode for Haskell?

So here my questions:

  • Is there an interface to the used project jdk? So I can implement some of the functions like compile for another compiler.

  • Is there an interface to the "Select module type" in the new project wizard?

  • Has anyone written a plugin for another language that needs another compiler. Maybe someone worked on things for lisp??


Cheers
Patrick

2 comments

Hello Patrick,

The source code for DevKit and J2ME plugins included in the Plugin Development
Package should provide you with examples of implementing custom JDK types
and module types.

You can also check out the source code of the GroovyJ plugin:
http://cvs.groovy.codehaus.org/viewrep/groovy/groovy/ide/groovyj

P> The JSPlugin showed me how to implement a lexer for the highlighting
P> of the files. It doesn't matter if there is nothing more than that in
P> the beginning. But how can I implement the "new project" mode for
P> Haskell?
P>
P> So here my questions:
P>
P> * Is there an interface to the used project jdk? So I can implement
P> some of the functions like compile for another compiler.
P>
P> * Is there an interface to the "Select module type" in the new
P> project wizard?
P>
P> * Has anyone written a plugin for another language that needs another
P> compiler. Maybe someone worked on things for lisp??

--
Dmitry Jemerov
Software Developer
JetBrains, Inc.
http://www.jetbrains.com
"Develop with pleasure!"


0

Hi Patrick,

any luck with the haskell plugin ?
do you have any pre-release, alpha, beta, whatever ?
i have to do a few things in haskell and doing them with intellij idea would be great

thanks in advance
Alejandro Gomez

0

Please sign in to leave a comment.