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.



1142
1143
1144
# File 'lib/syntax_tree/node.rb', line 1142

def initialize(lbracket)
  @lbracket = lbracket
end

Instance Attribute Details

#lbracketObject (readonly)

LBracket

the opening bracket



1140
1141
1142
# File 'lib/syntax_tree/node.rb', line 1140

def lbracket
  @lbracket
end

Instance Method Details

#format(q) ⇒ Object



1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
# File 'lib/syntax_tree/node.rb', line 1146

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