Question about lang.parserDefinition in XML
Hi,
In my META-INF/plugin.xml if I have a tag called tag, what attributes must be present?
From trial and error I've determined that if I put a "factoryClass"
attribute in, it should be the fully-qualified name of class which
implements the com.intellij.openapi.extensions.ExtensionFactory
interface.
If I put in an "implementationClass" attribute, I know that that must
be the fully-qualified name of a class that implements
com.intellij.lang.ParserDefinition
I've also determined that it needs a "language" attribute. Is there
somewhere that documents all of this clearly? I feel like I've been
doing things the hard (or stupid) way.
Also, I'm not quite sure what I should put in my
ExtensionFactory-implementing class if I use one.
If anyone could point me in the direction of some documentation that
explains how all these pieces fit together, that would be great!
Thanks in advance,
-Mike
Please sign in to leave a comment.
Hello Mike,
You need to put in the "language" and "implementationClass" attributes. The
"factoryClass" is something that is designed to allow writing implementations
of extension points in languages other than Java; that's not something that
should be used by regular plugin developers.
Why don't you look at example code? There are plenty of language plugins
available, both in the CE source code (Groovy) and elsewhere.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Hi Dmitry,
Thanks for the clarification. I'll try to infer what's going on from
sample code.
I tried creating a new plugin project and then added the groovy plugin
sources, but now I'm having trouble resolving dependencies. For
example, where does
com.intellij.lang.refactoring.ReferencesToInlineSearcher live?
Is the groovy plugin the best example to work from in your opinion?
Thanks again for all of your help.
-Mike
On 2011-08-30 10:23:31 +0000, Dmitry Jemerov said:
>> In my META-INF/plugin.xml if I have a tag called
>> explains how all these pieces fit together, that would be great!
Hello Mike,
If you're working with IDEA 10.5, please make sure to get the Groovy plugin
code from the xena branch, not from the master branch. Otherwise it won't
compile.
The Groovy plugin is fairly large and complilcated; many of the other plugins
are much smaller. The simplest of JetBrains-developed plugins is probably
La Clojure.
>> Hello Mike,
>>
>> You need to put in the "language" and "implementationClass"
>> attributes. The "factoryClass" is something that is designed to allow
>> writing implementations of extension points in languages other than
>> Java; that's not something that should be used by regular plugin
>> developers.
>>
>> Why don't you look at example code? There are plenty of language
>> plugins available, both in the CE source code (Groovy) and elsewhere.
>>
>>> In my META-INF/plugin.xml if I have a tag called
>>>
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Thanks Dmitry!
I apologize for the naiive question, but how do I grab the "xena"
branch? (I haven't used git very much).
On 2011-08-30 17:06:04 +0000, Dmitry Jemerov said:
>> Thanks for the clarification. I'll try to infer what's going on from
>> sample code.
>>
>> I tried creating a new plugin project and then added the groovy plugin
>> sources, but now I'm having trouble resolving dependencies. For
>> example, where does
>> com.intellij.lang.refactoring.ReferencesToInlineSearcher live?
>>
>> Is the groovy plugin the best example to work from in your opinion?
>>
>> Thanks again for all of your help.
>>
>> -Mike
>>
>> On 2011-08-30 10:23:31 +0000, Dmitry Jemerov said:
>>
>>> Hello Mike,
>>>
>>> You need to put in the "language" and "implementationClass"
>>> attributes. The "factoryClass" is something that is designed to allow
>>> writing implementations of extension points in languages other than
>>> Java; that's not something that should be used by regular plugin
>>> developers.
>>>
>>> Why don't you look at example code? There are plenty of language
>>> plugins available, both in the CE source code (Groovy) and elsewhere.
>>>
>>>> In my META-INF/plugin.xml if I have a tag called
>>>> explains how all these pieces fit together, that would be great!
Is it just:
git clone --branch xena git://git.jetbrains.org/idea/community.git xena
?
On 2011-08-30 17:22:01 +0000, Mike Jennings said:
>> Hello Mike,
>>
>> If you're working with IDEA 10.5, please make sure to get the Groovy
>> plugin code from the xena branch, not from the master branch. Otherwise
>> it won't compile.
>>
>> The Groovy plugin is fairly large and complilcated; many of the other
>> plugins are much smaller. The simplest of JetBrains-developed plugins
>> is probably La Clojure.
>>
>>> Thanks for the clarification. I'll try to infer what's going on from
>>> sample code.
>>>
>>> I tried creating a new plugin project and then added the groovy plugin
>>> sources, but now I'm having trouble resolving dependencies. For
>>> example, where does
>>> com.intellij.lang.refactoring.ReferencesToInlineSearcher live?
>>>
>>> Is the groovy plugin the best example to work from in your opinion?
>>>
>>> Thanks again for all of your help.
>>>
>>> -Mike
>>>
>>> On 2011-08-30 10:23:31 +0000, Dmitry Jemerov said:
>>>
>>>> Hello Mike,
>>>>
>>>> You need to put in the "language" and "implementationClass"
>>>> attributes. The "factoryClass" is something that is designed to allow
>>>> writing implementations of extension points in languages other than
>>>> Java; that's not something that should be used by regular plugin
>>>> developers.
>>>>
>>>> Why don't you look at example code? There are plenty of language
>>>> plugins available, both in the CE source code (Groovy) and elsewhere.
>>>>
>>>>> In my META-INF/plugin.xml if I have a tag called
>>>>> explains how all these pieces fit together, that would be great!
Hello Mike,
git checkout -b xena
>> Hello Mike,
>>
>> If you're working with IDEA 10.5, please make sure to get the Groovy
>> plugin code from the xena branch, not from the master branch.
>> Otherwise it won't compile.
>>
>> The Groovy plugin is fairly large and complilcated; many of the other
>> plugins are much smaller. The simplest of JetBrains-developed plugins
>> is probably La Clojure.
>>
>>> Thanks for the clarification. I'll try to infer what's going on from
>>> sample code.
>>>
>>> I tried creating a new plugin project and then added the groovy
>>> plugin sources, but now I'm having trouble resolving dependencies.
>>> For example, where does
>>> com.intellij.lang.refactoring.ReferencesToInlineSearcher live?
>>>
>>> Is the groovy plugin the best example to work from in your opinion?
>>>
>>> Thanks again for all of your help.
>>>
>>> -Mike
>>>
>>> On 2011-08-30 10:23:31 +0000, Dmitry Jemerov said:
>>>
>>>> Hello Mike,
>>>>
>>>> You need to put in the "language" and "implementationClass"
>>>> attributes. The "factoryClass" is something that is designed to
>>>> allow writing implementations of extension points in languages
>>>> other than Java; that's not something that should be used by
>>>> regular plugin developers.
>>>>
>>>> Why don't you look at example code? There are plenty of language
>>>> plugins available, both in the CE source code (Groovy) and
>>>> elsewhere.
>>>>
>>>>> In my META-INF/plugin.xml if I have a tag called
>>>>> explains how all these pieces fit together, that would be great!
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"