diff --git a/build/bundle.js b/build/bundle.js index f164421b..5e5a5355 100644 --- a/build/bundle.js +++ b/build/bundle.js @@ -9903,15 +9903,15 @@ var commands = { }, getOptionMap: function() { - var optionMap = {}; - this.loop(function(config, name) { + var optionMap = {'git': {}}; + this.loop(function(config, name, vcs) { var displayName = config.displayName || name; var thisMap = {}; // start all options off as disabled _.each(config.options, function(option) { thisMap[option] = false; }); - optionMap[displayName] = thisMap; + optionMap[vcs][displayName] = thisMap; }); return optionMap; }, @@ -10403,7 +10403,7 @@ var instantCommands = [ intl.str('git-supported-commands'), '
' ]; - var commands = commands.getOptionMap(); + var commands = commands.getOptionMap()['git']; // build up a nice display of what we support _.each(commands, function(commandOptions, command) { lines.push('git ' + command); @@ -10430,7 +10430,7 @@ var parse = function(str) { _.each(commands.getRegexMap(), function(regex, thisMethod) { if (regex.exec(str)) { vcs = 'git'; // XXX get from regex map - options = str.slice(vcs.length + 1 + thisMethod.length + 1); + options = str.slice(thisMethod.length + 1); method = thisMethod.slice(vcs.length + 1); } }); @@ -10441,7 +10441,7 @@ var parse = function(str) { // we support this command! // parse off the options and assemble the map / general args - var parsedOptions = new CommandOptionParser(method, options); + var parsedOptions = new CommandOptionParser(vcs, method, options); return { toSet: { generalArgs: parsedOptions.generalArgs, @@ -10457,11 +10457,12 @@ var parse = function(str) { /** * CommandOptionParser */ -function CommandOptionParser(method, options) { +function CommandOptionParser(vcs, method, options) { + this.vcs = vcs; this.method = method; this.rawOptions = options; - this.supportedMap = commands.getOptionMap()[method]; + this.supportedMap = commands.getOptionMap()[vcs][method]; if (this.supportedMap === undefined) { throw new Error('No option map for ' + method); } @@ -10470,20 +10471,6 @@ function CommandOptionParser(method, options) { this.explodeAndSet(); } -var optionMap = {}; -commands.loop(function(config, name) { - var displayName = config.displayName || name; - if (optionMap[displayName] !== undefined) { - return; - } - - var thisMap = {}; - _.each(config.options, function(option) { - thisMap[option] = false; - }); - optionMap[displayName] = thisMap; -}); - CommandOptionParser.prototype.explodeAndSet = function() { // TODO -- this is ugly // split on spaces, except when inside quotes @@ -23802,15 +23789,15 @@ var commands = { }, getOptionMap: function() { - var optionMap = {}; - this.loop(function(config, name) { + var optionMap = {'git': {}}; + this.loop(function(config, name, vcs) { var displayName = config.displayName || name; var thisMap = {}; // start all options off as disabled _.each(config.options, function(option) { thisMap[option] = false; }); - optionMap[displayName] = thisMap; + optionMap[vcs][displayName] = thisMap; }); return optionMap; }, @@ -24302,7 +24289,7 @@ var instantCommands = [ intl.str('git-supported-commands'), '
' ]; - var commands = commands.getOptionMap(); + var commands = commands.getOptionMap()['git']; // build up a nice display of what we support _.each(commands, function(commandOptions, command) { lines.push('git ' + command); @@ -24329,7 +24316,7 @@ var parse = function(str) { _.each(commands.getRegexMap(), function(regex, thisMethod) { if (regex.exec(str)) { vcs = 'git'; // XXX get from regex map - options = str.slice(vcs.length + 1 + thisMethod.length + 1); + options = str.slice(thisMethod.length + 1); method = thisMethod.slice(vcs.length + 1); } }); @@ -24340,7 +24327,7 @@ var parse = function(str) { // we support this command! // parse off the options and assemble the map / general args - var parsedOptions = new CommandOptionParser(method, options); + var parsedOptions = new CommandOptionParser(vcs, method, options); return { toSet: { generalArgs: parsedOptions.generalArgs, @@ -24356,11 +24343,12 @@ var parse = function(str) { /** * CommandOptionParser */ -function CommandOptionParser(method, options) { +function CommandOptionParser(vcs, method, options) { + this.vcs = vcs; this.method = method; this.rawOptions = options; - this.supportedMap = commands.getOptionMap()[method]; + this.supportedMap = commands.getOptionMap()[vcs][method]; if (this.supportedMap === undefined) { throw new Error('No option map for ' + method); } @@ -24369,20 +24357,6 @@ function CommandOptionParser(method, options) { this.explodeAndSet(); } -var optionMap = {}; -commands.loop(function(config, name) { - var displayName = config.displayName || name; - if (optionMap[displayName] !== undefined) { - return; - } - - var thisMap = {}; - _.each(config.options, function(option) { - thisMap[option] = false; - }); - optionMap[displayName] = thisMap; -}); - CommandOptionParser.prototype.explodeAndSet = function() { // TODO -- this is ugly // split on spaces, except when inside quotes diff --git a/src/js/git/commands.js b/src/js/git/commands.js index 94fa62c1..b5289d4a 100644 --- a/src/js/git/commands.js +++ b/src/js/git/commands.js @@ -604,20 +604,6 @@ function CommandOptionParser(vcs, method, options) { this.explodeAndSet(); } -var optionMap = {}; -commands.loop(function(config, name) { - var displayName = config.displayName || name; - if (optionMap[displayName] !== undefined) { - return; - } - - var thisMap = {}; - _.each(config.options, function(option) { - thisMap[option] = false; - }); - optionMap[displayName] = thisMap; -}); - CommandOptionParser.prototype.explodeAndSet = function() { // TODO -- this is ugly // split on spaces, except when inside quotes