LS: smart indentation

Implementation of smart indentation that uses new syntax trees
Can we just check a range, and then check ExportAssignment?