invoke

operator fun String.invoke(block: RuleDSL.() -> Unit): RuleDSL

Allows a string to be used as a selector for a rule. The type of selector depends on the string's contents. If it begins with a colon, then it uses PseudoStyleSelector, otherwise it uses StyleSelector. e.g.

"tool_bar" { ... }   // A StyleSelector

":selected" { ... }  // A PseudoStyleSelector

operator fun WithPseudoStyle.invoke(block: RuleDSL.() -> Unit): RuleDSL

Allows us to use enums (which implement WithPseudoStyle) as selectors. e.g.

Side.TOP { ... }

operator fun Selector.invoke(block: RuleDSL.() -> Unit): RuleDSL

For example :

("tool_bar" or "split_pane") { ... }

The "or" function creates an OrSelector. The rule in curly brackets is being applied by using the invoke operator of the OrSelector.