Class: SyntaxTree::ArrayLiteral::EmptyWithCommentsFormatter

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

Overview

This is a special formatter used if the array 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(lbracket) ⇒ EmptyWithCommentsFormatter

Returns a new instance of EmptyWithCommentsFormatter.



1113
1114
1115
# File 'lib/syntax_tree/node.rb', line 1113

def initialize(lbracket)
  @lbracket = lbracket
end

Instance Attribute Details

#lbracketObject (readonly)

LBracket

the opening bracket



1111
1112
1113
# File 'lib/syntax_tree/node.rb', line 1111

def lbracket
  @lbracket
end

Instance Method Details

#format(q) ⇒ Object



1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
# File 'lib/syntax_tree/node.rb', line 1117

def format(q)
  q.group do
    q.text("[")
    q.indent do
      lbracket.comments.each do |comment|
        q.breakable_force
        comment.format(q)
      end
    end
    q.breakable_force
    q.text("]")
  end
end