Class: SyntaxTree::HashLiteral::EmptyWithCommentsFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/syntax_tree/node.rb

Overview

This is a special formatter used if the hash literal contains no values but does contain comments. In this case we do some special formatting to make sure the comments gets indented properly.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(lbrace) ⇒ EmptyWithCommentsFormatter



5560
5561
5562
# File 'lib/syntax_tree/node.rb', line 5560

def initialize(lbrace)
  @lbrace = lbrace
end

Instance Attribute Details

#lbraceObject (readonly)

LBrace

the opening brace



5558
5559
5560
# File 'lib/syntax_tree/node.rb', line 5558

def lbrace
  @lbrace
end

Instance Method Details

#format(q) ⇒ Object



5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
# File 'lib/syntax_tree/node.rb', line 5564

def format(q)
  q.group do
    q.text("{")
    q.indent do
      lbrace.comments.each do |comment|
        q.breakable_force
        comment.format(q)
      end
    end
    q.breakable_force
    q.text("}")
  end
end