import silent - handle selectors containing amp

This commit is contained in:
Luke Page
2013-03-21 15:21:56 +00:00
parent 5df82b69ce
commit 33c5ecd100
4 changed files with 17 additions and 3 deletions

View File

@@ -376,11 +376,11 @@ tree.Ruleset.prototype = {
if (sel.length > 0) {
newSelectorPath = sel.slice(0);
lastSelector = newSelectorPath.pop();
newJoinedSelector = new(tree.Selector)(lastSelector.elements.slice(0), selector.extendList);
newJoinedSelector = selector.createDerived(lastSelector.elements.slice(0));
newJoinedSelectorEmpty = false;
}
else {
newJoinedSelector = new(tree.Selector)([], selector.extendList);
newJoinedSelector = selector.createDerived([]);
}
//put together the parent selectors after the join
@@ -442,7 +442,7 @@ tree.Ruleset.prototype = {
// if the previous thing in sel is a parent this needs to join on to it
if (sel.length > 0) {
sel[sel.length - 1] = new(tree.Selector)(sel[sel.length - 1].elements.concat(elements), sel[sel.length - 1].extendList);
sel[sel.length - 1] = sel[sel.length - 1].createDerived(sel[sel.length - 1].elements.concat(elements));
}
else {
sel.push(new(tree.Selector)(elements));

View File

@@ -11,6 +11,9 @@ tree.Selector.prototype = {
this.elements = visitor.visit(this.elements);
this.extendList = visitor.visit(this.extendList)
},
createDerived: function(elements) {
return new(tree.Selector)(elements, this.extendList, this.index, this.currentFileInfo);
},
match: function (other) {
var elements = this.elements,
len = elements.length,

View File

@@ -1,3 +1,6 @@
.b {
color: red;
}
.b .c {
color: green;
}

View File

@@ -1,3 +1,11 @@
.a {
color: red;
.c {
color: green;
}
}
.d {
&:hover {
color: purple;
}
}