Based on geany documentation
Geany knows four types of auto-indentation:
None: Disables auto-indentation completely.
Basic: Adds the same amount of whitespace on a new line as on the last line.
Current chars: Does the same as Basic but also indents a new line after an opening brace '{', and de-indents when typing a closing brace '}'. For Python, a new line will be indented after typing ':' at the end of the previous line.
Match braces: Similar to Current chars but the closing brace will be aligned to match the indentation of the line with the opening brace.
I am developing new editor for new DSL. I don't have any kind of braces, so indentation must be based on strings. How can I apply auto-indentation to my custom syntax. Is there any short and easy way?