Re: Anjuta2 editor interface limitations
- From: Jeroen Zwartepoorte <jeroen xs4all nl>
- To: Biswapesh Chattopadhyay <biswapesh_chatterjee tcscal co in>
- Cc: Andy Piper <andy piper freeuk com>, GNOME Devtools <gnome-devtools gnome org>
- Subject: Re: Anjuta2 editor interface limitations
- Date: 12 Nov 2002 14:11:57 +0100
On Tue, 2002-11-12 at 12:44, Biswapesh Chattopadhyay wrote:
> >
> > Very interesting. I was completely unaware of this - largely through
> > having spent no time getting to grips with the Anjuta2 codebase yet.
> > It is a very useful perspective.
>
> Actually I'm just beginning to go through the code base myself - I might
> have got the thing wrong for all I know. That's why I posted this here -
> hoping someone would correct me or tell me the rationale behind it.
>
> > Now that Scintilla has been ported to GTK2, there's no reason why
> > someone couldn't take a stab at adding it to Anjuta2 - bringing with it
> > all the goodies like the gutter, easier word selection, and the functional
> > things which we've enjoyed when using it in Anjuta1.
>
> >From what I understood of the code, we'll need to do the following:
> 1. Wrap scintilla as a GtkWidget.
> 2. Wrap the GtkWidget in a BonoboControl wrapper.
> 3. Make an interface derived from editor-interface.idl
> 4. Write a oaf file to register it.
I'm not sure, but i thought step 1 isn't necessary.
oaf files are GNOME1. In GNOME2 it's .server files.
> > There are disadvantages of course.
> > - Scintilla is not a "GNOME project", unlike glimmer2
>
> Well, it's GTK2. More problemmatic might be the fact that it is C++,
> which GNOME people are somewhat reluctant to include. Also, including
> C++ libraries in C code brings associated problems, e.g. linking must be
> in C++ mode, etc. Of course, using Bonobo and out-of-process components
> is pretty advantageous for this.
As i said in an earlier mail, we had a bonobo editor control based on
scintilla from the gIDE era. It should still be in gdl cvs somewhere.
That's a pretty good starting point if somebody wants to write an editor
control for anjuta2 based on scintilla.
> > - it is really hard to add new highlighting / language modes to
> > Scintilla, compared with glimmer (AFAIUI)
>
> That's because glimmer's highlighting style is word based. This is
> pretty limited and does not allow for things like proper lexing,
> folding, etc. I also think that we should concentrate on addiing *good*
> support for a few languages rather than OK-ish support for a large
> number of languages.
I've talked this over with Paolo (gedit maintainer) a couple of days
ago. We agreed that glimmer might benefit from adding lexer support
(keep the existing word based highlighting, but also allow for
scintilla-like lexers).
> > - It would be a lot of work to integrate it (I imagine)
>
> See above. Currently, Scintilla supports lots more stuff (not just fluff
> - stuff that's really required - e.g. code folding, programmable lexers,
> etc.) than Glimmer.
Code folding is on my wishlist for glimmer/gtksourceview. I have no idea
though how difficult it is to implement using GtkTextView.
> >
> > One of the long standing requests from Anjuta1 users was either the
> > use of the gvim embeddable component thingy, or vi-style keybindings.
> > If Anjuta2 ever reaches a wider audience, these kind of calls will
> > crop up here too.
> >
>
> This is purely a personal perspective, but sometimes I get really
> bothered about our aims. No known popular IDE gives choice about
> multiple embeddable editor interfaces (except possibly CVS KDevelop).
> Yes, some of them have customizable key bindings, and some allow the use
> of external editors (which is quite different from having multiple
> 'embeddable' editors). IMO, it is more important to support one editor
> *really well* (customizable keybindings is not really that hard to
> implement) rather than having so-so integration with lots of editors.
I hoping we can do both. I agree that there should be a "standard"
editor for anjuta2 which is fully supported wrt functionality etc.
Jeroen
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]