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

Returns a new instance of EmptyWithCommentsFormatter.



4705
4706
4707
# File 'lib/syntax_tree/node.rb', line 4705

def initialize(lbrace)
  @lbrace = lbrace
end

Instance Attribute Details

#lbrace ⇒ Object (readonly)

[LBrace] the opening brace



4703
4704
4705
# File 'lib/syntax_tree/node.rb', line 4703

def lbrace
  @lbrace
end

Instance Method Details

#format(q) ⇒ Object



4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
# File 'lib/syntax_tree/node.rb', line 4709

def format(q)
  q.group do
    q.text("{")
    q.indent do
      lbrace.comments.each do |comment|
        q.breakable(force: true)
        comment.format(q)
      end
    end
    q.breakable(force: true)
    q.text("}")
  end
end