Extending an existing custom language plugin
hello there in this part of the forum.
I am currently developing a plugin, which is on it's own just an extension of the Lua plugin. To be more explicit, i am developing a plugin for a more complete integration of Corona and some OO-approaches.
Well, I know, i have the <depends> tag in my plugin.xml which provides all the sources that i need. So far, so good.
My problem right now is, that all my extension points are seem to be ignored. I try to explain everything that i tried, need and have done in a short few bullet points below:
- i tried to add my extensions (for example an Annotator) with something like this:
<annotator language="Lua" implementationClass="path.to.my.CoronaAnnotator"/>
this Language is not my own, that one is from the existing Lua-Plugin (props to sylvanaar for this). My guess is, that only one language-key can be existing in the "extension-point-pipeline" - i tried adding my own Corona-Language file, but they need to have the same file extensions like in the Lua-Plugin, since Corona scripts are nothing more than Lua scripts.
- I tried to take the same language and tried to solve this by ordering it. This is not possible too
- I want to keep this plugin as its own project, because i think it is the more cleaner approach (programmatic wise)
Basically I would like to get those two plugins up and running parallelly. So that, where my plugin fails to deliver, the other one kicks in and takes over the job.
I don't know right now if i am missing some steps in my searching-/trying-/raging-/finding-process.
Any ideas here?
Thanks and greetings, Felix
Please sign in to leave a comment.
Hello Felix,
> all my extension points seem to be ignored.
> only one language-key can be existing in the "extension-point-pipeline"
It appears so.
> I want to keep this plugin as its own project, because i think it is the more cleaner approach (programmatic wise)
It is cleaner, yes.
> I would like to get those two plugins up and running parallelly. So that, where my plugin fails to deliver, the other one kicks in and takes over the job.
If this were possible, this would be one very impressive feature. Most likely this is not currently possible.
I am working on a plugin for an existing (supported) language. To make it work, I disabled all plugins supporting this language, including file extension binding. As a quick check, after disabling standard plugins but before enabling the new plugin, open a project with files in that language. File syntax should not be recognized by Idea.
You cannot provide language support/filetype specific support for the same language/filetype from two plugins simultaneously.
If there are dynamic "extensions" for an existing language, the original plugin must provide corresponding extension points for 3rd party plugins to "override" default language support.
Adding another <annotator> for existing language (or inspection or other "extendable" features) is quite possible, though.