@@ -323,7 +323,7 @@ namespace Sass {
323
323
// (2) underscore + given
324
324
// (3) underscore + given + extension
325
325
// (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 )
327
327
{
328
328
std::string filename = join_paths (root, file);
329
329
// split the filename
@@ -342,13 +342,25 @@ namespace Sass {
342
342
for (auto ext : exts) {
343
343
rel_path = join_paths (base, " _" + name + ext);
344
344
abs_path = join_paths (root, rel_path);
345
- if (file_exists (abs_path)) includes.push_back ({{ rel_path, root }, abs_path, ext == " .css " });
345
+ if (file_exists (abs_path)) includes.push_back ({{ rel_path, root }, abs_path });
346
346
}
347
347
// next test plain name with exts
348
348
for (auto ext : exts) {
349
349
rel_path = join_paths (base, name + ext);
350
350
abs_path = join_paths (root, rel_path);
351
- if (file_exists (abs_path)) includes.push_back ({{ rel_path, root }, abs_path, ext == " .css" });
351
+ if (file_exists (abs_path)) includes.push_back ({{ rel_path, root }, abs_path });
352
+ }
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, true });
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, true });
352
364
}
353
365
// nothing found
354
366
return includes;
0 commit comments