Editing DesigningTextEditors
HomePage
|
RecentChanges
|
EditorIndex
|
TextEditorFamilies
|
Preferences
There is quite a lot of material available. ''(Alphabetical by author)'' * '''[http://ned.rubyforge.org/doc/editech.3 An article on buffer gap implementation]''' by '''''Joseph H. Allen''''' from Usenet comp.editors * '''[https://developer.apple.com/library/mac/documentation/TextFonts/Conceptual/CocoaTextArchitecture/TextEditing/TextEditing.html Text Editing in Cocoa]''' '''''Apple, Inc''''' * '''[http://csconf.org/Volume2/page456.pdf An Adaptive and Intelligent Text Editor for Teacher’s Support of Practical Exercises]''' '''''(PDF)''''' '''''Polina Atanasova, Stefan Stefanov, Irina Zheliazkova''''' Rouse University, Bulgaria '''(2006)''' * '''[http://imi.aau.dk/~jfur05/project/pdf/bier-mmm-uist91.pdf MMM: A User Interface Architecture for Shared Editors on a Single Screen]''' '''''(PDF)''''' '''''Eric A. Bier''''' Xerox PARC and '''''Steve Freeman''''' Cambridge University '''(1991)''' * '''[http://www.andrewbragdon.com/codebubbles_details.asp Code Bubbles Rethinking the User Interface Paradigm of Integrated Development Environments]''' '''''Andrew Brangdon''''' '''(April 2011)''' * '''[http://www.catch22.net/tuts/neatpad Design & Implementation of a Win32 Text Editor]''' '''''James Brown''''' has written a series of articles based on his [[Neatpad]] product '''(January 2005 - November 2006)''' * '''[http://mclauchlan.site.net.au/scott/C=Hacking/C-Hacking11/zedace.html Design and Implementation of an Advanced Text Editor]''' (broken link; [http://web.archive.org/web/20180518051133/http://mclauchlan.site.net.au/scott/C=Hacking/C-Hacking11/zedace.html Internet Archive copy]), by '''''Craig Bruce''''' University of Waterloo, Canada, from [http://csbruce.com/cbm/hacking/ C= Hacking Net-Magazine], Issue #11 '''(December 1995)''' (v1.0), available in [http://csbruce.com/cbm/hacking/hacking11.txt ascii-text] (172k) format * '''[http://goo.gl/NyWW3 How to program a text editor]''' A thread begun by '''''Branko Collin''''' in Usenet comp.editors '''(November 1995)''' * '''[http://ned.rubyforge.org/doc/editech.5 A thread on buffer gap implementation]''' from Usenet comp-editors '''(July 1992)''' * '''[http://ned.rubyforge.org/doc/editech.books A list of material on writing text editors]''' from Usenet comp-editors '''(February 1993)''' * '''[http://www.cs.unm.edu/~crowley/papers/sds/sds.html Data Structures for Text Sequences]''' ''''' Charles Crowley''''', University of New Mexico * '''[[Implementing Undo for Text Editors]]''' '''''Craig Durland''''' from Mutt Editor 2 docs * '''[http://www.stratigery.com/perfect.editor.html There is a perfect editor]''' '''''Bruce Ediger''''' * '''[http://www.finseth.com/craft/ The Craft of Text Editing]''', '''''CraigFinseth''''' has a great book (available in HTML and PDF) on writing Emacs-style text editors * '''[http://www.fltk.org/doc-1.1/editor.html Designing a a simple FLTK-based text editor]''' '''''FLTK.org''''' * '''[https://www.cs.rutgers.edu/research/technical_reports/archive/pdfs/DCS-TR-110.pdf Software Design Issues in the Architecture and Implementation of Distributed Text Editors]''' '''''(PDF)''''' '''''Robert L. Goldberg''''' PhD thesis at Rutgers University '''(1981)''' * '''[http://michaelgood.info/publications/text-editing/an-ease-of-use-evaluation-of-an-integrated-document-processing-system An Ease of Use Evaluation of an Integrated Document Processing System]''' '''''Michael Good''''' * '''[http://michaelgood.info/publications/text-editing/how-do-people-really-use-text-editors/ How people really use text editors.]''' '''''Michael Good''''' * '''[http://michaelgood.info/publications/text-editing/etude-an-integrated-document-processing-system/ Etude: An Integrated Document Processing System]''' '''''Michael Good''''' * '''[http://michaelgood.info/publications/text-editing/the-implementation-of-etude-an-integrated-and-interactive-document-production-system/ The Implementation of Etude, An Integrated and Interactive Document Production System]''' '''''Michael Good''''' * '''[http://michaelgood.info/publications/text-editing/etude-and-the-folklore-of-user-interface-design/ Etude and the Folklore of User Interface Design]''' '''''Michael Good''''' * '''[http://michaelgood.info/publications/text-editing/the-iterative-design-of-a-new-text-editor/ The Iterative Design of a new Text Editor]''' '''''Michael Good''''' * '''[http://michaelgood.info/publications/text-editing/the-use-of-logging-data-in-the-design-of-a-new-text-editor/ The Use of Logging Data in the Design of a New Text Editor]''' '''''Michael Good''''' * '''[http://sites.google.com/site/texteditors/Home/files/Bluemug_WP_Reseach_Paper.pdf Writing a word processor for mobile devices]''' '''''(PDF)''''' a research paper by '''''Chuck Groom''''' of '''''Bluemug Software''''' * '''[http://goo.gl/EbjNe Memory storage in [[[G]]]''' by '''''Jeremy Hall''''' in Usenet comp.editors '''(November 1995)''' * '''[http://www.cs.cmu.edu/~wjh/papers/byte.html Data Structures in the Andrew Text Editor]''' '''''Wilfred Hansen''''' of CMU * '''[http://marijn.haverbeke.nl/codemirror/story.html Implementing a syntax-highlighting JavaScript editor in JavaScript]''' '''''Marijn Haverbeke''''' * '''[http://www.heckdesigns.com/tag/text-editor/ Creating a simple text editor in PHP]''' by '''''Robert Heck''''' * '''[http://ned.rubyforge.org/doc/editor-101.txt Buffer gap implementation in an editor]''' Usenet comp.editors 1991 '''''Anthony Howe''''' * '''[http://ned.rubyforge.org/doc/editor-102.txt Updating the screen in a buffer-gap editor]''' Usenet comp.editors 1991 '''''Anthony Howe''''' * '''[http://ergoemacs.org/emacs/modernization.html The Modernization of Emacs]''' A proposal by '''''Xah Lee''''' * '''[http://compgroups.net/comp.lang.lisp/emacs-lisp-as-text-processing-language/704087 emacs lisp as text processing language...]''' Post by '''''Xah Lee''''' in Usenet comp.lang.lisp '''(October 2007)''' * '''[http://ned.rubyforge.org/doc/CHI94.pdf Repeat and Predict – Two Keys to Efficient Text Editing]''' '''''(PDF) Toshiyuki Masui and Ken Nakayama''''' * '''[http://www.eclipse.org/eclipse/platform-text/eclipseCon/talk.pdf Text Editors and How to Implement Your Own]''' '''''(PDF)''''' A talk from <nowiki>EclipseCon</nowiki> 2004 by '''''Kai-Uwe Mätzel''''' of IBM OTI Labs Zurich, Switzerland * '''[http://chrismennie.ca/Projects/EMACS-Conceptual-Architecture.pdf Conceptual Views of EMACS’s Architecture]''' '''''(PDF)''''' '''''Chris Mennie and Troy Gonsalves''''' Universtity of Waterloo '''(January 2003)''' * '''[http://chrismennie.ca/Projects/High-Level-Architecture.pdf Top Level Architecture of Emacs (CS746 Assignment 1C)]''' '''''(PDF)''''' '''''Chris Mennie and Troy Gonsalves''''' Universtity of Waterloo '''(January 2003)''' * '''[http://msdn.microsoft.com/en-us/library/dd885118 Editors in Visual Studio 2010]''' '''''Microsoft Developer's Network''''' * '''[http://www.zimbu.org/Home Zimbu]''' '''''Bram Moolenaar''''', author of [[VIM]], is creating a language called Zimbu to implement text editors * '''[http://www.osenkov.com/diplom/ Designing, implementing and integrating a structured C* code editor]''' '''''Kirill Osenkov''''' '''(June 2007)''' * '''[http://ned.rubyforge.org/doc/buffer-gap.txt Buffer gap implementation in [[[Jove]]]]''' by '''''Jonathan Payne''''' in Usenet comp-editors '''(January 1990)''' * '''[http://doc.cat-v.org/plan_9/4th_edition/papers/acme/ ACME]''' '''''Rob Pike''''' wrote an article on the ACME editor in Plan 9 * '''[http://www.catb.org/~esr/writings/taoup/html/ch13s03.html The Right Size for an Editor]''' A good article by'''''Eric Raymond''''' * '''[http://cm.bell-labs.com/cm/cs/who/dmr/qeddoc.html QED Implementation]''' '''''Dennis M. Ritchie''''' * '''[https://docs.google.com/open?id=0ByMy9Nx6Q5CiZUR0dTNXM0V3QWc Syntax Analysis in the Climacs Text Editor]''' '''''(PDF)''''' '''''Christophe Rhodes, Robert Strandh, and Brian Mastenbrook''''' * '''[https://viewsourcecode.org/snaptoken/kilo/ Build your own text editor]''' Great tutorial by '''''Paige Ruten''''' featuring the [[Kilo]] text editor. * '''[http://ned.rubyforge.org/doc/editech.4 Editor buffer management in the Poplog VED editor]''' Usenet comp.editors 1991 '''''Aaron Sloman''''' * '''[http://www.devx.com/getHelpOn/10MinuteSolution/20389 Building a Text Editor]''' A four part series by '''''Ernie Smith''''' from Devx.com '''(May 2000)''' * '''[https://www.gnu.org/gnu/rms-lisp.html My Lisp Experiences and the Development of GNU Emacs]''' A speech by '''''Richard M. Stallman''''' at the International Lisp Conference '''(October, 2002)''' * '''[http://www.drdobbs.com/article/print?articleId=184408029 A text editor in C from Dr. Dobbs Journal, part 1]''' '''''Al Stevens''''' '''(November 1988)''' * '''[http://www.drdobbs.com/article/print?articleId=184408046 A text editor in C from Dr. Dobbs Journal, part 2]''' '''''Al Stevens''''' '''(December 1988)''' * '''[https://docs.google.com/file/d/0ByMy9Nx6Q5CiZUR0dTNXM0V3QWc/edit Flexichain, an API for editable objects]''', and its gap-buffer implementation '''''(PDF)''''' '''''Robert Strandh, Matthieu Villeneuve, and Timothy Moore''''' * '''[https://sites.google.com/site/texteditors/Home/files/Szyperski.pdf Write-ing Applications: Design of an extensible text editor as an application framework]''' '''''(PDF)''''' '''''Clemens A. Szyperski''''' '''(1992)''' * '''[http://www.drdobbs.com/architecture-and-design/text-editors-algorithms-and-architecture/184408975 Text Editors: Algorithms and Architectures]''' by '''''Ray Valdes''''' from Dr. Dobb's Journal '''(April 1993)''' * '''[http://ned.rubyforge.org/*text-editors text editor design articles]''' '''''Nikolai Weibull''''' has pointers to a collection of papers as part of his Master's thesis work * '''[https://docs.google.com/document/d/1JPcgVrB_oIT3IQFfIzf3qfnP85BT7SamO-FzW35rR9g/edit On the Design of Editors for Small Computers] (1972)''' '''''C.H. Whitfield's''''' Master's thesis at the University of Edinburgh * '''[https://www.ibm.com/developerworks/library/wa-master/ Master the Dojo Rich Text Editor]''' by '''''He Gu Yi''''' and '''''Zhu Xiao Wen''''' on IBM Developer Works '''(January 2011)''' * '''[https://sites.google.com/site/texteditors/Home/files/nededit.pdf NetEdit: A Collaborative Editor]''' '''''(PDF)''''' '''''Ali A. Zafer, Clifford A. Shaffer, Roger W. Ehrich, and Manuel Perez''''' Virginia Tech '''(2001)''' ---- IMHO, you need the following logical parts to form a text editor: * Text BufferModels (including capability for input and output) * User Interface (keyboard and mouse language) * Screen Handling * Data Syntax knowledge * MacroLanguage (optional) * CommandLanguage (optional) You should be able to SpendAllDayInTheEditor. ---- One popular new addition to the text editors has revitalized the industry: support for managing text fragments as well as templates. This is used to great effect when attempting to write new pieces of code. For example, MS Windows administrators often reuse the same "chunks" of code over and over with slight variations. These new text editors are allowing you to manage a library of such fragments and templates so that you can accomplish most tasks by CutAndPaste. Another big area for improvement is DebuggerIntegration. It is essential that a texteditor be able supplement the window display to have icons/etc to annotate breakpoints, watchpoints, etc. ---- The Post-Emacs mailing list is devoted to the theory and design of text editors, buffers, undo/redo, keymaps, user interface, plug-ins, and the like. I dunno how active it is anymore, but it was sponsored by the [http://www.scannedinavian.org/output/en/ ScannedInAvian.org] web site. The archives are worth reading. * Post-Emacs mailing list [http://lists.scannedinavian.org/cgi-bin/mailman/listinfo/post-emacs home] ''(404)'' * Post-Emacs [http://lists.scannedinavian.org/pipermail/post-emacs/ archives] ''(404)'' * Post-Emacs on [http://news.gmane.org/gmane.editors.post-emacs gmane] ''(most recent posts are from 2004)'' ---- Unfortunately, ScannedInAvian is gone, as are the archivvs, and GMane has only a scattering of posts available (DMcCunney - 04/11/09) ---- It seems that NotepadReplacement is a big reason for the proliferation of TextEditors. RonPerrella
Summary:
This change is a minor edit.
Please calculate
*
=
(Visit
Preferences
to set your user name.)
View other revisions
HomePage
|
RecentChanges
|
EditorIndex
|
TextEditorFamilies
|
Preferences