<p>I'm looking for design\architectual guidance for modern text editors.</p>

<p><em>Modern</em> text editor means that:  </p>

<ul>
<li>It has support for syntax highlighting</li>
<li>It has auto-completion (something like IntelliSense)</li>
<li>It has advanced navigation capabilities (incremental search, etc.)</li>
</ul>

<p>Following properties will be a plus:</p>

<ul>
<li>Implemented in managed language (Java, any .NET language)</li>
<li>Modular architecutre</li>
<li>Add-in support</li>
</ul>

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

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

<p>Currently I'm analyzing <a href="http://sharpdevelop.net/OpenSource/SD/" rel="noreferrer">SharpDevelop code editor</a> source code. Links to similar projects will be appreciated.</p>

[{'answer_id': 58677, 'author': 'jfs', 'author_id': 718, 'author_profile': 'https://Stackoverflow.com/users/718', 'pm_score': 2, 'selected': False, 'text': '<p>The editor of <a href="http://sharpdevelop.net/OpenSource/SD/" rel="nofollow noreferrer">SharpDevelop</a> is good and it\'s open source too.</p>\n'}, {'answer_id': 58680, 'author': 'Galwegian', 'author_id': 3201, 'author_profile': 'https://Stackoverflow.com/users/3201', 'pm_score': 2, 'selected': False, 'text': '<p>You could also look at the source code for <a href="http://www.scintilla.org/" rel="nofollow noreferrer">Scintilla</a>.</p>\n'}, {'answer_id': 58735, 'author': 'Sam Hasler', 'author_id': 2541, 'author_profile': 'https://Stackoverflow.com/users/2541', 'pm_score': 1, 'selected': False, 'text': '<p>It\'s probably not what you\'re looking for, it\'s based on Mozilla, but for completeness sake:</p>\n\n<p><a href="http://www.openkomodo.com/" rel="nofollow noreferrer">Open Komodo</a> is an initiative by ActiveState to create an open source platform for building developer environments.</p>\n'}, {'answer_id': 63414, 'author': 'indentation', 'author_id': 7706, 'author_profile': 'https://Stackoverflow.com/users/7706', 'pm_score': 0, 'selected': False, 'text': "<p>Have you looked at vim? It supports autocompletion, syntax highlighting, incremental search, integrated building, etc, etc. It is modular and many of its more advanced features are implemented as plugins that either ship with it or can be found separately (e.g., svn integration, code indexing with cscope/ctags, transparent reading/writing over ssh). </p>\n\n<p>It has apis for writing plugins in several langauges (e.g., python, ruby, perl) as well as its own extension language ('vimscript').</p>\n\n<p>I don't know what they have in terms of high-level architecture documentation, but there is an active community and a developer mailing list that should be able to answer specific questions about how it works if you start digging through the source.</p>\n"}, {'answer_id': 63663, 'author': 'mrjbq7', 'author_id': 8031, 'author_profile': 'https://Stackoverflow.com/users/8031', 'pm_score': 2, 'selected': False, 'text': '<p>The Java-based editor "jEdit", is a good example of text editor architecture, complete with plugin support, a strong user community, and good abstractions.</p>\n'}, {'answer_id': 63762, 'author': 'mfx', 'author_id': 8015, 'author_profile': 'https://Stackoverflow.com/users/8015', 'pm_score': 3, 'selected': False, 'text': '<p>The ultimate text editor is, of course, emacs. I found <a href="http://www.finseth.com/craft/" rel="noreferrer">The Craft of Text Editing, or, Emacs for the Modern World </a> 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 <em>why</em> the editor works the way it does.</p>\n'}, {'answer_id': 159328, 'author': 'ligaz', 'author_id': 6409, 'author_profile': 'https://Stackoverflow.com/users/6409', 'pm_score': 2, 'selected': False, 'text': '<p>You can check out <a href="http://xacc.wordpress.com/" rel="nofollow noreferrer">xacc.ide</a></p>\n'}]
['https://Stackoverflow.com/questions/58671', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1196/']