Re: Text editors



Christopher Atlee wrote:
> 
> 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.
> 
I'm not really suggesting a new editor. I prefer emacs. I would like
emacs
to tightly integrate with all the applications I use. 

As an application programmer or IDE designer, I would like to support
the
users choice of editor, and have it tightly integrate with an IDE. Of 
course, with proper interfaces around debuggers, compilers, editors,
etc.
the entire desktop becomes an IDE.

What I was suggesting with key bindings is more along the lines of what
Victor suggested in a previous email. That there should be a central 
repository of bindings. If a user has special preferences for key
bindings,
they should affect every application. If someone wants to make CTRL-B
to be 'begining-of-line`, it should affect every text widget in every
app, as well as vim, emacs, etc. Applications could query for command
names, and add new ones with default bindings.

> 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.
>
Agreed.
 
> I've got some random thoughts about what kind of things the interface should
> support:
> 
> Text insertion/deletion
> Information on cursor position, selection(s)

I would also want to take advantage of the editors particular mode.
In emacs the concept of "word" changes depending on mode. It would be
nice to call getCurrentWord or moveByWord. This way you leverage the
current capabilities of the editors.

> 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.
> 
As well as FileChanged, FileSaved, etc.

I'll have a  look at Desktop::Editor.

Thomas



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