Hi,
Unfortunately Geany does not do language specific indentation. It currently has a few very simple indentation rules based on usage of {} or : (for Python only)
We have had long discussions about configurable approaches, but any that seem to provide a useful improvement also seem to add just as many annoying erroneous situations.
Coincidently I came across another programmers editor which does do specific indentation, and it was claimed it used 12% of its code, just for indentation!!!
Other IDEs do it based on parsing the code as you type and determining the indentation based on the language construct. However to remain light and fast Geany does not analyse the code on the fly, and so we are unable to use such a method.
Without wanting to re-ignite the indentation wars, if anybody has a simple, fast and configurable indentation method that does the right thing and does not do the wrong thing please let us know.
Cheers
Lex
PS just a note that most methods seem to fail with things like indentation for lines that are continuations of expressions, function calls and similar situations. Or they only work if you use one specific style of source layout such as GNU style. Or they fail to respect manually set indentation for situations above.