diff --git a/package.json b/package.json index 17bd4c76323da8ec39d4e4dc43e13cfd660d635f..2ed9882f44270aa1f0d1ecd09fc0c186c216a4e5 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "native-keymap": "^0.1.2", "weak": "^1.0.1", "winreg": "0.0.12", - "yargs": "^3.32.0", "yauzl": "^2.3.1" }, "devDependencies": { diff --git a/resources/common/bin/launcher.js b/resources/common/bin/launcher.js index d69f1b39f901aaf38fb1d06185fa8f7427a886ce..bcfc0d26fac82517d476f05c1a50e462caba5ace 100644 --- a/resources/common/bin/launcher.js +++ b/resources/common/bin/launcher.js @@ -8,27 +8,38 @@ var packageJson = require('../../../package.json'); var os = require('os'); var spawn = require('child_process').spawn; -var yargs = require('yargs'); -function parseArgs() { +function ArgParser(args) { + this.args = args; +} + +ArgParser.prototype.hasFlag = function (flag, alias) { + return (flag && this.args.indexOf('--' + flag) >= 0) || + (alias && this.args.indexOf('-' + alias) >= 0); +} + +ArgParser.prototype.printHelp = function () { var executable = 'code' + (os.platform() == 'win32' ? '.exe' : ''); - var options = yargs(process.argv.slice(1)); - options.usage( + console.log( 'Visual Studio Code v' + packageJson.version + '\n' + '\n' + - 'Usage: ' + executable + ' [arguments] [path]'); - options.alias('h', 'help').boolean('h').describe('h', 'Print usage.'); - options.string('locale').describe('locale', 'Use a specific locale.'); - options.boolean('n').describe('n', 'Force a new instance of code.'); - options.alias('v', 'version').boolean('v').describe('v', 'Print version.'); - - var args = options.argv; - if (args.help) { - process.stdout.write(options.help()); + 'Usage: ' + executable + ' [arguments] [paths...]\n' + + '\n' + + 'Options:\n' + + ' -h, --help Print usage.\n' + + ' --locale Use a specific locale.\n' + + ' -n Force a new instance of code.\n' + + ' -v, --version Print version.'); +} + +function parseArgs() { + var argParser = new ArgParser(process.argv.slice(2)); + if (argParser.hasFlag('help', 'h')) { + argParser.printHelp(); process.exit(0); } - if (args.version) { - process.stdout.write(packageJson.version + '\n'); + if (argParser.hasFlag('version', 'v')) { + console.log(packageJson.version); process.exit(0); } }