Example of modern text editor architecutre


I'm looking for design\architectual guidance for modern text editors.

Modern text editor means that:

  • It has support for syntax highlighting
  • It has auto-completion (something like IntelliSense)
  • It has advanced navigation capabilities (incremental search, etc.)

Following properties will be a plus:

  • Implemented in managed language (Java, any .NET language)
  • Modular architecutre
  • Add-in support

I'm very interested in text editor related design\architecure documents\articles, links to open source projects.

I'm not interested in general recommendations, OOP/design patterns books advertisement.

Currently I'm analyzing SharpDevelop code editor source code. Links to similar projects will be appreciated.

Best Solution

The ultimate text editor is, of course, emacs. I found The Craft of Text Editing, or, Emacs for the Modern World to be an excellent self-study guide for the basics of writing an editor. The examples are all in plain old C, and the text might look a bit dated (it is from 1991), but the basic ideas are still valid, and you thoroughly understand why the editor works the way it does.

Related Question