97 lines
2.0 KiB
JavaScript
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() : '';
|
|
}
|
|
};
|
|
}); |