@@ -323,7 +323,7 @@ namespace Sass {
323323 // (2) underscore + given
324324 // (3) underscore + given + extension
325325 // (4) given + extension
326- std::vector<Include> resolve_includes (const std::string& root, const std::string& file, const std::vector<std::string>& exts)
326+ std::vector<Include> resolve_includes (const std::string& root, const std::string& file, const std::vector<std::string>& exts, const std::vector<std::string>& d_exts )
327327 {
328328 std::string filename = join_paths (root, file);
329329 // split the filename
@@ -350,6 +350,18 @@ namespace Sass {
350350 abs_path = join_paths (root, rel_path);
351351 if (file_exists (abs_path)) includes.push_back ({{ rel_path, root }, abs_path });
352352 }
353+ // next test d_exts plus underscore
354+ for (auto ext : d_exts) {
355+ rel_path = join_paths (base, " _" + name + ext);
356+ abs_path = join_paths (root, rel_path);
357+ if (file_exists (abs_path)) includes.push_back ({{ rel_path, root }, abs_path });
358+ }
359+ // next test plain name with d_exts
360+ for (auto ext : d_exts) {
361+ rel_path = join_paths (base, name + ext);
362+ abs_path = join_paths (root, rel_path);
363+ if (file_exists (abs_path)) includes.push_back ({{ rel_path, root }, abs_path });
364+ }
353365 // nothing found
354366 return includes;
355367 }
0 commit comments