Skip to content

Commit

Permalink
move launcher.js to cli.js
Browse files Browse the repository at this point in the history
  • Loading branch information
joaomoreno committed Feb 12, 2016
1 parent c1ef29d commit 8626f24
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 82 deletions.
8 changes: 4 additions & 4 deletions build/gulpfile.vscode.js
Original file line number Diff line number Diff line change
Expand Up @@ -217,12 +217,12 @@ function packageTask(platform, arch, opts) {
.pipe(util.cleanNodeModule('native-keymap', ['binding.gyp', 'build/**', 'src/**', 'deps/**'], true))
.pipe(util.cleanNodeModule('weak', ['binding.gyp', 'build/**', 'src/**'], true));

var resources = gulp.src(['resources/*','resources/common/**'], { base: '.' });
var resources;

if (platform === 'win32') {
resources = es.merge(resources, gulp.src('resources/win32/code_file.ico', { base: '.' }));
resources = gulp.src('resources/win32/code_file.ico', { base: '.' });
} else if (platform === 'linux') {
resources = es.merge(resources, gulp.src('resources/linux/code.png', { base: '.' }));
resources = gulp.src('resources/linux/code.png', { base: '.' });
}

var extraExtensions = util.downloadExtensions(builtInExtensions)
Expand All @@ -238,7 +238,7 @@ function packageTask(platform, arch, opts) {
sources,
deps,
extraExtensions,
resources
resources || es.through()
).pipe(util.skipDirectories());

var result = all
Expand Down
28 changes: 8 additions & 20 deletions resources/common/bin/code.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,17 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.

if [[ "$OSTYPE" == "darwin"* ]]; then
if [ -x "/Applications/Visual Studio Code.app" ]; then
VSCODE_DIR="/Applications/Visual Studio Code.app/Contents/MacOS"
elif [ -x "$HOME/Applications/Visual Studio Code.app" ]; then
VSCODE_DIR="$HOME/Applications/Visual Studio Code.app/Contents/MacOS"
else
echo "Could not locate Visual Studio Code.app"
exit 1
fi
ELECTRON_FILE="Electron"
VSCODE_DIR="/usr/share/code"
if [ -x "$VSCODE_DIR/Code" ]; then
ELECTRON_FILE="Code"
elif [ -x "$VSCODE_DIR/Code - OSS" ]; then
ELECTRON_FILE="Code - OSS"
else
VSCODE_DIR="/usr/share/code"
if [ -x "$VSCODE_DIR/Code" ]; then
ELECTRON_FILE="Code"
elif [ -x "$VSCODE_DIR/Code - OSS" ]; then
ELECTRON_FILE="Code - OSS"
else
echo "Could not locate Visual Studio Code executable."
exit 1
fi
echo "Could not locate Visual Studio Code executable."
exit 1
fi

VSCODE_LAUNCHER="$VSCODE_DIR/resources/app/resources/common/bin/launcher.js"
VSCODE_LAUNCHER="$VSCODE_DIR/resources/app/out/cli.js"

ATOM_SHELL_INTERNAL_RUN_AS_NODE=1 VSCODE_PATH="$VSCODE_DIR/$ELECTRON_FILE" \
"$VSCODE_DIR/$ELECTRON_FILE" $VSCODE_LAUNCHER "$@"
Expand Down
58 changes: 0 additions & 58 deletions resources/common/bin/launcher.js

This file was deleted.

6 changes: 6 additions & 0 deletions src/cli.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

require('./bootstrap-amd').bootstrap('vs/workbench/electron-main/cli');
55 changes: 55 additions & 0 deletions src/vs/workbench/electron-main/cli.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import * as path from 'path';
import * as fs from 'fs';
import * as os from 'os';
import { spawn } from 'child_process';
import uri from 'vs/base/common/uri';

const rootPath = path.dirname(uri.parse(require.toUrl('')).fsPath);
const packageJsonPath = path.join(rootPath, 'package.json');
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));

class ArgParser {

constructor(private argv: string[]) {}

hasFlag(flag, alias): boolean {
return (flag && this.argv.indexOf('--' + flag) >= 0)
|| (alias && this.argv.indexOf('-' + alias) >= 0);
}

help(): string {
const executable = 'code' + (os.platform() == 'win32' ? '.exe' : '');

return `Visual Studio Code v${ packageJson.version }
Usage: ${ executable } [arguments] [paths...]
Options:
-h, --help Print usage.
--locale Use a specific locale.
-n Force a new instance of Code.
-v, --version Print version.`;
}
}

export function main(argv: string[]) {
const argParser = new ArgParser(argv);

if (argParser.hasFlag('help', 'h')) {
console.log(argParser.help());
} else if (argParser.hasFlag('version', 'v')) {
console.log(packageJson.version);
} else {
delete process.env['ATOM_SHELL_INTERNAL_RUN_AS_NODE'];
spawn(process.env['VSCODE_PATH'], process.argv.slice(2), { detached: true, stdio: 'ignore' });
}

process.exit(0);
}

main(process.argv.slice(2));

0 comments on commit 8626f24

Please sign in to comment.