feat(SublimeText2.WebPackages): cache packages
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
var console = {
|
||||
log: function(msg) {
|
||||
log(msg);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Simple function alias to run Emmet action.
|
||||
* <code>editorProxy</code> object should be defined
|
||||
* in concrete plugin implementation.
|
||||
*/
|
||||
function pyRunAction(name) {
|
||||
return emmet.require('actions').run(name, editorProxy);
|
||||
}
|
||||
|
||||
function pyLoadSystemSnippets(data) {
|
||||
emmet.require('bootstrap').loadSystemSnippets(data);
|
||||
}
|
||||
|
||||
function pyLoadUserData(data) {
|
||||
emmet.require('bootstrap').loadUserData(data);
|
||||
}
|
||||
|
||||
function pyLoadExtensions(fileList) {
|
||||
fileList = _.toArray(fileList);
|
||||
emmet.require('bootstrap').loadExtensions(fileList);
|
||||
}
|
||||
|
||||
function pyResetUserData() {
|
||||
emmet.require('bootstrap').resetUserData();
|
||||
}
|
||||
|
||||
emmet.define('file', function(require, _) {
|
||||
return {
|
||||
_parseParams: function(args) {
|
||||
var params = {
|
||||
path: args[0],
|
||||
size: -1
|
||||
};
|
||||
|
||||
args = _.rest(args);
|
||||
params.callback = _.last(args);
|
||||
args = _.initial(args);
|
||||
if (args.length) {
|
||||
params.size = args[0];
|
||||
}
|
||||
|
||||
return params;
|
||||
},
|
||||
|
||||
read: function(path, size, callback) {
|
||||
var params = this._parseParams(arguments);
|
||||
|
||||
try {
|
||||
pyFile.read(params.path, params.size, function(err, content) {
|
||||
if (err) {
|
||||
return params.callback(err, content);
|
||||
}
|
||||
|
||||
content = _.map(content || [], function(b) {
|
||||
return String.fromCharCode(b);
|
||||
}).join('');
|
||||
params.callback(null, content);
|
||||
});
|
||||
} catch(e) {
|
||||
params.callback(e);
|
||||
}
|
||||
},
|
||||
|
||||
readText: function() {
|
||||
var params = this._parseParams(arguments);
|
||||
try {
|
||||
pyFile.read_text(params.path, params.size, params.callback);
|
||||
} catch(e) {
|
||||
params.callback(e);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
locateFile: function(editorFile, fileName) {
|
||||
return pyFile.locate_file(editorFile, fileName);
|
||||
},
|
||||
|
||||
createPath: function(parent, fileName) {
|
||||
return pyFile.create_path(parent, fileName);
|
||||
},
|
||||
|
||||
save: function(file, content) {
|
||||
return pyFile.save(file, content);
|
||||
},
|
||||
|
||||
getExt: function(file) {
|
||||
var m = (file || '').match(/\.([\w\-]+)$/);
|
||||
return m ? m[1].toLowerCase() : '';
|
||||
}
|
||||
};
|
||||
});
|
Reference in New Issue
Block a user