AST selections consist of one or more whole lines (technically zero or more, but empty selections cannot be edited).


When editing AST selections, lines are converted to relative indentation (with the least indented lines being 0) and then re-indented according to context, so manual re-indentation is usually not necessary.


When dropping an AST selection onto a blank line, it will be spaced from the surrounding lines at the same indentation level. When dropping between lines, it will not be spaced unless block selection rules apply (see below).

Depending on your preferences, “block” selections (those consisting of e.g. a multi-line if statement or function, as opposed to say one or more variable declarations) can be spaced from other code by default, in which case blank lines will be inserted around them even when dropping onto “in-between” insert cursors.