在IntelliJ插件

时间:2016-10-11 15:03:34

标签: java intellij-idea intellij-plugin rythm

我目前正在编写IntelliJ插件。 这个插件应该处理HTML,Java(有时也是JavaScript)和rythm(模板引擎)我遵循JetBrains的插件文档。

我的词法分析器(我使用JFlex)匹配所有内容并将匹配的代码识别为HTML。

对于rythm代码部分,我在lexer中有正则表达式。

我还想实现一些Java语言功能,比如完成包和类。

另外,我不知道我的方法是否正确。 Because my lexer splits HTML在某些方面:

  

@,(,),{,}

匹配完整代码并将其识别为HTML的正则表达式是:

  

TEXT = [^ @ *(){}] +

此正则表达式导致我的HTML代码在代码以@,(,),{和}开头的位置被拆分的问题 如果我不知道除了这些字符,我的插件就不会重新调整我的其他正则表达式,而我的括号匹配器将不再起作用,因为它会匹配所有内容。

有没有更好的方法来支持多种语言?如何在我的插件中实现Java语言功能?

0 个答案:

没有答案