def getlines(filename, opts=false)
if opts.kind_of?(Hash)
reload_on_change, use_script_lines =
[opts[:reload_on_change], opts[:use_script_lines]]
else
reload_on_change, use_script_lines = [opts, false]
opts = {:reload_on_change => reload_on_change}
end
checkcache(filename) if reload_on_change
format = opts[:output] || :plain
if @@file_cache.member?(filename)
lines = @@file_cache[filename].lines
if opts[:output] && !lines[format]
lines[format] =
highlight_string(lines[:plain].join(''), format).split(/\n/)
end
return lines[format]
else
opts[:use_script_lines] = true
update_cache(filename, opts)
if @@file_cache.member?(filename)
return @@file_cache[filename].lines[format]
else
return nil
end
end
end