A friend of mine and I have been trying to develop a custom language plugin for OpenGL Shading Language (GLSL).
This plugin started out as a 7.0 plugin but we have now moved over to 8.0.
I see that a lot of stuff has been moved from the Language class to the plugin.xml file instead.
The question is; is it possible to register all classes necessary for syntax highlighting in the xml file or is some "manual" registration still required in the code?
Our current extensions in the xml file are currently:
<fileTypeFactory implementation="glslplugin.GLSLSupportLoader" />
<colorSettingsPage implementation="glslplugin.GLSLColorAndFontsPage" />
<syntaxHighlighter key="GLSL" factoryClass="glslplugin.GLSLHighlighterFactory" />
I added the <syntaxHighlighter ...> in the xml file to register the glsl syntax highlighter but using the debugger it becomes apparent the the GLSLFactory is never instantiated. The syntax highlighting is still working in the color settings page though.
Furthermore what does the key attribute refer to and which class is GLSLFactory supposed to be a subclass of? Looking at the source code for the JS plugin its SyntaxHighlighterProvider, but if it's never instantiated, what use is it?
For now we have a explicit registration of the syntax highlighter in the GLSLLanguage constructor and it seems to work.
What are the minimum set of components needed for syntax coloring and how are they registered with IDEA (preferably using the xml file)?
Thanks in advance,
Yngve D Hammersland