Added indent and unindent method (smart indent based on the cursor position and theorical desired indentation level)