LS: smart indentation

Implementation of smart indentation that uses new syntax trees
But considering we are planning to remove SyntaxLists from the tree, I guess it doesn't matter