我正在寻找现代文本编辑器的设计\架构指南。
现代文本编辑器意味着:
以下属性将是一个加号:
我对文本编辑器相关的设计\ architecure文档\文章,开源项目的链接非常感兴趣。
我不对一般建议,OOP /设计模式书籍广告感兴趣。
目前我正在分析SharpDevelop code editor源代码。将赞赏与类似项目的链接。
答案 0 :(得分:9)
最终的文本编辑器当然是emacs。我发现The Craft of Text Editing, or, Emacs for the Modern World 是编写编辑器基础知识的优秀自学指南。这些示例都是普通的旧C,文本可能看起来有点过时(它是从1991年开始),但基本的想法仍然有效,并且您完全理解为什么编辑器的工作方式确实
答案 1 :(得分:4)
SharpDevelop的编辑很好,它也是开源的。
答案 2 :(得分:3)
基于Java的编辑器“jEdit”是文本编辑器架构的一个很好的例子,包括插件支持,强大的用户社区和良好的抽象。
答案 3 :(得分:2)
您还可以查看Scintilla的源代码。
答案 4 :(得分:2)
您可以查看xacc.ide
答案 5 :(得分:1)
这可能不是你想要的,它基于Mozilla,但为了完整起见:
Open Komodo是ActiveState的一项举措,旨在为构建开发人员环境创建一个开源平台。
答案 6 :(得分:0)
它具有在几个语言(例如,python,ruby,perl)中编写插件的api以及它自己的扩展语言('vimscript')。
我不知道他们在高级架构文档方面有什么,但是有一个活跃的社区和开发人员邮件列表,如果你开始挖掘源代码,它应该能够回答有关它如何工作的具体问题