Skip to content

Commit

Permalink
First feature and more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
lukeapage committed Feb 13, 2015
1 parent 6b64989 commit 10153ef
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 1 deletion.
26 changes: 25 additions & 1 deletion lib/rtl-plugin.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,40 @@
module.exports = function(less) {
function RTLPlugin() {
this._visitor = new less.visitors.Visitor(this);
};

function reverseKeyword(reverseKeywords, keywordNode) {
if (reverseKeywords) {
switch(keywordNode.value) {
case "left":
return new less.tree.Keyword("right");
case "right":
return new less.tree.Keyword("left");
}
}
return keywordNode;
}

RTLPlugin.prototype = {
isReplacing: true,
run: function (root) {
return this._visitor.visit(root);
},
visitRule: function (ruleNode, visitArgs) {
if (ruleNode.name === "float") {
this._reverseKeywords = true;
}
return ruleNode;
},
visitRuleOut: function () {
this._reverseKeywords = false;
},
visitAnonymous: function(anonNode, visitArgs) {
return reverseKeyword(this._reverseKeywords, anonNode);
},
visitKeyword: function (keywordNode, visitArgs) {
return reverseKeyword(this._reverseKeywords, keywordNode);
}
};
return RTLPlugin;
Expand Down
1 change: 1 addition & 0 deletions test/css/rtl/test.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.reverse {
float: right;
float: left /*comment*/;
}
1 change: 1 addition & 0 deletions test/less/rtl/test.less
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.reverse {
float: left;
float: right/*comment*/;
}

0 comments on commit 10153ef

Please sign in to comment.