class SyntaxTree::Binary
def format(q)
def format(q) left = self.left power = operator == :** q.group do q.group { q.format(left) } q.text(" ") unless power if operator != :<< q.group do q.text(operator.name) q.indent do power ? q.breakable_empty : q.breakable_space q.format(right) end end elsif left.is_a?(Binary) && left.operator == :<< q.group do q.text(operator.name) q.indent do power ? q.breakable_empty : q.breakable_space q.format(right) end end else q.text("<< ") q.format(right) end end end