LS: smart indentation

Implementation of smart indentation that uses new syntax trees
I thought .parent on a list item does not actually return the list