mirror of
https://github.com/less/less.js.git
synced 2026-05-01 03:00:22 -04:00
Merge branch 'parse-add-variables' of https://github.com/joscha/less.js
Conflicts: lib/less/parser.js test/less-test.js
This commit is contained in:
@@ -595,16 +595,6 @@ function initRunningMode(){
|
||||
}
|
||||
}
|
||||
|
||||
function serializeVars(vars) {
|
||||
var s = "";
|
||||
|
||||
for (var name in vars) {
|
||||
s += ((name.slice(0,1) === '@')? '' : '@') + name +': '+
|
||||
((vars[name].slice(-1) === ';')? vars[name] : vars[name] +';');
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
@@ -650,7 +640,7 @@ for (var i = 0; i < links.length; i++) {
|
||||
// CSS without reloading less-files
|
||||
//
|
||||
less.modifyVars = function(record) {
|
||||
less.refresh(false, serializeVars(record));
|
||||
less.refresh(false, less.Parser.serializeVars(record));
|
||||
};
|
||||
|
||||
less.refresh = function (reload, newVars) {
|
||||
@@ -678,7 +668,7 @@ less.refresh = function (reload, newVars) {
|
||||
};
|
||||
|
||||
if (less.globalVars) {
|
||||
varsPre = serializeVars(less.globalVars) + "\n";
|
||||
varsPre = less.Parser.serializeVars(less.globalVars) + "\n";
|
||||
}
|
||||
|
||||
less.refreshStyles = loadStyles;
|
||||
|
||||
@@ -345,12 +345,16 @@ less.Parser = function Parser(env) {
|
||||
imports: imports,
|
||||
//
|
||||
// Parse an input string into an abstract syntax tree,
|
||||
// call `callback` when done.
|
||||
// @param str A string containing 'less' markup
|
||||
// @param callback call `callback` when done.
|
||||
// @param [vars] An optional map (key, value) of variables to apply
|
||||
//
|
||||
parse: function (str, callback) {
|
||||
parse: function (str, callback, vars) {
|
||||
var root, line, lines, error = null;
|
||||
|
||||
i = j = currentPos = furthest = 0;
|
||||
|
||||
vars = vars ? less.Parser.serializeVars(vars) + '\n' : '';
|
||||
str = str.replace(/\r\n/g, '\n');
|
||||
|
||||
// Remove potential UTF Byte Order Mark
|
||||
@@ -1927,4 +1931,16 @@ less.Parser = function Parser(env) {
|
||||
};
|
||||
return parser;
|
||||
};
|
||||
less.Parser.serializeVars = function(vars) {
|
||||
var s = '';
|
||||
|
||||
for (var name in vars) {
|
||||
if (Object.hasOwnProperty.call(vars, name)) {
|
||||
var value = vars[name];
|
||||
s += ((name[0] === '@') ? '' : '@') + name +': '+ value +
|
||||
((('' + value).slice(-1) === ';') ? '' : ';');
|
||||
}
|
||||
}
|
||||
|
||||
return s;
|
||||
};
|
||||
Reference in New Issue
Block a user