RE: Text editors



It sounds as if you're suggesting designing a standard gnome text editor
complete with syntax highlighting / source browsing / etc. and then have the
user specify a set of key bindings that suit their preference.  This may not
be a bad thing.  I could choose to use the vi key bindings, someone else
could use the emacs key bindings, but we'd both be using the same editor.

As a first step, however, I think that a common interface should be designed
(I haven't looked at Desktop::Editor) and that some popular editors be
modified to use that interface.

I've got some random thoughts about what kind of things the interface should
support:

Text insertion/deletion
Information on cursor position, selection(s)
Ability to set cursor position, selection(s)
Text retrieval (in whole, or in parts)
Searching on text
Formatting text (colours, underlines, indenting, etc)
Provide support for file import/export filters to handle special file
formats, compression and encryption
Generate events.  Individual key-presses, word completion, line completion
should generate events.

Here's my wishlist:
A spell checker that can check your document as you type (using the word
completion events perhaps), pop-up a list of alternatives for misspelled
words, allow the user to select one and change the said word.
A code parser/highlighter/indenter that will highlight text according to
syntax, and maybe be a little more intelligent and actually understand
something of the structure of the code instead of just the syntax and will
auto-indent, provide documentation templates, auto-comment (so I don't have
to manually type a # at the beginning of every line in python, the editor
will just DO it)
A remembrance agent that will suggest documents/web sites/emails related to
what you're doing now.  Something like this already exists, see
http://rhodes.www.media.mit.edu/people/rhodes/RA/, but is not integrated
with the desktop environment.  Something like this would require that
editors and viewers (such as the web browser) provide some kind of context
for the document being viewed.

Cheers,
Chris



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]