class Asciidoctor::PreprocessorReader

def prepare_lines data, opts = {}

def prepare_lines data, opts = {}
  result = super
  # QUESTION should this work for AsciiDoc table cell content? Currently it does not.
  if @document && @document.attributes['skip-front-matter']
    if (front_matter = skip_front_matter! result)
      @document.attributes['front-matter'] = front_matter.join LF
    end
  end
  if opts.fetch :condense, true
    result.shift && @lineno += 1 while (first = result[0]) && first.empty?
    result.pop while (last = result[-1]) && last.empty?
  end
  Parser.adjust_indentation! result, opts[:indent].to_i, (@document.attr 'tabsize').to_i if opts[:indent]
  result
end