[Geany-devel] Indentation using regex (was [PATCH 14/19] Rewrite tab switching queue)

Jiří Techet techet at xxxxx
Wed Sep 22 10:47:06 UTC 2010


Hi Lex,

On Tue, Sep 21, 2010 at 02:41, Lex Trotman <elextr at gmail.com> wrote:
> Hi Jiri,
>
> Got it working, I'd put the regexes in the filetypes in the wrong
> prefix, my mistake :-D
>
> But it doesn't seem to be working as expected.
>
> Using only the first two of your regexes the following gets:
>
> class foo {
>    struct bar {
>        int i;
>    };
>    }

This works for me - if you press }, it should get unindented. How did
you enter the code (copy-paste or something like that)?

>
> fair enough, the } regex doesn't expect anything after it so I added
> .* after the } but now I get
>
> class foo {
>    struct bar {
>        int i;
> };
> }
>
> The }; line undents two levels??

Your regex is not correct - the (un)indent_this_line_regex is
evaluated every time you press a key and if it is satisfied, the
current line gets (un)indented. So with ^[[:blank:]]*\\}.*$ you used,
the regex first matches

}

and after you type ";", it again matches

};

so it unindents twice. This means the last character in the regex
should be the one that causes the change of indentation "}" in this
case.

Cheers,

Jiri

>
> Cheers
> Lex
>
>



More information about the Devel mailing list