[Geany-devel] Questions on inserting text & indentation

Nick Treleaven nick.treleaven at xxxxx
Thu Apr 29 17:28:16 UTC 2010


On Thu, 29 Apr 2010 19:13:25 +0200
Colomban Wendling <lists.ban at herbesfolles.org> wrote:

> > Can you give a code example of what you're trying to do?
> The real code can be found only through SF's VC viewer:
> http://geany-plugins.svn.sourceforge.net/viewvc/geany-plugins/trunk/geanygendoc/src/ggd.c?revision=1316&view=markup#l_313
> 
> But let's explain a bit: I would insert a text block, and indent it to
> respect the indentation of the insertion's line.
> What I do is:
> 1) build a text block (line 326);
> 2) find *the line* at which insert it (I don't know the position, only
> the line -- this is from a tag) at the start (lines 338-339);
> 3) convert that line information to position information as needed
> (lines 340-343);
> 4) insert the text block (line 351).
> 
> Of course step 3 is an implementation detail, and it's where I have the
> "problem".
> My question is: "how am I supposed to insert a text block at the start
> of a particular *line* for it to be indented as this line is indented?"
> 
> > 
> >> 2) If this is a good way to proceed, could we have
> >> sci_get_line_indentation() in the plugin API? Even though it is easy to
> >> reproduce [2] it would be nicer to have it directly.
> > 
> > We can do, send a patch if you like. It sounds like it might be
> > better to use editor_insert_text_block in this case.
> Yeah I do so but it needs to already know at which *position* insert the
> block. And the position where I want to insert is something like the
> "smart start" of the line (start of the line + indentation).

OK, I think I understand now ;-)

I think your solution is right. The function doesn't insert indentation
on the first line.

Regards,
Nick



More information about the Devel mailing list