Skip to content

Commit 9932747

Browse files
committed
Compressed style: Fix space removal after ancestor
echo '.foo .bar{top:0}' | sassc/bin/sassc -t compressed Before: `.foo.bar{top:0}` After: `.foo .bar{top:0}` Fixes #2988
1 parent 0488cee commit 9932747

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/inspect.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1054,14 +1054,21 @@ namespace Sass {
10541054
}
10551055
void Inspect::operator()(ComplexSelector* sel)
10561056
{
1057-
bool many = false;
10581057
if (sel->hasPreLineFeed()) {
10591058
append_optional_linefeed();
10601059
}
1060+
const SelectorComponent* prev = nullptr;
10611061
for (auto& item : sel->elements()) {
1062-
if (many) append_optional_space();
1062+
if (prev != nullptr) {
1063+
if (typeid(*item) == typeid(SelectorCombinator) ||
1064+
typeid(*prev) == typeid(SelectorCombinator)) {
1065+
append_optional_space();
1066+
} else {
1067+
append_mandatory_space();
1068+
}
1069+
}
10631070
item->perform(this);
1064-
many = true;
1071+
prev = item.ptr();
10651072
}
10661073
}
10671074

0 commit comments

Comments
 (0)