The current autoindent is not really language specific, its based solely on braces, and language only comes into it for skipping braces in comments and strings and other non-code places when finding the open brace to match the close brace indent to. It does not understand the languages beyond that.
Adding a language specific indentation based on the keywords and constructs of that language is something considerably more complex and should not be built into Geany, but be part of a plugin for the language. Unfortunately at the moment it would be difficult to interface such a plugin to Geany though might be possible if somebody was clever enough :)
Pull requests are welcome.