# File lib/rhc/highline_extensions.rb, line 258
    def rows
      @rows ||= begin
        if !width || width == 0
          [text.is_a?(Array) ? text.compact.join(' ') : text]

        elsif text.is_a? Array
          text.compact!
          widths = text.map{ |s| s.strip_ansi.length }
          chars, join, indented = 0, 1, (indent || '').length
          narrow = width - indented
          text.zip(widths).inject([]) do |rows, (section, w)|
            if rows.empty?
              if w > width
                rows.concat(section.textwrap_ansi(width))
              else
                rows << section.dup
                chars += w
              end
            else
              if w + chars + join > narrow
                rows.concat(section.textwrap_ansi(narrow).map{ |s| "#{indent}#{s}" })
                chars = 0
              elsif chars == 0
                rows << "#{indent}#{section}"
                chars += w + indented
              else
                rows[-1] << " #{section}"
                chars += w + join
              end
            end
            rows
          end
        else
          text.textwrap_ansi(width)
        end
      end.tap do |rows|
        rows << '-' * (rows.map{ |s| s.strip_ansi.length }.max || 0)
      end
    end