def consume_comments(options = {})
comment_lines = []
preprocess = options.fetch(:preprocess, true)
while !(next_line = get_line(preprocess)).nil?
if options[:include_blank_lines] && next_line.chomp.empty?
comment_lines << next_line
elsif (commentish = next_line.start_with?('//')) && (match = next_line.match(REGEXP[:comment_blk]))
comment_lines << next_line
comment_lines.push(*(grab_lines_until(:terminator => match[0], :grab_last_line => true, :preprocess => false)))
elsif commentish && next_line.match(REGEXP[:comment])
comment_lines << next_line
else
unshift_line next_line
break
end
end
comment_lines
end