在一个RCP 项目中,我建了一个要做汇编的editor,这个editor是继承TextEditor的,现在我需要实现几个功能,语法高亮,文本修饰等等。
现在就是遇到了几个问题,现在语法高亮暂时是可行的,不过就是定义了关键字,通过scan关键字来实现高亮,所以不是通过parser的方式进行的,应为关键字我都是在定义好的xml文件中写死的,所以说就是像自定义的一些变量名,还有就是label那种,就不能实现高亮了。现在看到说用ANTLR,但是ANTLR定义了文法之后应该怎么应用到editor中呢,这是一个问题。
还有一个问题就是,因为我的editor继承的是TextEditor,这个里面好像已经是直接用了SourceViewer了,但是我如果要实现Text Decoration这个功能的话,我就需要拓展SourceViewer,但是,我在editor中应该怎么样用我自己的SourceViewer,而不是用的他自己的呢,我看了一下,editor里面有一个createSurceViewer的方法,但是具体应该怎么实现呢?
跪求大神能够出现啊~~
------解决方案--------------------
关于文本编辑器,有一篇系列文章推荐阅读:
https://www.ibm.com/developerworks/cn/opensource/os-cn-ecljtf/