View Source Styler.Style behaviour (Styler v0.1.0)

A Style takes AST and returns a transformed version of that AST.

Because these transformations involve traversing trees (the "T" in "AST"), we wrap the AST in a structure called a Zipper to facilitate walking the trees.

Link to this section Summary

Callbacks

run will be used with Zipper.traverse_while/3, meaning it will be executed on every node of the AST.

Link to this section Types

@type command() :: :cont | :skip | :halt

Link to this section Callbacks

run will be used with Zipper.traverse_while/3, meaning it will be executed on every node of the AST.

You can skip traversing parts of the tree by returning a Zipper that's further along in the traversal, for example by calling Zipper.skip(zipper) to skip an entire subtree you know is of no interest to your Style.