mirror of
https://github.com/less/less.js.git
synced 2026-02-13 08:25:09 -05:00
move rule/ruleset re-ordering away from toCSS
This commit is contained in:
@@ -183,14 +183,16 @@ tree.Ruleset.prototype = {
|
||||
// `context` holds an array of arrays.
|
||||
//
|
||||
toCSS: function (env) {
|
||||
var css = [], // The CSS output
|
||||
var i, css = [], // The CSS output
|
||||
rules = [], // node.Rule instances
|
||||
_rules = [], //
|
||||
rulesets = [], // node.Ruleset instances
|
||||
ruleNodes = [],
|
||||
rulesetNodes = [],
|
||||
selector, // The fully rendered selector
|
||||
debugInfo, // Line number debugging
|
||||
rule,
|
||||
ruleCSS;
|
||||
importNodes = [];
|
||||
|
||||
this.mergeRules();
|
||||
|
||||
@@ -200,24 +202,34 @@ tree.Ruleset.prototype = {
|
||||
env.tabLevel++;
|
||||
}
|
||||
|
||||
// Compile rules and rulesets
|
||||
for (var i = 0; i < this.rules.length; i++) {
|
||||
rule = this.rules[i];
|
||||
var tabRuleStr = env.compress ? '' : Array(env.tabLevel + 1).join(" "),
|
||||
tabSetStr = env.compress ? '' : Array(env.tabLevel).join(" ");
|
||||
|
||||
if (rule.rules || (rule instanceof tree.Media) || rule instanceof tree.Directive) {
|
||||
rulesets.push(rule.toCSS(env));
|
||||
} else if (rule instanceof tree.Comment) {
|
||||
if (this.root) {
|
||||
rulesets.push(rule.toCSS(env));
|
||||
} else {
|
||||
rules.push(rule.toCSS(env));
|
||||
}
|
||||
for (i = 0; i < this.rules.length; i++) {
|
||||
rule = this.rules[i];
|
||||
if (rule instanceof tree.Import) {
|
||||
importNodes.push(rule);
|
||||
} else if (this.root || rule.rules || (rule instanceof tree.Media) || rule instanceof tree.Directive) {
|
||||
rulesetNodes.push(rule);
|
||||
} else {
|
||||
if (rule.toCSS) {
|
||||
rules.push(rule.toCSS(env));
|
||||
} else if (rule.value) {
|
||||
rules.push(rule.value.toString());
|
||||
}
|
||||
ruleNodes.push(rule);
|
||||
}
|
||||
}
|
||||
|
||||
rulesetNodes = importNodes.concat(rulesetNodes);
|
||||
|
||||
for (i = 0; i < rulesetNodes.length; i++) {
|
||||
rulesets.push(rulesetNodes[i].toCSS(env));
|
||||
}
|
||||
|
||||
// Compile rules and rulesets
|
||||
for (i = 0; i < ruleNodes.length; i++) {
|
||||
rule = ruleNodes[i];
|
||||
|
||||
if (rule.toCSS) {
|
||||
rules.push(rule.toCSS(env));
|
||||
} else if (rule.value) {
|
||||
rules.push(rule.value.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,9 +244,6 @@ tree.Ruleset.prototype = {
|
||||
}
|
||||
}
|
||||
|
||||
var tabRuleStr = env.compress ? '' : Array(env.tabLevel + 1).join(" "),
|
||||
tabSetStr = env.compress ? '' : Array(env.tabLevel).join(" ");
|
||||
|
||||
rulesets = rulesets.join('\n' + (this.root ? tabRuleStr : tabSetStr));
|
||||
|
||||
// If this is the root node, we don't render
|
||||
|
||||
Reference in New Issue
Block a user