I wish source code editors were much more AST-oriented rather than row-column-oriented. Sure, it’s more difficult when your grammar is more complex than s-expressions, but most editors these days maintain an AST of the source in real time anyway.
Features such as selection that grows "inside out" (or bottom-up) rather than line by line, moving a selection around to the next/previous valid position, moving various delimiters around to next/previous valid position, enclosing whatever’s under the cursor in a new block/pair of parens, and so on.
Unless we’re talking about FORTRAN or COBOL circa 1960, source code is a tree natively and text only incidentally.