4

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

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

对于节奏代码部分,我的词法分析器中有正则表达式。

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

另外我不知道我的方法是否正确。因为我的词法分析器在某些时候拆分了 HTML :

@, (, ), {, }

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

文本 = [^@*(){}]+

此正则表达式导致我的 HTML 代码在代码以 @、(、)、{ 和 } 开头的点处被拆分的问题将不再起作用,因为它会匹配所有内容。

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

4

0 回答 0