Skip to content

Instantly share code, notes, and snippets.

@stormslowly
Last active August 29, 2015 14:16
Show Gist options
  • Save stormslowly/123f0276a9f337eb22d8 to your computer and use it in GitHub Desktop.
Save stormslowly/123f0276a9f337eb22d8 to your computer and use it in GitHub Desktop.
get express v3 api sublime completions array
'use strict';
var toCompelition = function(signature) {
/* app.get(name) */
var apiReg = /([a-zA-Z.]+)\(([\w\s\[\]\.\|,]*)\)/g;
var varReg = /([a-zA-Z.]+)/g;
var com = null;
var matchs = apiReg.exec(signature);
if (matchs) {
var name = matchs[1];
var parasString = matchs[2] || '';
var paras = parasString.trim().split(',').map(function(p, i) {
var index = i + 1;
return '${' + index + ':' + p + '}';
});
if (name.indexOf('.') === -1) {
name = 'express.' + name;
}
com = {
trigger: name,
contents: name + '(' + paras.join(',') + ')'
};
} else {
com = {
trigger: signature,
contents: signature
};
}
return JSON.stringify(com);
};
var cms = $('h3').map(function(i, dom) {
return toCompelition(dom.innerHTML);
});
var str = Array.prototype.slice.call(cms).join(',');
copy(str);
'use strict';
var toCompelition = function(signature) {
/* app.get(name) */
var apiReg = /([a-zA-Z.]+)\(([\w\s\[\]\.\|,]*)\)/g;
var varReg = /([a-zA-Z.]+)/g;
var com = null;
var matchs = apiReg.exec(signature);
if (matchs) {
var name = matchs[1];
var parasString = matchs[2] || '';
var paras = parasString.trim().split(',').map(function(p, i) {
var index = i + 1;
return '${' + index + ':' + p + '}';
});
if (name.indexOf('.') === -1) {
name = 'express.' + name;
}
com = {
trigger: name + '\t express4.x',
contents: name + '(' + paras.join(',') + ')'
};
} else {
com = {
trigger: signature + '\t express4.x',
contents: signature
};
}
return JSON.stringify(com);
};
var cms = $('h3').map(function(i, dom) {
return toCompelition(dom.innerHTML);
});
var str = Array.prototype.slice.call(cms).filter(function(com) {
var obj = JSON.parse(com);
return obj.trigger !== "Methods\t express4.x"
}).join(',');
copy(str);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment