Files
ChocolateyPackages/EthanBrown.SublimeText2.WebPackages/tools/PackageCache/Emmet/emmet/python-wrapper.js
2013-04-04 08:54:25 -04:00

97 lines
2.0 KiB
JavaScript

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() : '';
}
};
});