Hi everyone,

I am not about to say "don't write a text editor.". I think go for it. Make it 
the most featured thing ever. But...

Please allow it to be usable as a text editing component by other 
applications, other UI toolkits, other programming languages. This will put 
your editor in an elite group.

How would you achieve this?

1. Provide a complete remote procedure protocol. Allow anything that the 
editor can do to be called remotely: goto a line, get the selected text, open 
a new file, get a set of possible completions, autohint etc...

2. Provide some external hooks for events occurring in the editor. 
Cursor-moved, file changed, completion populated etc...

3. Provide a way of embedding the UI. You can, using most toolkits, tell a 
window to appear inside another window, both on X, and Win32, and I am not 
sure about OSX, but it must be possible.

I should note, because it is very important, that if these were all provided 
in a consistent way, plugins could be shared among applications, since the 
author of an editor component implementing these things would probably use 
them for the additional work they did on that editing component. Work that 
would turn it into a fully-fledged IDE or editor.

Now I have embedded 3 or 4 editors and I have a pretty good idea of the 
interfaces required for these components. Would anyone be interested to 
discuss these interfaces and working on a generic communication library for 
these things? We could perhaps gradually make a few editors provide this 
interface; either new ones or existing ones.

We would have made a significant step towards Pyxides 1.0 (imo).

Ali

Reply via email to