我正在尝试使用JFlex将自定义语言突出显示添加到RSyntaxTextArea。但是,当我键入字符时,我得到一个索引越界异常:
http://pastie.org/private/ygjyj4y5nludeu3dn1xug
即使我使用此处提供的示例 JFlex 代码,也会发生这种情况:https://github.com/bobbylight/RSyntaxTextArea/wiki/Adding-Syntax-Highlighting-for-a-new-Language
我不确定是什么原因造成的。有人可以指出我正确的方向吗?
我不太确定为什么会这样,但我似乎通过将 yylex
方法的一部分从 PythonTokenMaker.java
复制到 JFlex 创建的 Java 类来解决此问题。
具体来说,我复制并替换了这段代码:http://pastie.org/private/whjzfhbrzwm8qc88t1idq
它从方法的定义到带有注释的行// store back cached position
希望这将帮助陷入相同问题的人!