# File lib/sup/modes/scroll-mode.rb, line 220
  def draw_line_from_array ln, a, opts
    xpos = 0
    a.each_with_index do |(color, text), i|
      raise "nil text for color '#{color}'" if text.nil? # good for debugging
      l = text.display_length
      no_fill = i != a.size - 1

      if xpos + l < @leftcol
        buffer.write ln - @topline, 0, "", :color => color,
                     :highlight => opts[:highlight]
      elsif xpos < @leftcol
        ## partial
        buffer.write ln - @topline, 0, text[(@leftcol - xpos) .. -1],
                     :color => color,
                     :highlight => opts[:highlight], :no_fill => no_fill
      else
        buffer.write ln - @topline, xpos - @leftcol, text,
                     :color => color, :highlight => opts[:highlight],
                     :no_fill => no_fill
      end
      xpos += l
    end
  end