This page describes behaviour common to all plugins based on Parkour.
Parkour maps the typical objects used in text editors to S-expressions (atoms and lists):
Parkour provides the following motion types:
When the cursor is in code, they skip over comments. (For other ways to descend into comments, see word-descent, delete-descent, semicolon-descent)
When the cursor is inside a quasi-list, horizontal motions land on individual words.
Moreover, when in a group of line comments, horizontal motions will leave the current comment
and enter the previous/next one, effectively treating the whole group as a single comment.
Besides the sexp-aware editing operators, which have dedicated key bindings, Parkour enhances the behaviour of common keys like BS, DEL, RET, SPC, and ;.
If in the code that would be commented out there was a delimiter whose match is on another line, the delimiter and anything to the right of it is moved to the next line in order to prevent any unbalancing.
In Clojure and Fennel square brackets are required at certain places. Parkour will insert a square bracket even if you pressed the wrong kind of delimiter (paren, brace, or even double-quote).
In some Scheme dialects (e.g., Racket) square brackets are recommended for readability reasons. If you are using such a dialect, you can get this behaviour by enabling the auto_square_brackets option.
Quasi-lists are any double-quoted strings, block comments, and line comments. Like lists, you can perform wrap, splice, split, and join. Unlike lists, you cannot barf, slurp, or descend into them. Also, their content is not subjected to autoformatting.
^L, ASCII code 12