Path: utzoo!utgpu!watserv1!watdragon!tiger!achowe From: achowe@tiger.waterloo.edu (anthony howe) Newsgroups: comp.editors Subject: Editor 101 Keywords: Data Structure Message-ID: <20518@watdragon.waterloo.edu> Date: 4 Feb 90 13:43:16 GMT References: <13952@s.ms.uky.edu> <7634@wpi.wpi.edu> Sender: daemon@watdragon.waterloo.edu Reply-To: achowe@tiger.waterloo.edu (anthony howe) Organization: U. of Waterloo, Ontario Lines: 45 In article <7634@wpi.wpi.edu> jhallen@wpi.wpi.edu (Joseph H Allen) writes: >In article <13952@s.ms.uky.edu> pjl@ms.uky.edu (Paul Linton) writes: >>How would/do you 'store' the file in memory? I guess what i am asking is >>what is the data structure that would be used for a _very_ basic screen >>oriented editor. > >One of the simplest and most effecient ways of storing a file in memory is >with a gap buffer. The file is broken into three parts in one big array: The >beginning, the gap and the end. The beginning and end parts are just normal Is there a bible or standard text that has the of the theory behind the issue of roling your own editor worked out? I like many others have been writing my own editor based what I like. The code is not as well laid out as I would like but then that is careless designing on my part. It would be nice if there was some sort of reference that suggests how to implement all the basic structures and operations necessary for an editor. The reply to 'Simple Editor Question' was most interesting and showed me many of the primitives I could have used much like a curses package. I just wish that more of this information was seen in this group. If there is not a text anyone can refer me to, would readers of this group consider developing a serious of articles to discuss issues like: editor buffer data structures - multiple file buffers cut and paste problems displaying and editing around tabs emac-ish vs vi-ish screen display issues word wrap vs horizontal scrolling undo issues regular expression search/replace folds These are just some of the things I've faced in my learning process. It would be nice if we could put together something like EDITOR 101. - ant achowe@tiger.waterloo.edu | "It is hard to make the world go away _ -|-|_ _ | when it has decided to notice you." (_\ |\| | | | (_) |\| \/ | - Spock's World ___/ | disclaimer...