开发者

How Is Syntax Highlighting Built?

开发者 https://www.devze.com 2022-12-16 01:07 出处:网络
I\'m now building a developers editor using Lazarus and as every good developers editor, it n开发者_JAVA百科eeds to have a syntax highlighting, because of this that I want to know some things:

I'm now building a developers editor using Lazarus and as every good developers editor, it n开发者_JAVA百科eeds to have a syntax highlighting, because of this that I want to know some things:

  • How is syntax highlight normally built(using many ifs to change the font on a TextField?
  • TSynEdit is very nice to do this?
  • How to use TSynEdit(links and resources)?


You can actually see an excellent example for yourself if you look at the editor for SharpDevelop. It's implemented in C# but uses great OOP that should be readily portable to other platforms or languages.

Most home-brewed syntax highlighters tend to use the MS Windows RichText control but they're usually slow and clunky and really slow down when a lot of code is added.


You could read the source code of Eclipse or VIM. In Eclipse you will find an Abstract Syntax Tree base. On top of it are parsers that are carefully written to be tolerant of errors, since code in progress often does not satisfy the full grammar of the language. The highlighting uses the information in the syntax tree.

0

精彩评论

暂无评论...
验证码 换一张
取 消