[arch-projects] Modular Text Editor
buchuki at gmail.com
Sun Oct 9 11:25:50 EDT 2005
> I really like the idea of this project. I would be willing put out some
> lines of code for this.
That's about enough for me to get started. =) I *really* don't have
time for this, I don't know what I'm thinking, but I don't want to
waste the rest of my life using an almost good enough editor either.
I haven't been able to get ahold of xerxes2 yet. I've downloaded
lazy-edit from http://xerxes2.1go.dk/lazy-edit-0.24.tar.gz but I can't
figure out how to install it to a source directory -- by default,
setup.py installs to /usr with items in /usr/bin, /usr/share, etc.
Does anybody know if there's a setup.py option to install a 'source'
tree or some such instead? I'm not even sure what license xerxes2 has
on lazy-edit, so maybe we can't use it.
I've been thinking about basic ideas for what is needed to make an
editor fully extensible. I think the core needs to provide a mechanism
for arbitrary modules to register actions. An action is comprised of
the name of the module, the name of the action, and a callback when
that action is executed. In addition, the core needs to allow
arbitrary modules to register events. Events can be generated by
modules, by the core, or by user input (each character entered needs
to generate an event, for example, so that modules can provide such
cool things as auto-completion. Also, the core needs to provide some
mechanism to allow arbitrary modules to be registered with it. The
core also needs to provide access to the GUI. I'm thinking an
extension of JEdit's 'docking' feature would be cool. Since Python is
a scripting language, I thought the easiest (for a python programmer)
way to do this is to allow modules to create GTK components that can
be added to a window. Then the user can actually edit an interface
script to place these components where they are wanted. Finally, the
modules need to be able to access many of the variables used by the
core, such as the buffer, the filename, etc.
Now, the problem is, I really need to be working on a research project
instead of a text editor right now. I'd rather use JEdit for this than
start using a not yet full featured editor, but I think I will try to
use the editor and maybe add or refactor features as I go...
More information about the arch-projects