Re: [Anjuta-devel] Modifying anjuta editor



> Hi,
> I'm thinking about doing some anjuta development.(no promises - I'm a
> freelance programmer with a family, so give paying work priority).

You'll be surprised at what 'freelance' programmers can achieve - we're
all the same here :-)

> 
> As an up-to-speed project I thought of adding some features to the code
> folding, specifically short cut buttons to:
>   1. Fold/unfold all top-level classes
>   2. Fold/unfold all functions in all classes
>   3. Fold/unfold all functions in the class the cursor is currently in.

These seem rather specific features - do you know of any IDE that
provides these features ? I personally can think of lots of better
things to work on - especially on Anjuta2 which is currently way behind
on features compared to Anjuta.

> 
> A few questions before I dive in. I saw this comment on anjuta-list:
> > Anjuta uses (mostly) the Lexers provided with Scintilla. You'll need to
> > write a Lexer for your language and patch the sources to use the lexer.

That was probably me :-)

> 
> 1. Is anjuta using the scintilla editor, or just borrowing parts of its
> code? I.e. should I be working on the scintilla project instead?

We use the full Scintilla code - so, yes, it would be better if you work
on Scintilla directly instead of Anjuta. Having said that, I did some
integration between the Scintilla coloriser and the symbol browser -
specifically, the code to let the C/C++ Coloriser know of the global and
local class names so that they could be colored differently. My
experience is that it is difficult to get such integration code into the
main Scintilla tree so you'll have to look at the code and understand
it, and then make a decision about the way to go.

> 
> 2. Is anjuta2 using the same editor code as anjuta, or is it new code?

Not currently - but there are plans to provide a Scintilla interface as
well. Anjuta2 is totally new code base which allows for multiple
editors.

> 
> 3. Is anyone already working on something similar, or has any advice
> (e.g. "it's easy, look at the macros in XXX.h", etc.)

Not that I know of. And no, these features are probably not that simple
since they need tight integration between the folding function and the
symbol manager. Currently, in Anjuta at least, the folder has no
knowledge of the symbol browser and vice versa.

I'd advice you to start looking at Scintilla, specifically at LexCPP.cxx
(Function FoldCppDoc) if you want to implement these features, but keep
the above in mind.

On a personal note, though I have no right to decide what you should
hack on, Anjuta2 needs help desperately to bring it up to speed, so, if
you really want to help Anjuta2 become the IDE it deserves to be, it
would be better if you ran Anjuta and Anjuta2 concurrently, find
features you need that is present in Anjuta and not in Anjuta2, and port
these features (as a AnjutaTool). I'm a part-time hacker too, and
currently I'm spending most of my spare time going through ANjuta2
source code to understand it, so that I can start doing some real work
on it.

Hope this helps.

Rgds,
Biswa.





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