add a vcs level to regex map

This commit is contained in:
Siddharth Agarwal 2013-07-31 00:28:59 -07:00
parent 3abe620cf1
commit 54414925fa
4 changed files with 63 additions and 36 deletions

View file

@ -9917,10 +9917,10 @@ var commands = {
}, },
getRegexMap: function() { getRegexMap: function() {
var map = {}; var map = {'git': {}};
this.loop(function(config, name) { this.loop(function(config, name, vcs) {
var displayName = 'git ' + (config.displayName || name); var displayName = config.displayName || name;
map[displayName] = config.regex; map[vcs][displayName] = config.regex;
}); });
return map; return map;
}, },
@ -10427,12 +10427,14 @@ var parse = function(str) {
var options; var options;
// see if we support this particular command // see if we support this particular command
_.each(commands.getRegexMap(), function(regex, thisMethod) { _.each(commands.getRegexMap(), function (map, thisVCS) {
if (regex.exec(str)) { _.each(map, function(regex, thisMethod) {
vcs = 'git'; // XXX get from regex map if (regex.exec(str)) {
options = str.slice(thisMethod.length + 1); vcs = thisVCS; // XXX get from regex map
method = thisMethod.slice(vcs.length + 1); method = thisMethod;
} options = str.slice(vcs.length + 1 + method.length + 1);
}
});
}); });
if (!method) { if (!method) {
@ -14446,10 +14448,14 @@ var getAllCommands = function() {
var allCommands = _.extend( var allCommands = _.extend(
{}, {},
GitCommands.commands.getRegexMap(),
require('../level').regexMap, require('../level').regexMap,
regexMap regexMap
); );
_.each(GitCommands.commands.getRegexMap(), function(map, vcs) {
_.each(map, function(regex, method) {
allCommands[vcs + ' ' + method] = regex;
});
});
_.each(toDelete, function(key) { _.each(toDelete, function(key) {
delete allCommands[key]; delete allCommands[key];
}); });
@ -18202,7 +18208,10 @@ DisabledMap.prototype.getInstantCommands = function() {
}; };
_.each(this.disabledMap, function(val, disabledCommand) { _.each(this.disabledMap, function(val, disabledCommand) {
var gitRegex = GitCommands.commands.getRegexMap()[disabledCommand]; // XXX get hold of vcs from disabledMap
var vcs = 'git';
disabledCommand = disabledCommand.slice(vcs.length + 1);
var gitRegex = GitCommands.commands.getRegexMap()[vcs][disabledCommand];
if (!gitRegex) { if (!gitRegex) {
throw new Error('wuttttt this disbaled command' + disabledCommand + throw new Error('wuttttt this disbaled command' + disabledCommand +
' has no regex matching'); ' has no regex matching');
@ -23803,10 +23812,10 @@ var commands = {
}, },
getRegexMap: function() { getRegexMap: function() {
var map = {}; var map = {'git': {}};
this.loop(function(config, name) { this.loop(function(config, name, vcs) {
var displayName = 'git ' + (config.displayName || name); var displayName = config.displayName || name;
map[displayName] = config.regex; map[vcs][displayName] = config.regex;
}); });
return map; return map;
}, },
@ -24313,12 +24322,14 @@ var parse = function(str) {
var options; var options;
// see if we support this particular command // see if we support this particular command
_.each(commands.getRegexMap(), function(regex, thisMethod) { _.each(commands.getRegexMap(), function (map, thisVCS) {
if (regex.exec(str)) { _.each(map, function(regex, thisMethod) {
vcs = 'git'; // XXX get from regex map if (regex.exec(str)) {
options = str.slice(thisMethod.length + 1); vcs = thisVCS; // XXX get from regex map
method = thisMethod.slice(vcs.length + 1); method = thisMethod;
} options = str.slice(vcs.length + 1 + method.length + 1);
}
});
}); });
if (!method) { if (!method) {
@ -28314,7 +28325,10 @@ DisabledMap.prototype.getInstantCommands = function() {
}; };
_.each(this.disabledMap, function(val, disabledCommand) { _.each(this.disabledMap, function(val, disabledCommand) {
var gitRegex = GitCommands.commands.getRegexMap()[disabledCommand]; // XXX get hold of vcs from disabledMap
var vcs = 'git';
disabledCommand = disabledCommand.slice(vcs.length + 1);
var gitRegex = GitCommands.commands.getRegexMap()[vcs][disabledCommand];
if (!gitRegex) { if (!gitRegex) {
throw new Error('wuttttt this disbaled command' + disabledCommand + throw new Error('wuttttt this disbaled command' + disabledCommand +
' has no regex matching'); ' has no regex matching');
@ -29513,10 +29527,14 @@ var getAllCommands = function() {
var allCommands = _.extend( var allCommands = _.extend(
{}, {},
GitCommands.commands.getRegexMap(),
require('../level').regexMap, require('../level').regexMap,
regexMap regexMap
); );
_.each(GitCommands.commands.getRegexMap(), function(map, vcs) {
_.each(map, function(regex, method) {
allCommands[vcs + ' ' + method] = regex;
});
});
_.each(toDelete, function(key) { _.each(toDelete, function(key) {
delete allCommands[key]; delete allCommands[key];
}); });

View file

@ -50,10 +50,10 @@ var commands = {
}, },
getRegexMap: function() { getRegexMap: function() {
var map = {}; var map = {'git': {}};
this.loop(function(config, name) { this.loop(function(config, name, vcs) {
var displayName = 'git ' + (config.displayName || name); var displayName = config.displayName || name;
map[displayName] = config.regex; map[vcs][displayName] = config.regex;
}); });
return map; return map;
}, },
@ -560,12 +560,14 @@ var parse = function(str) {
var options; var options;
// see if we support this particular command // see if we support this particular command
_.each(commands.getRegexMap(), function(regex, thisMethod) { _.each(commands.getRegexMap(), function (map, thisVCS) {
if (regex.exec(str)) { _.each(map, function(regex, thisMethod) {
vcs = 'git'; // XXX get from regex map if (regex.exec(str)) {
options = str.slice(thisMethod.length + 1); vcs = thisVCS; // XXX get from regex map
method = thisMethod.slice(vcs.length + 1); method = thisMethod;
} options = str.slice(vcs.length + 1 + method.length + 1);
}
});
}); });
if (!method) { if (!method) {

View file

@ -26,7 +26,10 @@ DisabledMap.prototype.getInstantCommands = function() {
}; };
_.each(this.disabledMap, function(val, disabledCommand) { _.each(this.disabledMap, function(val, disabledCommand) {
var gitRegex = GitCommands.commands.getRegexMap()[disabledCommand]; // XXX get hold of vcs from disabledMap
var vcs = 'git';
disabledCommand = disabledCommand.slice(vcs.length + 1);
var gitRegex = GitCommands.commands.getRegexMap()[vcs][disabledCommand];
if (!gitRegex) { if (!gitRegex) {
throw new Error('wuttttt this disbaled command' + disabledCommand + throw new Error('wuttttt this disbaled command' + disabledCommand +
' has no regex matching'); ' has no regex matching');

View file

@ -121,10 +121,14 @@ var getAllCommands = function() {
var allCommands = _.extend( var allCommands = _.extend(
{}, {},
GitCommands.commands.getRegexMap(),
require('../level').regexMap, require('../level').regexMap,
regexMap regexMap
); );
_.each(GitCommands.commands.getRegexMap(), function(map, vcs) {
_.each(map, function(regex, method) {
allCommands[vcs + ' ' + method] = regex;
});
});
_.each(toDelete, function(key) { _.each(toDelete, function(key) {
delete allCommands[key]; delete allCommands[key];
}); });