diff --git a/lib/less/browser.js b/lib/less/browser.js index a9f577fd..9aeabba4 100644 --- a/lib/less/browser.js +++ b/lib/less/browser.js @@ -23,33 +23,43 @@ less.fileAsync = less.fileAsync || false; // Interval between watch polls less.poll = less.poll || (isFileProtocol ? 1000 : 1500); +var dumpLineNumbers = /!dumpLineNumbers:(comments|mediaquery|all)/.exec(location.hash); +if (dumpLineNumbers) { + less.dumpLineNumbers = dumpLineNumbers[1]; +} + // // Watch mode // -less.watch = function () { return this.watchMode = true }; -less.unwatch = function () { return this.watchMode = false }; +less.watch = function () { + if (!less.watchMode ){ + less.env = 'development'; + initRunningMode(); + } + return this.watchMode = true +}; -if (less.env === 'development') { - less.optimization = 0; +less.unwatch = function () {clearInterval(less.watchTimer); return this.watchMode = false; }; - if (/!watch/.test(location.hash)) { - less.watch(); - } - var dumpLineNumbers = /!dumpLineNumbers:(comments|mediaquery|all)/.exec(location.hash); - if (dumpLineNumbers) { - less.dumpLineNumbers = dumpLineNumbers[1]; - } - less.watchTimer = setInterval(function () { - if (less.watchMode) { - loadStyleSheets(function (e, root, _, sheet, env) { - if (root) { - createCSS(root.toCSS(), sheet, env.lastModified); - } - }); - } - }, less.poll); -} else { - less.optimization = 3; +function initRunningMode(){ + if (less.env === 'development') { + less.optimization = 0; + less.watchTimer = setInterval(function () { + if (less.watchMode) { + loadStyleSheets(function (e, root, _, sheet, env) { + if (root) { + createCSS(root.toCSS(), sheet, env.lastModified); + } + }); + } + }, less.poll); + } else { + less.optimization = 3; + } +} + +if (/!watch/.test(location.hash)) { + less.watch(); } var cache; @@ -75,7 +85,6 @@ for (var i = 0; i < links.length; i++) { } } - less.refresh = function (reload) { var startTime, endTime; startTime = endTime = new(Date);