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

Jiří Techet techet at xxxxx
Fri Oct 29 20:18:57 UTC 2010


On Tue, Oct 26, 2010 at 03:29, Lex Trotman <elextr at gmail.com> wrote:
>>>> 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)?
>>
>> No, I just typed it in order from the first character to the last }.
>> Note that the } before did undent correctly.  Any suggestions what to
>> look at?
>>
>>>
>>>>
>>>> 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.
>>
>> Ok, so the previous has to be made to work.
>>
>> Cheers
>> Lex
>>>
>>> Cheers,
>>>
>>> Jiri
>
> Hi Jiri,
>
> Have you had any further thoughts?
>
> Cheers
> Lex

Hi Lex,

I have been pretty busy lately so I didn't spend any time looking into
this. I'm afraid this will be the case for the following month or so,
so until then I won't have much time for any Geany-hacking.

Cheers,

Jiri



More information about the Devel mailing list