def find_file_to_import(filename, load_paths)
was_sass = was_scss = false
original_filename = filename
if [".sass", ".scss"].include?(filename[-5..-1])
was_sass = filename[-5..-1] == ".sass"
was_scss = filename[-5..-1] == ".scss"
filename = filename[0...-5]
elsif filename[-4..-1] == ".css"
return filename
end
new_filename = nil
load_paths = load_paths.uniq
load_paths.each do |load_path|
new_filename ||= find_full_path("#{filename}.sass", load_path) unless was_scss
new_filename ||= find_full_path("#{filename}.scss", load_path) unless was_sass
end
return new_filename if new_filename
unless was_sass || was_scss
Haml::Util.haml_warn "WARNING: Neither \#{filename}.sass nor .scss found. Using \#{filename}.css instead.\nThis behavior is deprecated and will be removed in a future version.\nIf you really need \#{filename}.css, import it explicitly.\n"
return filename + '.css'
end
message = "File to import not found or unreadable: #{original_filename}.\n"
if load_paths.size == 1
message << "Load path: #{load_paths.first}"
else
message << "Load paths:\n " << load_paths.join("\n ")
end
raise SyntaxError.new(message)
end