diff --git a/lib/coffee-script/optparse.js b/lib/coffee-script/optparse.js index d0547962..5e0114c9 100644 --- a/lib/coffee-script/optparse.js +++ b/lib/coffee-script/optparse.js @@ -9,7 +9,7 @@ } OptionParser.prototype.parse = function(args) { - var arg, i, isOption, matchedRule, options, originalArgs, rule, value, _i, _len, _len2, _ref; + var arg, i, isOption, matchedRule, options, originalArgs, pos, rule, value, _i, _len, _len2, _ref; options = { arguments: [], literals: [] @@ -19,7 +19,9 @@ for (i = 0, _len = args.length; i < _len; i++) { arg = args[i]; if (arg === '--') { - options.literals = originalArgs.slice(1 + originalArgs.indexOf('--')); + pos = originalArgs.indexOf('--'); + options.arguments = [originalArgs[1 + pos]]; + options.literals = originalArgs.slice(2 + pos); break; } isOption = !!(arg.match(LONG_FLAG) || arg.match(SHORT_FLAG)); diff --git a/src/optparse.coffee b/src/optparse.coffee index 1c490f2a..0b453d37 100644 --- a/src/optparse.coffee +++ b/src/optparse.coffee @@ -29,7 +29,9 @@ exports.OptionParser = class OptionParser args = normalizeArguments args for arg, i in args if arg is '--' - options.literals = originalArgs[(1 + originalArgs.indexOf '--')..] + pos = originalArgs.indexOf '--' + options.arguments = [originalArgs[1 + pos]] + options.literals = originalArgs[(2 + pos)..] break isOption = !!(arg.match(LONG_FLAG) or arg.match(SHORT_FLAG)) matchedRule = no