我现在正在使用Lazarus构建开发人员编辑器,并且作为每个优秀的开发人员编辑器,它需要有一个语法突出显示,因为这样我想知道一些事情:
if
来更改TextField
上的字体?TSynEdit
这样做很好吗?TSynEdit
(链接和资源)?答案 0 :(得分:3)
如果你看一下editor for SharpDevelop,你实际上可以看到一个很好的例子。它是用C#实现的,但使用了很好的OOP,可以随时移植到其他平台或语言中。
大多数家庭酿造的语法高亮显示器倾向于使用MS Windows RichText控件,但是当添加大量代码时,它们通常很慢且笨重并且确实变慢。
答案 1 :(得分:3)
您可以阅读Eclipse或VIM的源代码。在Eclipse中,您将找到一个抽象语法树基础。最重要的是经过精心编写以容错的解析器,因为正在进行的代码通常不满足语言的完整语法。突出显示使用语法树中的信息。