diff --git a/build/gulpfile.hygiene.js b/build/gulpfile.hygiene.js
index 605da28ff3dc4..fc7d78fcf341a 100644
--- a/build/gulpfile.hygiene.js
+++ b/build/gulpfile.hygiene.js
@@ -9,6 +9,7 @@ const gulp = require('gulp');
 const filter = require('gulp-filter');
 const es = require('event-stream');
 const gulptslint = require('gulp-tslint');
+const tsfmt = require('typescript-formatter');
 const tslint = require('tslint');
 
 const all = [
@@ -159,6 +160,24 @@ const hygiene = exports.hygiene = (some, options) => {
 		this.emit('data', file);
 	});
 
+	const formatting = es.map(function (file, cb) {
+
+		tsfmt.processString(file.path, file.contents.toString('utf8'), {
+			verify: true,
+			tsfmt: true,
+			// verbose: true
+		}).then(result => {
+			if (result.error) {
+				console.error(result.message);
+				errorCount++;
+			}
+			cb(null, file);
+
+		}, err => {
+			cb(err);
+		});
+	});
+
 	const tsl = es.through(function(file) {
 		const configuration = tslint.findConfiguration(null, '.');
 		const options = { configuration, formatter: 'json', rulesDirectory: 'build/lib/tslint' };
@@ -183,6 +202,7 @@ const hygiene = exports.hygiene = (some, options) => {
 		.pipe(filter(copyrightFilter))
 		.pipe(copyrights)
 		.pipe(filter(tslintFilter))
+		.pipe(formatting)
 		.pipe(tsl)
 		.pipe(es.through(null, function () {
 			if (errorCount > 0) {
diff --git a/extensions/configuration-editing/src/extension.ts b/extensions/configuration-editing/src/extension.ts
index bb9175fed3307..e338cd3d42a62 100644
--- a/extensions/configuration-editing/src/extension.ts
+++ b/extensions/configuration-editing/src/extension.ts
@@ -6,7 +6,7 @@
 'use strict';
 
 import * as vscode from 'vscode';
-import {getLocation} from 'jsonc-parser';
+import { getLocation } from 'jsonc-parser';
 
 export function activate(context) {
 
@@ -15,7 +15,7 @@ export function activate(context) {
 
 }
 
-function registerKeybindingsCompletions() : vscode.Disposable {
+function registerKeybindingsCompletions(): vscode.Disposable {
 	const commands = vscode.commands.getCommands(true);
 
 	return vscode.languages.registerCompletionItemProvider({ pattern: '**/keybindings.json' }, {
diff --git a/extensions/css/client/src/colorDecorators.ts b/extensions/css/client/src/colorDecorators.ts
index b4135c6b5e042..959b44565e113 100644
--- a/extensions/css/client/src/colorDecorators.ts
+++ b/extensions/css/client/src/colorDecorators.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {window, workspace, DecorationOptions, DecorationRenderOptions, Disposable, Range, TextDocument, TextEditor} from 'vscode';
+import { window, workspace, DecorationOptions, DecorationRenderOptions, Disposable, Range, TextDocument, TextEditor } from 'vscode';
 
 const MAX_DECORATORS = 500;
 
@@ -30,7 +30,7 @@ export function activateColorDecorations(decoratorProvider: (uri: string) => The
 	let colorsDecorationType = window.createTextEditorDecorationType(decorationType);
 	disposables.push(colorsDecorationType);
 
-	let pendingUpdateRequests : { [key:string]: NodeJS.Timer; } = {};
+	let pendingUpdateRequests: { [key: string]: NodeJS.Timer; } = {};
 
 	// we care about all visible editors
 	window.visibleTextEditors.forEach(editor => {
diff --git a/extensions/css/client/src/cssMain.ts b/extensions/css/client/src/cssMain.ts
index 64e05cc5d1d46..59fe3a74bb40e 100644
--- a/extensions/css/client/src/cssMain.ts
+++ b/extensions/css/client/src/cssMain.ts
@@ -6,9 +6,9 @@
 
 import * as path from 'path';
 
-import {languages, window, commands, ExtensionContext} from 'vscode';
-import {LanguageClient, LanguageClientOptions, ServerOptions, TransportKind, RequestType, Range, TextEdit, Protocol2Code} from 'vscode-languageclient';
-import {activateColorDecorations} from './colorDecorators';
+import { languages, window, commands, ExtensionContext } from 'vscode';
+import { LanguageClient, LanguageClientOptions, ServerOptions, TransportKind, RequestType, Range, TextEdit, Protocol2Code } from 'vscode-languageclient';
+import { activateColorDecorations } from './colorDecorators';
 
 import * as nls from 'vscode-nls';
 let localize = nls.loadMessageBundle();
diff --git a/extensions/css/server/src/cssServerMain.ts b/extensions/css/server/src/cssServerMain.ts
index 751be2baefd6f..32a6523a7512e 100644
--- a/extensions/css/server/src/cssServerMain.ts
+++ b/extensions/css/server/src/cssServerMain.ts
@@ -9,8 +9,8 @@ import {
 	TextDocuments, TextDocument, InitializeParams, InitializeResult, RequestType
 } from 'vscode-languageserver';
 
-import {getCSSLanguageService, getSCSSLanguageService, getLESSLanguageService, LanguageSettings, LanguageService, Stylesheet} from 'vscode-css-languageservice';
-import {getLanguageModelCache} from './languageModelCache';
+import { getCSSLanguageService, getSCSSLanguageService, getLESSLanguageService, LanguageSettings, LanguageService, Stylesheet } from 'vscode-css-languageservice';
+import { getLanguageModelCache } from './languageModelCache';
 
 namespace ColorSymbolRequest {
 	export const type: RequestType<string, Range[], any> = { get method() { return 'css/colorSymbols'; } };
@@ -62,7 +62,7 @@ connection.onInitialize((params: InitializeParams): InitializeResult => {
 	};
 });
 
-let languageServices : { [id:string]: LanguageService} = {
+let languageServices: { [id: string]: LanguageService } = {
 	css: getCSSLanguageService(),
 	scss: getSCSSLanguageService(),
 	less: getLESSLanguageService()
@@ -90,7 +90,7 @@ function updateConfiguration(settings: Settings) {
 	documents.all().forEach(triggerValidation);
 }
 
-let pendingValidationRequests : { [uri:string]: NodeJS.Timer } = {};
+let pendingValidationRequests: { [uri: string]: NodeJS.Timer } = {};
 const validationDelayMs = 200;
 
 // The content of a text document has changed. This event is emitted
diff --git a/extensions/css/server/src/languageModelCache.ts b/extensions/css/server/src/languageModelCache.ts
index dce68bed9a32c..b12f77b52a61d 100644
--- a/extensions/css/server/src/languageModelCache.ts
+++ b/extensions/css/server/src/languageModelCache.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TextDocument} from 'vscode-languageserver';
+import { TextDocument } from 'vscode-languageserver';
 
 export interface LanguageModelCache<T> {
 	get(document: TextDocument): T;
@@ -12,8 +12,8 @@ export interface LanguageModelCache<T> {
 	dispose(): void;
 }
 
-export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTimeInSec: number, parse: (document: TextDocument) => T) : LanguageModelCache<T> {
-	let languageModels: { [uri:string]: {version:number, languageId: string, cTime: number, languageModel: T}} = {};
+export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTimeInSec: number, parse: (document: TextDocument) => T): LanguageModelCache<T> {
+	let languageModels: { [uri: string]: { version: number, languageId: string, cTime: number, languageModel: T } } = {};
 	let nModels = 0;
 
 	let cleanupInterval = void 0;
@@ -32,7 +32,7 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
 	}
 
 	return {
-		get(document: TextDocument) : T {
+		get(document: TextDocument): T {
 			let version = document.version;
 			let languageId = document.languageId;
 			let languageModelInfo = languageModels[document.uri];
@@ -41,7 +41,7 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
 				return languageModelInfo.languageModel;
 			}
 			let languageModel = parse(document);
-			languageModels[document.uri] = { languageModel, version, languageId, cTime: Date.now()};
+			languageModels[document.uri] = { languageModel, version, languageId, cTime: Date.now() };
 			if (!languageModelInfo) {
 				nModels++;
 			}
diff --git a/extensions/css/server/src/typings/promise.d.ts b/extensions/css/server/src/typings/promise.d.ts
index 31b97cb9580a3..925c943df50a6 100644
--- a/extensions/css/server/src/typings/promise.d.ts
+++ b/extensions/css/server/src/typings/promise.d.ts
@@ -31,8 +31,8 @@ interface Thenable<R> {
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
-    then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Thenable<TResult>;
-    then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Thenable<TResult>;
+	then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Thenable<TResult>;
+	then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Thenable<TResult>;
 }
 
 /**
@@ -45,15 +45,15 @@ interface Promise<T> extends Thenable<T> {
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
-    then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Promise<TResult>;
-    then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Promise<TResult>;
+	then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Promise<TResult>;
+	then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Promise<TResult>;
 
     /**
      * Attaches a callback for only the rejection of the Promise.
      * @param onrejected The callback to execute when the Promise is rejected.
      * @returns A Promise for the completion of the callback.
      */
-    catch(onrejected?: (reason: any) => T | Thenable<T>): Promise<T>;
+	catch(onrejected?: (reason: any) => T | Thenable<T>): Promise<T>;
 }
 
 interface PromiseConstructor {
@@ -63,7 +63,7 @@ interface PromiseConstructor {
      * a resolve callback used resolve the promise with a value or the result of another promise,
      * and a reject callback used to reject the promise with a provided reason or error.
      */
-    new <T>(executor: (resolve: (value?: T | Thenable<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
+	new <T>(executor: (resolve: (value?: T | Thenable<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
 
     /**
      * Creates a Promise that is resolved with an array of results when all of the provided Promises
@@ -71,7 +71,7 @@ interface PromiseConstructor {
      * @param values An array of Promises.
      * @returns A new Promise.
      */
-    all<T>(values: Array<T | Thenable<T>>): Promise<T[]>;
+	all<T>(values: Array<T | Thenable<T>>): Promise<T[]>;
 
     /**
      * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
@@ -79,34 +79,34 @@ interface PromiseConstructor {
      * @param values An array of Promises.
      * @returns A new Promise.
      */
-    race<T>(values: Array<T | Thenable<T>>): Promise<T>;
+	race<T>(values: Array<T | Thenable<T>>): Promise<T>;
 
     /**
      * Creates a new rejected promise for the provided reason.
      * @param reason The reason the promise was rejected.
      * @returns A new rejected Promise.
      */
-    reject(reason: any): Promise<void>;
+	reject(reason: any): Promise<void>;
 
     /**
      * Creates a new rejected promise for the provided reason.
      * @param reason The reason the promise was rejected.
      * @returns A new rejected Promise.
      */
-    reject<T>(reason: any): Promise<T>;
+	reject<T>(reason: any): Promise<T>;
 
     /**
       * Creates a new resolved promise for the provided value.
       * @param value A promise.
       * @returns A promise whose internal state matches the provided promise.
       */
-    resolve<T>(value: T | Thenable<T>): Promise<T>;
+	resolve<T>(value: T | Thenable<T>): Promise<T>;
 
     /**
      * Creates a new resolved promise .
      * @returns A resolved promise.
      */
-    resolve(): Promise<void>;
+	resolve(): Promise<void>;
 }
 
 declare var Promise: PromiseConstructor;
diff --git a/extensions/html/client/src/htmlEmptyTagsShared.ts b/extensions/html/client/src/htmlEmptyTagsShared.ts
index 250fa18be0e80..872b3880aba1c 100644
--- a/extensions/html/client/src/htmlEmptyTagsShared.ts
+++ b/extensions/html/client/src/htmlEmptyTagsShared.ts
@@ -3,4 +3,4 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-export const EMPTY_ELEMENTS:string[] = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr'];
+export const EMPTY_ELEMENTS: string[] = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr'];
diff --git a/extensions/html/client/src/htmlMain.ts b/extensions/html/client/src/htmlMain.ts
index 2273bc99c8d55..11e09c8d0ecc1 100644
--- a/extensions/html/client/src/htmlMain.ts
+++ b/extensions/html/client/src/htmlMain.ts
@@ -6,9 +6,9 @@
 
 import * as path from 'path';
 
-import {languages, ExtensionContext, IndentAction} from 'vscode';
-import {LanguageClient, LanguageClientOptions, ServerOptions, TransportKind} from 'vscode-languageclient';
-import {EMPTY_ELEMENTS} from './htmlEmptyTagsShared';
+import { languages, ExtensionContext, IndentAction } from 'vscode';
+import { LanguageClient, LanguageClientOptions, ServerOptions, TransportKind } from 'vscode-languageclient';
+import { EMPTY_ELEMENTS } from './htmlEmptyTagsShared';
 
 import * as nls from 'vscode-nls';
 let localize = nls.loadMessageBundle();
@@ -50,7 +50,7 @@ export function activate(context: ExtensionContext) {
 
 	languages.setLanguageConfiguration('html', {
 		wordPattern: /("(?:[^\\\"]*(?:\\.)?)*"?)|('(?:[^\\\']*(?:\\.)?)*'?)|[^\s<>={}\[\],]+/,
-		onEnterRules:[
+		onEnterRules: [
 			{
 				beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join('|')}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`, 'i'),
 				afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
@@ -65,7 +65,7 @@ export function activate(context: ExtensionContext) {
 
 	languages.setLanguageConfiguration('handlebars', {
 		wordPattern: /("(?:[^\\\"]*(?:\\.)?)*"?)|('(?:[^\\\']*(?:\\.)?)*'?)|[^\s<>={}\[\],]+/,
-		onEnterRules:[
+		onEnterRules: [
 			{
 				beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join('|')}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`, 'i'),
 				afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
@@ -80,7 +80,7 @@ export function activate(context: ExtensionContext) {
 
 	languages.setLanguageConfiguration('razor', {
 		wordPattern: /("(?:[^\\\"]*(?:\\.)?)*"?)|('(?:[^\\\']*(?:\\.)?)*'?)|[^\s<>={}\[\],]+/,
-		onEnterRules:[
+		onEnterRules: [
 			{
 				beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join('|')}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`, 'i'),
 				afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
diff --git a/extensions/html/server/src/htmlServerMain.ts b/extensions/html/server/src/htmlServerMain.ts
index 89fc06408e2cd..7fd6263335299 100644
--- a/extensions/html/server/src/htmlServerMain.ts
+++ b/extensions/html/server/src/htmlServerMain.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {createConnection, IConnection, TextDocuments, InitializeParams, InitializeResult} from 'vscode-languageserver';
+import { createConnection, IConnection, TextDocuments, InitializeParams, InitializeResult } from 'vscode-languageserver';
 
-import {HTMLDocument, getLanguageService, CompletionConfiguration, HTMLFormatConfiguration} from 'vscode-html-languageservice';
-import {getLanguageModelCache} from './languageModelCache';
+import { HTMLDocument, getLanguageService, CompletionConfiguration, HTMLFormatConfiguration } from 'vscode-html-languageservice';
+import { getLanguageModelCache } from './languageModelCache';
 
 
 import * as nls from 'vscode-nls';
diff --git a/extensions/html/server/src/languageModelCache.ts b/extensions/html/server/src/languageModelCache.ts
index dce68bed9a32c..b12f77b52a61d 100644
--- a/extensions/html/server/src/languageModelCache.ts
+++ b/extensions/html/server/src/languageModelCache.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TextDocument} from 'vscode-languageserver';
+import { TextDocument } from 'vscode-languageserver';
 
 export interface LanguageModelCache<T> {
 	get(document: TextDocument): T;
@@ -12,8 +12,8 @@ export interface LanguageModelCache<T> {
 	dispose(): void;
 }
 
-export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTimeInSec: number, parse: (document: TextDocument) => T) : LanguageModelCache<T> {
-	let languageModels: { [uri:string]: {version:number, languageId: string, cTime: number, languageModel: T}} = {};
+export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTimeInSec: number, parse: (document: TextDocument) => T): LanguageModelCache<T> {
+	let languageModels: { [uri: string]: { version: number, languageId: string, cTime: number, languageModel: T } } = {};
 	let nModels = 0;
 
 	let cleanupInterval = void 0;
@@ -32,7 +32,7 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
 	}
 
 	return {
-		get(document: TextDocument) : T {
+		get(document: TextDocument): T {
 			let version = document.version;
 			let languageId = document.languageId;
 			let languageModelInfo = languageModels[document.uri];
@@ -41,7 +41,7 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
 				return languageModelInfo.languageModel;
 			}
 			let languageModel = parse(document);
-			languageModels[document.uri] = { languageModel, version, languageId, cTime: Date.now()};
+			languageModels[document.uri] = { languageModel, version, languageId, cTime: Date.now() };
 			if (!languageModelInfo) {
 				nModels++;
 			}
diff --git a/extensions/html/server/src/typings/promise.d.ts b/extensions/html/server/src/typings/promise.d.ts
index 31b97cb9580a3..925c943df50a6 100644
--- a/extensions/html/server/src/typings/promise.d.ts
+++ b/extensions/html/server/src/typings/promise.d.ts
@@ -31,8 +31,8 @@ interface Thenable<R> {
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
-    then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Thenable<TResult>;
-    then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Thenable<TResult>;
+	then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Thenable<TResult>;
+	then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Thenable<TResult>;
 }
 
 /**
@@ -45,15 +45,15 @@ interface Promise<T> extends Thenable<T> {
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
-    then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Promise<TResult>;
-    then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Promise<TResult>;
+	then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Promise<TResult>;
+	then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Promise<TResult>;
 
     /**
      * Attaches a callback for only the rejection of the Promise.
      * @param onrejected The callback to execute when the Promise is rejected.
      * @returns A Promise for the completion of the callback.
      */
-    catch(onrejected?: (reason: any) => T | Thenable<T>): Promise<T>;
+	catch(onrejected?: (reason: any) => T | Thenable<T>): Promise<T>;
 }
 
 interface PromiseConstructor {
@@ -63,7 +63,7 @@ interface PromiseConstructor {
      * a resolve callback used resolve the promise with a value or the result of another promise,
      * and a reject callback used to reject the promise with a provided reason or error.
      */
-    new <T>(executor: (resolve: (value?: T | Thenable<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
+	new <T>(executor: (resolve: (value?: T | Thenable<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
 
     /**
      * Creates a Promise that is resolved with an array of results when all of the provided Promises
@@ -71,7 +71,7 @@ interface PromiseConstructor {
      * @param values An array of Promises.
      * @returns A new Promise.
      */
-    all<T>(values: Array<T | Thenable<T>>): Promise<T[]>;
+	all<T>(values: Array<T | Thenable<T>>): Promise<T[]>;
 
     /**
      * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
@@ -79,34 +79,34 @@ interface PromiseConstructor {
      * @param values An array of Promises.
      * @returns A new Promise.
      */
-    race<T>(values: Array<T | Thenable<T>>): Promise<T>;
+	race<T>(values: Array<T | Thenable<T>>): Promise<T>;
 
     /**
      * Creates a new rejected promise for the provided reason.
      * @param reason The reason the promise was rejected.
      * @returns A new rejected Promise.
      */
-    reject(reason: any): Promise<void>;
+	reject(reason: any): Promise<void>;
 
     /**
      * Creates a new rejected promise for the provided reason.
      * @param reason The reason the promise was rejected.
      * @returns A new rejected Promise.
      */
-    reject<T>(reason: any): Promise<T>;
+	reject<T>(reason: any): Promise<T>;
 
     /**
       * Creates a new resolved promise for the provided value.
       * @param value A promise.
       * @returns A promise whose internal state matches the provided promise.
       */
-    resolve<T>(value: T | Thenable<T>): Promise<T>;
+	resolve<T>(value: T | Thenable<T>): Promise<T>;
 
     /**
      * Creates a new resolved promise .
      * @returns A resolved promise.
      */
-    resolve(): Promise<void>;
+	resolve(): Promise<void>;
 }
 
 declare var Promise: PromiseConstructor;
diff --git a/extensions/javascript/src/features/bowerJSONContribution.ts b/extensions/javascript/src/features/bowerJSONContribution.ts
index c2034433ce86f..42a26dbb69535 100644
--- a/extensions/javascript/src/features/bowerJSONContribution.ts
+++ b/extensions/javascript/src/features/bowerJSONContribution.ts
@@ -4,37 +4,37 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {MarkedString, CompletionItemKind, CompletionItem, DocumentSelector} from 'vscode';
-import {IJSONContribution, ISuggestionsCollector} from './jsonContributions';
-import {XHRRequest} from 'request-light';
-import {Location} from 'jsonc-parser';
-import {textToMarkedString} from './markedTextUtil';
+import { MarkedString, CompletionItemKind, CompletionItem, DocumentSelector } from 'vscode';
+import { IJSONContribution, ISuggestionsCollector } from './jsonContributions';
+import { XHRRequest } from 'request-light';
+import { Location } from 'jsonc-parser';
+import { textToMarkedString } from './markedTextUtil';
 
 import * as nls from 'vscode-nls';
 const localize = nls.loadMessageBundle();
 
 export class BowerJSONContribution implements IJSONContribution {
 
-	private topRanked = ['twitter','bootstrap','angular-1.1.6','angular-latest','angulerjs','d3','myjquery','jq','abcdef1234567890','jQuery','jquery-1.11.1','jquery',
-		'sushi-vanilla-x-data','font-awsome','Font-Awesome','font-awesome','fontawesome','html5-boilerplate','impress.js','homebrew',
-		'backbone','moment1','momentjs','moment','linux','animate.css','animate-css','reveal.js','jquery-file-upload','blueimp-file-upload','threejs','express','chosen',
-		'normalize-css','normalize.css','semantic','semantic-ui','Semantic-UI','modernizr','underscore','underscore1',
-		'material-design-icons','ionic','chartjs','Chart.js','nnnick-chartjs','select2-ng','select2-dist','phantom','skrollr','scrollr','less.js','leancss','parser-lib',
-		'hui','bootstrap-languages','async','gulp','jquery-pjax','coffeescript','hammer.js','ace','leaflet','jquery-mobile','sweetalert','typeahead.js','soup','typehead.js',
-		'sails','codeigniter2'];
+	private topRanked = ['twitter', 'bootstrap', 'angular-1.1.6', 'angular-latest', 'angulerjs', 'd3', 'myjquery', 'jq', 'abcdef1234567890', 'jQuery', 'jquery-1.11.1', 'jquery',
+		'sushi-vanilla-x-data', 'font-awsome', 'Font-Awesome', 'font-awesome', 'fontawesome', 'html5-boilerplate', 'impress.js', 'homebrew',
+		'backbone', 'moment1', 'momentjs', 'moment', 'linux', 'animate.css', 'animate-css', 'reveal.js', 'jquery-file-upload', 'blueimp-file-upload', 'threejs', 'express', 'chosen',
+		'normalize-css', 'normalize.css', 'semantic', 'semantic-ui', 'Semantic-UI', 'modernizr', 'underscore', 'underscore1',
+		'material-design-icons', 'ionic', 'chartjs', 'Chart.js', 'nnnick-chartjs', 'select2-ng', 'select2-dist', 'phantom', 'skrollr', 'scrollr', 'less.js', 'leancss', 'parser-lib',
+		'hui', 'bootstrap-languages', 'async', 'gulp', 'jquery-pjax', 'coffeescript', 'hammer.js', 'ace', 'leaflet', 'jquery-mobile', 'sweetalert', 'typeahead.js', 'soup', 'typehead.js',
+		'sails', 'codeigniter2'];
 
 	public constructor(private xhr: XHRRequest) {
 	}
 
 	public getDocumentSelector(): DocumentSelector {
-		return  [{ language: 'json', pattern: '**/bower.json' }, { language: 'json', pattern: '**/.bower.json' }];
+		return [{ language: 'json', pattern: '**/bower.json' }, { language: 'json', pattern: '**/.bower.json' }];
 	}
 
 	public collectDefaultSuggestions(resource: string, collector: ISuggestionsCollector): Thenable<any> {
 		let defaultValue = {
 			'name': '{{name}}',
 			'description': '{{description}}',
-			'authors': [ '{{author}}' ],
+			'authors': ['{{author}}'],
 			'version': '{{1.0.0}}',
 			'main': '{{pathToMain}}',
 			'dependencies': {}
@@ -46,19 +46,19 @@ export class BowerJSONContribution implements IJSONContribution {
 		return Promise.resolve(null);
 	}
 
-	public collectPropertySuggestions(resource: string, location: Location, currentWord: string, addValue: boolean, isLast:boolean, collector: ISuggestionsCollector) : Thenable<any> {
+	public collectPropertySuggestions(resource: string, location: Location, currentWord: string, addValue: boolean, isLast: boolean, collector: ISuggestionsCollector): Thenable<any> {
 		if ((location.matches(['dependencies']) || location.matches(['devDependencies']))) {
 			if (currentWord.length > 0) {
 				let queryUrl = 'https://bower.herokuapp.com/packages/search/' + encodeURIComponent(currentWord);
 
 				return this.xhr({
-					url : queryUrl
+					url: queryUrl
 				}).then((success) => {
 					if (success.status === 200) {
 						try {
 							let obj = JSON.parse(success.responseText);
 							if (Array.isArray(obj)) {
-								let results = <{name:string; description:string;}[]> obj;
+								let results = <{ name: string; description: string; }[]>obj;
 								for (let i = 0; i < results.length; i++) {
 									let name = results[i].name;
 									let description = results[i].description || '';
@@ -126,7 +126,7 @@ export class BowerJSONContribution implements IJSONContribution {
 		return Promise.resolve(null);
 	}
 
-	public resolveSuggestion(item: CompletionItem) : Thenable<CompletionItem> {
+	public resolveSuggestion(item: CompletionItem): Thenable<CompletionItem> {
 		if (item.kind === CompletionItemKind.Property && item.documentation === '') {
 			return this.getInfo(item.label).then(documentation => {
 				if (documentation) {
@@ -143,12 +143,12 @@ export class BowerJSONContribution implements IJSONContribution {
 		let queryUrl = 'https://bower.herokuapp.com/packages/' + encodeURIComponent(pack);
 
 		return this.xhr({
-			url : queryUrl
+			url: queryUrl
 		}).then((success) => {
 			try {
 				let obj = JSON.parse(success.responseText);
 				if (obj && obj.url) {
-					let url : string = obj.url;
+					let url: string = obj.url;
 					if (url.indexOf('git://') === 0) {
 						url = url.substring(6);
 					}
@@ -170,7 +170,7 @@ export class BowerJSONContribution implements IJSONContribution {
 		if ((location.matches(['dependencies', '*']) || location.matches(['devDependencies', '*']))) {
 			let pack = location.path[location.path.length - 1];
 			if (typeof pack === 'string') {
-				let htmlContent : MarkedString[] = [];
+				let htmlContent: MarkedString[] = [];
 				htmlContent.push(localize('json.bower.package.hover', '{0}', pack));
 				return this.getInfo(pack).then(documentation => {
 					if (documentation) {
diff --git a/extensions/javascript/src/features/jsonContributions.ts b/extensions/javascript/src/features/jsonContributions.ts
index ffa70cbdc1768..e82f8b193e4e7 100644
--- a/extensions/javascript/src/features/jsonContributions.ts
+++ b/extensions/javascript/src/features/jsonContributions.ts
@@ -4,34 +4,36 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Location, getLocation, createScanner, SyntaxKind, ScanError} from 'jsonc-parser';
-import {basename} from 'path';
-import {BowerJSONContribution} from './bowerJSONContribution';
-import {PackageJSONContribution} from './packageJSONContribution';
-import {XHRRequest} from 'request-light';
+import { Location, getLocation, createScanner, SyntaxKind, ScanError } from 'jsonc-parser';
+import { basename } from 'path';
+import { BowerJSONContribution } from './bowerJSONContribution';
+import { PackageJSONContribution } from './packageJSONContribution';
+import { XHRRequest } from 'request-light';
 
-import {CompletionItem, CompletionItemProvider, CompletionList, TextDocument, Position, Hover, HoverProvider,
-		CancellationToken, Range, TextEdit, MarkedString, DocumentSelector, languages, Disposable} from 'vscode';
+import {
+	CompletionItem, CompletionItemProvider, CompletionList, TextDocument, Position, Hover, HoverProvider,
+	CancellationToken, Range, TextEdit, MarkedString, DocumentSelector, languages, Disposable
+} from 'vscode';
 
 export interface ISuggestionsCollector {
 	add(suggestion: CompletionItem): void;
-	error(message:string): void;
-	log(message:string): void;
+	error(message: string): void;
+	log(message: string): void;
 	setAsIncomplete(): void;
 }
 
 export interface IJSONContribution {
 	getDocumentSelector(): DocumentSelector;
-	getInfoContribution(fileName: string, location: Location) : Thenable<MarkedString[]>;
-	collectPropertySuggestions(fileName: string, location: Location, currentWord: string, addValue: boolean, isLast:boolean, result: ISuggestionsCollector) : Thenable<any>;
+	getInfoContribution(fileName: string, location: Location): Thenable<MarkedString[]>;
+	collectPropertySuggestions(fileName: string, location: Location, currentWord: string, addValue: boolean, isLast: boolean, result: ISuggestionsCollector): Thenable<any>;
 	collectValueSuggestions(fileName: string, location: Location, result: ISuggestionsCollector): Thenable<any>;
 	collectDefaultSuggestions(fileName: string, result: ISuggestionsCollector): Thenable<any>;
 	resolveSuggestion?(item: CompletionItem): Thenable<CompletionItem>;
 }
 
-export function addJSONProviders(xhr: XHRRequest) : Disposable {
+export function addJSONProviders(xhr: XHRRequest): Disposable {
 	let contributions = [new PackageJSONContribution(xhr), new BowerJSONContribution(xhr)];
-	let subscriptions : Disposable[] = [];
+	let subscriptions: Disposable[] = [];
 	contributions.forEach(contribution => {
 		let selector = contribution.getDocumentSelector();
 		subscriptions.push(languages.registerCompletionItemProvider(selector, new JSONCompletionItemProvider(contribution), '.', '$'));
@@ -72,7 +74,7 @@ export class JSONCompletionItemProvider implements CompletionItemProvider {
 	constructor(private jsonContribution: IJSONContribution) {
 	}
 
-	public resolveCompletionItem(item: CompletionItem, token: CancellationToken) : Thenable<CompletionItem> {
+	public resolveCompletionItem(item: CompletionItem, token: CancellationToken): Thenable<CompletionItem> {
 		if (this.jsonContribution.resolveSuggestion) {
 			let resolver = this.jsonContribution.resolveSuggestion(item);
 			if (resolver) {
@@ -87,7 +89,7 @@ export class JSONCompletionItemProvider implements CompletionItemProvider {
 		let fileName = basename(document.fileName);
 
 		let currentWord = this.getCurrentWord(document, position);
-		let overwriteRange : Range;
+		let overwriteRange: Range;
 
 		let items: CompletionItem[] = [];
 		let isIncomplete = false;
@@ -116,7 +118,7 @@ export class JSONCompletionItemProvider implements CompletionItemProvider {
 			log: (message: string) => console.log(message)
 		};
 
-		let collectPromise : Thenable<any> = null;
+		let collectPromise: Thenable<any> = null;
 
 		if (location.isAtPropertyKey) {
 			let addValue = !location.previousNode || !location.previousNode.columnOffset;
@@ -146,15 +148,15 @@ export class JSONCompletionItemProvider implements CompletionItemProvider {
 		while (i >= 0 && ' \t\n\r\v":{[,'.indexOf(text.charAt(i)) === -1) {
 			i--;
 		}
-		return text.substring(i+1, position.character);
+		return text.substring(i + 1, position.character);
 	}
 
-	private isLast(document: TextDocument, position: Position):boolean {
+	private isLast(document: TextDocument, position: Position): boolean {
 		let scanner = createScanner(document.getText(), true);
 		scanner.setPosition(document.offsetAt(position));
 		let nextToken = scanner.scan();
 		if (nextToken === SyntaxKind.StringLiteral && scanner.getTokenError() === ScanError.UnexpectedEndOfString) {
-			nextToken= scanner.scan();
+			nextToken = scanner.scan();
 		}
 		return nextToken === SyntaxKind.CloseBraceToken || nextToken === SyntaxKind.EOF;
 	}
diff --git a/extensions/javascript/src/features/markedTextUtil.ts b/extensions/javascript/src/features/markedTextUtil.ts
index 97f3198b80cd9..b4a9aaaf3e9ac 100644
--- a/extensions/javascript/src/features/markedTextUtil.ts
+++ b/extensions/javascript/src/features/markedTextUtil.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {MarkedString} from 'vscode';
+import { MarkedString } from 'vscode';
 
-export function textToMarkedString(text: string) : MarkedString {
+export function textToMarkedString(text: string): MarkedString {
 	return text.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash
 }
\ No newline at end of file
diff --git a/extensions/javascript/src/features/packageJSONContribution.ts b/extensions/javascript/src/features/packageJSONContribution.ts
index e7107bef81199..6c8a54f261d6e 100644
--- a/extensions/javascript/src/features/packageJSONContribution.ts
+++ b/extensions/javascript/src/features/packageJSONContribution.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {MarkedString, CompletionItemKind, CompletionItem, DocumentSelector} from 'vscode';
-import {IJSONContribution, ISuggestionsCollector} from './jsonContributions';
-import {XHRRequest} from 'request-light';
-import {Location} from 'jsonc-parser';
-import {textToMarkedString} from './markedTextUtil';
+import { MarkedString, CompletionItemKind, CompletionItem, DocumentSelector } from 'vscode';
+import { IJSONContribution, ISuggestionsCollector } from './jsonContributions';
+import { XHRRequest } from 'request-light';
+import { Location } from 'jsonc-parser';
+import { textToMarkedString } from './markedTextUtil';
 
 import * as nls from 'vscode-nls';
 const localize = nls.loadMessageBundle();
@@ -17,7 +17,7 @@ let LIMIT = 40;
 
 export class PackageJSONContribution implements IJSONContribution {
 
-	private mostDependedOn = [ 'lodash', 'async', 'underscore', 'request', 'commander', 'express', 'debug', 'chalk', 'colors', 'q', 'coffee-script',
+	private mostDependedOn = ['lodash', 'async', 'underscore', 'request', 'commander', 'express', 'debug', 'chalk', 'colors', 'q', 'coffee-script',
 		'mkdirp', 'optimist', 'through2', 'yeoman-generator', 'moment', 'bluebird', 'glob', 'gulp-util', 'minimist', 'cheerio', 'jade', 'redis', 'node-uuid',
 		'socket', 'io', 'uglify-js', 'winston', 'through', 'fs-extra', 'handlebars', 'body-parser', 'rimraf', 'mime', 'semver', 'mongodb', 'jquery',
 		'grunt', 'connect', 'yosay', 'underscore', 'string', 'xml2js', 'ejs', 'mongoose', 'marked', 'extend', 'mocha', 'superagent', 'js-yaml', 'xtend',
@@ -25,7 +25,7 @@ export class PackageJSONContribution implements IJSONContribution {
 		'jsdom', 'stylus', 'when', 'readable-stream', 'aws-sdk', 'concat-stream', 'chai', 'Thenable', 'wrench'];
 
 	public getDocumentSelector(): DocumentSelector {
-		return  [{ language: 'json', pattern: '**/package.json' }];
+		return [{ language: 'json', pattern: '**/package.json' }];
 	}
 
 	public constructor(private xhr: XHRRequest) {
@@ -47,20 +47,20 @@ export class PackageJSONContribution implements IJSONContribution {
 		return Promise.resolve(null);
 	}
 
-	public collectPropertySuggestions(resource: string, location: Location, currentWord: string, addValue: boolean, isLast:boolean, collector: ISuggestionsCollector) : Thenable<any> {
+	public collectPropertySuggestions(resource: string, location: Location, currentWord: string, addValue: boolean, isLast: boolean, collector: ISuggestionsCollector): Thenable<any> {
 		if ((location.matches(['dependencies']) || location.matches(['devDependencies']) || location.matches(['optionalDependencies']) || location.matches(['peerDependencies']))) {
-			let queryUrl : string;
+			let queryUrl: string;
 			if (currentWord.length > 0) {
-				queryUrl = 'https://skimdb.npmjs.com/registry/_design/app/_view/browseAll?group_level=1&limit=' + LIMIT + '&start_key=%5B%22' + encodeURIComponent(currentWord) + '%22%5D&end_key=%5B%22'+ encodeURIComponent(currentWord + 'z') + '%22,%7B%7D%5D';
+				queryUrl = 'https://skimdb.npmjs.com/registry/_design/app/_view/browseAll?group_level=1&limit=' + LIMIT + '&start_key=%5B%22' + encodeURIComponent(currentWord) + '%22%5D&end_key=%5B%22' + encodeURIComponent(currentWord + 'z') + '%22,%7B%7D%5D';
 
 				return this.xhr({
-					url : queryUrl
+					url: queryUrl
 				}).then((success) => {
 					if (success.status === 200) {
 						try {
 							let obj = JSON.parse(success.responseText);
 							if (obj && Array.isArray(obj.rows)) {
-								let results = <{ key: string[]; }[]> obj.rows;
+								let results = <{ key: string[]; }[]>obj.rows;
 								for (let i = 0; i < results.length; i++) {
 									let keys = results[i].key;
 									if (Array.isArray(keys) && keys.length > 0) {
@@ -124,7 +124,7 @@ export class PackageJSONContribution implements IJSONContribution {
 			if (typeof currentKey === 'string') {
 				let queryUrl = 'http://registry.npmjs.org/' + encodeURIComponent(currentKey).replace('%40', '@');
 				return this.xhr({
-					url : queryUrl
+					url: queryUrl
 				}).then((success) => {
 					try {
 						let obj = JSON.parse(success.responseText);
@@ -163,7 +163,7 @@ export class PackageJSONContribution implements IJSONContribution {
 		return null;
 	}
 
-	public resolveSuggestion(item: CompletionItem) : Thenable<CompletionItem> {
+	public resolveSuggestion(item: CompletionItem): Thenable<CompletionItem> {
 		if (item.kind === CompletionItemKind.Property && item.documentation === '') {
 			return this.getInfo(item.label).then(infos => {
 				if (infos.length > 0) {
@@ -183,12 +183,12 @@ export class PackageJSONContribution implements IJSONContribution {
 
 		let queryUrl = 'http://registry.npmjs.org/' + encodeURIComponent(pack).replace('%40', '@');
 		return this.xhr({
-			url : queryUrl
+			url: queryUrl
 		}).then((success) => {
 			try {
 				let obj = JSON.parse(success.responseText);
 				if (obj) {
-					let result : string[] = [];
+					let result: string[] = [];
 					if (obj.description) {
 						result.push(obj.description);
 					}
@@ -211,7 +211,7 @@ export class PackageJSONContribution implements IJSONContribution {
 		if ((location.matches(['dependencies', '*']) || location.matches(['devDependencies', '*']) || location.matches(['optionalDependencies', '*']) || location.matches(['peerDependencies', '*']))) {
 			let pack = location.path[location.path.length - 1];
 			if (typeof pack === 'string') {
-				let htmlContent : MarkedString[] = [];
+				let htmlContent: MarkedString[] = [];
 				htmlContent.push(localize('json.npm.package.hover', '{0}', pack));
 				return this.getInfo(pack).then(infos => {
 					infos.forEach(info => {
diff --git a/extensions/javascript/src/javascriptMain.ts b/extensions/javascript/src/javascriptMain.ts
index e386e14e4ed33..92dc3e82b70e0 100644
--- a/extensions/javascript/src/javascriptMain.ts
+++ b/extensions/javascript/src/javascriptMain.ts
@@ -5,15 +5,15 @@
 
 'use strict';
 
-import {addJSONProviders} from './features/jsonContributions';
+import { addJSONProviders } from './features/jsonContributions';
 import * as httpRequest from 'request-light';
 
-import {ExtensionContext, env, workspace} from 'vscode';
+import { ExtensionContext, env, workspace } from 'vscode';
 
 import * as nls from 'vscode-nls';
 
 export function activate(context: ExtensionContext): any {
-	nls.config({locale: env.language});
+	nls.config({ locale: env.language });
 
 	configureHttpRequest();
 	workspace.onDidChangeConfiguration(e => configureHttpRequest());
diff --git a/extensions/json/client/src/jsonMain.ts b/extensions/json/client/src/jsonMain.ts
index 2b86fc57dd60d..10ef18a39dc16 100644
--- a/extensions/json/client/src/jsonMain.ts
+++ b/extensions/json/client/src/jsonMain.ts
@@ -6,8 +6,8 @@
 
 import * as path from 'path';
 
-import {workspace, languages, ExtensionContext, extensions, Uri} from 'vscode';
-import {LanguageClient, LanguageClientOptions, RequestType, ServerOptions, TransportKind, NotificationType} from 'vscode-languageclient';
+import { workspace, languages, ExtensionContext, extensions, Uri } from 'vscode';
+import { LanguageClient, LanguageClientOptions, RequestType, ServerOptions, TransportKind, NotificationType } from 'vscode-languageclient';
 import TelemetryReporter from 'vscode-extension-telemetry';
 
 import * as nls from 'vscode-nls';
@@ -97,8 +97,8 @@ export function activate(context: ExtensionContext) {
 	});
 }
 
-function getSchemaAssociation(context: ExtensionContext) : ISchemaAssociations {
-	let associations : ISchemaAssociations = {};
+function getSchemaAssociation(context: ExtensionContext): ISchemaAssociations {
+	let associations: ISchemaAssociations = {};
 	extensions.all.forEach(extension => {
 		let packageJSON = extension.packageJSON;
 		if (packageJSON && packageJSON.contributes && packageJSON.contributes.jsonValidation) {
diff --git a/extensions/json/client/src/typings/vscode-extension-telemetry.d.ts b/extensions/json/client/src/typings/vscode-extension-telemetry.d.ts
index 4b2981b9b24be..f6177ef27a652 100644
--- a/extensions/json/client/src/typings/vscode-extension-telemetry.d.ts
+++ b/extensions/json/client/src/typings/vscode-extension-telemetry.d.ts
@@ -1,6 +1,6 @@
 declare module 'vscode-extension-telemetry' {
 	export default class TelemetryReporter {
-		constructor(extensionId: string,extensionVersion: string, key: string);
+		constructor(extensionId: string, extensionVersion: string, key: string);
 		sendTelemetryEvent(eventName: string, properties?: { [key: string]: string }, measures?: { [key: string]: number }): void;
 	}
 }
\ No newline at end of file
diff --git a/extensions/json/server/src/jsonServerMain.ts b/extensions/json/server/src/jsonServerMain.ts
index 3340ba905f4f7..93f510d8770ff 100644
--- a/extensions/json/server/src/jsonServerMain.ts
+++ b/extensions/json/server/src/jsonServerMain.ts
@@ -9,17 +9,17 @@ import {
 	TextDocuments, TextDocument, InitializeParams, InitializeResult, NotificationType, RequestType
 } from 'vscode-languageserver';
 
-import {xhr, XHRResponse, configure as configureHttpRequests, getErrorStatusDescription} from 'request-light';
+import { xhr, XHRResponse, configure as configureHttpRequests, getErrorStatusDescription } from 'request-light';
 import path = require('path');
 import fs = require('fs');
 import URI from './utils/uri';
 import * as URL from 'url';
 import Strings = require('./utils/strings');
-import {JSONDocument, JSONSchema, LanguageSettings, getLanguageService} from 'vscode-json-languageservice';
-import {ProjectJSONContribution} from './jsoncontributions/projectJSONContribution';
-import {GlobPatternContribution} from './jsoncontributions/globPatternContribution';
-import {FileAssociationContribution} from './jsoncontributions/fileAssociationContribution';
-import {getLanguageModelCache} from './languageModelCache';
+import { JSONDocument, JSONSchema, LanguageSettings, getLanguageService } from 'vscode-json-languageservice';
+import { ProjectJSONContribution } from './jsoncontributions/projectJSONContribution';
+import { GlobPatternContribution } from './jsoncontributions/globPatternContribution';
+import { FileAssociationContribution } from './jsoncontributions/fileAssociationContribution';
+import { getLanguageModelCache } from './languageModelCache';
 
 import * as nls from 'vscode-nls';
 nls.config(process.env['VSCODE_NLS_CONFIG']);
@@ -76,7 +76,7 @@ let workspaceContext = {
 	}
 };
 
-let schemaRequestService = (uri:string): Thenable<string> => {
+let schemaRequestService = (uri: string): Thenable<string> => {
 	if (Strings.startsWith(uri, 'file://')) {
 		let fsPath = URI.parse(uri).fsPath;
 		return new Promise<string>((c, e) => {
@@ -153,7 +153,7 @@ connection.onNotification(SchemaAssociationNotification.type, associations => {
 });
 
 function updateConfiguration() {
-	let languageSettings : LanguageSettings = {
+	let languageSettings: LanguageSettings = {
 		validate: true,
 		allowComments: true,
 		schemas: []
@@ -204,7 +204,7 @@ documents.onDidClose(event => {
 	connection.sendDiagnostics({ uri: event.document.uri, diagnostics: [] });
 });
 
-let pendingValidationRequests : { [uri: string]: NodeJS.Timer; } = {};
+let pendingValidationRequests: { [uri: string]: NodeJS.Timer; } = {};
 const validationDelayMs = 200;
 
 function cleanPendingValidation(textDocument: TextDocument): void {
diff --git a/extensions/json/server/src/jsoncontributions/fileAssociationContribution.ts b/extensions/json/server/src/jsoncontributions/fileAssociationContribution.ts
index 0b9b2b57537e3..3d5a6e669fb10 100644
--- a/extensions/json/server/src/jsoncontributions/fileAssociationContribution.ts
+++ b/extensions/json/server/src/jsoncontributions/fileAssociationContribution.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {MarkedString, CompletionItemKind, CompletionItem} from 'vscode-languageserver';
+import { MarkedString, CompletionItemKind, CompletionItem } from 'vscode-languageserver';
 import Strings = require('../utils/strings');
-import {JSONWorkerContribution, JSONPath, CompletionsCollector} from 'vscode-json-languageservice';
+import { JSONWorkerContribution, JSONPath, CompletionsCollector } from 'vscode-json-languageservice';
 
 import * as nls from 'vscode-nls';
 const localize = nls.loadMessageBundle();
@@ -17,12 +17,12 @@ let globProperties: CompletionItem[] = [
 ];
 
 export class FileAssociationContribution implements JSONWorkerContribution {
-	private languageIds:string[];
+	private languageIds: string[];
 
 	constructor() {
 	}
 
-	public setLanguageIds(ids:string[]): void {
+	public setLanguageIds(ids: string[]): void {
 		this.languageIds = ids;
 	}
 
diff --git a/extensions/json/server/src/jsoncontributions/globPatternContribution.ts b/extensions/json/server/src/jsoncontributions/globPatternContribution.ts
index d2a3b873eec12..bb3eb6bd8027d 100644
--- a/extensions/json/server/src/jsoncontributions/globPatternContribution.ts
+++ b/extensions/json/server/src/jsoncontributions/globPatternContribution.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {MarkedString, CompletionItemKind, CompletionItem} from 'vscode-languageserver';
+import { MarkedString, CompletionItemKind, CompletionItem } from 'vscode-languageserver';
 import Strings = require('../utils/strings');
-import {JSONWorkerContribution, JSONPath, CompletionsCollector} from 'vscode-json-languageservice';
+import { JSONWorkerContribution, JSONPath, CompletionsCollector } from 'vscode-json-languageservice';
 
 import * as nls from 'vscode-nls';
 const localize = nls.loadMessageBundle();
diff --git a/extensions/json/server/src/jsoncontributions/projectJSONContribution.ts b/extensions/json/server/src/jsoncontributions/projectJSONContribution.ts
index 6a458db385c8c..7fa207b3627fc 100644
--- a/extensions/json/server/src/jsoncontributions/projectJSONContribution.ts
+++ b/extensions/json/server/src/jsoncontributions/projectJSONContribution.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {MarkedString, CompletionItemKind, CompletionItem} from 'vscode-languageserver';
+import { MarkedString, CompletionItemKind, CompletionItem } from 'vscode-languageserver';
 import Strings = require('../utils/strings');
-import {XHRResponse, getErrorStatusDescription} from 'request-light';
-import {JSONWorkerContribution, JSONPath, CompletionsCollector} from 'vscode-json-languageservice';
-import {xhr} from 'request-light';
+import { XHRResponse, getErrorStatusDescription } from 'request-light';
+import { JSONWorkerContribution, JSONPath, CompletionsCollector } from 'vscode-json-languageservice';
+import { xhr } from 'request-light';
 
 import * as nls from 'vscode-nls';
 const localize = nls.loadMessageBundle();
@@ -29,7 +29,7 @@ interface NugetServices {
 
 export class ProjectJSONContribution implements JSONWorkerContribution {
 
-	private cachedProjects: { [id: string]: { version: string, description: string, time: number }} = {};
+	private cachedProjects: { [id: string]: { version: string, description: string, time: number } } = {};
 	private cacheSize: number = 0;
 	private nugetIndexPromise: Thenable<NugetServices>;
 
@@ -40,7 +40,7 @@ export class ProjectJSONContribution implements JSONWorkerContribution {
 		return Strings.endsWith(resource, '/project.json');
 	}
 
-	private completeWithCache(id: string, item: CompletionItem) : boolean {
+	private completeWithCache(id: string, item: CompletionItem): boolean {
 		let entry = this.cachedProjects[id];
 		if (entry) {
 			if (new Date().getTime() - entry.time > CACHE_EXPIRY) {
@@ -57,10 +57,10 @@ export class ProjectJSONContribution implements JSONWorkerContribution {
 	}
 
 	private addCached(id: string, version: string, description: string) {
-		this.cachedProjects[id] = { version, description, time: new Date().getTime()};
+		this.cachedProjects[id] = { version, description, time: new Date().getTime() };
 		this.cacheSize++;
 		if (this.cacheSize > 50) {
-			let currentTime = new Date().getTime() ;
+			let currentTime = new Date().getTime();
 			for (let id in this.cachedProjects) {
 				let entry = this.cachedProjects[id];
 				if (currentTime - entry.time > CACHE_EXPIRY) {
@@ -71,12 +71,12 @@ export class ProjectJSONContribution implements JSONWorkerContribution {
 		}
 	}
 
-	private getNugetIndex() : Thenable<NugetServices> {
+	private getNugetIndex(): Thenable<NugetServices> {
 		if (!this.nugetIndexPromise) {
 			this.nugetIndexPromise = this.makeJSONRequest<any>(FEED_INDEX_URL).then(indexContent => {
-				let services : NugetServices = {};
+				let services: NugetServices = {};
 				if (indexContent && Array.isArray(indexContent.resources)) {
-					let resources = <any[]>  indexContent.resources;
+					let resources = <any[]>indexContent.resources;
 					for (let i = resources.length - 1; i >= 0; i--) {
 						let type = resources[i]['@type'];
 						let id = resources[i]['@id'];
@@ -91,7 +91,7 @@ export class ProjectJSONContribution implements JSONWorkerContribution {
 		return this.nugetIndexPromise;
 	}
 
-	private getNugetService(serviceType: string) : Thenable<string> {
+	private getNugetService(serviceType: string): Thenable<string> {
 		return this.getNugetIndex().then(services => {
 			let serviceURL = services[serviceType];
 			if (!serviceURL) {
@@ -116,13 +116,13 @@ export class ProjectJSONContribution implements JSONWorkerContribution {
 		return null;
 	}
 
-	private makeJSONRequest<T>(url: string) : Thenable<T> {
+	private makeJSONRequest<T>(url: string): Thenable<T> {
 		return xhr({
-			url : url
+			url: url
 		}).then(success => {
 			if (success.status === 200) {
 				try {
-					return <T> JSON.parse(success.responseText);
+					return <T>JSON.parse(success.responseText);
 				} catch (e) {
 					return Promise.reject<T>(localize('json.nugget.error.invalidformat', '{0} is not a valid JSON document', url));
 				}
@@ -133,19 +133,19 @@ export class ProjectJSONContribution implements JSONWorkerContribution {
 		});
 	}
 
-	public collectPropertyCompletions(resource: string, location: JSONPath, currentWord: string, addValue: boolean, isLast:boolean, result: CompletionsCollector) : Thenable<any> {
+	public collectPropertyCompletions(resource: string, location: JSONPath, currentWord: string, addValue: boolean, isLast: boolean, result: CompletionsCollector): Thenable<any> {
 		if (this.isProjectJSONFile(resource) && (matches(location, ['dependencies']) || matches(location, ['frameworks', '*', 'dependencies']) || matches(location, ['frameworks', '*', 'frameworkAssemblies']))) {
 
 			return this.getNugetService('SearchAutocompleteService').then(service => {
-				let queryUrl : string;
+				let queryUrl: string;
 				if (currentWord.length > 0) {
-					queryUrl = service + '?q=' + encodeURIComponent(currentWord) +'&take=' + LIMIT;
+					queryUrl = service + '?q=' + encodeURIComponent(currentWord) + '&take=' + LIMIT;
 				} else {
 					queryUrl = service + '?take=' + LIMIT;
 				}
 				return this.makeJSONRequest<any>(queryUrl).then(resultObj => {
 					if (Array.isArray(resultObj.data)) {
-						let results = <any[]> resultObj.data;
+						let results = <any[]>resultObj.data;
 						for (let i = 0; i < results.length; i++) {
 							let name = results[i];
 							let insertText = JSON.stringify(name);
@@ -155,7 +155,7 @@ export class ProjectJSONContribution implements JSONWorkerContribution {
 									insertText += ',';
 								}
 							}
-							let item : CompletionItem = { kind: CompletionItemKind.Property, label: name, insertText: insertText, filterText: JSON.stringify(name)};
+							let item: CompletionItem = { kind: CompletionItemKind.Property, label: name, insertText: insertText, filterText: JSON.stringify(name) };
 							if (!this.completeWithCache(name, item)) {
 								item.data = RESOLVE_ID + name;
 							}
@@ -181,7 +181,7 @@ export class ProjectJSONContribution implements JSONWorkerContribution {
 				let queryUrl = service + currentKey + '/index.json';
 				return this.makeJSONRequest<any>(queryUrl).then(obj => {
 					if (Array.isArray(obj.versions)) {
-						let results = <any[]> obj.versions;
+						let results = <any[]>obj.versions;
 						for (let i = 0; i < results.length; i++) {
 							let curr = results[i];
 							let name = JSON.stringify(curr);
@@ -205,15 +205,15 @@ export class ProjectJSONContribution implements JSONWorkerContribution {
 
 	public getInfoContribution(resource: string, location: JSONPath): Thenable<MarkedString[]> {
 		if (this.isProjectJSONFile(resource) && (matches(location, ['dependencies', '*']) || matches(location, ['frameworks', '*', 'dependencies', '*']) || matches(location, ['frameworks', '*', 'frameworkAssemblies', '*']))) {
-			let pack = <string> location[location.length - 1];
+			let pack = <string>location[location.length - 1];
 
 			return this.getNugetService('SearchQueryService').then(service => {
-				let queryUrl = service + '?q=' + encodeURIComponent(pack) +'&take=' + 5;
+				let queryUrl = service + '?q=' + encodeURIComponent(pack) + '&take=' + 5;
 				return this.makeJSONRequest<any>(queryUrl).then(resultObj => {
-					let htmlContent : MarkedString[] = [];
+					let htmlContent: MarkedString[] = [];
 					htmlContent.push(localize('json.nugget.package.hover', '{0}', pack));
 					if (Array.isArray(resultObj.data)) {
-						let results = <any[]> resultObj.data;
+						let results = <any[]>resultObj.data;
 						for (let i = 0; i < results.length; i++) {
 							let res = results[i];
 							this.addCached(res.id, res.version, res.description);
@@ -233,24 +233,24 @@ export class ProjectJSONContribution implements JSONWorkerContribution {
 					return null;
 				});
 			}, (error) => {
-					return null;
+				return null;
 			});
 		}
 		return null;
 	}
 
-	public resolveSuggestion(item: CompletionItem) : Thenable<CompletionItem> {
+	public resolveSuggestion(item: CompletionItem): Thenable<CompletionItem> {
 		if (item.data && Strings.startsWith(item.data, RESOLVE_ID)) {
 			let pack = item.data.substring(RESOLVE_ID.length);
 			if (this.completeWithCache(pack, item)) {
 				return Promise.resolve(item);
 			}
 			return this.getNugetService('SearchQueryService').then(service => {
-				let queryUrl = service + '?q=' + encodeURIComponent(pack) +'&take=' + 10;
+				let queryUrl = service + '?q=' + encodeURIComponent(pack) + '&take=' + 10;
 				return this.makeJSONRequest<any>(queryUrl).then(resultObj => {
 					let itemResolved = false;
 					if (Array.isArray(resultObj.data)) {
-						let results = <any[]> resultObj.data;
+						let results = <any[]>resultObj.data;
 						for (let i = 0; i < results.length; i++) {
 							let curr = results[i];
 							this.addCached(curr.id, curr.version, curr.description);
diff --git a/extensions/json/server/src/languageModelCache.ts b/extensions/json/server/src/languageModelCache.ts
index dce68bed9a32c..b12f77b52a61d 100644
--- a/extensions/json/server/src/languageModelCache.ts
+++ b/extensions/json/server/src/languageModelCache.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TextDocument} from 'vscode-languageserver';
+import { TextDocument } from 'vscode-languageserver';
 
 export interface LanguageModelCache<T> {
 	get(document: TextDocument): T;
@@ -12,8 +12,8 @@ export interface LanguageModelCache<T> {
 	dispose(): void;
 }
 
-export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTimeInSec: number, parse: (document: TextDocument) => T) : LanguageModelCache<T> {
-	let languageModels: { [uri:string]: {version:number, languageId: string, cTime: number, languageModel: T}} = {};
+export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTimeInSec: number, parse: (document: TextDocument) => T): LanguageModelCache<T> {
+	let languageModels: { [uri: string]: { version: number, languageId: string, cTime: number, languageModel: T } } = {};
 	let nModels = 0;
 
 	let cleanupInterval = void 0;
@@ -32,7 +32,7 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
 	}
 
 	return {
-		get(document: TextDocument) : T {
+		get(document: TextDocument): T {
 			let version = document.version;
 			let languageId = document.languageId;
 			let languageModelInfo = languageModels[document.uri];
@@ -41,7 +41,7 @@ export function getLanguageModelCache<T>(maxEntries: number, cleanupIntervalTime
 				return languageModelInfo.languageModel;
 			}
 			let languageModel = parse(document);
-			languageModels[document.uri] = { languageModel, version, languageId, cTime: Date.now()};
+			languageModels[document.uri] = { languageModel, version, languageId, cTime: Date.now() };
 			if (!languageModelInfo) {
 				nModels++;
 			}
diff --git a/extensions/json/server/src/typings/promise.d.ts b/extensions/json/server/src/typings/promise.d.ts
index 31b97cb9580a3..925c943df50a6 100644
--- a/extensions/json/server/src/typings/promise.d.ts
+++ b/extensions/json/server/src/typings/promise.d.ts
@@ -31,8 +31,8 @@ interface Thenable<R> {
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
-    then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Thenable<TResult>;
-    then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Thenable<TResult>;
+	then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Thenable<TResult>;
+	then<TResult>(onfulfilled?: (value: R) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Thenable<TResult>;
 }
 
 /**
@@ -45,15 +45,15 @@ interface Promise<T> extends Thenable<T> {
     * @param onrejected The callback to execute when the Promise is rejected.
     * @returns A Promise for the completion of which ever callback is executed.
     */
-    then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Promise<TResult>;
-    then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Promise<TResult>;
+	then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Promise<TResult>;
+	then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Promise<TResult>;
 
     /**
      * Attaches a callback for only the rejection of the Promise.
      * @param onrejected The callback to execute when the Promise is rejected.
      * @returns A Promise for the completion of the callback.
      */
-    catch(onrejected?: (reason: any) => T | Thenable<T>): Promise<T>;
+	catch(onrejected?: (reason: any) => T | Thenable<T>): Promise<T>;
 }
 
 interface PromiseConstructor {
@@ -63,7 +63,7 @@ interface PromiseConstructor {
      * a resolve callback used resolve the promise with a value or the result of another promise,
      * and a reject callback used to reject the promise with a provided reason or error.
      */
-    new <T>(executor: (resolve: (value?: T | Thenable<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
+	new <T>(executor: (resolve: (value?: T | Thenable<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
 
     /**
      * Creates a Promise that is resolved with an array of results when all of the provided Promises
@@ -71,7 +71,7 @@ interface PromiseConstructor {
      * @param values An array of Promises.
      * @returns A new Promise.
      */
-    all<T>(values: Array<T | Thenable<T>>): Promise<T[]>;
+	all<T>(values: Array<T | Thenable<T>>): Promise<T[]>;
 
     /**
      * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
@@ -79,34 +79,34 @@ interface PromiseConstructor {
      * @param values An array of Promises.
      * @returns A new Promise.
      */
-    race<T>(values: Array<T | Thenable<T>>): Promise<T>;
+	race<T>(values: Array<T | Thenable<T>>): Promise<T>;
 
     /**
      * Creates a new rejected promise for the provided reason.
      * @param reason The reason the promise was rejected.
      * @returns A new rejected Promise.
      */
-    reject(reason: any): Promise<void>;
+	reject(reason: any): Promise<void>;
 
     /**
      * Creates a new rejected promise for the provided reason.
      * @param reason The reason the promise was rejected.
      * @returns A new rejected Promise.
      */
-    reject<T>(reason: any): Promise<T>;
+	reject<T>(reason: any): Promise<T>;
 
     /**
       * Creates a new resolved promise for the provided value.
       * @param value A promise.
       * @returns A promise whose internal state matches the provided promise.
       */
-    resolve<T>(value: T | Thenable<T>): Promise<T>;
+	resolve<T>(value: T | Thenable<T>): Promise<T>;
 
     /**
      * Creates a new resolved promise .
      * @returns A resolved promise.
      */
-    resolve(): Promise<void>;
+	resolve(): Promise<void>;
 }
 
 declare var Promise: PromiseConstructor;
diff --git a/extensions/json/server/src/utils/uri.ts b/extensions/json/server/src/utils/uri.ts
index a6efdd739f780..9394a87681c85 100644
--- a/extensions/json/server/src/utils/uri.ts
+++ b/extensions/json/server/src/utils/uri.ts
@@ -302,7 +302,7 @@ export default class URI {
 			// when occurring in paths - otherwise the result
 			// cannot be parsed back again
 			let lastIdx = 0;
-			while(true) {
+			while (true) {
 				let idx = path.indexOf(URI._slash, lastIdx);
 				if (idx === -1) {
 					parts.push(encoder(path.substring(lastIdx)).replace(/[#?]/, _encode));
@@ -323,7 +323,7 @@ export default class URI {
 	}
 
 	public toJSON(): any {
-		return <UriState> {
+		return <UriState>{
 			scheme: this.scheme,
 			authority: this.authority,
 			path: this.path,
diff --git a/extensions/markdown/src/extension.ts b/extensions/markdown/src/extension.ts
index 37c788fa4e2a2..79136041ea11c 100644
--- a/extensions/markdown/src/extension.ts
+++ b/extensions/markdown/src/extension.ts
@@ -92,8 +92,8 @@ function showPreview(uri?: Uri, sideBySide: boolean = false) {
 		`Preview '${path.basename(resource.fsPath)}'`);
 
 	telemetryReporter.sendTelemetryEvent('openPreview', {
-		where : sideBySide ? 'sideBySide' : 'inPlace',
-		how : (uri instanceof Uri) ? 'action' : 'pallete'
+		where: sideBySide ? 'sideBySide' : 'inPlace',
+		how: (uri instanceof Uri) ? 'action' : 'pallete'
 	});
 
 	return thenable;
@@ -151,14 +151,14 @@ function getPackageInfo(context: ExtensionContext): IPackageInfo {
 
 
 interface IRenderer {
-	render(text: string) : string;
+	render(text: string): string;
 }
 
 class MDDocumentContentProvider implements TextDocumentContentProvider {
 	private _context: ExtensionContext;
 	private _onDidChange = new EventEmitter<Uri>();
-	private _waiting : boolean;
-	private _renderer : IRenderer;
+	private _waiting: boolean;
+	private _renderer: IRenderer;
 
 	constructor(context: ExtensionContext) {
 		this._context = context;
@@ -166,7 +166,7 @@ class MDDocumentContentProvider implements TextDocumentContentProvider {
 		this._renderer = this.createRenderer();
 	}
 
-	private createRenderer() : IRenderer {
+	private createRenderer(): IRenderer {
 		const hljs = require('highlight.js');
 		const mdnh = require('markdown-it-named-headers');
 		const md = require('markdown-it')({
@@ -183,15 +183,15 @@ class MDDocumentContentProvider implements TextDocumentContentProvider {
 		return md;
 	}
 
-	private getMediaPath(mediaFile) : string {
+	private getMediaPath(mediaFile): string {
 		return this._context.asAbsolutePath(path.join('media', mediaFile));
 	}
 
-	private isAbsolute(p) : boolean {
+	private isAbsolute(p): boolean {
 		return path.normalize(p + '/') === path.normalize(path.resolve(p) + '/');
 	}
 
-	private fixHref(resource: Uri, href: string) : string {
+	private fixHref(resource: Uri, href: string): string {
 		if (href) {
 			// Use href if it is already an URL
 			if (Uri.parse(href).scheme) {
diff --git a/extensions/markdown/src/typings/vscode-extension-telemetry.d.ts b/extensions/markdown/src/typings/vscode-extension-telemetry.d.ts
index 4b2981b9b24be..f6177ef27a652 100644
--- a/extensions/markdown/src/typings/vscode-extension-telemetry.d.ts
+++ b/extensions/markdown/src/typings/vscode-extension-telemetry.d.ts
@@ -1,6 +1,6 @@
 declare module 'vscode-extension-telemetry' {
 	export default class TelemetryReporter {
-		constructor(extensionId: string,extensionVersion: string, key: string);
+		constructor(extensionId: string, extensionVersion: string, key: string);
 		sendTelemetryEvent(eventName: string, properties?: { [key: string]: string }, measures?: { [key: string]: number }): void;
 	}
 }
\ No newline at end of file
diff --git a/extensions/php/src/features/completionItemProvider.ts b/extensions/php/src/features/completionItemProvider.ts
index 7977b274aee9a..94bd75e4e5cbb 100644
--- a/extensions/php/src/features/completionItemProvider.ts
+++ b/extensions/php/src/features/completionItemProvider.ts
@@ -5,7 +5,7 @@
 
 'use strict';
 
-import {CompletionItemProvider, CompletionItem, CompletionItemKind, CancellationToken, TextDocument, Position, Range, TextEdit} from 'vscode';
+import { CompletionItemProvider, CompletionItem, CompletionItemKind, CancellationToken, TextDocument, Position, Range, TextEdit } from 'vscode';
 import phpGlobals = require('./phpGlobals');
 
 export default class PHPCompletionItemProvider implements CompletionItemProvider {
@@ -14,19 +14,19 @@ export default class PHPCompletionItemProvider implements CompletionItemProvider
 
 	public provideCompletionItems(document: TextDocument, position: Position, token: CancellationToken): Promise<CompletionItem[]> {
 		let result: CompletionItem[] = [];
-		var range  = document.getWordRangeAtPosition(position);
+		var range = document.getWordRangeAtPosition(position);
 		var prefix = range ? document.getText(range) : '';
 		if (!range) {
 			range = new Range(position, position);
 		}
-		
-		var added : any = {};
-		var createNewProposal = function(kind: CompletionItemKind, name: string, entry: phpGlobals.IEntry) : CompletionItem  {
-			var proposal : CompletionItem = new CompletionItem(name);
+
+		var added: any = {};
+		var createNewProposal = function (kind: CompletionItemKind, name: string, entry: phpGlobals.IEntry): CompletionItem {
+			var proposal: CompletionItem = new CompletionItem(name);
 			proposal.kind = kind;
 			if (entry) {
 				if (entry.description) {
-					proposal.documentation= entry.description;
+					proposal.documentation = entry.description;
 				}
 				if (entry.signature) {
 					proposal.detail = entry.signature;
@@ -35,14 +35,14 @@ export default class PHPCompletionItemProvider implements CompletionItemProvider
 			return proposal;
 		};
 
-		var matches = (name:string) => {
+		var matches = (name: string) => {
 			return prefix.length === 0 || name.length >= prefix.length && name.substr(0, prefix.length) === prefix;
 		};
-		
+
 		if (matches('php') && range.start.character >= 2) {
 			let twoBeforePosition = new Position(range.start.line, range.start.character - 2);
 			let beforeWord = document.getText(new Range(twoBeforePosition, range.start));
-			
+
 			if (beforeWord === '<?') {
 				let proposal = createNewProposal(CompletionItemKind.Class, '<?php', null);
 				proposal.textEdit = new TextEdit(new Range(twoBeforePosition, position), '<?php');
@@ -79,7 +79,7 @@ export default class PHPCompletionItemProvider implements CompletionItemProvider
 		var text = document.getText();
 		if (prefix[0] === '$') {
 			var variableMatch = /\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/g;
-			var match : RegExpExecArray = null;
+			var match: RegExpExecArray = null;
 			while (match = variableMatch.exec(text)) {
 				var word = match[0];
 				if (!added[word]) {
@@ -89,7 +89,7 @@ export default class PHPCompletionItemProvider implements CompletionItemProvider
 			}
 		}
 		var functionMatch = /function\s+([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*\(/g;
-		var match : RegExpExecArray = null;
+		var match: RegExpExecArray = null;
 		while (match = functionMatch.exec(text)) {
 			var word = match[1];
 			if (!added[word]) {
diff --git a/extensions/php/src/features/hoverProvider.ts b/extensions/php/src/features/hoverProvider.ts
index abfe6f65c4b54..08fc13a5df914 100644
--- a/extensions/php/src/features/hoverProvider.ts
+++ b/extensions/php/src/features/hoverProvider.ts
@@ -5,7 +5,7 @@
 
 'use strict';
 
-import {HoverProvider, Hover, MarkedString, TextDocument, CancellationToken, Position} from 'vscode';
+import { HoverProvider, Hover, MarkedString, TextDocument, CancellationToken, Position } from 'vscode';
 import phpGlobals = require('./phpGlobals');
 import { textToMarkedString } from './utils/markedTextUtil';
 
@@ -22,7 +22,7 @@ export default class PHPHoverProvider implements HoverProvider {
 		var entry = phpGlobals.globalfunctions[name] || phpGlobals.compiletimeconstants[name] || phpGlobals.globalvariables[name] || phpGlobals.keywords[name];
 		if (entry && entry.description) {
 			let signature = name + (entry.signature || '');
-			let contents: MarkedString[] = [ textToMarkedString(entry.description), { language: 'php', value: signature }];
+			let contents: MarkedString[] = [textToMarkedString(entry.description), { language: 'php', value: signature }];
 			return new Hover(contents, wordRange);
 		}
 	}
diff --git a/extensions/php/src/features/phpGlobals.ts b/extensions/php/src/features/phpGlobals.ts
index 8ddfffae3a45e..c8c91e1509c77 100644
--- a/extensions/php/src/features/phpGlobals.ts
+++ b/extensions/php/src/features/phpGlobals.ts
@@ -6,7 +6,7 @@
 // file generated from PHP53Schema.xml using php-exclude_generate_php_globals.js
 
 export interface IEntry { description?: string; signature?: string; }
-export interface IEntries { [name:string]:IEntry; }
+export interface IEntries { [name: string]: IEntry; }
 
 export var globalfunctions: IEntries = {
 	password_get_info: {
@@ -1950,7 +1950,7 @@ export var globalfunctions: IEntries = {
 		signature: '(string $str): string'
 	},
 	urldecode: {
-		description: 'Decodes any %## encoding in the given string. Plus symbols ('+') are decoded to a space character.',
+		description: 'Decodes any %## encoding in the given string. Plus symbols (' + ') are decoded to a space character.',
 		signature: '(string $str): string'
 	},
 	rawurlencode: {
diff --git a/extensions/php/src/features/signatureHelpProvider.ts b/extensions/php/src/features/signatureHelpProvider.ts
index a7e95f6104f59..25615dface162 100644
--- a/extensions/php/src/features/signatureHelpProvider.ts
+++ b/extensions/php/src/features/signatureHelpProvider.ts
@@ -5,7 +5,7 @@
 
 'use strict';
 
-import {SignatureHelpProvider, SignatureHelp, SignatureInformation, CancellationToken, TextDocument, Position} from 'vscode';
+import { SignatureHelpProvider, SignatureHelp, SignatureInformation, CancellationToken, TextDocument, Position } from 'vscode';
 import phpGlobals = require('./phpGlobals');
 
 var _NL = '\n'.charCodeAt(0);
@@ -35,7 +35,7 @@ class BackwardIterator {
 	private lineNumber: number;
 	private offset: number;
 	private line: string;
-	private model : TextDocument;
+	private model: TextDocument;
 
 	constructor(model: TextDocument, offset: number, lineNumber: number) {
 		this.lineNumber = lineNumber;
@@ -44,11 +44,11 @@ class BackwardIterator {
 		this.model = model;
 	}
 
-	public hasNext() : boolean {
+	public hasNext(): boolean {
 		return this.lineNumber >= 0;
 	}
 
-	public next() : number {
+	public next(): number {
 		if (this.offset < 0) {
 			if (this.lineNumber > 0) {
 				this.lineNumber--;
@@ -92,7 +92,7 @@ export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
 		var re = /\w*\s+\&?\$[\w_\.]+|void/g;
 		var match: RegExpExecArray = null;
 		while ((match = re.exec(paramsString)) !== null) {
-			signatureInfo.parameters.push({ label: match[0], documentation: ''});
+			signatureInfo.parameters.push({ label: match[0], documentation: '' });
 		}
 		let ret = new SignatureHelp();
 		ret.signatures.push(signatureInfo);
@@ -101,7 +101,7 @@ export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
 		return Promise.resolve(ret);
 	}
 
-	private readArguments(iterator: BackwardIterator) : number {
+	private readArguments(iterator: BackwardIterator): number {
 		var parentNesting = 0;
 		var bracketNesting = 0;
 		var curlyNesting = 0;
@@ -136,8 +136,8 @@ export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
 		return -1;
 	}
 
-	private isIdentPart(ch:number) : boolean {
-		if(ch === _USC || // _
+	private isIdentPart(ch: number): boolean {
+		if (ch === _USC || // _
 			ch >= _a && ch <= _z || // a-z
 			ch >= _A && ch <= _Z || // A-Z
 			ch >= _0 && ch <= _9 || // 0/9
@@ -148,7 +148,7 @@ export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
 		return false;
 	}
 
-	private readIdent(iterator: BackwardIterator) : string {
+	private readIdent(iterator: BackwardIterator): string {
 		var identStarted = false;
 		var ident = '';
 		while (iterator.hasNext()) {
@@ -158,7 +158,7 @@ export default class PHPSignatureHelpProvider implements SignatureHelpProvider {
 			}
 			if (this.isIdentPart(ch)) {
 				identStarted = true;
-				ident= String.fromCharCode(ch) + ident;
+				ident = String.fromCharCode(ch) + ident;
 			} else if (identStarted) {
 				return ident;
 			}
diff --git a/extensions/php/src/features/utils/markedTextUtil.ts b/extensions/php/src/features/utils/markedTextUtil.ts
index 97f3198b80cd9..b4a9aaaf3e9ac 100644
--- a/extensions/php/src/features/utils/markedTextUtil.ts
+++ b/extensions/php/src/features/utils/markedTextUtil.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {MarkedString} from 'vscode';
+import { MarkedString } from 'vscode';
 
-export function textToMarkedString(text: string) : MarkedString {
+export function textToMarkedString(text: string): MarkedString {
 	return text.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash
 }
\ No newline at end of file
diff --git a/extensions/php/src/features/validationProvider.ts b/extensions/php/src/features/validationProvider.ts
index aea88a0b2b324..911b4448d384b 100644
--- a/extensions/php/src/features/validationProvider.ts
+++ b/extensions/php/src/features/validationProvider.ts
@@ -70,7 +70,7 @@ namespace RunTrigger {
 		onSave: 'onSave',
 		onType: 'onType'
 	};
-	export let from = function(value: string): RunTrigger {
+	export let from = function (value: string): RunTrigger {
 		if (value === 'onType') {
 			return RunTrigger.onType;
 		} else {
@@ -108,7 +108,7 @@ export default class PHPValidationProvider {
 		this.loadConfiguration();
 
 		vscode.workspace.onDidOpenTextDocument(this.triggerValidate, this, subscriptions);
-		vscode.workspace.onDidCloseTextDocument((textDocument)=> {
+		vscode.workspace.onDidCloseTextDocument((textDocument) => {
 			this.diagnosticCollection.delete(textDocument.uri);
 			delete this.delayers[textDocument.uri.toString()];
 		}, null, subscriptions);
@@ -158,7 +158,7 @@ export default class PHPValidationProvider {
 			delayer = new ThrottledDelayer<void>(this.trigger === RunTrigger.onType ? 250 : 0);
 			this.delayers[key] = delayer;
 		}
-		delayer.trigger(() => this.doValidate(textDocument) );
+		delayer.trigger(() => this.doValidate(textDocument));
 	}
 
 	private doValidate(textDocument: vscode.TextDocument): Promise<void> {
diff --git a/extensions/php/src/phpMain.ts b/extensions/php/src/phpMain.ts
index 3cb964d1e0298..4ebc68e31da63 100644
--- a/extensions/php/src/phpMain.ts
+++ b/extensions/php/src/phpMain.ts
@@ -14,7 +14,7 @@ import { ExtensionContext, languages, env } from 'vscode';
 import * as nls from 'vscode-nls';
 
 export function activate(context: ExtensionContext): any {
-	nls.config({locale: env.language});
+	nls.config({ locale: env.language });
 
 	// add providers
 	context.subscriptions.push(languages.registerCompletionItemProvider('php', new PHPCompletionItemProvider(), '.', '$'));
diff --git a/extensions/php/typings/mocha.d.ts b/extensions/php/typings/mocha.d.ts
index 7b23f5d181642..f677473dcdd76 100644
--- a/extensions/php/typings/mocha.d.ts
+++ b/extensions/php/typings/mocha.d.ts
@@ -5,9 +5,9 @@
 
 declare function run(): void;
 
-declare function suite(name: string, fn: (err?)=>void);
-declare function test(name: string, fn: (done?: (err?)=>void)=>void);
-declare function suiteSetup(fn: (done?: (err?)=>void)=>void);
-declare function suiteTeardown(fn: (done?: (err?)=>void)=>void);
-declare function setup(fn: (done?: (err?)=>void)=>void);
-declare function teardown(fn: (done?: (err?)=>void)=>void);
+declare function suite(name: string, fn: (err?) => void);
+declare function test(name: string, fn: (done?: (err?) => void) => void);
+declare function suiteSetup(fn: (done?: (err?) => void) => void);
+declare function suiteTeardown(fn: (done?: (err?) => void) => void);
+declare function setup(fn: (done?: (err?) => void) => void);
+declare function teardown(fn: (done?: (err?) => void) => void);
diff --git a/extensions/typescript/src/features/referenceProvider.ts b/extensions/typescript/src/features/referenceProvider.ts
index c597b6997a7a0..2a7668c2a3c95 100644
--- a/extensions/typescript/src/features/referenceProvider.ts
+++ b/extensions/typescript/src/features/referenceProvider.ts
@@ -14,7 +14,7 @@ export default class TypeScriptReferenceSupport implements ReferenceProvider {
 
 	private client: ITypescriptServiceClient;
 
-	public tokens:string[] = [];
+	public tokens: string[] = [];
 
 	public constructor(client: ITypescriptServiceClient) {
 		this.client = client;
diff --git a/extensions/typescript/src/features/workspaceSymbolProvider.ts b/extensions/typescript/src/features/workspaceSymbolProvider.ts
index 1fced2f10fbde..da63560fcd6f7 100644
--- a/extensions/typescript/src/features/workspaceSymbolProvider.ts
+++ b/extensions/typescript/src/features/workspaceSymbolProvider.ts
@@ -7,7 +7,7 @@
 
 import { workspace, window, Uri, WorkspaceSymbolProvider, SymbolInformation, SymbolKind, Range, Location, CancellationToken } from 'vscode';
 
-import * as Proto  from '../protocol';
+import * as Proto from '../protocol';
 import { ITypescriptServiceClient } from '../typescriptService';
 
 let _kindMapping: { [kind: string]: SymbolKind } = Object.create(null);
@@ -28,7 +28,7 @@ export default class TypeScriptWorkspaceSymbolProvider implements WorkspaceSymbo
 		this.modeId = modeId;
 	}
 
-	public provideWorkspaceSymbols(search: string, token :CancellationToken): Promise<SymbolInformation[]> {
+	public provideWorkspaceSymbols(search: string, token: CancellationToken): Promise<SymbolInformation[]> {
 		// typescript wants to have a resource even when asking
 		// general questions so we check the active editor. If this
 		// doesn't match we take the first TS document.
@@ -54,14 +54,14 @@ export default class TypeScriptWorkspaceSymbolProvider implements WorkspaceSymbo
 			return Promise.resolve<SymbolInformation[]>([]);
 		}
 
-		let args:Proto.NavtoRequestArgs = {
+		let args: Proto.NavtoRequestArgs = {
 			file: this.client.asAbsolutePath(uri),
 			searchValue: search
 		};
 		if (!args.file) {
 			return Promise.resolve<SymbolInformation[]>([]);
 		}
-		return this.client.execute('navto', args, token).then((response):SymbolInformation[] => {
+		return this.client.execute('navto', args, token).then((response): SymbolInformation[] => {
 			let data = response.body;
 			if (data) {
 				let result: SymbolInformation[] = [];
diff --git a/extensions/typescript/src/protocol.const.ts b/extensions/typescript/src/protocol.const.ts
index 842aa608926a2..f555df66c172b 100644
--- a/extensions/typescript/src/protocol.const.ts
+++ b/extensions/typescript/src/protocol.const.ts
@@ -6,42 +6,42 @@
 'use strict';
 
 export class Kind {
-	public static unknown:string = '';
-	public static keyword:string = 'keyword';
-	public static script:string = 'script';
-	public static module:string = 'module';
-	public static class:string = 'class';
-	public static interface:string = 'interface';
-	public static type:string = 'type';
-	public static enum:string = 'enum';
-	public static variable:string = 'var';
-	public static localVariable:string = 'local var';
-	public static function:string = 'function';
-	public static localFunction:string = 'local function';
-	public static memberFunction:string = 'method';
-	public static memberGetAccessor:string = 'getter';
-	public static memberSetAccessor:string = 'setter';
-	public static memberVariable:string = 'property';
-	public static constructorImplementation:string = 'constructor';
-	public static callSignature:string = 'call';
-	public static indexSignature:string = 'index';
-	public static constructSignature:string = 'construct';
-	public static parameter:string = 'parameter';
-	public static typeParameter:string = 'type parameter';
-	public static primitiveType:string = 'primitive type';
-	public static label:string = 'label';
-	public static alias:string = 'alias';
-	public static const:string = 'const';
-	public static let:string = 'let';
-	public static warning:string = 'warning';
+	public static unknown: string = '';
+	public static keyword: string = 'keyword';
+	public static script: string = 'script';
+	public static module: string = 'module';
+	public static class: string = 'class';
+	public static interface: string = 'interface';
+	public static type: string = 'type';
+	public static enum: string = 'enum';
+	public static variable: string = 'var';
+	public static localVariable: string = 'local var';
+	public static function: string = 'function';
+	public static localFunction: string = 'local function';
+	public static memberFunction: string = 'method';
+	public static memberGetAccessor: string = 'getter';
+	public static memberSetAccessor: string = 'setter';
+	public static memberVariable: string = 'property';
+	public static constructorImplementation: string = 'constructor';
+	public static callSignature: string = 'call';
+	public static indexSignature: string = 'index';
+	public static constructSignature: string = 'construct';
+	public static parameter: string = 'parameter';
+	public static typeParameter: string = 'type parameter';
+	public static primitiveType: string = 'primitive type';
+	public static label: string = 'label';
+	public static alias: string = 'alias';
+	public static const: string = 'const';
+	public static let: string = 'let';
+	public static warning: string = 'warning';
 }
 
 export class KindModifier {
-	public static none:string = '';
-	public static staticMember:string = 'public static';
-	public static privateMember:string = 'private';
-	public static protectedMember:string = 'protected';
-	public static exported:string = 'export';
-	public static ambient:string = 'declare';
-	public static static:string = 'static';
+	public static none: string = '';
+	public static staticMember: string = 'public static';
+	public static privateMember: string = 'private';
+	public static protectedMember: string = 'protected';
+	public static exported: string = 'export';
+	public static ambient: string = 'declare';
+	public static static: string = 'static';
 }
\ No newline at end of file
diff --git a/extensions/typescript/src/protocol.d.ts b/extensions/typescript/src/protocol.d.ts
index 4baab7e617742..061d41fe9dbfd 100644
--- a/extensions/typescript/src/protocol.d.ts
+++ b/extensions/typescript/src/protocol.d.ts
@@ -4,428 +4,428 @@
  * ------------------------------------------------------------------------------------------ */
 
 /**
-  * A TypeScript Server message
-  */
+	* A TypeScript Server message
+	*/
 export interface Message {
-    /**
-      * Sequence number of the message
-      */
-    seq: number;
+	/**
+		* Sequence number of the message
+		*/
+	seq: number;
 
-    /**
-      * One of "request", "response", or "event"
-      */
-    type: string;
+	/**
+		* One of "request", "response", or "event"
+		*/
+	type: string;
 }
 
 /**
-  * Client-initiated request message
-  */
+	* Client-initiated request message
+	*/
 export interface Request extends Message {
-    /**
-      * The command to execute
-      */
-    command: string;
+	/**
+		* The command to execute
+		*/
+	command: string;
 
-    /**
-      * Object containing arguments for the command
-      */
-    arguments?: any;
+	/**
+		* Object containing arguments for the command
+		*/
+	arguments?: any;
 }
 
 /**
-  * Request to reload the project structure for all the opened files
-  */
+	* Request to reload the project structure for all the opened files
+	*/
 export interface ReloadProjectsRequest extends Message {
 }
 
 /**
-  * Server-initiated event message
-  */
+	* Server-initiated event message
+	*/
 export interface Event extends Message {
-    /**
-      * Name of event
-      */
-    event: string;
+	/**
+		* Name of event
+		*/
+	event: string;
 
-    /**
-      * Event-specific information
-      */
-    body?: any;
+	/**
+		* Event-specific information
+		*/
+	body?: any;
 }
 
 /**
-  * Response by server to client request message.
-  */
+	* Response by server to client request message.
+	*/
 export interface Response extends Message {
-    /**
-      * Sequence number of the request message.
-      */
-    request_seq: number;
+	/**
+		* Sequence number of the request message.
+		*/
+	request_seq: number;
 
-    /**
-      * Outcome of the request.
-      */
-    success: boolean;
+	/**
+		* Outcome of the request.
+		*/
+	success: boolean;
 
-    /**
-      * The command requested.
-      */
-    command: string;
+	/**
+		* The command requested.
+		*/
+	command: string;
 
-    /**
-      * Contains error message if success === false.
-      */
-    message?: string;
+	/**
+		* Contains error message if success === false.
+		*/
+	message?: string;
 
-    /**
-      * Contains message body if success === true.
-      */
-    body?: any;
+	/**
+		* Contains message body if success === true.
+		*/
+	body?: any;
 }
 
 /**
-  * Arguments for FileRequest messages.
-  */
+	* Arguments for FileRequest messages.
+	*/
 export interface FileRequestArgs {
-    /**
-      * The file for the request (absolute pathname required).
-      */
-    file: string;
+	/**
+		* The file for the request (absolute pathname required).
+		*/
+	file: string;
 }
 
 /**
-  * Arguments for ProjectInfoRequest request.
-  */
+	* Arguments for ProjectInfoRequest request.
+	*/
 export interface ProjectInfoRequestArgs extends FileRequestArgs {
-    /**
-      * Indicate if the file name list of the project is needed
-      */
-    needFileNameList: boolean;
+	/**
+		* Indicate if the file name list of the project is needed
+		*/
+	needFileNameList: boolean;
 }
 
 /**
-  * A request to get the project information of the current file
-  */
+	* A request to get the project information of the current file
+	*/
 export interface ProjectInfoRequest extends Request {
-    arguments: ProjectInfoRequestArgs;
+	arguments: ProjectInfoRequestArgs;
 }
 
 /**
-  * Response message body for "projectInfo" request
-  */
+	* Response message body for "projectInfo" request
+	*/
 export interface ProjectInfo {
-    /**
-      * For configured project, this is the normalized path of the 'tsconfig.json' file
-      * For inferred project, this is undefined
-      */
-    configFileName: string;
-    /**
-      * The list of normalized file name in the project, including 'lib.d.ts'
-      */
-    fileNames?: string[];
-    /**
-      * Indicates if the project has a active language service instance
-      */
-    languageServiceDisabled?: boolean;
-}
-
-/**
-  * Response message for "projectInfo" request
-  */
+	/**
+		* For configured project, this is the normalized path of the 'tsconfig.json' file
+		* For inferred project, this is undefined
+		*/
+	configFileName: string;
+	/**
+		* The list of normalized file name in the project, including 'lib.d.ts'
+		*/
+	fileNames?: string[];
+	/**
+		* Indicates if the project has a active language service instance
+		*/
+	languageServiceDisabled?: boolean;
+}
+
+/**
+	* Response message for "projectInfo" request
+	*/
 export interface ProjectInfoResponse extends Response {
-    body?: ProjectInfo;
+	body?: ProjectInfo;
 }
 
 /**
-  * Request whose sole parameter is a file name.
-  */
+	* Request whose sole parameter is a file name.
+	*/
 export interface FileRequest extends Request {
-    arguments: FileRequestArgs;
+	arguments: FileRequestArgs;
 }
 
 /**
-  * Instances of this interface specify a location in a source file:
-  * (file, line, character offset), where line and character offset are 1-based.
-  */
+	* Instances of this interface specify a location in a source file:
+	* (file, line, character offset), where line and character offset are 1-based.
+	*/
 export interface FileLocationRequestArgs extends FileRequestArgs {
-    /**
-      * The line number for the request (1-based).
-      */
-    line: number;
+	/**
+		* The line number for the request (1-based).
+		*/
+	line: number;
 
-    /**
-      * The character offset (on the line) for the request (1-based).
-      */
-    offset: number;
+	/**
+		* The character offset (on the line) for the request (1-based).
+		*/
+	offset: number;
 }
 
 /**
-  * A request whose arguments specify a file location (file, line, col).
-  */
+	* A request whose arguments specify a file location (file, line, col).
+	*/
 export interface FileLocationRequest extends FileRequest {
-    arguments: FileLocationRequestArgs;
+	arguments: FileLocationRequestArgs;
 }
 
 /**
-  * Arguments in document highlight request; include: filesToSearch, file,
-  * line, offset.
-  */
+	* Arguments in document highlight request; include: filesToSearch, file,
+	* line, offset.
+	*/
 export interface DocumentHighlightsRequestArgs extends FileLocationRequestArgs {
-    /**
-     * List of files to search for document highlights.
-     */
-    filesToSearch: string[];
+	/**
+	 * List of files to search for document highlights.
+	 */
+	filesToSearch: string[];
 }
 
 /**
-  * Go to definition request; value of command field is
-  * "definition". Return response giving the file locations that
-  * define the symbol found in file at location line, col.
-  */
+	* Go to definition request; value of command field is
+	* "definition". Return response giving the file locations that
+	* define the symbol found in file at location line, col.
+	*/
 export interface DefinitionRequest extends FileLocationRequest {
 }
 
 /**
-  * Go to type request; value of command field is
-  * "typeDefinition". Return response giving the file locations that
-  * define the type for the symbol found in file at location line, col.
-  */
+	* Go to type request; value of command field is
+	* "typeDefinition". Return response giving the file locations that
+	* define the type for the symbol found in file at location line, col.
+	*/
 export interface TypeDefinitionRequest extends FileLocationRequest {
 }
 
 /**
-  * Location in source code expressed as (one-based) line and character offset.
-  */
+	* Location in source code expressed as (one-based) line and character offset.
+	*/
 export interface Location {
-    line: number;
-    offset: number;
+	line: number;
+	offset: number;
 }
 
 /**
-  * Object found in response messages defining a span of text in source code.
-  */
+	* Object found in response messages defining a span of text in source code.
+	*/
 export interface TextSpan {
-    /**
-      * First character of the definition.
-      */
-    start: Location;
+	/**
+		* First character of the definition.
+		*/
+	start: Location;
 
-    /**
-      * One character past last character of the definition.
-      */
-    end: Location;
+	/**
+		* One character past last character of the definition.
+		*/
+	end: Location;
 }
 
 /**
-  * Object found in response messages defining a span of text in a specific source file.
-  */
+	* Object found in response messages defining a span of text in a specific source file.
+	*/
 export interface FileSpan extends TextSpan {
-    /**
-      * File containing text span.
-      */
-    file: string;
+	/**
+		* File containing text span.
+		*/
+	file: string;
 }
 
 /**
-  * Definition response message.  Gives text range for definition.
-  */
+	* Definition response message.  Gives text range for definition.
+	*/
 export interface DefinitionResponse extends Response {
-    body?: FileSpan[];
+	body?: FileSpan[];
 }
 
 /**
-  * Definition response message.  Gives text range for definition.
-  */
+	* Definition response message.  Gives text range for definition.
+	*/
 export interface TypeDefinitionResponse extends Response {
-    body?: FileSpan[];
+	body?: FileSpan[];
 }
 
 /**
-  * Get occurrences request; value of command field is
-  * "occurrences". Return response giving spans that are relevant
-  * in the file at a given line and column.
-  */
+	* Get occurrences request; value of command field is
+	* "occurrences". Return response giving spans that are relevant
+	* in the file at a given line and column.
+	*/
 export interface OccurrencesRequest extends FileLocationRequest {
 }
 
 export interface OccurrencesResponseItem extends FileSpan {
-    /**
-      * True if the occurrence is a write location, false otherwise.
-      */
-    isWriteAccess: boolean;
+	/**
+		* True if the occurrence is a write location, false otherwise.
+		*/
+	isWriteAccess: boolean;
 }
 
 export interface OccurrencesResponse extends Response {
-    body?: OccurrencesResponseItem[];
+	body?: OccurrencesResponseItem[];
 }
 
 /**
-  * Get document highlights request; value of command field is
-  * "documentHighlights". Return response giving spans that are relevant
-  * in the file at a given line and column.
-  */
+	* Get document highlights request; value of command field is
+	* "documentHighlights". Return response giving spans that are relevant
+	* in the file at a given line and column.
+	*/
 export interface DocumentHighlightsRequest extends FileLocationRequest {
-    arguments: DocumentHighlightsRequestArgs;
+	arguments: DocumentHighlightsRequestArgs;
 }
 
 export interface HighlightSpan extends TextSpan {
-    kind: string;
+	kind: string;
 }
 
 export interface DocumentHighlightsItem {
-    /**
-      * File containing highlight spans.
-      */
-    file: string;
+	/**
+		* File containing highlight spans.
+		*/
+	file: string;
 
-    /**
-      * Spans to highlight in file.
-      */
-    highlightSpans: HighlightSpan[];
+	/**
+		* Spans to highlight in file.
+		*/
+	highlightSpans: HighlightSpan[];
 }
 
 export interface DocumentHighlightsResponse extends Response {
-    body?: DocumentHighlightsItem[];
+	body?: DocumentHighlightsItem[];
 }
 
 /**
-  * Find references request; value of command field is
-  * "references". Return response giving the file locations that
-  * reference the symbol found in file at location line, col.
-  */
+	* Find references request; value of command field is
+	* "references". Return response giving the file locations that
+	* reference the symbol found in file at location line, col.
+	*/
 export interface ReferencesRequest extends FileLocationRequest {
 }
 
 export interface ReferencesResponseItem extends FileSpan {
-    /** Text of line containing the reference.  Including this
-      *  with the response avoids latency of editor loading files
-      * to show text of reference line (the server already has
-      * loaded the referencing files).
-      */
-    lineText: string;
+	/** Text of line containing the reference.  Including this
+		*  with the response avoids latency of editor loading files
+		* to show text of reference line (the server already has
+		* loaded the referencing files).
+		*/
+	lineText: string;
 
-    /**
-      * True if reference is a write location, false otherwise.
-      */
-    isWriteAccess: boolean;
+	/**
+		* True if reference is a write location, false otherwise.
+		*/
+	isWriteAccess: boolean;
 
-    /**
-     * True if reference is a definition, false otherwise.
-     */
-    isDefinition: boolean;
+	/**
+	 * True if reference is a definition, false otherwise.
+	 */
+	isDefinition: boolean;
 }
 
 /**
-  * The body of a "references" response message.
-  */
+	* The body of a "references" response message.
+	*/
 export interface ReferencesResponseBody {
-    /**
-      * The file locations referencing the symbol.
-      */
-    refs: ReferencesResponseItem[];
+	/**
+		* The file locations referencing the symbol.
+		*/
+	refs: ReferencesResponseItem[];
 
-    /**
-      * The name of the symbol.
-      */
-    symbolName: string;
+	/**
+		* The name of the symbol.
+		*/
+	symbolName: string;
 
-    /**
-      * The start character offset of the symbol (on the line provided by the references request).
-      */
-    symbolStartOffset: number;
+	/**
+		* The start character offset of the symbol (on the line provided by the references request).
+		*/
+	symbolStartOffset: number;
 
-    /**
-      * The full display name of the symbol.
-      */
-    symbolDisplayString: string;
+	/**
+		* The full display name of the symbol.
+		*/
+	symbolDisplayString: string;
 }
 
 /**
-  * Response to "references" request.
-  */
+	* Response to "references" request.
+	*/
 export interface ReferencesResponse extends Response {
-    body?: ReferencesResponseBody;
+	body?: ReferencesResponseBody;
 }
 
 export interface RenameRequestArgs extends FileLocationRequestArgs {
-    findInComments?: boolean;
-    findInStrings?: boolean;
+	findInComments?: boolean;
+	findInStrings?: boolean;
 }
 
 
 /**
-  * Rename request; value of command field is "rename". Return
-  * response giving the file locations that reference the symbol
-  * found in file at location line, col. Also return full display
-  * name of the symbol so that client can print it unambiguously.
-  */
+	* Rename request; value of command field is "rename". Return
+	* response giving the file locations that reference the symbol
+	* found in file at location line, col. Also return full display
+	* name of the symbol so that client can print it unambiguously.
+	*/
 export interface RenameRequest extends FileLocationRequest {
-    arguments: RenameRequestArgs;
+	arguments: RenameRequestArgs;
 }
 
 /**
-  * Information about the item to be renamed.
-  */
+	* Information about the item to be renamed.
+	*/
 export interface RenameInfo {
-    /**
-      * True if item can be renamed.
-      */
-    canRename: boolean;
+	/**
+		* True if item can be renamed.
+		*/
+	canRename: boolean;
 
-    /**
-      * Error message if item can not be renamed.
-      */
-    localizedErrorMessage?: string;
+	/**
+		* Error message if item can not be renamed.
+		*/
+	localizedErrorMessage?: string;
 
-    /**
-      * Display name of the item to be renamed.
-      */
-    displayName: string;
+	/**
+		* Display name of the item to be renamed.
+		*/
+	displayName: string;
 
-    /**
-      * Full display name of item to be renamed.
-      */
-    fullDisplayName: string;
+	/**
+		* Full display name of item to be renamed.
+		*/
+	fullDisplayName: string;
 
-    /**
-      * The items's kind (such as 'className' or 'parameterName' or plain 'text').
-      */
-    kind: string;
+	/**
+		* The items's kind (such as 'className' or 'parameterName' or plain 'text').
+		*/
+	kind: string;
 
-    /**
-      * Optional modifiers for the kind (such as 'public').
-      */
-    kindModifiers: string;
+	/**
+		* Optional modifiers for the kind (such as 'public').
+		*/
+	kindModifiers: string;
 }
 
 /**
  *  A group of text spans, all in 'file'.
  */
 export interface SpanGroup {
-    /** The file to which the spans apply */
-    file: string;
-    /** The text spans in this group */
-    locs: TextSpan[];
+	/** The file to which the spans apply */
+	file: string;
+	/** The text spans in this group */
+	locs: TextSpan[];
 }
 
 export interface RenameResponseBody {
-    /**
-     * Information about the item to be renamed.
-     */
-    info: RenameInfo;
+	/**
+	 * Information about the item to be renamed.
+	 */
+	info: RenameInfo;
 
-    /**
-     * An array of span groups (one per file) that refer to the item to be renamed.
-     */
-    locs: SpanGroup[];
+	/**
+	 * An array of span groups (one per file) that refer to the item to be renamed.
+	 */
+	locs: SpanGroup[];
 }
 
 /**
-  * Rename response message.
-  */
+	* Rename response message.
+	*/
 export interface RenameResponse extends Response {
-    body?: RenameResponseBody;
+	body?: RenameResponseBody;
 }
 
 /**
@@ -433,20 +433,20 @@ export interface RenameResponse extends Response {
  */
 export interface EditorOptions {
 
-    /** Number of spaces for each tab. Default value is 4. */
-    tabSize?: number;
+	/** Number of spaces for each tab. Default value is 4. */
+	tabSize?: number;
 
-    /** Number of spaces to indent during formatting. Default value is 4. */
-    indentSize?: number;
+	/** Number of spaces to indent during formatting. Default value is 4. */
+	indentSize?: number;
 
-    /** Number of additional spaces to indent during formatting to preserve base indentation (ex. script block indentation). Default value is 0. */
-    baseIndentSize?: number;
+	/** Number of additional spaces to indent during formatting to preserve base indentation (ex. script block indentation). Default value is 0. */
+	baseIndentSize?: number;
 
-    /** The new line character to be used. Default value is the OS line delimiter. */
-    newLineCharacter?: string;
+	/** The new line character to be used. Default value is the OS line delimiter. */
+	newLineCharacter?: string;
 
-    /** Whether tabs should be converted to spaces. Default value is true. */
-    convertTabsToSpaces?: boolean;
+	/** Whether tabs should be converted to spaces. Default value is true. */
+	convertTabsToSpaces?: boolean;
 }
 
 /**
@@ -454,374 +454,374 @@ export interface EditorOptions {
  */
 export interface FormatOptions extends EditorOptions {
 
-    /** Defines space handling after a comma delimiter. Default value is true. */
-    insertSpaceAfterCommaDelimiter?: boolean;
+	/** Defines space handling after a comma delimiter. Default value is true. */
+	insertSpaceAfterCommaDelimiter?: boolean;
 
-    /** Defines space handling after a semicolon in a for statement. Default value is true */
-    insertSpaceAfterSemicolonInForStatements?: boolean;
+	/** Defines space handling after a semicolon in a for statement. Default value is true */
+	insertSpaceAfterSemicolonInForStatements?: boolean;
 
-    /** Defines space handling after a binary operator. Default value is true. */
-    insertSpaceBeforeAndAfterBinaryOperators?: boolean;
+	/** Defines space handling after a binary operator. Default value is true. */
+	insertSpaceBeforeAndAfterBinaryOperators?: boolean;
 
-    /** Defines space handling after keywords in control flow statement. Default value is true. */
-    insertSpaceAfterKeywordsInControlFlowStatements?: boolean;
+	/** Defines space handling after keywords in control flow statement. Default value is true. */
+	insertSpaceAfterKeywordsInControlFlowStatements?: boolean;
 
-    /** Defines space handling after function keyword for anonymous functions. Default value is false. */
-    insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean;
+	/** Defines space handling after function keyword for anonymous functions. Default value is false. */
+	insertSpaceAfterFunctionKeywordForAnonymousFunctions?: boolean;
 
-    /** Defines space handling after opening and before closing non empty parenthesis. Default value is false. */
-    insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean;
+	/** Defines space handling after opening and before closing non empty parenthesis. Default value is false. */
+	insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis?: boolean;
 
-    /** Defines space handling after opening and before closing non empty brackets. Default value is false. */
-    insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean;
+	/** Defines space handling after opening and before closing non empty brackets. Default value is false. */
+	insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets?: boolean;
 
-    /** Defines whether an open brace is put onto a new line for functions or not. Default value is false. */
-    placeOpenBraceOnNewLineForFunctions?: boolean;
+	/** Defines whether an open brace is put onto a new line for functions or not. Default value is false. */
+	placeOpenBraceOnNewLineForFunctions?: boolean;
 
-    /** Defines whether an open brace is put onto a new line for control blocks or not. Default value is false. */
-    placeOpenBraceOnNewLineForControlBlocks?: boolean;
+	/** Defines whether an open brace is put onto a new line for control blocks or not. Default value is false. */
+	placeOpenBraceOnNewLineForControlBlocks?: boolean;
 
-    /** Index operator */
-    [key: string]: string | number | boolean | undefined;
+	/** Index operator */
+	[key: string]: string | number | boolean | undefined;
 }
 
 /**
-  * Information found in a configure request.
-  */
+	* Information found in a configure request.
+	*/
 export interface ConfigureRequestArguments {
 
-    /**
-      * Information about the host, for example 'Emacs 24.4' or
-      * 'Sublime Text version 3075'
-      */
-    hostInfo?: string;
+	/**
+		* Information about the host, for example 'Emacs 24.4' or
+		* 'Sublime Text version 3075'
+		*/
+	hostInfo?: string;
 
-    /**
-     * Sets a folder that can be used by the tsserver to store
-     * meta data information.
-     */
-    metaDataDirectory?: string;
+	/**
+	 * Sets a folder that can be used by the tsserver to store
+	 * meta data information.
+	 */
+	metaDataDirectory?: string;
 
-    /**
-     * Turns the tsserver into auto diagnostice mode. When in
-     * auto diagnostic mode the server will automatically generate
-     * diagnostics and send them to the client without requests
-     */
-    autoDiagnostics?: boolean;
+	/**
+	 * Turns the tsserver into auto diagnostice mode. When in
+	 * auto diagnostic mode the server will automatically generate
+	 * diagnostics and send them to the client without requests
+	 */
+	autoDiagnostics?: boolean;
 
-    /**
-      * If present, tab settings apply only to this file.
-      */
-    file?: string;
+	/**
+		* If present, tab settings apply only to this file.
+		*/
+	file?: string;
 
-    /**
-     * The format options to use during formatting and other code editing features.
-     */
-    formatOptions?: FormatOptions;
+	/**
+	 * The format options to use during formatting and other code editing features.
+	 */
+	formatOptions?: FormatOptions;
 }
 
 /**
-  *  Configure request; value of command field is "configure".  Specifies
-  *  host information, such as host type, tab size, and indent size.
-  */
+	*  Configure request; value of command field is "configure".  Specifies
+	*  host information, such as host type, tab size, and indent size.
+	*/
 export interface ConfigureRequest extends Request {
-    arguments: ConfigureRequestArguments;
+	arguments: ConfigureRequestArguments;
 }
 
 /**
-  * Response to "configure" request.  This is just an acknowledgement, so
-  * no body field is required.
-  */
+	* Response to "configure" request.  This is just an acknowledgement, so
+	* no body field is required.
+	*/
 export interface ConfigureResponse extends Response {
 }
 
 /**
-  *  Information found in an "open" request.
-  */
+	*  Information found in an "open" request.
+	*/
 export interface OpenRequestArgs extends FileRequestArgs {
-    /**
-     * Used when a version of the file content is known to be more up to date than the one on disk.
-     * Then the known content will be used upon opening instead of the disk copy
-     */
-    fileContent?: string;
-    /**
-     * Used to specify the script kind of the file explicitly. It could be one of the following:
-     *      "TS", "JS", "TSX", "JSX"
-     */
-    scriptKindName?: "TS" | "JS" | "TSX" | "JSX";
-}
-
-/**
-  * Open request; value of command field is "open". Notify the
-  * server that the client has file open.  The server will not
-  * monitor the filesystem for changes in this file and will assume
-  * that the client is updating the server (using the change and/or
-  * reload messages) when the file changes. Server does not currently
-  * send a response to an open request.
-  */
+	/**
+	 * Used when a version of the file content is known to be more up to date than the one on disk.
+	 * Then the known content will be used upon opening instead of the disk copy
+	 */
+	fileContent?: string;
+	/**
+	 * Used to specify the script kind of the file explicitly. It could be one of the following:
+	 *      "TS", "JS", "TSX", "JSX"
+	 */
+	scriptKindName?: "TS" | "JS" | "TSX" | "JSX";
+}
+
+/**
+	* Open request; value of command field is "open". Notify the
+	* server that the client has file open.  The server will not
+	* monitor the filesystem for changes in this file and will assume
+	* that the client is updating the server (using the change and/or
+	* reload messages) when the file changes. Server does not currently
+	* send a response to an open request.
+	*/
 export interface OpenRequest extends Request {
-    arguments: OpenRequestArgs;
+	arguments: OpenRequestArgs;
 }
 
 /**
-  *  Exit request; value of command field is "exit".  Ask the server process
-  *  to exit.
-  */
+	*  Exit request; value of command field is "exit".  Ask the server process
+	*  to exit.
+	*/
 export interface ExitRequest extends Request {
 }
 
 /**
-  * Close request; value of command field is "close". Notify the
-  * server that the client has closed a previously open file.  If
-  * file is still referenced by open files, the server will resume
-  * monitoring the filesystem for changes to file.  Server does not
-  * currently send a response to a close request.
-  */
+	* Close request; value of command field is "close". Notify the
+	* server that the client has closed a previously open file.  If
+	* file is still referenced by open files, the server will resume
+	* monitoring the filesystem for changes to file.  Server does not
+	* currently send a response to a close request.
+	*/
 export interface CloseRequest extends FileRequest {
 }
 
 /**
-  * Quickinfo request; value of command field is
-  * "quickinfo". Return response giving a quick type and
-  * documentation string for the symbol found in file at location
-  * line, col.
-  */
+	* Quickinfo request; value of command field is
+	* "quickinfo". Return response giving a quick type and
+	* documentation string for the symbol found in file at location
+	* line, col.
+	*/
 export interface QuickInfoRequest extends FileLocationRequest {
 }
 
 /**
-  * Body of QuickInfoResponse.
-  */
+	* Body of QuickInfoResponse.
+	*/
 export interface QuickInfoResponseBody {
-    /**
-      * The symbol's kind (such as 'className' or 'parameterName' or plain 'text').
-      */
-    kind: string;
+	/**
+		* The symbol's kind (such as 'className' or 'parameterName' or plain 'text').
+		*/
+	kind: string;
 
-    /**
-      * Optional modifiers for the kind (such as 'public').
-      */
-    kindModifiers: string;
+	/**
+		* Optional modifiers for the kind (such as 'public').
+		*/
+	kindModifiers: string;
 
-    /**
-      * Starting file location of symbol.
-      */
-    start: Location;
+	/**
+		* Starting file location of symbol.
+		*/
+	start: Location;
 
-    /**
-      * One past last character of symbol.
-      */
-    end: Location;
+	/**
+		* One past last character of symbol.
+		*/
+	end: Location;
 
-    /**
-      * Type and kind of symbol.
-      */
-    displayString: string;
+	/**
+		* Type and kind of symbol.
+		*/
+	displayString: string;
 
-    /**
-      * Documentation associated with symbol.
-      */
-    documentation: string;
+	/**
+		* Documentation associated with symbol.
+		*/
+	documentation: string;
 }
 
 /**
-  * Quickinfo response message.
-  */
+	* Quickinfo response message.
+	*/
 export interface QuickInfoResponse extends Response {
-    body?: QuickInfoResponseBody;
+	body?: QuickInfoResponseBody;
 }
 
 /**
-  * Arguments for format messages.
-  */
+	* Arguments for format messages.
+	*/
 export interface FormatRequestArgs extends FileLocationRequestArgs {
-    /**
-      * Last line of range for which to format text in file.
-      */
-    endLine: number;
+	/**
+		* Last line of range for which to format text in file.
+		*/
+	endLine: number;
 
-    /**
-      * Character offset on last line of range for which to format text in file.
-      */
-    endOffset: number;
+	/**
+		* Character offset on last line of range for which to format text in file.
+		*/
+	endOffset: number;
 }
 
 /**
-  * Format request; value of command field is "format".  Return
-  * response giving zero or more edit instructions.  The edit
-  * instructions will be sorted in file order.  Applying the edit
-  * instructions in reverse to file will result in correctly
-  * reformatted text.
-  */
+	* Format request; value of command field is "format".  Return
+	* response giving zero or more edit instructions.  The edit
+	* instructions will be sorted in file order.  Applying the edit
+	* instructions in reverse to file will result in correctly
+	* reformatted text.
+	*/
 export interface FormatRequest extends FileLocationRequest {
-    arguments: FormatRequestArgs;
+	arguments: FormatRequestArgs;
 }
 
 /**
-  * Object found in response messages defining an editing
-  * instruction for a span of text in source code.  The effect of
-  * this instruction is to replace the text starting at start and
-  * ending one character before end with newText. For an insertion,
-  * the text span is empty.  For a deletion, newText is empty.
-  */
+	* Object found in response messages defining an editing
+	* instruction for a span of text in source code.  The effect of
+	* this instruction is to replace the text starting at start and
+	* ending one character before end with newText. For an insertion,
+	* the text span is empty.  For a deletion, newText is empty.
+	*/
 export interface CodeEdit {
-    /**
-      * First character of the text span to edit.
-      */
-    start: Location;
+	/**
+		* First character of the text span to edit.
+		*/
+	start: Location;
 
-    /**
-      * One character past last character of the text span to edit.
-      */
-    end: Location;
+	/**
+		* One character past last character of the text span to edit.
+		*/
+	end: Location;
 
-    /**
-      * Replace the span defined above with this string (may be
-      * the empty string).
-      */
-    newText: string;
+	/**
+		* Replace the span defined above with this string (may be
+		* the empty string).
+		*/
+	newText: string;
 }
 
 /**
-  * Format and format on key response message.
-  */
+	* Format and format on key response message.
+	*/
 export interface FormatResponse extends Response {
-    body?: CodeEdit[];
+	body?: CodeEdit[];
 }
 
 /**
-  * Arguments for format on key messages.
-  */
+	* Arguments for format on key messages.
+	*/
 export interface FormatOnKeyRequestArgs extends FileLocationRequestArgs {
-    /**
-      * Key pressed (';', '\n', or '}').
-      */
-    key: string;
+	/**
+		* Key pressed (';', '\n', or '}').
+		*/
+	key: string;
 }
 
 /**
-  * Format on key request; value of command field is
-  * "formatonkey". Given file location and key typed (as string),
-  * return response giving zero or more edit instructions.  The
-  * edit instructions will be sorted in file order.  Applying the
-  * edit instructions in reverse to file will result in correctly
-  * reformatted text.
-  */
+	* Format on key request; value of command field is
+	* "formatonkey". Given file location and key typed (as string),
+	* return response giving zero or more edit instructions.  The
+	* edit instructions will be sorted in file order.  Applying the
+	* edit instructions in reverse to file will result in correctly
+	* reformatted text.
+	*/
 export interface FormatOnKeyRequest extends FileLocationRequest {
-    arguments: FormatOnKeyRequestArgs;
+	arguments: FormatOnKeyRequestArgs;
 }
 
 /**
-  * Arguments for completions messages.
-  */
+	* Arguments for completions messages.
+	*/
 export interface CompletionsRequestArgs extends FileLocationRequestArgs {
-    /**
-      * Optional prefix to apply to possible completions.
-      */
-    prefix?: string;
+	/**
+		* Optional prefix to apply to possible completions.
+		*/
+	prefix?: string;
 }
 
 /**
-  * Completions request; value of command field is "completions".
-  * Given a file location (file, line, col) and a prefix (which may
-  * be the empty string), return the possible completions that
-  * begin with prefix.
-  */
+	* Completions request; value of command field is "completions".
+	* Given a file location (file, line, col) and a prefix (which may
+	* be the empty string), return the possible completions that
+	* begin with prefix.
+	*/
 export interface CompletionsRequest extends FileLocationRequest {
-    arguments: CompletionsRequestArgs;
+	arguments: CompletionsRequestArgs;
 }
 
 /**
-  * Arguments for completion details request.
-  */
+	* Arguments for completion details request.
+	*/
 export interface CompletionDetailsRequestArgs extends FileLocationRequestArgs {
-    /**
-      * Names of one or more entries for which to obtain details.
-      */
-    entryNames: string[];
+	/**
+		* Names of one or more entries for which to obtain details.
+		*/
+	entryNames: string[];
 }
 
 /**
-  * Completion entry details request; value of command field is
-  * "completionEntryDetails".  Given a file location (file, line,
-  * col) and an array of completion entry names return more
-  * detailed information for each completion entry.
-  */
+	* Completion entry details request; value of command field is
+	* "completionEntryDetails".  Given a file location (file, line,
+	* col) and an array of completion entry names return more
+	* detailed information for each completion entry.
+	*/
 export interface CompletionDetailsRequest extends FileLocationRequest {
-    arguments: CompletionDetailsRequestArgs;
+	arguments: CompletionDetailsRequestArgs;
 }
 
 /**
-  * Part of a symbol description.
-  */
+	* Part of a symbol description.
+	*/
 export interface SymbolDisplayPart {
-    /**
-      * Text of an item describing the symbol.
-      */
-    text: string;
+	/**
+		* Text of an item describing the symbol.
+		*/
+	text: string;
 
-    /**
-      * The symbol's kind (such as 'className' or 'parameterName' or plain 'text').
-      */
-    kind: string;
+	/**
+		* The symbol's kind (such as 'className' or 'parameterName' or plain 'text').
+		*/
+	kind: string;
 }
 
 /**
-  * An item found in a completion response.
-  */
+	* An item found in a completion response.
+	*/
 export interface CompletionEntry {
-    /**
-      * The symbol's name.
-      */
-    name: string;
-    /**
-      * The symbol's kind (such as 'className' or 'parameterName').
-      */
-    kind: string;
-    /**
-      * Optional modifiers for the kind (such as 'public').
-      */
-    kindModifiers: string;
-    /**
-     * A string that is used for comparing completion items so that they can be ordered.  This
-     * is often the same as the name but may be different in certain circumstances.
-     */
-    sortText: string;
-}
-
-/**
-  * Additional completion entry details, available on demand
-  */
+	/**
+		* The symbol's name.
+		*/
+	name: string;
+	/**
+		* The symbol's kind (such as 'className' or 'parameterName').
+		*/
+	kind: string;
+	/**
+		* Optional modifiers for the kind (such as 'public').
+		*/
+	kindModifiers: string;
+	/**
+	 * A string that is used for comparing completion items so that they can be ordered.  This
+	 * is often the same as the name but may be different in certain circumstances.
+	 */
+	sortText: string;
+}
+
+/**
+	* Additional completion entry details, available on demand
+	*/
 export interface CompletionEntryDetails {
-    /**
-      * The symbol's name.
-      */
-    name: string;
-    /**
-      * The symbol's kind (such as 'className' or 'parameterName').
-      */
-    kind: string;
-    /**
-      * Optional modifiers for the kind (such as 'public').
-      */
-    kindModifiers: string;
-    /**
-      * Display parts of the symbol (similar to quick info).
-      */
-    displayParts: SymbolDisplayPart[];
-
-    /**
-      * Documentation strings for the symbol.
-      */
-    documentation: SymbolDisplayPart[];
+	/**
+		* The symbol's name.
+		*/
+	name: string;
+	/**
+		* The symbol's kind (such as 'className' or 'parameterName').
+		*/
+	kind: string;
+	/**
+		* Optional modifiers for the kind (such as 'public').
+		*/
+	kindModifiers: string;
+	/**
+		* Display parts of the symbol (similar to quick info).
+		*/
+	displayParts: SymbolDisplayPart[];
+
+	/**
+		* Documentation strings for the symbol.
+		*/
+	documentation: SymbolDisplayPart[];
 }
 
 export interface CompletionsResponse extends Response {
-    body?: CompletionEntry[];
+	body?: CompletionEntry[];
 }
 
 export interface CompletionDetailsResponse extends Response {
-    body?: CompletionEntryDetails[];
+	body?: CompletionEntryDetails[];
 }
 
 /**
@@ -829,25 +829,25 @@ export interface CompletionDetailsResponse extends Response {
  */
 export interface SignatureHelpParameter {
 
-    /**
-     * The parameter's name
-     */
-    name: string;
+	/**
+	 * The parameter's name
+	 */
+	name: string;
 
-    /**
-      * Documentation of the parameter.
-      */
-    documentation: SymbolDisplayPart[];
+	/**
+		* Documentation of the parameter.
+		*/
+	documentation: SymbolDisplayPart[];
 
-    /**
-      * Display parts of the parameter.
-      */
-    displayParts: SymbolDisplayPart[];
+	/**
+		* Display parts of the parameter.
+		*/
+	displayParts: SymbolDisplayPart[];
 
-    /**
-     * Whether the parameter is optional or not.
-     */
-    isOptional: boolean;
+	/**
+	 * Whether the parameter is optional or not.
+	 */
+	isOptional: boolean;
 }
 
 /**
@@ -855,35 +855,35 @@ export interface SignatureHelpParameter {
  */
 export interface SignatureHelpItem {
 
-    /**
-     * Whether the signature accepts a variable number of arguments.
-     */
-    isVariadic: boolean;
+	/**
+	 * Whether the signature accepts a variable number of arguments.
+	 */
+	isVariadic: boolean;
 
-    /**
-     * The prefix display parts.
-     */
-    prefixDisplayParts: SymbolDisplayPart[];
+	/**
+	 * The prefix display parts.
+	 */
+	prefixDisplayParts: SymbolDisplayPart[];
 
-    /**
-     * The suffix display parts.
-     */
-    suffixDisplayParts: SymbolDisplayPart[];
+	/**
+	 * The suffix display parts.
+	 */
+	suffixDisplayParts: SymbolDisplayPart[];
 
-    /**
-     * The separator display parts.
-     */
-    separatorDisplayParts: SymbolDisplayPart[];
+	/**
+	 * The separator display parts.
+	 */
+	separatorDisplayParts: SymbolDisplayPart[];
 
-    /**
-     * The signature helps items for the parameters.
-     */
-    parameters: SignatureHelpParameter[];
+	/**
+	 * The signature helps items for the parameters.
+	 */
+	parameters: SignatureHelpParameter[];
 
-    /**
-     * The signature's documentation
-     */
-    documentation: SymbolDisplayPart[];
+	/**
+	 * The signature's documentation
+	 */
+	documentation: SymbolDisplayPart[];
 }
 
 /**
@@ -891,30 +891,30 @@ export interface SignatureHelpItem {
  */
 export interface SignatureHelpItems {
 
-    /**
-     * The signature help items.
-     */
-    items: SignatureHelpItem[];
+	/**
+	 * The signature help items.
+	 */
+	items: SignatureHelpItem[];
 
-    /**
-     * The span for which signature help should appear on a signature
-     */
-    applicableSpan: TextSpan;
+	/**
+	 * The span for which signature help should appear on a signature
+	 */
+	applicableSpan: TextSpan;
 
-    /**
-     * The item selected in the set of available help items.
-     */
-    selectedItemIndex: number;
+	/**
+	 * The item selected in the set of available help items.
+	 */
+	selectedItemIndex: number;
 
-    /**
-     * The argument selected in the set of parameters.
-     */
-    argumentIndex: number;
+	/**
+	 * The argument selected in the set of parameters.
+	 */
+	argumentIndex: number;
 
-    /**
-     * The argument count
-     */
-    argumentCount: number;
+	/**
+	 * The argument count
+	 */
+	argumentCount: number;
 }
 
 /**
@@ -924,163 +924,163 @@ export interface SignatureHelpRequestArgs extends FileLocationRequestArgs {
 }
 
 /**
-  * Signature help request; value of command field is "signatureHelp".
-  * Given a file location (file, line, col), return the signature
-  * help.
-  */
+	* Signature help request; value of command field is "signatureHelp".
+	* Given a file location (file, line, col), return the signature
+	* help.
+	*/
 export interface SignatureHelpRequest extends FileLocationRequest {
-    arguments: SignatureHelpRequestArgs;
+	arguments: SignatureHelpRequestArgs;
 }
 
 /**
  * Response object for a SignatureHelpRequest.
  */
 export interface SignatureHelpResponse extends Response {
-    body?: SignatureHelpItems;
+	body?: SignatureHelpItems;
 }
 
 /**
-  * Synchronous request for semantic diagnostics of one file.
-  */
+	* Synchronous request for semantic diagnostics of one file.
+	*/
 export interface SemanticDiagnosticsSyncRequest extends FileRequest {
 }
 
 /**
-  * Response object for synchronous sematic diagnostics request.
-  */
+	* Response object for synchronous sematic diagnostics request.
+	*/
 export interface SemanticDiagnosticsSyncResponse extends Response {
-    body?: Diagnostic[];
+	body?: Diagnostic[];
 }
 
 /**
-  * Synchronous request for syntactic diagnostics of one file.
-  */
+	* Synchronous request for syntactic diagnostics of one file.
+	*/
 export interface SyntacticDiagnosticsSyncRequest extends FileRequest {
 }
 
 /**
-  * Response object for synchronous syntactic diagnostics request.
-  */
+	* Response object for synchronous syntactic diagnostics request.
+	*/
 export interface SyntacticDiagnosticsSyncResponse extends Response {
-    body?: Diagnostic[];
+	body?: Diagnostic[];
 }
 
 /**
 * Arguments for GeterrForProject request.
 */
 export interface GeterrForProjectRequestArgs {
-    /**
-      * the file requesting project error list
-      */
-    file: string;
+	/**
+		* the file requesting project error list
+		*/
+	file: string;
 
-    /**
-      * Delay in milliseconds to wait before starting to compute
-      * errors for the files in the file list
-      */
-    delay: number;
+	/**
+		* Delay in milliseconds to wait before starting to compute
+		* errors for the files in the file list
+		*/
+	delay: number;
 }
 
 /**
-  * GeterrForProjectRequest request; value of command field is
-  * "geterrForProject". It works similarly with 'Geterr', only
-  * it request for every file in this project.
-  */
+	* GeterrForProjectRequest request; value of command field is
+	* "geterrForProject". It works similarly with 'Geterr', only
+	* it request for every file in this project.
+	*/
 export interface GeterrForProjectRequest extends Request {
-    arguments: GeterrForProjectRequestArgs;
+	arguments: GeterrForProjectRequestArgs;
 }
 
 /**
-  * Arguments for geterr messages.
-  */
+	* Arguments for geterr messages.
+	*/
 export interface GeterrRequestArgs {
-    /**
-      * List of file names for which to compute compiler errors.
-      * The files will be checked in list order.
-      */
-    files: string[];
-
-    /**
-      * Delay in milliseconds to wait before starting to compute
-      * errors for the files in the file list
-      */
-    delay: number;
-}
-
-/**
-  * Geterr request; value of command field is "geterr". Wait for
-  * delay milliseconds and then, if during the wait no change or
-  * reload messages have arrived for the first file in the files
-  * list, get the syntactic errors for the file, field requests,
-  * and then get the semantic errors for the file.  Repeat with a
-  * smaller delay for each subsequent file on the files list.  Best
-  * practice for an editor is to send a file list containing each
-  * file that is currently visible, in most-recently-used order.
-  */
+	/**
+		* List of file names for which to compute compiler errors.
+		* The files will be checked in list order.
+		*/
+	files: string[];
+
+	/**
+		* Delay in milliseconds to wait before starting to compute
+		* errors for the files in the file list
+		*/
+	delay: number;
+}
+
+/**
+	* Geterr request; value of command field is "geterr". Wait for
+	* delay milliseconds and then, if during the wait no change or
+	* reload messages have arrived for the first file in the files
+	* list, get the syntactic errors for the file, field requests,
+	* and then get the semantic errors for the file.  Repeat with a
+	* smaller delay for each subsequent file on the files list.  Best
+	* practice for an editor is to send a file list containing each
+	* file that is currently visible, in most-recently-used order.
+	*/
 export interface GeterrRequest extends Request {
-    arguments: GeterrRequestArgs;
+	arguments: GeterrRequestArgs;
 }
 
 /**
-  * Item of diagnostic information found in a DiagnosticEvent message.
-  */
+	* Item of diagnostic information found in a DiagnosticEvent message.
+	*/
 export interface Diagnostic {
-    /**
-      * Starting file location at which text applies.
-      */
-    start: Location;
+	/**
+		* Starting file location at which text applies.
+		*/
+	start: Location;
 
-    /**
-      * The last file location at which the text applies.
-      */
-    end: Location;
+	/**
+		* The last file location at which the text applies.
+		*/
+	end: Location;
 
-    /**
-      * Text of diagnostic message.
-      */
-    text: string;
+	/**
+		* Text of diagnostic message.
+		*/
+	text: string;
 }
 
 export interface DiagnosticEventBody {
-    /**
-      * The file for which diagnostic information is reported.
-      */
-    file: string;
+	/**
+		* The file for which diagnostic information is reported.
+		*/
+	file: string;
 
-    /**
-      * An array of diagnostic information items.
-      */
-    diagnostics: Diagnostic[];
+	/**
+		* An array of diagnostic information items.
+		*/
+	diagnostics: Diagnostic[];
 
-    /**
-     * Information about the current length of the build queue.
-     */
-    queueLength?: number;
+	/**
+	 * Information about the current length of the build queue.
+	 */
+	queueLength?: number;
 }
 
 /**
-  * Event message for "syntaxDiag" and "semanticDiag" event types.
-  * These events provide syntactic and semantic errors for a file.
-  */
+	* Event message for "syntaxDiag" and "semanticDiag" event types.
+	* These events provide syntactic and semantic errors for a file.
+	*/
 export interface DiagnosticEvent extends Event {
-    body?: DiagnosticEventBody;
+	body?: DiagnosticEventBody;
 }
 
 export interface ConfigFileDiagnosticEventBody {
-    /**
-     * The file which trigged the searching and error-checking of the config file
-     */
-    triggerFile: string;
+	/**
+	 * The file which trigged the searching and error-checking of the config file
+	 */
+	triggerFile: string;
 
-    /**
-     * The name of the found config file.
-     */
-    configFile: string;
+	/**
+	 * The name of the found config file.
+	 */
+	configFile: string;
 
-    /**
-     * An arry of diagnostic information items for the found config file.
-     */
-    diagnostics: Diagnostic[];
+	/**
+	 * An arry of diagnostic information items for the found config file.
+	 */
+	diagnostics: Diagnostic[];
 }
 
 /**
@@ -1088,223 +1088,223 @@ export interface ConfigFileDiagnosticEventBody {
  * This event provides errors for a found config file.
  */
 export interface ConfigFileDiagnosticEvent extends Event {
-    body?: ConfigFileDiagnosticEventBody;
-    event: "configFileDiag";
+	body?: ConfigFileDiagnosticEventBody;
+	event: "configFileDiag";
 }
 
 /**
-  * Arguments for reload request.
-  */
+	* Arguments for reload request.
+	*/
 export interface ReloadRequestArgs extends FileRequestArgs {
-    /**
-      * Name of temporary file from which to reload file
-      * contents. May be same as file.
-      */
-    tmpfile: string;
+	/**
+		* Name of temporary file from which to reload file
+		* contents. May be same as file.
+		*/
+	tmpfile: string;
 }
 
 /**
-  * Reload request message; value of command field is "reload".
-  * Reload contents of file with name given by the 'file' argument
-  * from temporary file with name given by the 'tmpfile' argument.
-  * The two names can be identical.
-  */
+	* Reload request message; value of command field is "reload".
+	* Reload contents of file with name given by the 'file' argument
+	* from temporary file with name given by the 'tmpfile' argument.
+	* The two names can be identical.
+	*/
 export interface ReloadRequest extends FileRequest {
-    arguments: ReloadRequestArgs;
+	arguments: ReloadRequestArgs;
 }
 
 /**
-  * Response to "reload" request.  This is just an acknowledgement, so
-  * no body field is required.
-  */
+	* Response to "reload" request.  This is just an acknowledgement, so
+	* no body field is required.
+	*/
 export interface ReloadResponse extends Response {
 }
 
 /**
-  * Arguments for saveto request.
-  */
+	* Arguments for saveto request.
+	*/
 export interface SavetoRequestArgs extends FileRequestArgs {
-    /**
-      * Name of temporary file into which to save server's view of
-      * file contents.
-      */
-    tmpfile: string;
+	/**
+		* Name of temporary file into which to save server's view of
+		* file contents.
+		*/
+	tmpfile: string;
 }
 
 /**
-  * Saveto request message; value of command field is "saveto".
-  * For debugging purposes, save to a temporaryfile (named by
-  * argument 'tmpfile') the contents of file named by argument
-  * 'file'.  The server does not currently send a response to a
-  * "saveto" request.
-  */
+	* Saveto request message; value of command field is "saveto".
+	* For debugging purposes, save to a temporaryfile (named by
+	* argument 'tmpfile') the contents of file named by argument
+	* 'file'.  The server does not currently send a response to a
+	* "saveto" request.
+	*/
 export interface SavetoRequest extends FileRequest {
-    arguments: SavetoRequestArgs;
+	arguments: SavetoRequestArgs;
 }
 
 /**
-  * Arguments for navto request message.
-  */
+	* Arguments for navto request message.
+	*/
 export interface NavtoRequestArgs extends FileRequestArgs {
-    /**
-      * Search term to navigate to from current location; term can
-      * be '.*' or an identifier prefix.
-      */
-    searchValue: string;
-    /**
-      *  Optional limit on the number of items to return.
-      */
-    maxResultCount?: number;
-}
-
-/**
-  * Navto request message; value of command field is "navto".
-  * Return list of objects giving file locations and symbols that
-  * match the search term given in argument 'searchTerm'.  The
-  * context for the search is given by the named file.
-  */
+	/**
+		* Search term to navigate to from current location; term can
+		* be '.*' or an identifier prefix.
+		*/
+	searchValue: string;
+	/**
+		*  Optional limit on the number of items to return.
+		*/
+	maxResultCount?: number;
+}
+
+/**
+	* Navto request message; value of command field is "navto".
+	* Return list of objects giving file locations and symbols that
+	* match the search term given in argument 'searchTerm'.  The
+	* context for the search is given by the named file.
+	*/
 export interface NavtoRequest extends FileRequest {
-    arguments: NavtoRequestArgs;
+	arguments: NavtoRequestArgs;
 }
 
 /**
-  * An item found in a navto response.
-  */
+	* An item found in a navto response.
+	*/
 export interface NavtoItem {
-    /**
-      * The symbol's name.
-      */
-    name: string;
-
-    /**
-      * The symbol's kind (such as 'className' or 'parameterName').
-      */
-    kind: string;
-
-    /**
-      * exact, substring, or prefix.
-      */
-    matchKind?: string;
-
-    /**
-      * If this was a case sensitive or insensitive match.
-      */
-    isCaseSensitive?: boolean;
-
-    /**
-      * Optional modifiers for the kind (such as 'public').
-      */
-    kindModifiers?: string;
-
-    /**
-      * The file in which the symbol is found.
-      */
-    file: string;
-
-    /**
-      * The location within file at which the symbol is found.
-      */
-    start: Location;
-
-    /**
-      * One past the last character of the symbol.
-      */
-    end: Location;
-
-    /**
-      * Name of symbol's container symbol (if any); for example,
-      * the class name if symbol is a class member.
-      */
-    containerName?: string;
-
-    /**
-      * Kind of symbol's container symbol (if any).
-      */
-    containerKind?: string;
-}
-
-/**
-  * Navto response message. Body is an array of navto items.  Each
-  * item gives a symbol that matched the search term.
-  */
+	/**
+		* The symbol's name.
+		*/
+	name: string;
+
+	/**
+		* The symbol's kind (such as 'className' or 'parameterName').
+		*/
+	kind: string;
+
+	/**
+		* exact, substring, or prefix.
+		*/
+	matchKind?: string;
+
+	/**
+		* If this was a case sensitive or insensitive match.
+		*/
+	isCaseSensitive?: boolean;
+
+	/**
+		* Optional modifiers for the kind (such as 'public').
+		*/
+	kindModifiers?: string;
+
+	/**
+		* The file in which the symbol is found.
+		*/
+	file: string;
+
+	/**
+		* The location within file at which the symbol is found.
+		*/
+	start: Location;
+
+	/**
+		* One past the last character of the symbol.
+		*/
+	end: Location;
+
+	/**
+		* Name of symbol's container symbol (if any); for example,
+		* the class name if symbol is a class member.
+		*/
+	containerName?: string;
+
+	/**
+		* Kind of symbol's container symbol (if any).
+		*/
+	containerKind?: string;
+}
+
+/**
+	* Navto response message. Body is an array of navto items.  Each
+	* item gives a symbol that matched the search term.
+	*/
 export interface NavtoResponse extends Response {
-    body?: NavtoItem[];
+	body?: NavtoItem[];
 }
 
 /**
-  * Arguments for change request message.
-  */
+	* Arguments for change request message.
+	*/
 export interface ChangeRequestArgs extends FormatRequestArgs {
-    /**
-      * Optional string to insert at location (file, line, offset).
-      */
-    insertString?: string;
+	/**
+		* Optional string to insert at location (file, line, offset).
+		*/
+	insertString?: string;
 }
 
 /**
-  * Change request message; value of command field is "change".
-  * Update the server's view of the file named by argument 'file'.
-  * Server does not currently send a response to a change request.
-  */
+	* Change request message; value of command field is "change".
+	* Update the server's view of the file named by argument 'file'.
+	* Server does not currently send a response to a change request.
+	*/
 export interface ChangeRequest extends FileLocationRequest {
-    arguments: ChangeRequestArgs;
+	arguments: ChangeRequestArgs;
 }
 
 /**
-  * Response to "brace" request.
-  */
+	* Response to "brace" request.
+	*/
 export interface BraceResponse extends Response {
-    body?: TextSpan[];
+	body?: TextSpan[];
 }
 
 /**
-  * Brace matching request; value of command field is "brace".
-  * Return response giving the file locations of matching braces
-  * found in file at location line, offset.
-  */
+	* Brace matching request; value of command field is "brace".
+	* Return response giving the file locations of matching braces
+	* found in file at location line, offset.
+	*/
 export interface BraceRequest extends FileLocationRequest {
 }
 
 /**
-  * NavBar items request; value of command field is "navbar".
-  * Return response giving the list of navigation bar entries
-  * extracted from the requested file.
-  */
+	* NavBar items request; value of command field is "navbar".
+	* Return response giving the list of navigation bar entries
+	* extracted from the requested file.
+	*/
 export interface NavBarRequest extends FileRequest {
 }
 
 export interface NavigationBarItem {
-    /**
-      * The item's display text.
-      */
-    text: string;
+	/**
+		* The item's display text.
+		*/
+	text: string;
 
-    /**
-      * The symbol's kind (such as 'className' or 'parameterName').
-      */
-    kind: string;
+	/**
+		* The symbol's kind (such as 'className' or 'parameterName').
+		*/
+	kind: string;
 
-    /**
-      * Optional modifiers for the kind (such as 'public').
-      */
-    kindModifiers?: string;
+	/**
+		* Optional modifiers for the kind (such as 'public').
+		*/
+	kindModifiers?: string;
 
-    /**
-      * The definition locations of the item.
-      */
-    spans: TextSpan[];
+	/**
+		* The definition locations of the item.
+		*/
+	spans: TextSpan[];
 
-    /**
-      * Optional children.
-      */
-    childItems?: NavigationBarItem[];
+	/**
+		* Optional children.
+		*/
+	childItems?: NavigationBarItem[];
 
-    /**
-      * Number of levels deep this item should appear.
-      */
-    indent: number;
+	/**
+		* Number of levels deep this item should appear.
+		*/
+	indent: number;
 }
 
 export interface NavBarResponse extends Response {
-    body?: NavigationBarItem[];
+	body?: NavigationBarItem[];
 }
\ No newline at end of file
diff --git a/extensions/typescript/src/typescriptMain.ts b/extensions/typescript/src/typescriptMain.ts
index c57ddb0286294..2e4c1255f7720 100644
--- a/extensions/typescript/src/typescriptMain.ts
+++ b/extensions/typescript/src/typescriptMain.ts
@@ -14,7 +14,7 @@ import { env, languages, commands, workspace, window, Uri, ExtensionContext, Mem
 // This must be the first statement otherwise modules might got loaded with
 // the wrong locale.
 import * as nls from 'vscode-nls';
-nls.config({locale: env.language});
+nls.config({ locale: env.language });
 
 import * as path from 'path';
 
@@ -350,7 +350,7 @@ class TypeScriptServiceClientHost implements ITypescriptServiceClientHost {
 			}
 		}
 		if (Is.defined(body.queueLength)) {
-			BuildStatus.update( { queueLength: body.queueLength });
+			BuildStatus.update({ queueLength: body.queueLength });
 		}
 	}
 
diff --git a/extensions/typescript/src/typescriptService.ts b/extensions/typescript/src/typescriptService.ts
index be548bc946d77..9a65195f51821 100644
--- a/extensions/typescript/src/typescriptService.ts
+++ b/extensions/typescript/src/typescriptService.ts
@@ -55,25 +55,25 @@ export interface ITypescriptServiceClient {
 	experimentalAutoBuild: boolean;
 	apiVersion: APIVersion;
 
-	execute(command: 'configure', args: Proto.ConfigureRequestArguments, token?: CancellationToken):Promise<Proto.ConfigureResponse>;
-	execute(command: 'open', args: Proto.OpenRequestArgs, expectedResult:boolean, token?: CancellationToken):Promise<any>;
-	execute(command: 'close', args: Proto.FileRequestArgs, expectedResult:boolean, token?: CancellationToken):Promise<any>;
-	execute(command: 'change', args: Proto.ChangeRequestArgs, expectedResult:boolean, token?: CancellationToken):Promise<any>;
-	execute(command: 'geterr', args: Proto.GeterrRequestArgs, expectedResult:boolean, token?: CancellationToken):Promise<any>;
-	execute(command: 'quickinfo', args: Proto.FileLocationRequestArgs, token?: CancellationToken):Promise<Proto.QuickInfoResponse>;
-	execute(command: 'completions', args: Proto.CompletionsRequestArgs, token?: CancellationToken):Promise<Proto.CompletionsResponse>;
-	execute(commant: 'completionEntryDetails', args: Proto.CompletionDetailsRequestArgs, token?: CancellationToken):Promise<Proto.CompletionDetailsResponse>;
-	execute(commant: 'signatureHelp', args: Proto.SignatureHelpRequestArgs, token?: CancellationToken):Promise<Proto.SignatureHelpResponse>;
-	execute(command: 'definition', args: Proto.FileLocationRequestArgs, token?: CancellationToken):Promise<Proto.DefinitionResponse>;
-	execute(command: 'references', args: Proto.FileLocationRequestArgs, token?: CancellationToken):Promise<Proto.ReferencesResponse>;
-	execute(command: 'navto', args: Proto.NavtoRequestArgs, token?: CancellationToken):Promise<Proto.NavtoResponse>;
-	execute(command: 'navbar', args: Proto.FileRequestArgs, token?: CancellationToken):Promise<Proto.NavBarResponse>;
-	execute(command: 'format', args: Proto.FormatRequestArgs, token?: CancellationToken):Promise<Proto.FormatResponse>;
-	execute(command: 'formatonkey', args: Proto.FormatOnKeyRequestArgs, token?: CancellationToken):Promise<Proto.FormatResponse>;
+	execute(command: 'configure', args: Proto.ConfigureRequestArguments, token?: CancellationToken): Promise<Proto.ConfigureResponse>;
+	execute(command: 'open', args: Proto.OpenRequestArgs, expectedResult: boolean, token?: CancellationToken): Promise<any>;
+	execute(command: 'close', args: Proto.FileRequestArgs, expectedResult: boolean, token?: CancellationToken): Promise<any>;
+	execute(command: 'change', args: Proto.ChangeRequestArgs, expectedResult: boolean, token?: CancellationToken): Promise<any>;
+	execute(command: 'geterr', args: Proto.GeterrRequestArgs, expectedResult: boolean, token?: CancellationToken): Promise<any>;
+	execute(command: 'quickinfo', args: Proto.FileLocationRequestArgs, token?: CancellationToken): Promise<Proto.QuickInfoResponse>;
+	execute(command: 'completions', args: Proto.CompletionsRequestArgs, token?: CancellationToken): Promise<Proto.CompletionsResponse>;
+	execute(commant: 'completionEntryDetails', args: Proto.CompletionDetailsRequestArgs, token?: CancellationToken): Promise<Proto.CompletionDetailsResponse>;
+	execute(commant: 'signatureHelp', args: Proto.SignatureHelpRequestArgs, token?: CancellationToken): Promise<Proto.SignatureHelpResponse>;
+	execute(command: 'definition', args: Proto.FileLocationRequestArgs, token?: CancellationToken): Promise<Proto.DefinitionResponse>;
+	execute(command: 'references', args: Proto.FileLocationRequestArgs, token?: CancellationToken): Promise<Proto.ReferencesResponse>;
+	execute(command: 'navto', args: Proto.NavtoRequestArgs, token?: CancellationToken): Promise<Proto.NavtoResponse>;
+	execute(command: 'navbar', args: Proto.FileRequestArgs, token?: CancellationToken): Promise<Proto.NavBarResponse>;
+	execute(command: 'format', args: Proto.FormatRequestArgs, token?: CancellationToken): Promise<Proto.FormatResponse>;
+	execute(command: 'formatonkey', args: Proto.FormatOnKeyRequestArgs, token?: CancellationToken): Promise<Proto.FormatResponse>;
 	execute(command: 'rename', args: Proto.RenameRequestArgs, token?: CancellationToken): Promise<Proto.RenameResponse>;
 	execute(command: 'occurrences', args: Proto.FileLocationRequestArgs, token?: CancellationToken): Promise<Proto.OccurrencesResponse>;
 	execute(command: 'projectInfo', args: Proto.ProjectInfoRequestArgs, token?: CancellationToken): Promise<Proto.ProjectInfoResponse>;
-	execute(command: 'reloadProjects', args: any, expectedResult:boolean, token?: CancellationToken): Promise<any>;
+	execute(command: 'reloadProjects', args: any, expectedResult: boolean, token?: CancellationToken): Promise<any>;
 	execute(command: 'reload', args: Proto.ReloadRequestArgs, expectedResult: boolean, token?: CancellationToken): Promise<any>;
 	execute(command: string, args: any, expectedResult: boolean | CancellationToken, token?: CancellationToken): Promise<any>;
 }
\ No newline at end of file
diff --git a/extensions/typescript/src/typescriptServiceClient.ts b/extensions/typescript/src/typescriptServiceClient.ts
index 0d2d4d8ca3368..2893d4738cd9f 100644
--- a/extensions/typescript/src/typescriptServiceClient.ts
+++ b/extensions/typescript/src/typescriptServiceClient.ts
@@ -12,9 +12,9 @@ import * as fs from 'fs';
 import * as electron from './utils/electron';
 import { Reader } from './utils/wireProtocol';
 
-import { workspace, window, Uri, CancellationToken, OutputChannel, Memento, MessageItem }  from 'vscode';
+import { workspace, window, Uri, CancellationToken, OutputChannel, Memento, MessageItem } from 'vscode';
 import * as Proto from './protocol';
-import { ITypescriptServiceClient, ITypescriptServiceClientHost, APIVersion }  from './typescriptService';
+import { ITypescriptServiceClient, ITypescriptServiceClientHost, APIVersion } from './typescriptService';
 
 import * as VersionStatus from './utils/versionStatus';
 import * as is from './utils/is';
@@ -73,7 +73,7 @@ enum MessageAction {
 	close
 }
 
-interface MyMessageItem extends MessageItem  {
+interface MyMessageItem extends MessageItem {
 	id: MessageAction;
 }
 
@@ -261,7 +261,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
 		return this._packageInfo;
 	}
 
-	public logTelemetry(eventName: string, properties?: {[prop: string]: string}) {
+	public logTelemetry(eventName: string, properties?: { [prop: string]: string }) {
 		if (this.telemetryReporter) {
 			this.telemetryReporter.sendTelemetryEvent(eventName, properties);
 		}
@@ -337,7 +337,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
 								if (!selected || selected.id === MessageAction.close) {
 									return modulePath;
 								}
-								switch(selected.id) {
+								switch (selected.id) {
 									case MessageAction.useLocal:
 										let pathValue = './node_modules/typescript/lib';
 										tsConfig.update('tsdk', pathValue, false);
@@ -381,7 +381,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
 				}
 
 
-				const label = version || localize('versionNumber.custom' ,'custom');
+				const label = version || localize('versionNumber.custom', 'custom');
 				const tooltip = modulePath;
 				VersionStatus.enable(!!this.tsdk || showVersionStatusItem);
 				VersionStatus.setInfo(label, tooltip);
@@ -459,7 +459,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
 							this.lastError = err;
 							this.error('Starting TSServer failed with error.', err);
 							window.showErrorMessage(localize('serverCouldNotBeStarted', 'TypeScript language server couldn\'t be started. Error message is: {0}', err.message || err));
-							this.logTelemetry('error', {message: err.message});
+							this.logTelemetry('error', { message: err.message });
 							return;
 						}
 						this.lastStart = Date.now();
@@ -494,7 +494,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
 		if (this._experimentalAutoBuild && this.storagePath) {
 			try {
 				fs.mkdirSync(this.storagePath);
-			} catch(error) {
+			} catch (error) {
 			}
 			this.execute('configure', {
 				autoBuild: true,
@@ -521,7 +521,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
 		let desc = null;
 		try {
 			desc = JSON.parse(contents);
-		} catch(err) {
+		} catch (err) {
 			return undefined;
 		}
 		if (!desc.version) {
@@ -542,7 +542,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
 			let startService = true;
 			if (this.numberRestarts > 5) {
 				if (diff < 60 * 1000 /* 1 Minutes */) {
-					window.showWarningMessage(localize('serverDied','The TypeScript language service died unexpectedly 5 times in the last 5 Minutes. Please consider to open a bug report.'));
+					window.showWarningMessage(localize('serverDied', 'The TypeScript language service died unexpectedly 5 times in the last 5 Minutes. Please consider to open a bug report.'));
 				} else if (diff < 2 * 1000 /* 2 seconds */) {
 					startService = false;
 					window.showErrorMessage(localize('serverDiedAfterStart', 'The TypeScript language service died 5 times right after it got started. The service will not be restarted. Please open a bug report.'));
diff --git a/extensions/typescript/src/typings/vscode-extension-telemetry.d.ts b/extensions/typescript/src/typings/vscode-extension-telemetry.d.ts
index 4b2981b9b24be..f6177ef27a652 100644
--- a/extensions/typescript/src/typings/vscode-extension-telemetry.d.ts
+++ b/extensions/typescript/src/typings/vscode-extension-telemetry.d.ts
@@ -1,6 +1,6 @@
 declare module 'vscode-extension-telemetry' {
 	export default class TelemetryReporter {
-		constructor(extensionId: string,extensionVersion: string, key: string);
+		constructor(extensionId: string, extensionVersion: string, key: string);
 		sendTelemetryEvent(eventName: string, properties?: { [key: string]: string }, measures?: { [key: string]: number }): void;
 	}
 }
\ No newline at end of file
diff --git a/extensions/typescript/src/utils/electron.ts b/extensions/typescript/src/utils/electron.ts
index c0bda301689c8..847c7a098bcf8 100644
--- a/extensions/typescript/src/utils/electron.ts
+++ b/extensions/typescript/src/utils/electron.ts
@@ -17,7 +17,7 @@ export interface IForkOptions {
 	execArgv?: string[];
 }
 
-function makeRandomHexString(length:number): string {
+function makeRandomHexString(length: number): string {
 	let chars = ['0', '1', '2', '3', '4', '5', '6', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
 	let result = '';
 	for (let i = 0; i < length; i++) {
@@ -37,10 +37,10 @@ function generatePipeName(): string {
 	return path.join(os.tmpdir(), randomName + '.sock');
 }
 
-function generatePatchedEnv(env:any, stdInPipeName:string, stdOutPipeName:string, stdErrPipeName:string): any {
+function generatePatchedEnv(env: any, stdInPipeName: string, stdOutPipeName: string, stdErrPipeName: string): any {
 	// Set the two unique pipe names and the electron flag as process env
 
-	var newEnv:any = {};
+	var newEnv: any = {};
 	for (var key in env) {
 		newEnv[key] = env[key];
 	}
@@ -53,7 +53,7 @@ function generatePatchedEnv(env:any, stdInPipeName:string, stdOutPipeName:string
 	return newEnv;
 }
 
-export function fork(modulePath: string, args: string[], options: IForkOptions, callback:(error:any, cp:cp.ChildProcess)=>void): void {
+export function fork(modulePath: string, args: string[], options: IForkOptions, callback: (error: any, cp: cp.ChildProcess) => void): void {
 
 	var callbackCalled = false;
 	var resolve = (result: cp.ChildProcess) => {
@@ -63,7 +63,7 @@ export function fork(modulePath: string, args: string[], options: IForkOptions,
 		callbackCalled = true;
 		callback(null, result);
 	};
-	var reject = (err:any) => {
+	var reject = (err: any) => {
 		if (callbackCalled) {
 			return;
 		}
@@ -92,7 +92,7 @@ export function fork(modulePath: string, args: string[], options: IForkOptions,
 	let stdOutServer = net.createServer((stdOutStream) => {
 		// The child process will write exactly one chunk with content `ready` when it has installed a listener to the stdin pipe
 
-		stdOutStream.once('data', (chunk:Buffer) => {
+		stdOutStream.once('data', (chunk: Buffer) => {
 			// The child process is sending me the `ready` chunk, time to connect to the stdin pipe
 			childProcess.stdin = <any>net.connect(stdInPipeName);
 
@@ -123,12 +123,12 @@ export function fork(modulePath: string, args: string[], options: IForkOptions,
 		execArgv: options.execArgv
 	});
 
-	childProcess.once('error', (err:Error) => {
+	childProcess.once('error', (err: Error) => {
 		closeServer();
 		reject(err);
 	});
 
-	childProcess.once('exit', (err:Error) => {
+	childProcess.once('exit', (err: Error) => {
 		closeServer();
 		reject(err);
 	});
diff --git a/extensions/typescript/src/utils/electronForkStart.ts b/extensions/typescript/src/utils/electronForkStart.ts
index 83f757240023b..f374ada0086bc 100644
--- a/extensions/typescript/src/utils/electronForkStart.ts
+++ b/extensions/typescript/src/utils/electronForkStart.ts
@@ -8,9 +8,9 @@ var net = require('net'),
 
 var ENABLE_LOGGING = false;
 
-var log = (function() {
+var log = (function () {
 	if (!ENABLE_LOGGING) {
-		return function() {};
+		return function () { };
 	}
 	var isFirst = true;
 	var LOG_LOCATION = 'C:\\stdFork.log';
@@ -34,7 +34,7 @@ log('STDERR_PIPE_NAME: ' + stdErrPipeName);
 log('ELECTRON_RUN_AS_NODE: ' + process.env['ELECTRON_RUN_AS_NODE']);
 
 // stdout redirection to named pipe
-(function() {
+(function () {
 	log('Beginning stdout redirection...');
 
 	// Create a writing stream to the stdout pipe
@@ -44,7 +44,7 @@ log('ELECTRON_RUN_AS_NODE: ' + process.env['ELECTRON_RUN_AS_NODE']);
 	stdOutStream.unref();
 
 	// handle process.stdout
-	(<any>process).__defineGetter__('stdout', function() { return stdOutStream; });
+	(<any>process).__defineGetter__('stdout', function () { return stdOutStream; });
 
 	// Create a writing stream to the stderr pipe
 	var stdErrStream = net.connect(stdErrPipeName);
@@ -53,15 +53,15 @@ log('ELECTRON_RUN_AS_NODE: ' + process.env['ELECTRON_RUN_AS_NODE']);
 	stdErrStream.unref();
 
 	// handle process.stderr
-	(<any>process).__defineGetter__('stderr', function() { return stdErrStream; });
+	(<any>process).__defineGetter__('stderr', function () { return stdErrStream; });
 
-	var fsWriteSyncString = function(fd, str, position, encoding) {
+	var fsWriteSyncString = function (fd, str, position, encoding) {
 		//  fs.writeSync(fd, string[, position[, encoding]]);
 		var buf = new Buffer(str, encoding || 'utf8');
 		return fsWriteSyncBuffer(fd, buf, 0, buf.length);
 	};
 
-	var fsWriteSyncBuffer = function(fd, buffer, off, len) {
+	var fsWriteSyncBuffer = function (fd, buffer, off, len) {
 		off = Math.abs(off | 0);
 		len = Math.abs(len | 0);
 
@@ -97,7 +97,7 @@ log('ELECTRON_RUN_AS_NODE: ' + process.env['ELECTRON_RUN_AS_NODE']);
 
 	// handle fs.writeSync(1, ...)
 	var originalWriteSync = fs.writeSync;
-	fs.writeSync = function(fd, data, position, encoding) {
+	fs.writeSync = function (fd, data, position, encoding) {
 		if (fd !== 1 || fd !== 2) {
 			return originalWriteSync.apply(fs, arguments);
 		}
@@ -122,17 +122,17 @@ log('ELECTRON_RUN_AS_NODE: ' + process.env['ELECTRON_RUN_AS_NODE']);
 })();
 
 // stdin redirection to named pipe
-(function() {
+(function () {
 
 	// Begin listening to stdin pipe
-	var server = net.createServer(function(stream) {
+	var server = net.createServer(function (stream) {
 		// Stop accepting new connections, keep the existing one alive
 		server.close();
 
 		log('Parent process has connected to my stdin. All should be good now.');
 
 		// handle process.stdin
-		(<any>process).__defineGetter__('stdin', function() {
+		(<any>process).__defineGetter__('stdin', function () {
 			return stream;
 		});
 
@@ -154,7 +154,7 @@ log('ELECTRON_RUN_AS_NODE: ' + process.env['ELECTRON_RUN_AS_NODE']);
 		log('Finished loading program.');
 
 		var stdinIsReferenced = true;
-		var timer = setInterval(function() {
+		var timer = setInterval(function () {
 			var listenerCount = (
 				stream.listeners('data').length +
 				stream.listeners('end').length +
@@ -190,7 +190,7 @@ log('ELECTRON_RUN_AS_NODE: ' + process.env['ELECTRON_RUN_AS_NODE']);
 	});
 
 
-	server.listen(stdInPipeName, function() {
+	server.listen(stdInPipeName, function () {
 		// signal via stdout that the parent process can now begin writing to stdin pipe
 		process.stdout.write('ready');
 	});
diff --git a/extensions/typescript/src/utils/projectStatus.ts b/extensions/typescript/src/utils/projectStatus.ts
index b58fbf0a0e3df..0a177bb65b369 100644
--- a/extensions/typescript/src/utils/projectStatus.ts
+++ b/extensions/typescript/src/utils/projectStatus.ts
@@ -6,10 +6,10 @@
 'use strict';
 
 import * as vscode from 'vscode';
-import {ITypescriptServiceClient} from '../typescriptService';
-import {loadMessageBundle} from 'vscode-nls';
-import {dirname, join} from 'path';
-import {exists} from 'fs';
+import { ITypescriptServiceClient } from '../typescriptService';
+import { loadMessageBundle } from 'vscode-nls';
+import { dirname, join } from 'path';
+import { exists } from 'fs';
 
 const localize = loadMessageBundle();
 const selector = ['javascript', 'javascriptreact'];
@@ -25,7 +25,7 @@ interface Hint {
 
 const fileLimit = 500;
 
-export function create(client: ITypescriptServiceClient, isOpen:(path:string)=>Promise<boolean>, memento: vscode.Memento) {
+export function create(client: ITypescriptServiceClient, isOpen: (path: string) => Promise<boolean>, memento: vscode.Memento) {
 
 	const toDispose: vscode.Disposable[] = [];
 	const projectHinted: { [k: string]: boolean } = Object.create(null);
@@ -157,7 +157,7 @@ export function create(client: ITypescriptServiceClient, isOpen:(path:string)=>P
 	return vscode.Disposable.from(...toDispose);
 }
 
-function computeLargeRoots(configFileName:string, fileNames: string[]): string[] {
+function computeLargeRoots(configFileName: string, fileNames: string[]): string[] {
 
 	let roots: { [first: string]: number } = Object.create(null);
 	let dir = dirname(configFileName);
diff --git a/extensions/typescript/src/utils/wireProtocol.ts b/extensions/typescript/src/utils/wireProtocol.ts
index 5dad22dabb80d..7d554d3cced60 100644
--- a/extensions/typescript/src/utils/wireProtocol.ts
+++ b/extensions/typescript/src/utils/wireProtocol.ts
@@ -7,25 +7,25 @@
 
 import stream = require('stream');
 
-let DefaultSize:number = 8192;
-let ContentLength:string = 'Content-Length: ';
-let ContentLengthSize:number = Buffer.byteLength(ContentLength, 'utf8');
-let Blank:number = new Buffer(' ', 'utf8')[0];
-let BackslashR:number = new Buffer('\r', 'utf8')[0];
-let BackslashN:number = new Buffer('\n', 'utf8')[0];
+let DefaultSize: number = 8192;
+let ContentLength: string = 'Content-Length: ';
+let ContentLengthSize: number = Buffer.byteLength(ContentLength, 'utf8');
+let Blank: number = new Buffer(' ', 'utf8')[0];
+let BackslashR: number = new Buffer('\r', 'utf8')[0];
+let BackslashN: number = new Buffer('\n', 'utf8')[0];
 
 class ProtocolBuffer {
 
-	private index:number;
-	private buffer:Buffer;
+	private index: number;
+	private buffer: Buffer;
 
 	constructor() {
 		this.index = 0;
 		this.buffer = new Buffer(DefaultSize);
 	}
 
-	public append(data:string | Buffer):void {
-		let toAppend:Buffer = null;
+	public append(data: string | Buffer): void {
+		let toAppend: Buffer = null;
 		if (Buffer.isBuffer(data)) {
 			toAppend = <Buffer>data;
 		} else {
@@ -42,10 +42,10 @@ class ProtocolBuffer {
 				this.buffer = Buffer.concat([this.buffer.slice(0, this.index), toAppend], newSize);
 			}
 		}
-		this.index+= toAppend.length;
+		this.index += toAppend.length;
 	}
 
-	public tryReadContentLength():number {
+	public tryReadContentLength(): number {
 		let result = -1;
 		let current = 0;
 		// we are utf8 encoding...
@@ -57,7 +57,7 @@ class ProtocolBuffer {
 		}
 		current += ContentLengthSize;
 		let start = current;
-		while(current < this.index && this.buffer[current] !== BackslashR) {
+		while (current < this.index && this.buffer[current] !== BackslashR) {
 			current++;
 		}
 		if (current + 3 >= this.index || this.buffer[current + 1] !== BackslashN || this.buffer[current + 2] !== BackslashR || this.buffer[current + 3] !== BackslashN) {
@@ -70,13 +70,13 @@ class ProtocolBuffer {
 		return result;
 	}
 
-	public tryReadContent(length:number):string {
+	public tryReadContent(length: number): string {
 		if (this.index < length) {
 			return null;
 		}
 		let result = this.buffer.toString('utf8', 0, length);
 		let sourceStart = length;
-		while(sourceStart < this.index && (this.buffer[sourceStart] === BackslashR || this.buffer[sourceStart] === BackslashN)) {
+		while (sourceStart < this.index && (this.buffer[sourceStart] === BackslashR || this.buffer[sourceStart] === BackslashN)) {
 			sourceStart++;
 		}
 		this.buffer.copy(this.buffer, 0, sourceStart);
@@ -84,8 +84,8 @@ class ProtocolBuffer {
 		return result;
 	}
 
-	public tryReadLine():string {
-		let end:number = 0;
+	public tryReadLine(): string {
+		let end: number = 0;
 		while (end < this.index && this.buffer[end] !== BackslashR && this.buffer[end] !== BackslashN) {
 			end++;
 		}
@@ -105,7 +105,7 @@ class ProtocolBuffer {
 		return result;
 	}
 
-	public get numberOfBytes():number {
+	public get numberOfBytes(): number {
 		return this.index;
 	}
 }
@@ -116,35 +116,35 @@ export enum ReaderType {
 }
 
 export interface ICallback<T> {
-	(data:T):void;
+	(data: T): void;
 }
 
 export class Reader<T> {
 
-	private readable:stream.Readable;
-	private callback:ICallback<T>;
-	private buffer:ProtocolBuffer;
-	private nextMessageLength:number;
+	private readable: stream.Readable;
+	private callback: ICallback<T>;
+	private buffer: ProtocolBuffer;
+	private nextMessageLength: number;
 
-	public constructor(readable:stream.Readable, callback:ICallback<T>, type:ReaderType = ReaderType.Length) {
+	public constructor(readable: stream.Readable, callback: ICallback<T>, type: ReaderType = ReaderType.Length) {
 		this.readable = readable;
 		this.buffer = new ProtocolBuffer();
 		this.callback = callback;
 		this.nextMessageLength = -1;
 		if (type === ReaderType.Length) {
-			this.readable.on('data', (data:Buffer) => {
+			this.readable.on('data', (data: Buffer) => {
 				this.onLengthData(data);
 			});
 		} else if (type === ReaderType.Line) {
-			this.readable.on('data', (data:Buffer) => {
+			this.readable.on('data', (data: Buffer) => {
 				this.onLineData(data);
 			});
 		}
 	}
 
-	private onLengthData(data:Buffer):void {
+	private onLengthData(data: Buffer): void {
 		this.buffer.append(data);
-		while(true) {
+		while (true) {
 			if (this.nextMessageLength === -1) {
 				this.nextMessageLength = this.buffer.tryReadContentLength();
 				if (this.nextMessageLength === -1) {
@@ -161,9 +161,9 @@ export class Reader<T> {
 		}
 	}
 
-	private onLineData(data:Buffer):void {
+	private onLineData(data: Buffer): void {
 		this.buffer.append(data);
-		while(true) {
+		while (true) {
 			let msg = this.buffer.tryReadLine();
 			if (msg === null) {
 				return;
@@ -175,15 +175,15 @@ export class Reader<T> {
 
 export class Writer<T> {
 
-	private writable:stream.Writable;
+	private writable: stream.Writable;
 
-	public constructor(writable:stream.Writable) {
+	public constructor(writable: stream.Writable) {
 		this.writable = writable;
 	}
 
-	public write(msg:T):void {
+	public write(msg: T): void {
 		let json = JSON.stringify(msg);
-		let buffer:string[] = [
+		let buffer: string[] = [
 			ContentLength,
 			Buffer.byteLength(json, 'utf8').toString(),
 			'\r\n\r\n',
diff --git a/extensions/typescript/typings/mocha.d.ts b/extensions/typescript/typings/mocha.d.ts
index 7b23f5d181642..f677473dcdd76 100644
--- a/extensions/typescript/typings/mocha.d.ts
+++ b/extensions/typescript/typings/mocha.d.ts
@@ -5,9 +5,9 @@
 
 declare function run(): void;
 
-declare function suite(name: string, fn: (err?)=>void);
-declare function test(name: string, fn: (done?: (err?)=>void)=>void);
-declare function suiteSetup(fn: (done?: (err?)=>void)=>void);
-declare function suiteTeardown(fn: (done?: (err?)=>void)=>void);
-declare function setup(fn: (done?: (err?)=>void)=>void);
-declare function teardown(fn: (done?: (err?)=>void)=>void);
+declare function suite(name: string, fn: (err?) => void);
+declare function test(name: string, fn: (done?: (err?) => void) => void);
+declare function suiteSetup(fn: (done?: (err?) => void) => void);
+declare function suiteTeardown(fn: (done?: (err?) => void) => void);
+declare function setup(fn: (done?: (err?) => void) => void);
+declare function teardown(fn: (done?: (err?) => void) => void);
diff --git a/extensions/vscode-api-tests/src/commands.test.ts b/extensions/vscode-api-tests/src/commands.test.ts
index 3880094bd014b..0e1cfdd1fa77d 100644
--- a/extensions/vscode-api-tests/src/commands.test.ts
+++ b/extensions/vscode-api-tests/src/commands.test.ts
@@ -6,12 +6,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {join} from 'path';
-import {commands, workspace, window, Uri, ViewColumn} from 'vscode';
+import { join } from 'path';
+import { commands, workspace, window, Uri, ViewColumn } from 'vscode';
 
 suite('commands namespace tests', () => {
 
-	test('getCommands', function(done) {
+	test('getCommands', function (done) {
 
 		let p1 = commands.getCommands().then(commands => {
 			let hasOneWithUnderscore = false;
@@ -43,7 +43,7 @@ suite('commands namespace tests', () => {
 	test('command with args', function () {
 
 		let args: IArguments;
-		let registration = commands.registerCommand('t1', function() {
+		let registration = commands.registerCommand('t1', function () {
 			args = arguments;
 		});
 
@@ -59,7 +59,7 @@ suite('commands namespace tests', () => {
 	test('editorCommand with extra args', function () {
 
 		let args: IArguments;
-		let registration = commands.registerTextEditorCommand('t1', function() {
+		let registration = commands.registerTextEditorCommand('t1', function () {
 			args = arguments;
 		});
 
diff --git a/extensions/vscode-api-tests/src/editor.test.ts b/extensions/vscode-api-tests/src/editor.test.ts
index 6cf498ee9c942..9aef53e053793 100644
--- a/extensions/vscode-api-tests/src/editor.test.ts
+++ b/extensions/vscode-api-tests/src/editor.test.ts
@@ -6,14 +6,14 @@
 'use strict';
 
 import * as assert from 'assert';
-import {workspace, window, Position, Range, commands} from 'vscode';
-import {createRandomFile, deleteFile, cleanUp} from './utils';
+import { workspace, window, Position, Range, commands } from 'vscode';
+import { createRandomFile, deleteFile, cleanUp } from './utils';
 
 suite('editor tests', () => {
 
 	teardown(cleanUp);
 
-	function withRandomFileEditor(initialContents:string, run:(editor:vscode.TextEditor, doc:vscode.TextDocument)=>Thenable<void>): Thenable<boolean> {
+	function withRandomFileEditor(initialContents: string, run: (editor: vscode.TextEditor, doc: vscode.TextDocument) => Thenable<void>): Thenable<boolean> {
 		return createRandomFile(initialContents).then(file => {
 			return workspace.openTextDocument(file).then(doc => {
 				return window.showTextDocument(doc).then((editor) => {
@@ -57,7 +57,7 @@ suite('editor tests', () => {
 		});
 	});
 
-	function executeReplace(editor:vscode.TextEditor, range:Range, text:string, undoStopBefore:boolean, undoStopAfter: boolean): Thenable<boolean> {
+	function executeReplace(editor: vscode.TextEditor, range: Range, text: string, undoStopBefore: boolean, undoStopAfter: boolean): Thenable<boolean> {
 		return editor.edit((builder) => {
 			builder.replace(range, text);
 		}, { undoStopBefore: undoStopBefore, undoStopAfter: undoStopAfter });
diff --git a/extensions/vscode-api-tests/src/env.test.ts b/extensions/vscode-api-tests/src/env.test.ts
index 657b559b5d258..4746255297c2c 100644
--- a/extensions/vscode-api-tests/src/env.test.ts
+++ b/extensions/vscode-api-tests/src/env.test.ts
@@ -6,18 +6,18 @@
 'use strict';
 
 import * as assert from 'assert';
-import {env} from 'vscode';
+import { env } from 'vscode';
 
 suite('env-namespace', () => {
 
-	test('env is set', function() {
+	test('env is set', function () {
 		assert.equal(typeof env.language, 'string');
 		assert.equal(typeof env.appName, 'string');
 		assert.equal(typeof env.machineId, 'string');
 		assert.equal(typeof env.sessionId, 'string');
 	});
 
-	test('env is readonly', function() {
+	test('env is readonly', function () {
 		assert.throws(() => env.language = '234');
 		assert.throws(() => env.appName = '234');
 		assert.throws(() => env.machineId = '234');
diff --git a/extensions/vscode-api-tests/src/index.ts b/extensions/vscode-api-tests/src/index.ts
index 9147c17154659..984d15dafc5b5 100644
--- a/extensions/vscode-api-tests/src/index.ts
+++ b/extensions/vscode-api-tests/src/index.ts
@@ -25,4 +25,4 @@ testRunner.configure({
 	timeout: 10000
 });
 
-export= testRunner;
\ No newline at end of file
+export = testRunner;
\ No newline at end of file
diff --git a/extensions/vscode-api-tests/src/languages.test.ts b/extensions/vscode-api-tests/src/languages.test.ts
index 4ffb3b1afc7e4..7864899d20aef 100644
--- a/extensions/vscode-api-tests/src/languages.test.ts
+++ b/extensions/vscode-api-tests/src/languages.test.ts
@@ -6,9 +6,11 @@
 'use strict';
 
 import * as assert from 'assert';
-import {join} from 'path';
-import {languages, workspace, commands, Uri, Diagnostic, Range, Command, Disposable, CancellationToken,
-	CompletionList, CompletionItem, CompletionItemKind, TextDocument, Position} from 'vscode';
+import { join } from 'path';
+import {
+	languages, workspace, commands, Uri, Diagnostic, Range, Command, Disposable, CancellationToken,
+	CompletionList, CompletionItem, CompletionItemKind, TextDocument, Position
+} from 'vscode';
 
 suite('languages namespace tests', () => {
 
@@ -76,7 +78,7 @@ suite('languages namespace tests', () => {
 				let proposal = new CompletionItem('foo');
 				proposal.kind = CompletionItemKind.Property;
 				ran = true;
-				return [ proposal ];
+				return [proposal];
 			}
 		});
 
diff --git a/extensions/vscode-api-tests/src/utils.ts b/extensions/vscode-api-tests/src/utils.ts
index ea2e3406edd25..d3c755d1cb239 100644
--- a/extensions/vscode-api-tests/src/utils.ts
+++ b/extensions/vscode-api-tests/src/utils.ts
@@ -9,7 +9,7 @@ import * as assert from 'assert';
 import * as vscode from 'vscode';
 import * as fs from 'fs';
 import * as os from 'os';
-import {join} from 'path';
+import { join } from 'path';
 
 function rndName() {
 	return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 10);
diff --git a/extensions/vscode-api-tests/src/window.test.ts b/extensions/vscode-api-tests/src/window.test.ts
index 3a5fbb41ab3fa..dab141acd20d0 100644
--- a/extensions/vscode-api-tests/src/window.test.ts
+++ b/extensions/vscode-api-tests/src/window.test.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import * as assert from 'assert';
-import {workspace, window, commands, ViewColumn, TextEditorViewColumnChangeEvent, Uri, Selection, Position, CancellationTokenSource, TextEditorSelectionChangeKind} from 'vscode';
-import {join} from 'path';
-import {cleanUp, pathEquals} from './utils';
+import { workspace, window, commands, ViewColumn, TextEditorViewColumnChangeEvent, Uri, Selection, Position, CancellationTokenSource, TextEditorSelectionChangeKind } from 'vscode';
+import { join } from 'path';
+import { cleanUp, pathEquals } from './utils';
 
 suite('window namespace tests', () => {
 
@@ -88,7 +88,7 @@ suite('window namespace tests', () => {
 		const file30Path = join(workspace.rootPath, './30linefile.ts');
 
 		let finished = false;
-		let failOncePlease = (err:Error) => {
+		let failOncePlease = (err: Error) => {
 			if (finished) {
 				return;
 			}
@@ -127,13 +127,13 @@ suite('window namespace tests', () => {
 		workspace.openTextDocument(file10Path).then((doc) => {
 			return window.showTextDocument(doc, ViewColumn.One);
 		}).then((editor10line) => {
-			editor10line.selection = new Selection(new Position(9,0), new Position(9, 0));
+			editor10line.selection = new Selection(new Position(9, 0), new Position(9, 0));
 		}).then(() => {
 			return workspace.openTextDocument(file30Path);
 		}).then((doc) => {
 			return window.showTextDocument(doc, ViewColumn.One);
 		}).then((editor30line) => {
-			editor30line.selection = new Selection(new Position(29,0), new Position(29, 0));
+			editor30line.selection = new Selection(new Position(29, 0), new Position(29, 0));
 		}).then(() => {
 			return workspace.openTextDocument(file10Path);
 		}).then((doc) => {
diff --git a/extensions/vscode-api-tests/src/workspace.test.ts b/extensions/vscode-api-tests/src/workspace.test.ts
index 3ec3b3d5046a6..37c0f9e3f4f2e 100644
--- a/extensions/vscode-api-tests/src/workspace.test.ts
+++ b/extensions/vscode-api-tests/src/workspace.test.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import * as assert from 'assert';
-import {workspace, TextDocument, window, Position, Uri, EventEmitter, WorkspaceEdit} from 'vscode';
-import {createRandomFile, deleteFile, cleanUp, pathEquals} from './utils';
-import {join, basename} from 'path';
+import { workspace, TextDocument, window, Position, Uri, EventEmitter, WorkspaceEdit } from 'vscode';
+import { createRandomFile, deleteFile, cleanUp, pathEquals } from './utils';
+import { join, basename } from 'path';
 import * as fs from 'fs';
 
 suite('workspace-namespace', () => {
@@ -38,7 +38,7 @@ suite('workspace-namespace', () => {
 		assert.ok(config.has('get'));
 		assert.equal(config.get('get'), 'get-prop');
 		assert.deepEqual(config['get'], config.get);
-		assert.throws(() => config['get'] = <any> 'get-prop');
+		assert.throws(() => config['get'] = <any>'get-prop');
 	});
 
 	// test('configuration, getConfig/value', () => {
diff --git a/extensions/vscode-api-tests/typings/mocha.d.ts b/extensions/vscode-api-tests/typings/mocha.d.ts
index 7b23f5d181642..f677473dcdd76 100644
--- a/extensions/vscode-api-tests/typings/mocha.d.ts
+++ b/extensions/vscode-api-tests/typings/mocha.d.ts
@@ -5,9 +5,9 @@
 
 declare function run(): void;
 
-declare function suite(name: string, fn: (err?)=>void);
-declare function test(name: string, fn: (done?: (err?)=>void)=>void);
-declare function suiteSetup(fn: (done?: (err?)=>void)=>void);
-declare function suiteTeardown(fn: (done?: (err?)=>void)=>void);
-declare function setup(fn: (done?: (err?)=>void)=>void);
-declare function teardown(fn: (done?: (err?)=>void)=>void);
+declare function suite(name: string, fn: (err?) => void);
+declare function test(name: string, fn: (done?: (err?) => void) => void);
+declare function suiteSetup(fn: (done?: (err?) => void) => void);
+declare function suiteTeardown(fn: (done?: (err?) => void) => void);
+declare function setup(fn: (done?: (err?) => void) => void);
+declare function teardown(fn: (done?: (err?) => void) => void);
diff --git a/extensions/vscode-colorize-tests/src/colorizer.test.ts b/extensions/vscode-colorize-tests/src/colorizer.test.ts
index b827742e6a6b8..d709300a8394e 100644
--- a/extensions/vscode-colorize-tests/src/colorizer.test.ts
+++ b/extensions/vscode-colorize-tests/src/colorizer.test.ts
@@ -6,11 +6,11 @@
 'use strict';
 
 import * as assert from 'assert';
-import {commands, Uri} from 'vscode';
-import {join, basename, normalize, dirname} from 'path';
+import { commands, Uri } from 'vscode';
+import { join, basename, normalize, dirname } from 'path';
 import * as fs from 'fs';
 
-function assertUnchangedTokens(testFixurePath:string, done) {
+function assertUnchangedTokens(testFixurePath: string, done) {
 	let fileName = basename(testFixurePath);
 
 	return commands.executeCommand('_workbench.captureSyntaxTokens', Uri.file(testFixurePath)).then(data => {
@@ -47,7 +47,7 @@ suite("colorization", () => {
 			let fixturesFiles = fs.readdirSync(extensionColorizeFixturePath);
 			fixturesFiles.forEach(fixturesFile => {
 				// define a test for each fixture
-				test(extension + '-' + fixturesFile, function(done) {
+				test(extension + '-' + fixturesFile, function (done) {
 					assertUnchangedTokens(join(extensionColorizeFixturePath, fixturesFile), done);
 				});
 			});
diff --git a/extensions/vscode-colorize-tests/src/index.ts b/extensions/vscode-colorize-tests/src/index.ts
index 9147c17154659..984d15dafc5b5 100644
--- a/extensions/vscode-colorize-tests/src/index.ts
+++ b/extensions/vscode-colorize-tests/src/index.ts
@@ -25,4 +25,4 @@ testRunner.configure({
 	timeout: 10000
 });
 
-export= testRunner;
\ No newline at end of file
+export = testRunner;
\ No newline at end of file
diff --git a/extensions/vscode-colorize-tests/typings/mocha.d.ts b/extensions/vscode-colorize-tests/typings/mocha.d.ts
index 7b23f5d181642..f677473dcdd76 100644
--- a/extensions/vscode-colorize-tests/typings/mocha.d.ts
+++ b/extensions/vscode-colorize-tests/typings/mocha.d.ts
@@ -5,9 +5,9 @@
 
 declare function run(): void;
 
-declare function suite(name: string, fn: (err?)=>void);
-declare function test(name: string, fn: (done?: (err?)=>void)=>void);
-declare function suiteSetup(fn: (done?: (err?)=>void)=>void);
-declare function suiteTeardown(fn: (done?: (err?)=>void)=>void);
-declare function setup(fn: (done?: (err?)=>void)=>void);
-declare function teardown(fn: (done?: (err?)=>void)=>void);
+declare function suite(name: string, fn: (err?) => void);
+declare function test(name: string, fn: (done?: (err?) => void) => void);
+declare function suiteSetup(fn: (done?: (err?) => void) => void);
+declare function suiteTeardown(fn: (done?: (err?) => void) => void);
+declare function setup(fn: (done?: (err?) => void) => void);
+declare function teardown(fn: (done?: (err?) => void) => void);
diff --git a/package.json b/package.json
index 98f8977c72632..e549ca5fd75a2 100644
--- a/package.json
+++ b/package.json
@@ -89,6 +89,7 @@
     "source-map": "^0.4.4",
     "tslint": "^3.3.0",
     "typescript": "^2.0.3",
+    "typescript-formatter": "git+https://github.com/jrieken/typescript-formatter.git#560ea3b",
     "uglify-js": "2.4.8",
     "underscore": "^1.8.2",
     "vinyl": "^0.4.5",
diff --git a/src/typings/ansi-regex.d.ts b/src/typings/ansi-regex.d.ts
index 8e3004978066a..2bf8b8a4336db 100644
--- a/src/typings/ansi-regex.d.ts
+++ b/src/typings/ansi-regex.d.ts
@@ -1,5 +1,5 @@
 declare module 'ansi-regex' {
 	function result(): RegExp;
-	module result {}
+	module result { }
 	export = result;
 }
diff --git a/src/typings/applicationInsights.d.ts b/src/typings/applicationInsights.d.ts
index eb84dd31a78ee..9f4ccb2e1d81c 100644
--- a/src/typings/applicationInsights.d.ts
+++ b/src/typings/applicationInsights.d.ts
@@ -3,62 +3,62 @@
  * the auto-collection behavior of the application insights module.
  */
 declare module ApplicationInsights {
-    var client: any;
+	var client: any;
     /**
      * Initializes a client with the given instrumentation key, if this is not specified, the value will be
      * read from the environment variable APPINSIGHTS_INSTRUMENTATIONKEY
      * @returns {ApplicationInsights/Client} a new client
      */
-    function getClient(instrumentationKey?: string): any /*Client*/;
+	function getClient(instrumentationKey?: string): any /*Client*/;
     /**
      * Initializes the default client of the client and sets the default configuration
      * @param instrumentationKey the instrumentation key to use. Optional, if this is not specified, the value will be
      * read from the environment variable APPINSIGHTS_INSTRUMENTATIONKEY
      * @returns {ApplicationInsights} this class
      */
-    function setup(instrumentationKey?: string): typeof ApplicationInsights;
+	function setup(instrumentationKey?: string): typeof ApplicationInsights;
     /**
      * Starts automatic collection of telemetry. Prior to calling start no telemetry will be collected
      * @returns {ApplicationInsights} this class
      */
-    function start(): typeof ApplicationInsights;
+	function start(): typeof ApplicationInsights;
     /**
      * Sets the state of console tracking (enabled by default)
      * @param value if true console activity will be sent to Application Insights
      * @returns {ApplicationInsights} this class
      */
-    function setAutoCollectConsole(value: boolean): typeof ApplicationInsights;
+	function setAutoCollectConsole(value: boolean): typeof ApplicationInsights;
     /**
      * Sets the state of exception tracking (enabled by default)
      * @param value if true uncaught exceptions will be sent to Application Insights
      * @returns {ApplicationInsights} this class
      */
-    function setAutoCollectExceptions(value: boolean): typeof ApplicationInsights;
+	function setAutoCollectExceptions(value: boolean): typeof ApplicationInsights;
     /**
      * Sets the state of performance tracking (enabled by default)
      * @param value if true performance counters will be collected every second and sent to Application Insights
      * @returns {ApplicationInsights} this class
      */
-    function setAutoCollectPerformance(value: boolean): typeof ApplicationInsights;
+	function setAutoCollectPerformance(value: boolean): typeof ApplicationInsights;
     /**
      * Sets the state of request tracking (enabled by default)
      * @param value if true requests will be sent to Application Insights
      * @returns {ApplicationInsights} this class
      */
-    function setAutoCollectRequests(value: boolean): typeof ApplicationInsights;
+	function setAutoCollectRequests(value: boolean): typeof ApplicationInsights;
 
-     /**
-     * Sets the state of enabling offline mode to cache event when client is offline (disabled by default)
-     * @param value if true events that happen while client is offline will be cahced on disk,
-     * client will retry to send events when back online
-     * @returns {ApplicationInsights} this class
-     */
-    function setOfflineMode(value: boolean): typeof ApplicationInsights;
+	/**
+	* Sets the state of enabling offline mode to cache event when client is offline (disabled by default)
+	* @param value if true events that happen while client is offline will be cahced on disk,
+	* client will retry to send events when back online
+	* @returns {ApplicationInsights} this class
+	*/
+	function setOfflineMode(value: boolean): typeof ApplicationInsights;
     /**
      * Enables verbose debug logging
      * @returns {ApplicationInsights} this class
      */
-    function enableVerboseLogging(): typeof ApplicationInsights;
+	function enableVerboseLogging(): typeof ApplicationInsights;
 }
 
 declare module 'applicationinsights' {
diff --git a/src/typings/electron.d.ts b/src/typings/electron.d.ts
index 3422cd50039b9..330adfe080b06 100644
--- a/src/typings/electron.d.ts
+++ b/src/typings/electron.d.ts
@@ -432,7 +432,7 @@ declare namespace Electron {
 		dock: Dock;
 	}
 
-	type AppPathName = 'home'|'appData'|'userData'|'temp'|'exe'|'module'|'desktop'|'documents'|'downloads'|'music'|'pictures'|'videos'|'pepperFlashSystemPlugin';
+	type AppPathName = 'home' | 'appData' | 'userData' | 'temp' | 'exe' | 'module' | 'desktop' | 'documents' | 'downloads' | 'music' | 'pictures' | 'videos' | 'pepperFlashSystemPlugin';
 
 	interface ImportCertificateOptions {
 		/**
@@ -1653,7 +1653,7 @@ declare namespace Electron {
 		/**
 		 * The window icon, when omitted on Windows the executable’s icon would be used as window icon.
 		 */
-		icon?: NativeImage|string;
+		icon?: NativeImage | string;
 		/**
 		 * Whether window should be shown when created.
 		 * Default: true.
@@ -1982,7 +1982,7 @@ declare namespace Electron {
 		 * An object you can define that will be sent along with the report.
 		 * Only string properties are sent correctly, nested objects are not supported.
 		 */
-		extra?: {[prop: string]: string};
+		extra?: { [prop: string]: string };
 	}
 
 	interface CrashReport {
@@ -2478,7 +2478,7 @@ declare namespace Electron {
 		 * In Electron for the APIs that take images, you can pass either file paths
 		 * or NativeImage instances. When passing null, an empty image will be used.
 		 */
-		icon?: NativeImage|string;
+		icon?: NativeImage | string;
 		/**
 		 * If false, the menu item will be greyed out and unclickable.
 		 */
@@ -2495,7 +2495,7 @@ declare namespace Electron {
 		 * Should be specified for submenu type menu item, when it's specified the
 		 * type: 'submenu' can be omitted for the menu item
 		 */
-		submenu?: Menu|MenuItemOptions[];
+		submenu?: Menu | MenuItemOptions[];
 		/**
 		 * Unique within a single menu. If defined then it can be used as a reference
 		 * to this item by the position attribute.
@@ -3620,7 +3620,7 @@ declare namespace Electron {
 		/**
 		 * Creates a new tray icon associated with the image.
 		 */
-		new(image: NativeImage|string): Tray;
+		new (image: NativeImage | string): Tray;
 		/**
 		 * Destroys the tray icon immediately.
 		 */
@@ -3628,7 +3628,7 @@ declare namespace Electron {
 		/**
 		 * Sets the image associated with this tray icon.
 		 */
-		setImage(image: NativeImage|string): void;
+		setImage(image: NativeImage | string): void;
 		/**
 		 * Sets the image associated with this tray icon when pressed.
 		 */
@@ -4440,7 +4440,7 @@ declare namespace Electron {
 	 */
 	type StopFindInPageAtion = 'clearSelection' | 'keepSelection' | 'activateSelection';
 
-	type CursorType = 'default' | 'crosshair' | 'pointer' | 'text' | 'wait' | 'help' | 'e-resize' | 'n-resize' | 'ne-resize' | 'nw-resize' | 's-resize' | 'se-resize' | 'sw-resize' | 'w-resize' | 'ns-resize' | 'ew-resize' | 'nesw-resize' | 'nwse-resize' | 'col-resize' | 'row-resize' | 'm-panning' | 'e-panning' | 'n-panning' | 'ne-panning' | 'nw-panning' | 's-panning' | 'se-panning' |'sw-panning' | 'w-panning' | 'move' | 'vertical-text' | 'cell' | 'context-menu' | 'alias' | 'progress' | 'nodrop' | 'copy' | 'none' | 'not-allowed' | 'zoom-in' | 'zoom-out' | 'grab' | 'grabbing' | 'custom';
+	type CursorType = 'default' | 'crosshair' | 'pointer' | 'text' | 'wait' | 'help' | 'e-resize' | 'n-resize' | 'ne-resize' | 'nw-resize' | 's-resize' | 'se-resize' | 'sw-resize' | 'w-resize' | 'ns-resize' | 'ew-resize' | 'nesw-resize' | 'nwse-resize' | 'col-resize' | 'row-resize' | 'm-panning' | 'e-panning' | 'n-panning' | 'ne-panning' | 'nw-panning' | 's-panning' | 'se-panning' | 'sw-panning' | 'w-panning' | 'move' | 'vertical-text' | 'cell' | 'context-menu' | 'alias' | 'progress' | 'nodrop' | 'copy' | 'none' | 'not-allowed' | 'zoom-in' | 'zoom-out' | 'grab' | 'grabbing' | 'custom';
 
 	interface LoadURLOptions {
 		/**
@@ -5256,23 +5256,23 @@ declare namespace Electron {
 	namespace WebViewElement {
 		type Event = ElectronPrivate.GlobalEvent;
 
-		interface LoadCommitEvent extends Event  {
+		interface LoadCommitEvent extends Event {
 			url: string;
 			isMainFrame: boolean;
 		}
 
-		interface DidFailLoadEvent extends Event  {
+		interface DidFailLoadEvent extends Event {
 			errorCode: number;
 			errorDescription: string;
 			validatedURL: string;
 			isMainFrame: boolean;
 		}
 
-		interface DidFrameFinishLoadEvent extends Event  {
+		interface DidFrameFinishLoadEvent extends Event {
 			isMainFrame: boolean;
 		}
 
-		interface DidGetResponseDetails extends Event  {
+		interface DidGetResponseDetails extends Event {
 			status: boolean;
 			newURL: string;
 			originalURL: string;
diff --git a/src/typings/gc-signals.d.ts b/src/typings/gc-signals.d.ts
index cc982d1260c91..be8992af28c94 100644
--- a/src/typings/gc-signals.d.ts
+++ b/src/typings/gc-signals.d.ts
@@ -1,19 +1,19 @@
 declare module 'gc-signals' {
-    export interface GCSignal {
-    }
+	export interface GCSignal {
+	}
     /**
      * Create a new GC signal. When being garbage collected the passed
      * value is stored for later consumption.
      */
-    export const GCSignal: {
-        new (id: number): GCSignal;
-    };
+	export const GCSignal: {
+		new (id: number): GCSignal;
+	};
     /**
      * Consume ids of garbage collected signals.
      */
-    export function consumeSignals(): number[];
-    export function onDidGarbageCollectSignals(callback: (ids: number[]) => any): {
-        dispose(): void;
-    };
-    export function trackGarbageCollection(obj: any, id: number): number;
+	export function consumeSignals(): number[];
+	export function onDidGarbageCollectSignals(callback: (ids: number[]) => any): {
+		dispose(): void;
+	};
+	export function trackGarbageCollection(obj: any, id: number): number;
 }
\ No newline at end of file
diff --git a/src/typings/getmac.d.ts b/src/typings/getmac.d.ts
index eb869d0b892b4..e93b8135456f3 100644
--- a/src/typings/getmac.d.ts
+++ b/src/typings/getmac.d.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 
 declare module getmac {
-	export function getMac(callback: (error:Error, macAddress:string)=>void): void;
+	export function getMac(callback: (error: Error, macAddress: string) => void): void;
 }
 
 declare module 'getmac' {
diff --git a/src/typings/iconv-lite.d.ts b/src/typings/iconv-lite.d.ts
index 15421202705c0..84c54e320cf37 100644
--- a/src/typings/iconv-lite.d.ts
+++ b/src/typings/iconv-lite.d.ts
@@ -6,13 +6,13 @@
 /// <reference path='./node.d.ts'/>
 
 declare module 'iconv-lite' {
-	export function decode(buffer: NodeBuffer, encoding:string, options?:any): string;
+	export function decode(buffer: NodeBuffer, encoding: string, options?: any): string;
 
-	export function encode(content:string, encoding:string, options?:any): NodeBuffer;
+	export function encode(content: string, encoding: string, options?: any): NodeBuffer;
 
-	export function encodingExists(encoding:string): boolean;
+	export function encodingExists(encoding: string): boolean;
 
-	export function decodeStream(encoding:string): NodeJS.ReadWriteStream;
+	export function decodeStream(encoding: string): NodeJS.ReadWriteStream;
 
-	export function encodeStream(encoding:string): NodeJS.ReadWriteStream;
+	export function encodeStream(encoding: string): NodeJS.ReadWriteStream;
 }
\ No newline at end of file
diff --git a/src/typings/lib.array-ext.d.ts b/src/typings/lib.array-ext.d.ts
index 845139ace339a..127f64e1fd4b1 100644
--- a/src/typings/lib.array-ext.d.ts
+++ b/src/typings/lib.array-ext.d.ts
@@ -4,6 +4,6 @@
  *--------------------------------------------------------------------------------------------*/
 
 interface ArrayConstructor {
-    isArray(arg: any): arg is Array<any>;
-    isArray<T>(arg: any): arg is Array<T>;
+	isArray(arg: any): arg is Array<any>;
+	isArray<T>(arg: any): arg is Array<T>;
 }
\ No newline at end of file
diff --git a/src/typings/minimist.d.ts b/src/typings/minimist.d.ts
index d455d1e755d75..d1e1a05252ac6 100644
--- a/src/typings/minimist.d.ts
+++ b/src/typings/minimist.d.ts
@@ -9,13 +9,13 @@ declare module 'minimist' {
 	namespace minimist {
 		export interface Opts {
 			// a string or array of strings argument names to always treat as strings
-			string?: string|string[];
+			string?: string | string[];
 			// a string or array of strings to always treat as booleans
-			boolean?: boolean|string|string[];
+			boolean?: boolean | string | string[];
 			// an object mapping string names to strings or arrays of string argument names to use
-			alias?: {[key:string]: string|string[]};
+			alias?: { [key: string]: string | string[] };
 			// an object mapping string argument names to default values
-			default?: {[key:string]: any};
+			default?: { [key: string]: any };
 			// when true, populate argv._ with everything after the first non-option
 			stopEarly?: boolean;
 			// a function which is invoked with a command line parameter not defined in the opts configuration object.
diff --git a/src/typings/mocha.d.ts b/src/typings/mocha.d.ts
index 7b23f5d181642..f677473dcdd76 100644
--- a/src/typings/mocha.d.ts
+++ b/src/typings/mocha.d.ts
@@ -5,9 +5,9 @@
 
 declare function run(): void;
 
-declare function suite(name: string, fn: (err?)=>void);
-declare function test(name: string, fn: (done?: (err?)=>void)=>void);
-declare function suiteSetup(fn: (done?: (err?)=>void)=>void);
-declare function suiteTeardown(fn: (done?: (err?)=>void)=>void);
-declare function setup(fn: (done?: (err?)=>void)=>void);
-declare function teardown(fn: (done?: (err?)=>void)=>void);
+declare function suite(name: string, fn: (err?) => void);
+declare function test(name: string, fn: (done?: (err?) => void) => void);
+declare function suiteSetup(fn: (done?: (err?) => void) => void);
+declare function suiteTeardown(fn: (done?: (err?) => void) => void);
+declare function setup(fn: (done?: (err?) => void) => void);
+declare function teardown(fn: (done?: (err?) => void) => void);
diff --git a/src/typings/node.d.ts b/src/typings/node.d.ts
index 6f048fdd03ed4..75e4a80521a6b 100644
--- a/src/typings/node.d.ts
+++ b/src/typings/node.d.ts
@@ -10,17 +10,17 @@
 ************************************************/
 
 interface Error {
-    stack?: string;
+	stack?: string;
 }
 
 
 // compat for TypeScript 1.8
 // if you use with --target es3 or --target es5 and use below definitions,
 // use the lib.es6.d.ts that is bundled with TypeScript 1.8.
-interface MapConstructor {}
-interface WeakMapConstructor {}
-interface SetConstructor {}
-interface WeakSetConstructor {}
+interface MapConstructor { }
+interface WeakMapConstructor { }
+interface SetConstructor { }
+interface WeakSetConstructor { }
 
 /************************************************
 *                                               *
@@ -69,20 +69,20 @@ declare function clearImmediate(immediateId: any): void;
 // Same as module.exports
 declare var exports: any;
 declare var SlowBuffer: {
-    new (str: string, encoding?: string): Buffer;
-    new (size: number): Buffer;
-    new (size: Uint8Array): Buffer;
-    new (array: any[]): Buffer;
-    prototype: Buffer;
-    isBuffer(obj: any): boolean;
-    byteLength(string: string, encoding?: string): number;
-    concat(list: Buffer[], totalLength?: number): Buffer;
+	new (str: string, encoding?: string): Buffer;
+	new (size: number): Buffer;
+	new (size: Uint8Array): Buffer;
+	new (array: any[]): Buffer;
+	prototype: Buffer;
+	isBuffer(obj: any): boolean;
+	byteLength(string: string, encoding?: string): number;
+	concat(list: Buffer[], totalLength?: number): Buffer;
 };
 
 
 // Buffer class
 type BufferEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "binary" | "hex";
-interface Buffer extends NodeBuffer {}
+interface Buffer extends NodeBuffer { }
 
 /**
  * Raw data is stored in instances of the Buffer class.
@@ -96,45 +96,45 @@ declare var Buffer: {
      * @param str String to store in buffer.
      * @param encoding encoding to use, optional.  Default is 'utf8'
      */
-    new (str: string, encoding?: string): Buffer;
+	new (str: string, encoding?: string): Buffer;
     /**
      * Allocates a new buffer of {size} octets.
      *
      * @param size count of octets to allocate.
      */
-    new (size: number): Buffer;
+	new (size: number): Buffer;
     /**
      * Allocates a new buffer containing the given {array} of octets.
      *
      * @param array The octets to store.
      */
-    new (array: Uint8Array): Buffer;
+	new (array: Uint8Array): Buffer;
     /**
      * Allocates a new buffer containing the given {array} of octets.
      *
      * @param array The octets to store.
      */
-    new (array: any[]): Buffer;
+	new (array: any[]): Buffer;
     /**
      * Copies the passed {buffer} data onto a new {Buffer} instance.
      *
      * @param buffer The buffer to copy.
      */
-    new (buffer: Buffer): Buffer;
-    prototype: Buffer;
+	new (buffer: Buffer): Buffer;
+	prototype: Buffer;
     /**
      * Returns true if {obj} is a Buffer
      *
      * @param obj object to test.
      */
-    isBuffer(obj: any): obj is Buffer;
+	isBuffer(obj: any): obj is Buffer;
     /**
      * Returns true if {encoding} is a valid encoding argument.
      * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'
      *
      * @param encoding string to test.
      */
-    isEncoding(encoding: string): boolean;
+	isEncoding(encoding: string): boolean;
     /**
      * Gives the actual byte length of a string. encoding defaults to 'utf8'.
      * This is not the same as String.prototype.length since that returns the number of characters in a string.
@@ -142,7 +142,7 @@ declare var Buffer: {
      * @param string string to test.
      * @param encoding encoding used to evaluate (defaults to 'utf8')
      */
-    byteLength(string: string, encoding?: string): number;
+	byteLength(string: string, encoding?: string): number;
     /**
      * Returns a buffer which is the result of concatenating all the buffers in the list together.
      *
@@ -154,11 +154,11 @@ declare var Buffer: {
      * @param totalLength Total length of the buffers when concatenated.
      *   If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly.
      */
-    concat(list: Buffer[], totalLength?: number): Buffer;
+	concat(list: Buffer[], totalLength?: number): Buffer;
     /**
      * The same as buf1.compare(buf2).
      */
-    compare(buf1: Buffer, buf2: Buffer): number;
+	compare(buf1: Buffer, buf2: Buffer): number;
 };
 
 /************************************************
@@ -167,270 +167,270 @@ declare var Buffer: {
 *                                               *
 ************************************************/
 declare namespace NodeJS {
-    export interface ErrnoException extends Error {
-        errno?: number;
-        code?: string;
-        path?: string;
-        syscall?: string;
-        stack?: string;
-    }
-
-    export interface EventEmitter {
-        addListener(event: string, listener: Function): this;
-        on(event: string, listener: Function): this;
-        once(event: string, listener: Function): this;
-        removeListener(event: string, listener: Function): this;
-        removeAllListeners(event?: string): this;
-        setMaxListeners(n: number): this;
-        getMaxListeners(): number;
-        listeners(event: string): Function[];
-        emit(event: string, ...args: any[]): boolean;
-        listenerCount(type: string): number;
-    }
-
-    export interface ReadableStream extends EventEmitter {
-        readable: boolean;
-        read(size?: number): string|Buffer;
-        setEncoding(encoding: string): void;
-        pause(): void;
-        resume(): void;
-        pipe<T extends WritableStream>(destination: T, options?: { end?: boolean; }): T;
-        unpipe<T extends WritableStream>(destination?: T): void;
-        unshift(chunk: string): void;
-        unshift(chunk: Buffer): void;
-        wrap(oldStream: ReadableStream): ReadableStream;
-    }
-
-    export interface WritableStream extends EventEmitter {
-        writable: boolean;
-        write(buffer: Buffer|string, cb?: Function): boolean;
-        write(str: string, encoding?: string, cb?: Function): boolean;
-        end(): void;
-        end(buffer: Buffer, cb?: Function): void;
-        end(str: string, cb?: Function): void;
-        end(str: string, encoding?: string, cb?: Function): void;
-    }
-
-    export interface ReadWriteStream extends ReadableStream, WritableStream {}
-
-    export interface Events extends EventEmitter { }
-
-    export interface Domain extends Events {
-        run(fn: Function): void;
-        add(emitter: Events): void;
-        remove(emitter: Events): void;
-        bind(cb: (err: Error, data: any) => any): any;
-        intercept(cb: (data: any) => any): any;
-        dispose(): void;
-
-        addListener(event: string, listener: Function): this;
-        on(event: string, listener: Function): this;
-        once(event: string, listener: Function): this;
-        removeListener(event: string, listener: Function): this;
-        removeAllListeners(event?: string): this;
-    }
-
-    export interface MemoryUsage {
-        rss: number;
-        heapTotal: number;
-        heapUsed: number;
-    }
-
-    export interface Process extends EventEmitter {
-        stdout: WritableStream;
-        stderr: WritableStream;
-        stdin: ReadableStream;
-        argv: string[];
-        execArgv: string[];
-        execPath: string;
-        abort(): void;
-        chdir(directory: string): void;
-        cwd(): string;
-        env: any;
-        exit(code?: number): void;
-        getgid(): number;
-        setgid(id: number): void;
-        setgid(id: string): void;
-        getuid(): number;
-        setuid(id: number): void;
-        setuid(id: string): void;
-        version: string;
-        versions: {
-            http_parser: string;
-            node: string;
-            v8: string;
-            ares: string;
-            uv: string;
-            zlib: string;
-            openssl: string;
-        };
-        config: {
-            target_defaults: {
-                cflags: any[];
-                default_configuration: string;
-                defines: string[];
-                include_dirs: string[];
-                libraries: string[];
-            };
-            variables: {
-                clang: number;
-                host_arch: string;
-                node_install_npm: boolean;
-                node_install_waf: boolean;
-                node_prefix: string;
-                node_shared_openssl: boolean;
-                node_shared_v8: boolean;
-                node_shared_zlib: boolean;
-                node_use_dtrace: boolean;
-                node_use_etw: boolean;
-                node_use_openssl: boolean;
-                target_arch: string;
-                v8_no_strict_aliasing: number;
-                v8_use_snapshot: boolean;
-                visibility: string;
-            };
-        };
-        kill(pid:number, signal?: string|number): void;
-        pid: number;
-        title: string;
-        arch: string;
-        platform: string;
-        memoryUsage(): MemoryUsage;
-        nextTick(callback: Function): void;
-        umask(mask?: number): number;
-        uptime(): number;
-        hrtime(time?:number[]): number[];
-        domain: Domain;
-
-        // Worker
-        send?(message: any, sendHandle?: any): void;
-        disconnect(): void;
-        connected: boolean;
-    }
-
-    export interface Global {
-        Array: typeof Array;
-        ArrayBuffer: typeof ArrayBuffer;
-        Boolean: typeof Boolean;
-        Buffer: typeof Buffer;
-        DataView: typeof DataView;
-        Date: typeof Date;
-        Error: typeof Error;
-        EvalError: typeof EvalError;
-        Float32Array: typeof Float32Array;
-        Float64Array: typeof Float64Array;
-        Function: typeof Function;
-        GLOBAL: Global;
-        Infinity: typeof Infinity;
-        Int16Array: typeof Int16Array;
-        Int32Array: typeof Int32Array;
-        Int8Array: typeof Int8Array;
-        Intl: typeof Intl;
-        JSON: typeof JSON;
-        Map: MapConstructor;
-        Math: typeof Math;
-        NaN: typeof NaN;
-        Number: typeof Number;
-        Object: typeof Object;
-        Promise: Function;
-        RangeError: typeof RangeError;
-        ReferenceError: typeof ReferenceError;
-        RegExp: typeof RegExp;
-        Set: SetConstructor;
-        String: typeof String;
-        Symbol: Function;
-        SyntaxError: typeof SyntaxError;
-        TypeError: typeof TypeError;
-        URIError: typeof URIError;
-        Uint16Array: typeof Uint16Array;
-        Uint32Array: typeof Uint32Array;
-        Uint8Array: typeof Uint8Array;
-        Uint8ClampedArray: Function;
-        WeakMap: WeakMapConstructor;
-        WeakSet: WeakSetConstructor;
-        clearImmediate: (immediateId: any) => void;
-        clearInterval: (intervalId: NodeJS.Timer) => void;
-        clearTimeout: (timeoutId: NodeJS.Timer) => void;
-        console: typeof console;
-        decodeURI: typeof decodeURI;
-        decodeURIComponent: typeof decodeURIComponent;
-        encodeURI: typeof encodeURI;
-        encodeURIComponent: typeof encodeURIComponent;
-        escape: (str: string) => string;
-        eval: typeof eval;
-        global: Global;
-        isFinite: typeof isFinite;
-        isNaN: typeof isNaN;
-        parseFloat: typeof parseFloat;
-        parseInt: typeof parseInt;
-        process: Process;
-        root: Global;
-        setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => any;
-        setInterval: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => NodeJS.Timer;
-        setTimeout: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => NodeJS.Timer;
-        undefined: typeof undefined;
-        unescape: (str: string) => string;
-        gc: () => void;
-        v8debug?: any;
-    }
-
-    export interface Timer {
-        ref() : void;
-        unref() : void;
-    }
+	export interface ErrnoException extends Error {
+		errno?: number;
+		code?: string;
+		path?: string;
+		syscall?: string;
+		stack?: string;
+	}
+
+	export interface EventEmitter {
+		addListener(event: string, listener: Function): this;
+		on(event: string, listener: Function): this;
+		once(event: string, listener: Function): this;
+		removeListener(event: string, listener: Function): this;
+		removeAllListeners(event?: string): this;
+		setMaxListeners(n: number): this;
+		getMaxListeners(): number;
+		listeners(event: string): Function[];
+		emit(event: string, ...args: any[]): boolean;
+		listenerCount(type: string): number;
+	}
+
+	export interface ReadableStream extends EventEmitter {
+		readable: boolean;
+		read(size?: number): string | Buffer;
+		setEncoding(encoding: string): void;
+		pause(): void;
+		resume(): void;
+		pipe<T extends WritableStream>(destination: T, options?: { end?: boolean; }): T;
+		unpipe<T extends WritableStream>(destination?: T): void;
+		unshift(chunk: string): void;
+		unshift(chunk: Buffer): void;
+		wrap(oldStream: ReadableStream): ReadableStream;
+	}
+
+	export interface WritableStream extends EventEmitter {
+		writable: boolean;
+		write(buffer: Buffer | string, cb?: Function): boolean;
+		write(str: string, encoding?: string, cb?: Function): boolean;
+		end(): void;
+		end(buffer: Buffer, cb?: Function): void;
+		end(str: string, cb?: Function): void;
+		end(str: string, encoding?: string, cb?: Function): void;
+	}
+
+	export interface ReadWriteStream extends ReadableStream, WritableStream { }
+
+	export interface Events extends EventEmitter { }
+
+	export interface Domain extends Events {
+		run(fn: Function): void;
+		add(emitter: Events): void;
+		remove(emitter: Events): void;
+		bind(cb: (err: Error, data: any) => any): any;
+		intercept(cb: (data: any) => any): any;
+		dispose(): void;
+
+		addListener(event: string, listener: Function): this;
+		on(event: string, listener: Function): this;
+		once(event: string, listener: Function): this;
+		removeListener(event: string, listener: Function): this;
+		removeAllListeners(event?: string): this;
+	}
+
+	export interface MemoryUsage {
+		rss: number;
+		heapTotal: number;
+		heapUsed: number;
+	}
+
+	export interface Process extends EventEmitter {
+		stdout: WritableStream;
+		stderr: WritableStream;
+		stdin: ReadableStream;
+		argv: string[];
+		execArgv: string[];
+		execPath: string;
+		abort(): void;
+		chdir(directory: string): void;
+		cwd(): string;
+		env: any;
+		exit(code?: number): void;
+		getgid(): number;
+		setgid(id: number): void;
+		setgid(id: string): void;
+		getuid(): number;
+		setuid(id: number): void;
+		setuid(id: string): void;
+		version: string;
+		versions: {
+			http_parser: string;
+			node: string;
+			v8: string;
+			ares: string;
+			uv: string;
+			zlib: string;
+			openssl: string;
+		};
+		config: {
+			target_defaults: {
+				cflags: any[];
+				default_configuration: string;
+				defines: string[];
+				include_dirs: string[];
+				libraries: string[];
+			};
+			variables: {
+				clang: number;
+				host_arch: string;
+				node_install_npm: boolean;
+				node_install_waf: boolean;
+				node_prefix: string;
+				node_shared_openssl: boolean;
+				node_shared_v8: boolean;
+				node_shared_zlib: boolean;
+				node_use_dtrace: boolean;
+				node_use_etw: boolean;
+				node_use_openssl: boolean;
+				target_arch: string;
+				v8_no_strict_aliasing: number;
+				v8_use_snapshot: boolean;
+				visibility: string;
+			};
+		};
+		kill(pid: number, signal?: string | number): void;
+		pid: number;
+		title: string;
+		arch: string;
+		platform: string;
+		memoryUsage(): MemoryUsage;
+		nextTick(callback: Function): void;
+		umask(mask?: number): number;
+		uptime(): number;
+		hrtime(time?: number[]): number[];
+		domain: Domain;
+
+		// Worker
+		send?(message: any, sendHandle?: any): void;
+		disconnect(): void;
+		connected: boolean;
+	}
+
+	export interface Global {
+		Array: typeof Array;
+		ArrayBuffer: typeof ArrayBuffer;
+		Boolean: typeof Boolean;
+		Buffer: typeof Buffer;
+		DataView: typeof DataView;
+		Date: typeof Date;
+		Error: typeof Error;
+		EvalError: typeof EvalError;
+		Float32Array: typeof Float32Array;
+		Float64Array: typeof Float64Array;
+		Function: typeof Function;
+		GLOBAL: Global;
+		Infinity: typeof Infinity;
+		Int16Array: typeof Int16Array;
+		Int32Array: typeof Int32Array;
+		Int8Array: typeof Int8Array;
+		Intl: typeof Intl;
+		JSON: typeof JSON;
+		Map: MapConstructor;
+		Math: typeof Math;
+		NaN: typeof NaN;
+		Number: typeof Number;
+		Object: typeof Object;
+		Promise: Function;
+		RangeError: typeof RangeError;
+		ReferenceError: typeof ReferenceError;
+		RegExp: typeof RegExp;
+		Set: SetConstructor;
+		String: typeof String;
+		Symbol: Function;
+		SyntaxError: typeof SyntaxError;
+		TypeError: typeof TypeError;
+		URIError: typeof URIError;
+		Uint16Array: typeof Uint16Array;
+		Uint32Array: typeof Uint32Array;
+		Uint8Array: typeof Uint8Array;
+		Uint8ClampedArray: Function;
+		WeakMap: WeakMapConstructor;
+		WeakSet: WeakSetConstructor;
+		clearImmediate: (immediateId: any) => void;
+		clearInterval: (intervalId: NodeJS.Timer) => void;
+		clearTimeout: (timeoutId: NodeJS.Timer) => void;
+		console: typeof console;
+		decodeURI: typeof decodeURI;
+		decodeURIComponent: typeof decodeURIComponent;
+		encodeURI: typeof encodeURI;
+		encodeURIComponent: typeof encodeURIComponent;
+		escape: (str: string) => string;
+		eval: typeof eval;
+		global: Global;
+		isFinite: typeof isFinite;
+		isNaN: typeof isNaN;
+		parseFloat: typeof parseFloat;
+		parseInt: typeof parseInt;
+		process: Process;
+		root: Global;
+		setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => any;
+		setInterval: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => NodeJS.Timer;
+		setTimeout: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => NodeJS.Timer;
+		undefined: typeof undefined;
+		unescape: (str: string) => string;
+		gc: () => void;
+		v8debug?: any;
+	}
+
+	export interface Timer {
+		ref(): void;
+		unref(): void;
+	}
 }
 
 /**
  * @deprecated
  */
 interface NodeBuffer {
-    [index: number]: number;
-    write(string: string, offset?: number, length?: number, encoding?: string): number;
-    toString(encoding?: string, start?: number, end?: number): string;
-    toJSON(): any;
-    length: number;
-    equals(otherBuffer: Buffer): boolean;
-    compare(otherBuffer: Buffer): number;
-    copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;
-    slice(start?: number, end?: number): Buffer;
-    writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
-    writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
-    writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
-    writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
-    readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
-    readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
-    readIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
-    readIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
-    readUInt8(offset: number, noAssert?: boolean): number;
-    readUInt16LE(offset: number, noAssert?: boolean): number;
-    readUInt16BE(offset: number, noAssert?: boolean): number;
-    readUInt32LE(offset: number, noAssert?: boolean): number;
-    readUInt32BE(offset: number, noAssert?: boolean): number;
-    readInt8(offset: number, noAssert?: boolean): number;
-    readInt16LE(offset: number, noAssert?: boolean): number;
-    readInt16BE(offset: number, noAssert?: boolean): number;
-    readInt32LE(offset: number, noAssert?: boolean): number;
-    readInt32BE(offset: number, noAssert?: boolean): number;
-    readFloatLE(offset: number, noAssert?: boolean): number;
-    readFloatBE(offset: number, noAssert?: boolean): number;
-    readDoubleLE(offset: number, noAssert?: boolean): number;
-    readDoubleBE(offset: number, noAssert?: boolean): number;
-    writeUInt8(value: number, offset: number, noAssert?: boolean): number;
-    writeUInt16LE(value: number, offset: number, noAssert?: boolean): number;
-    writeUInt16BE(value: number, offset: number, noAssert?: boolean): number;
-    writeUInt32LE(value: number, offset: number, noAssert?: boolean): number;
-    writeUInt32BE(value: number, offset: number, noAssert?: boolean): number;
-    writeInt8(value: number, offset: number, noAssert?: boolean): number;
-    writeInt16LE(value: number, offset: number, noAssert?: boolean): number;
-    writeInt16BE(value: number, offset: number, noAssert?: boolean): number;
-    writeInt32LE(value: number, offset: number, noAssert?: boolean): number;
-    writeInt32BE(value: number, offset: number, noAssert?: boolean): number;
-    writeFloatLE(value: number, offset: number, noAssert?: boolean): number;
-    writeFloatBE(value: number, offset: number, noAssert?: boolean): number;
-    writeDoubleLE(value: number, offset: number, noAssert?: boolean): number;
-    writeDoubleBE(value: number, offset: number, noAssert?: boolean): number;
-    fill(value: any, offset?: number, end?: number): Buffer;
-    indexOf(value: string | number | Buffer, byteOffset?: number): number;
+	[index: number]: number;
+	write(string: string, offset?: number, length?: number, encoding?: string): number;
+	toString(encoding?: string, start?: number, end?: number): string;
+	toJSON(): any;
+	length: number;
+	equals(otherBuffer: Buffer): boolean;
+	compare(otherBuffer: Buffer): number;
+	copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;
+	slice(start?: number, end?: number): Buffer;
+	writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
+	writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
+	writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
+	writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
+	readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
+	readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
+	readIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
+	readIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
+	readUInt8(offset: number, noAssert?: boolean): number;
+	readUInt16LE(offset: number, noAssert?: boolean): number;
+	readUInt16BE(offset: number, noAssert?: boolean): number;
+	readUInt32LE(offset: number, noAssert?: boolean): number;
+	readUInt32BE(offset: number, noAssert?: boolean): number;
+	readInt8(offset: number, noAssert?: boolean): number;
+	readInt16LE(offset: number, noAssert?: boolean): number;
+	readInt16BE(offset: number, noAssert?: boolean): number;
+	readInt32LE(offset: number, noAssert?: boolean): number;
+	readInt32BE(offset: number, noAssert?: boolean): number;
+	readFloatLE(offset: number, noAssert?: boolean): number;
+	readFloatBE(offset: number, noAssert?: boolean): number;
+	readDoubleLE(offset: number, noAssert?: boolean): number;
+	readDoubleBE(offset: number, noAssert?: boolean): number;
+	writeUInt8(value: number, offset: number, noAssert?: boolean): number;
+	writeUInt16LE(value: number, offset: number, noAssert?: boolean): number;
+	writeUInt16BE(value: number, offset: number, noAssert?: boolean): number;
+	writeUInt32LE(value: number, offset: number, noAssert?: boolean): number;
+	writeUInt32BE(value: number, offset: number, noAssert?: boolean): number;
+	writeInt8(value: number, offset: number, noAssert?: boolean): number;
+	writeInt16LE(value: number, offset: number, noAssert?: boolean): number;
+	writeInt16BE(value: number, offset: number, noAssert?: boolean): number;
+	writeInt32LE(value: number, offset: number, noAssert?: boolean): number;
+	writeInt32BE(value: number, offset: number, noAssert?: boolean): number;
+	writeFloatLE(value: number, offset: number, noAssert?: boolean): number;
+	writeFloatBE(value: number, offset: number, noAssert?: boolean): number;
+	writeDoubleLE(value: number, offset: number, noAssert?: boolean): number;
+	writeDoubleBE(value: number, offset: number, noAssert?: boolean): number;
+	fill(value: any, offset?: number, end?: number): Buffer;
+	indexOf(value: string | number | Buffer, byteOffset?: number): number;
 }
 
 /************************************************
@@ -439,189 +439,189 @@ interface NodeBuffer {
 *                                               *
 ************************************************/
 declare module "buffer" {
-    export var INSPECT_MAX_BYTES: number;
-    var BuffType: typeof Buffer;
-    var SlowBuffType: typeof SlowBuffer;
-    export { BuffType as Buffer, SlowBuffType as SlowBuffer };
+	export var INSPECT_MAX_BYTES: number;
+	var BuffType: typeof Buffer;
+	var SlowBuffType: typeof SlowBuffer;
+	export { BuffType as Buffer, SlowBuffType as SlowBuffer };
 }
 
 declare module "querystring" {
-    export interface StringifyOptions {
-        encodeURIComponent?: Function;
-    }
-
-    export interface ParseOptions {
-        maxKeys?: number;
-        decodeURIComponent?: Function;
-    }
-
-    export function stringify<T>(obj: T, sep?: string, eq?: string, options?: StringifyOptions): string;
-    export function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): any;
-    export function parse<T extends {}>(str: string, sep?: string, eq?: string, options?: ParseOptions): T;
-    export function escape(str: string): string;
-    export function unescape(str: string): string;
+	export interface StringifyOptions {
+		encodeURIComponent?: Function;
+	}
+
+	export interface ParseOptions {
+		maxKeys?: number;
+		decodeURIComponent?: Function;
+	}
+
+	export function stringify<T>(obj: T, sep?: string, eq?: string, options?: StringifyOptions): string;
+	export function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): any;
+	export function parse<T extends {}>(str: string, sep?: string, eq?: string, options?: ParseOptions): T;
+	export function escape(str: string): string;
+	export function unescape(str: string): string;
 }
 
 declare module "events" {
-    export class EventEmitter implements NodeJS.EventEmitter {
-        static EventEmitter: EventEmitter;
-        static listenerCount(emitter: EventEmitter, event: string): number; // deprecated
-        static defaultMaxListeners: number;
-
-        addListener(event: string, listener: Function): this;
-        on(event: string, listener: Function): this;
-        once(event: string, listener: Function): this;
-        removeListener(event: string, listener: Function): this;
-        removeAllListeners(event?: string): this;
-        setMaxListeners(n: number): this;
-        getMaxListeners(): number;
-        listeners(event: string): Function[];
-        emit(event: string, ...args: any[]): boolean;
-        listenerCount(type: string): number;
-    }
+	export class EventEmitter implements NodeJS.EventEmitter {
+		static EventEmitter: EventEmitter;
+		static listenerCount(emitter: EventEmitter, event: string): number; // deprecated
+		static defaultMaxListeners: number;
+
+		addListener(event: string, listener: Function): this;
+		on(event: string, listener: Function): this;
+		once(event: string, listener: Function): this;
+		removeListener(event: string, listener: Function): this;
+		removeAllListeners(event?: string): this;
+		setMaxListeners(n: number): this;
+		getMaxListeners(): number;
+		listeners(event: string): Function[];
+		emit(event: string, ...args: any[]): boolean;
+		listenerCount(type: string): number;
+	}
 }
 
 declare module "http" {
-    import * as events from "events";
-    import * as net from "net";
-    import * as stream from "stream";
-
-    export interface RequestOptions {
-        protocol?: string;
-        host?: string;
-        hostname?: string;
-        family?: number;
-        port?: number;
-        localAddress?: string;
-        socketPath?: string;
-        method?: string;
-        path?: string;
-        headers?: { [key: string]: any };
-        auth?: string;
-        agent?: Agent|boolean;
-    }
-
-    export interface Server extends events.EventEmitter, net.Server {
-        setTimeout(msecs: number, callback: Function): void;
-        maxHeadersCount: number;
-        timeout: number;
-    }
+	import * as events from "events";
+	import * as net from "net";
+	import * as stream from "stream";
+
+	export interface RequestOptions {
+		protocol?: string;
+		host?: string;
+		hostname?: string;
+		family?: number;
+		port?: number;
+		localAddress?: string;
+		socketPath?: string;
+		method?: string;
+		path?: string;
+		headers?: { [key: string]: any };
+		auth?: string;
+		agent?: Agent | boolean;
+	}
+
+	export interface Server extends events.EventEmitter, net.Server {
+		setTimeout(msecs: number, callback: Function): void;
+		maxHeadersCount: number;
+		timeout: number;
+	}
     /**
      * @deprecated Use IncomingMessage
      */
-    export interface ServerRequest extends IncomingMessage {
-        connection: net.Socket;
-    }
-    export interface ServerResponse extends events.EventEmitter, stream.Writable {
-        // Extended base methods
-        write(buffer: Buffer): boolean;
-        write(buffer: Buffer, cb?: Function): boolean;
-        write(str: string, cb?: Function): boolean;
-        write(str: string, encoding?: string, cb?: Function): boolean;
-        write(str: string, encoding?: string, fd?: string): boolean;
-
-        writeContinue(): void;
-        writeHead(statusCode: number, reasonPhrase?: string, headers?: any): void;
-        writeHead(statusCode: number, headers?: any): void;
-        statusCode: number;
-        statusMessage: string;
-        headersSent: boolean;
-        setHeader(name: string, value: string | string[]): void;
-        sendDate: boolean;
-        getHeader(name: string): string;
-        removeHeader(name: string): void;
-        write(chunk: any, encoding?: string): any;
-        addTrailers(headers: any): void;
-
-        // Extended base methods
-        end(): void;
-        end(buffer: Buffer, cb?: Function): void;
-        end(str: string, cb?: Function): void;
-        end(str: string, encoding?: string, cb?: Function): void;
-        end(data?: any, encoding?: string): void;
-    }
-    export interface ClientRequest extends events.EventEmitter, stream.Writable {
-        // Extended base methods
-        write(buffer: Buffer): boolean;
-        write(buffer: Buffer, cb?: Function): boolean;
-        write(str: string, cb?: Function): boolean;
-        write(str: string, encoding?: string, cb?: Function): boolean;
-        write(str: string, encoding?: string, fd?: string): boolean;
-
-        write(chunk: any, encoding?: string): void;
-        abort(): void;
-        setTimeout(timeout: number, callback?: Function): void;
-        setNoDelay(noDelay?: boolean): void;
-        setSocketKeepAlive(enable?: boolean, initialDelay?: number): void;
-
-        setHeader(name: string, value: string | string[]): void;
-        getHeader(name: string): string;
-        removeHeader(name: string): void;
-        addTrailers(headers: any): void;
-
-        // Extended base methods
-        end(): void;
-        end(buffer: Buffer, cb?: Function): void;
-        end(str: string, cb?: Function): void;
-        end(str: string, encoding?: string, cb?: Function): void;
-        end(data?: any, encoding?: string): void;
-    }
-    export interface IncomingMessage extends events.EventEmitter, stream.Readable {
-        httpVersion: string;
-        headers: any;
-        rawHeaders: string[];
-        trailers: any;
-        rawTrailers: any;
-        setTimeout(msecs: number, callback: Function): NodeJS.Timer;
+	export interface ServerRequest extends IncomingMessage {
+		connection: net.Socket;
+	}
+	export interface ServerResponse extends events.EventEmitter, stream.Writable {
+		// Extended base methods
+		write(buffer: Buffer): boolean;
+		write(buffer: Buffer, cb?: Function): boolean;
+		write(str: string, cb?: Function): boolean;
+		write(str: string, encoding?: string, cb?: Function): boolean;
+		write(str: string, encoding?: string, fd?: string): boolean;
+
+		writeContinue(): void;
+		writeHead(statusCode: number, reasonPhrase?: string, headers?: any): void;
+		writeHead(statusCode: number, headers?: any): void;
+		statusCode: number;
+		statusMessage: string;
+		headersSent: boolean;
+		setHeader(name: string, value: string | string[]): void;
+		sendDate: boolean;
+		getHeader(name: string): string;
+		removeHeader(name: string): void;
+		write(chunk: any, encoding?: string): any;
+		addTrailers(headers: any): void;
+
+		// Extended base methods
+		end(): void;
+		end(buffer: Buffer, cb?: Function): void;
+		end(str: string, cb?: Function): void;
+		end(str: string, encoding?: string, cb?: Function): void;
+		end(data?: any, encoding?: string): void;
+	}
+	export interface ClientRequest extends events.EventEmitter, stream.Writable {
+		// Extended base methods
+		write(buffer: Buffer): boolean;
+		write(buffer: Buffer, cb?: Function): boolean;
+		write(str: string, cb?: Function): boolean;
+		write(str: string, encoding?: string, cb?: Function): boolean;
+		write(str: string, encoding?: string, fd?: string): boolean;
+
+		write(chunk: any, encoding?: string): void;
+		abort(): void;
+		setTimeout(timeout: number, callback?: Function): void;
+		setNoDelay(noDelay?: boolean): void;
+		setSocketKeepAlive(enable?: boolean, initialDelay?: number): void;
+
+		setHeader(name: string, value: string | string[]): void;
+		getHeader(name: string): string;
+		removeHeader(name: string): void;
+		addTrailers(headers: any): void;
+
+		// Extended base methods
+		end(): void;
+		end(buffer: Buffer, cb?: Function): void;
+		end(str: string, cb?: Function): void;
+		end(str: string, encoding?: string, cb?: Function): void;
+		end(data?: any, encoding?: string): void;
+	}
+	export interface IncomingMessage extends events.EventEmitter, stream.Readable {
+		httpVersion: string;
+		headers: any;
+		rawHeaders: string[];
+		trailers: any;
+		rawTrailers: any;
+		setTimeout(msecs: number, callback: Function): NodeJS.Timer;
         /**
          * Only valid for request obtained from http.Server.
          */
-        method?: string;
+		method?: string;
         /**
          * Only valid for request obtained from http.Server.
          */
-        url?: string;
+		url?: string;
         /**
          * Only valid for response obtained from http.ClientRequest.
          */
-        statusCode?: number;
+		statusCode?: number;
         /**
          * Only valid for response obtained from http.ClientRequest.
          */
-        statusMessage?: string;
-        socket: net.Socket;
-    }
+		statusMessage?: string;
+		socket: net.Socket;
+	}
     /**
      * @deprecated Use IncomingMessage
      */
-    export interface ClientResponse extends IncomingMessage { }
+	export interface ClientResponse extends IncomingMessage { }
 
-    export interface AgentOptions {
+	export interface AgentOptions {
         /**
          * Keep sockets around in a pool to be used by other requests in the future. Default = false
          */
-        keepAlive?: boolean;
+		keepAlive?: boolean;
         /**
          * When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000.
          * Only relevant if keepAlive is set to true.
          */
-        keepAliveMsecs?: number;
+		keepAliveMsecs?: number;
         /**
          * Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity
          */
-        maxSockets?: number;
+		maxSockets?: number;
         /**
          * Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256.
          */
-        maxFreeSockets?: number;
-    }
+		maxFreeSockets?: number;
+	}
 
-    export class Agent {
-        maxSockets: number;
-        sockets: any;
-        requests: any;
+	export class Agent {
+		maxSockets: number;
+		sockets: any;
+		requests: any;
 
-        constructor(opts?: AgentOptions);
+		constructor(opts?: AgentOptions);
 
         /**
          * Destroy any sockets that are currently in use by the agent.
@@ -629,682 +629,682 @@ declare module "http" {
          * then it is best to explicitly shut down the agent when you know that it will no longer be used. Otherwise,
          * sockets may hang open for quite a long time before the server terminates them.
          */
-        destroy(): void;
-    }
-
-    export var METHODS: string[];
-
-    export var STATUS_CODES: {
-        [errorCode: number]: string;
-        [errorCode: string]: string;
-    };
-    export function createServer(requestListener?: (request: IncomingMessage, response: ServerResponse) =>void ): Server;
-    export function createClient(port?: number, host?: string): any;
-    export function request(options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest;
-    export function get(options: any, callback?: (res: IncomingMessage) => void): ClientRequest;
-    export var globalAgent: Agent;
+		destroy(): void;
+	}
+
+	export var METHODS: string[];
+
+	export var STATUS_CODES: {
+		[errorCode: number]: string;
+		[errorCode: string]: string;
+	};
+	export function createServer(requestListener?: (request: IncomingMessage, response: ServerResponse) => void): Server;
+	export function createClient(port?: number, host?: string): any;
+	export function request(options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest;
+	export function get(options: any, callback?: (res: IncomingMessage) => void): ClientRequest;
+	export var globalAgent: Agent;
 }
 
 declare module "cluster" {
-    import * as child from "child_process";
-    import * as events from "events";
-
-    export interface ClusterSettings {
-        exec?: string;
-        args?: string[];
-        silent?: boolean;
-    }
-
-    export interface Address {
-        address: string;
-        port: number;
-        addressType: string;
-    }
-
-    export class Worker extends events.EventEmitter {
-        id: string;
-        process: child.ChildProcess;
-        suicide: boolean;
-        send(message: any, sendHandle?: any): void;
-        kill(signal?: string): void;
-        destroy(signal?: string): void;
-        disconnect(): void;
-    }
-
-    export var settings: ClusterSettings;
-    export var isMaster: boolean;
-    export var isWorker: boolean;
-    export function setupMaster(settings?: ClusterSettings): void;
-    export function fork(env?: any): Worker;
-    export function disconnect(callback?: Function): void;
-    export var worker: Worker;
-    export var workers: Worker[];
-
-    // Event emitter
-    export function addListener(event: string, listener: Function): void;
-    export function on(event: "disconnect", listener: (worker: Worker) => void): void;
-    export function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): void;
-    export function on(event: "fork", listener: (worker: Worker) => void): void;
-    export function on(event: "listening", listener: (worker: Worker, address: any) => void): void;
-    export function on(event: "message", listener: (worker: Worker, message: any) => void): void;
-    export function on(event: "online", listener: (worker: Worker) => void): void;
-    export function on(event: "setup", listener: (settings: any) => void): void;
-    export function on(event: string, listener: Function): any;
-    export function once(event: string, listener: Function): void;
-    export function removeListener(event: string, listener: Function): void;
-    export function removeAllListeners(event?: string): void;
-    export function setMaxListeners(n: number): void;
-    export function listeners(event: string): Function[];
-    export function emit(event: string, ...args: any[]): boolean;
+	import * as child from "child_process";
+	import * as events from "events";
+
+	export interface ClusterSettings {
+		exec?: string;
+		args?: string[];
+		silent?: boolean;
+	}
+
+	export interface Address {
+		address: string;
+		port: number;
+		addressType: string;
+	}
+
+	export class Worker extends events.EventEmitter {
+		id: string;
+		process: child.ChildProcess;
+		suicide: boolean;
+		send(message: any, sendHandle?: any): void;
+		kill(signal?: string): void;
+		destroy(signal?: string): void;
+		disconnect(): void;
+	}
+
+	export var settings: ClusterSettings;
+	export var isMaster: boolean;
+	export var isWorker: boolean;
+	export function setupMaster(settings?: ClusterSettings): void;
+	export function fork(env?: any): Worker;
+	export function disconnect(callback?: Function): void;
+	export var worker: Worker;
+	export var workers: Worker[];
+
+	// Event emitter
+	export function addListener(event: string, listener: Function): void;
+	export function on(event: "disconnect", listener: (worker: Worker) => void): void;
+	export function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): void;
+	export function on(event: "fork", listener: (worker: Worker) => void): void;
+	export function on(event: "listening", listener: (worker: Worker, address: any) => void): void;
+	export function on(event: "message", listener: (worker: Worker, message: any) => void): void;
+	export function on(event: "online", listener: (worker: Worker) => void): void;
+	export function on(event: "setup", listener: (settings: any) => void): void;
+	export function on(event: string, listener: Function): any;
+	export function once(event: string, listener: Function): void;
+	export function removeListener(event: string, listener: Function): void;
+	export function removeAllListeners(event?: string): void;
+	export function setMaxListeners(n: number): void;
+	export function listeners(event: string): Function[];
+	export function emit(event: string, ...args: any[]): boolean;
 }
 
 declare module "zlib" {
-    import * as stream from "stream";
-    export interface ZlibOptions { chunkSize?: number; windowBits?: number; level?: number; memLevel?: number; strategy?: number; dictionary?: any; }
-
-    export interface Gzip extends stream.Transform { }
-    export interface Gunzip extends stream.Transform { }
-    export interface Deflate extends stream.Transform { }
-    export interface Inflate extends stream.Transform { }
-    export interface DeflateRaw extends stream.Transform { }
-    export interface InflateRaw extends stream.Transform { }
-    export interface Unzip extends stream.Transform { }
-
-    export function createGzip(options?: ZlibOptions): Gzip;
-    export function createGunzip(options?: ZlibOptions): Gunzip;
-    export function createDeflate(options?: ZlibOptions): Deflate;
-    export function createInflate(options?: ZlibOptions): Inflate;
-    export function createDeflateRaw(options?: ZlibOptions): DeflateRaw;
-    export function createInflateRaw(options?: ZlibOptions): InflateRaw;
-    export function createUnzip(options?: ZlibOptions): Unzip;
-
-    export function deflate(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
-    export function deflateSync(buf: Buffer, options?: ZlibOptions): any;
-    export function deflateRaw(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
-    export function deflateRawSync(buf: Buffer, options?: ZlibOptions): any;
-    export function gzip(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
-    export function gzipSync(buf: Buffer, options?: ZlibOptions): any;
-    export function gunzip(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
-    export function gunzipSync(buf: Buffer, options?: ZlibOptions): any;
-    export function inflate(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
-    export function inflateSync(buf: Buffer, options?: ZlibOptions): any;
-    export function inflateRaw(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
-    export function inflateRawSync(buf: Buffer, options?: ZlibOptions): any;
-    export function unzip(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
-    export function unzipSync(buf: Buffer, options?: ZlibOptions): any;
-
-    // Constants
-    export var Z_NO_FLUSH: number;
-    export var Z_PARTIAL_FLUSH: number;
-    export var Z_SYNC_FLUSH: number;
-    export var Z_FULL_FLUSH: number;
-    export var Z_FINISH: number;
-    export var Z_BLOCK: number;
-    export var Z_TREES: number;
-    export var Z_OK: number;
-    export var Z_STREAM_END: number;
-    export var Z_NEED_DICT: number;
-    export var Z_ERRNO: number;
-    export var Z_STREAM_ERROR: number;
-    export var Z_DATA_ERROR: number;
-    export var Z_MEM_ERROR: number;
-    export var Z_BUF_ERROR: number;
-    export var Z_VERSION_ERROR: number;
-    export var Z_NO_COMPRESSION: number;
-    export var Z_BEST_SPEED: number;
-    export var Z_BEST_COMPRESSION: number;
-    export var Z_DEFAULT_COMPRESSION: number;
-    export var Z_FILTERED: number;
-    export var Z_HUFFMAN_ONLY: number;
-    export var Z_RLE: number;
-    export var Z_FIXED: number;
-    export var Z_DEFAULT_STRATEGY: number;
-    export var Z_BINARY: number;
-    export var Z_TEXT: number;
-    export var Z_ASCII: number;
-    export var Z_UNKNOWN: number;
-    export var Z_DEFLATED: number;
-    export var Z_NULL: number;
+	import * as stream from "stream";
+	export interface ZlibOptions { chunkSize?: number; windowBits?: number; level?: number; memLevel?: number; strategy?: number; dictionary?: any; }
+
+	export interface Gzip extends stream.Transform { }
+	export interface Gunzip extends stream.Transform { }
+	export interface Deflate extends stream.Transform { }
+	export interface Inflate extends stream.Transform { }
+	export interface DeflateRaw extends stream.Transform { }
+	export interface InflateRaw extends stream.Transform { }
+	export interface Unzip extends stream.Transform { }
+
+	export function createGzip(options?: ZlibOptions): Gzip;
+	export function createGunzip(options?: ZlibOptions): Gunzip;
+	export function createDeflate(options?: ZlibOptions): Deflate;
+	export function createInflate(options?: ZlibOptions): Inflate;
+	export function createDeflateRaw(options?: ZlibOptions): DeflateRaw;
+	export function createInflateRaw(options?: ZlibOptions): InflateRaw;
+	export function createUnzip(options?: ZlibOptions): Unzip;
+
+	export function deflate(buf: Buffer, callback: (error: Error, result: any) => void): void;
+	export function deflateSync(buf: Buffer, options?: ZlibOptions): any;
+	export function deflateRaw(buf: Buffer, callback: (error: Error, result: any) => void): void;
+	export function deflateRawSync(buf: Buffer, options?: ZlibOptions): any;
+	export function gzip(buf: Buffer, callback: (error: Error, result: any) => void): void;
+	export function gzipSync(buf: Buffer, options?: ZlibOptions): any;
+	export function gunzip(buf: Buffer, callback: (error: Error, result: any) => void): void;
+	export function gunzipSync(buf: Buffer, options?: ZlibOptions): any;
+	export function inflate(buf: Buffer, callback: (error: Error, result: any) => void): void;
+	export function inflateSync(buf: Buffer, options?: ZlibOptions): any;
+	export function inflateRaw(buf: Buffer, callback: (error: Error, result: any) => void): void;
+	export function inflateRawSync(buf: Buffer, options?: ZlibOptions): any;
+	export function unzip(buf: Buffer, callback: (error: Error, result: any) => void): void;
+	export function unzipSync(buf: Buffer, options?: ZlibOptions): any;
+
+	// Constants
+	export var Z_NO_FLUSH: number;
+	export var Z_PARTIAL_FLUSH: number;
+	export var Z_SYNC_FLUSH: number;
+	export var Z_FULL_FLUSH: number;
+	export var Z_FINISH: number;
+	export var Z_BLOCK: number;
+	export var Z_TREES: number;
+	export var Z_OK: number;
+	export var Z_STREAM_END: number;
+	export var Z_NEED_DICT: number;
+	export var Z_ERRNO: number;
+	export var Z_STREAM_ERROR: number;
+	export var Z_DATA_ERROR: number;
+	export var Z_MEM_ERROR: number;
+	export var Z_BUF_ERROR: number;
+	export var Z_VERSION_ERROR: number;
+	export var Z_NO_COMPRESSION: number;
+	export var Z_BEST_SPEED: number;
+	export var Z_BEST_COMPRESSION: number;
+	export var Z_DEFAULT_COMPRESSION: number;
+	export var Z_FILTERED: number;
+	export var Z_HUFFMAN_ONLY: number;
+	export var Z_RLE: number;
+	export var Z_FIXED: number;
+	export var Z_DEFAULT_STRATEGY: number;
+	export var Z_BINARY: number;
+	export var Z_TEXT: number;
+	export var Z_ASCII: number;
+	export var Z_UNKNOWN: number;
+	export var Z_DEFLATED: number;
+	export var Z_NULL: number;
 }
 
 declare module "os" {
-    export interface CpuInfo {
-        model: string;
-        speed: number;
-        times: {
-            user: number;
-            nice: number;
-            sys: number;
-            idle: number;
-            irq: number;
-        };
-    }
-
-    export interface NetworkInterfaceInfo {
-        address: string;
-        netmask: string;
-        family: string;
-        mac: string;
-        internal: boolean;
-    }
-
-    export function tmpdir(): string;
-    export function homedir(): string;
-    export function endianness(): string;
-    export function hostname(): string;
-    export function type(): string;
-    export function platform(): string;
-    export function arch(): string;
-    export function release(): string;
-    export function uptime(): number;
-    export function loadavg(): number[];
-    export function totalmem(): number;
-    export function freemem(): number;
-    export function cpus(): CpuInfo[];
-    export function networkInterfaces(): {[index: string]: NetworkInterfaceInfo[]};
-    export var EOL: string;
+	export interface CpuInfo {
+		model: string;
+		speed: number;
+		times: {
+			user: number;
+			nice: number;
+			sys: number;
+			idle: number;
+			irq: number;
+		};
+	}
+
+	export interface NetworkInterfaceInfo {
+		address: string;
+		netmask: string;
+		family: string;
+		mac: string;
+		internal: boolean;
+	}
+
+	export function tmpdir(): string;
+	export function homedir(): string;
+	export function endianness(): string;
+	export function hostname(): string;
+	export function type(): string;
+	export function platform(): string;
+	export function arch(): string;
+	export function release(): string;
+	export function uptime(): number;
+	export function loadavg(): number[];
+	export function totalmem(): number;
+	export function freemem(): number;
+	export function cpus(): CpuInfo[];
+	export function networkInterfaces(): { [index: string]: NetworkInterfaceInfo[] };
+	export var EOL: string;
 }
 
 declare module "https" {
-    import * as tls from "tls";
-    import * as events from "events";
-    import * as http from "http";
-
-    export interface ServerOptions {
-        pfx?: any;
-        key?: any;
-        passphrase?: string;
-        cert?: any;
-        ca?: any;
-        crl?: any;
-        ciphers?: string;
-        honorCipherOrder?: boolean;
-        requestCert?: boolean;
-        rejectUnauthorized?: boolean;
-        NPNProtocols?: any;
-        SNICallback?: (servername: string) => any;
-    }
-
-    export interface RequestOptions extends http.RequestOptions{
-        pfx?: any;
-        key?: any;
-        passphrase?: string;
-        cert?: any;
-        ca?: any;
-        ciphers?: string;
-        rejectUnauthorized?: boolean;
-        secureProtocol?: string;
-    }
-
-    export interface Agent {
-        maxSockets: number;
-        sockets: any;
-        requests: any;
-    }
-    export var Agent: {
-        new (options?: RequestOptions): Agent;
-    };
-    export interface Server extends tls.Server { }
-    export function createServer(options: ServerOptions, requestListener?: Function): Server;
-    export function request(options: RequestOptions, callback?: (res: http.IncomingMessage) =>void ): http.ClientRequest;
-    export function get(options: RequestOptions, callback?: (res: http.IncomingMessage) =>void ): http.ClientRequest;
-    export var globalAgent: Agent;
+	import * as tls from "tls";
+	import * as events from "events";
+	import * as http from "http";
+
+	export interface ServerOptions {
+		pfx?: any;
+		key?: any;
+		passphrase?: string;
+		cert?: any;
+		ca?: any;
+		crl?: any;
+		ciphers?: string;
+		honorCipherOrder?: boolean;
+		requestCert?: boolean;
+		rejectUnauthorized?: boolean;
+		NPNProtocols?: any;
+		SNICallback?: (servername: string) => any;
+	}
+
+	export interface RequestOptions extends http.RequestOptions {
+		pfx?: any;
+		key?: any;
+		passphrase?: string;
+		cert?: any;
+		ca?: any;
+		ciphers?: string;
+		rejectUnauthorized?: boolean;
+		secureProtocol?: string;
+	}
+
+	export interface Agent {
+		maxSockets: number;
+		sockets: any;
+		requests: any;
+	}
+	export var Agent: {
+		new (options?: RequestOptions): Agent;
+	};
+	export interface Server extends tls.Server { }
+	export function createServer(options: ServerOptions, requestListener?: Function): Server;
+	export function request(options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
+	export function get(options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
+	export var globalAgent: Agent;
 }
 
 declare module "punycode" {
-    export function decode(string: string): string;
-    export function encode(string: string): string;
-    export function toUnicode(domain: string): string;
-    export function toASCII(domain: string): string;
-    export var ucs2: ucs2;
-    interface ucs2 {
-        decode(string: string): number[];
-        encode(codePoints: number[]): string;
-    }
-    export var version: any;
+	export function decode(string: string): string;
+	export function encode(string: string): string;
+	export function toUnicode(domain: string): string;
+	export function toASCII(domain: string): string;
+	export var ucs2: ucs2;
+	interface ucs2 {
+		decode(string: string): number[];
+		encode(codePoints: number[]): string;
+	}
+	export var version: any;
 }
 
 declare module "repl" {
-    import * as stream from "stream";
-    import * as events from "events";
-
-    export interface ReplOptions {
-        prompt?: string;
-        input?: NodeJS.ReadableStream;
-        output?: NodeJS.WritableStream;
-        terminal?: boolean;
-        eval?: Function;
-        useColors?: boolean;
-        useGlobal?: boolean;
-        ignoreUndefined?: boolean;
-        writer?: Function;
-    }
-    export function start(options: ReplOptions): events.EventEmitter;
+	import * as stream from "stream";
+	import * as events from "events";
+
+	export interface ReplOptions {
+		prompt?: string;
+		input?: NodeJS.ReadableStream;
+		output?: NodeJS.WritableStream;
+		terminal?: boolean;
+		eval?: Function;
+		useColors?: boolean;
+		useGlobal?: boolean;
+		ignoreUndefined?: boolean;
+		writer?: Function;
+	}
+	export function start(options: ReplOptions): events.EventEmitter;
 }
 
 declare module "readline" {
-    import * as events from "events";
-    import * as stream from "stream";
-
-    export interface Key {
-        sequence?: string;
-        name?: string;
-        ctrl?: boolean;
-        meta?: boolean;
-        shift?: boolean;
-    }
-
-    export interface ReadLine extends events.EventEmitter {
-        setPrompt(prompt: string): void;
-        prompt(preserveCursor?: boolean): void;
-        question(query: string, callback: (answer: string) => void): void;
-        pause(): ReadLine;
-        resume(): ReadLine;
-        close(): void;
-        write(data: string|Buffer, key?: Key): void;
-    }
-
-    export interface Completer {
-        (line: string): CompleterResult;
-        (line: string, callback: (err: any, result: CompleterResult) => void): any;
-    }
-
-    export interface CompleterResult {
-        completions: string[];
-        line: string;
-    }
-
-    export interface ReadLineOptions {
-        input: NodeJS.ReadableStream;
-        output?: NodeJS.WritableStream;
-        completer?: Completer;
-        terminal?: boolean;
-        historySize?: number;
-    }
-
-    export function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer, terminal?: boolean): ReadLine;
-    export function createInterface(options: ReadLineOptions): ReadLine;
-
-    export function cursorTo(stream: NodeJS.WritableStream, x: number, y: number): void;
-    export function moveCursor(stream: NodeJS.WritableStream, dx: number|string, dy: number|string): void;
-    export function clearLine(stream: NodeJS.WritableStream, dir: number): void;
-    export function clearScreenDown(stream: NodeJS.WritableStream): void;
+	import * as events from "events";
+	import * as stream from "stream";
+
+	export interface Key {
+		sequence?: string;
+		name?: string;
+		ctrl?: boolean;
+		meta?: boolean;
+		shift?: boolean;
+	}
+
+	export interface ReadLine extends events.EventEmitter {
+		setPrompt(prompt: string): void;
+		prompt(preserveCursor?: boolean): void;
+		question(query: string, callback: (answer: string) => void): void;
+		pause(): ReadLine;
+		resume(): ReadLine;
+		close(): void;
+		write(data: string | Buffer, key?: Key): void;
+	}
+
+	export interface Completer {
+		(line: string): CompleterResult;
+		(line: string, callback: (err: any, result: CompleterResult) => void): any;
+	}
+
+	export interface CompleterResult {
+		completions: string[];
+		line: string;
+	}
+
+	export interface ReadLineOptions {
+		input: NodeJS.ReadableStream;
+		output?: NodeJS.WritableStream;
+		completer?: Completer;
+		terminal?: boolean;
+		historySize?: number;
+	}
+
+	export function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer, terminal?: boolean): ReadLine;
+	export function createInterface(options: ReadLineOptions): ReadLine;
+
+	export function cursorTo(stream: NodeJS.WritableStream, x: number, y: number): void;
+	export function moveCursor(stream: NodeJS.WritableStream, dx: number | string, dy: number | string): void;
+	export function clearLine(stream: NodeJS.WritableStream, dir: number): void;
+	export function clearScreenDown(stream: NodeJS.WritableStream): void;
 }
 
 declare module "vm" {
-    export interface Context { }
-    export interface Script {
-        runInThisContext(): void;
-        runInNewContext(sandbox?: Context): void;
-    }
-    export function runInThisContext(code: string, filename?: string): void;
-    export function runInNewContext(code: string, sandbox?: Context, filename?: string): void;
-    export function runInContext(code: string, context: Context, filename?: string): void;
-    export function createContext(initSandbox?: Context): Context;
-    export function createScript(code: string, filename?: string): Script;
+	export interface Context { }
+	export interface Script {
+		runInThisContext(): void;
+		runInNewContext(sandbox?: Context): void;
+	}
+	export function runInThisContext(code: string, filename?: string): void;
+	export function runInNewContext(code: string, sandbox?: Context, filename?: string): void;
+	export function runInContext(code: string, context: Context, filename?: string): void;
+	export function createContext(initSandbox?: Context): Context;
+	export function createScript(code: string, filename?: string): Script;
 }
 
 declare module "child_process" {
-    import * as events from "events";
-    import * as stream from "stream";
-
-    export interface ChildProcess extends events.EventEmitter {
-        stdin:  stream.Writable;
-        stdout: stream.Readable;
-        stderr: stream.Readable;
-        stdio: [stream.Writable, stream.Readable, stream.Readable];
-        pid: number;
-        connected: boolean;
-        kill(signal?: string): void;
-        send(message: any, sendHandle?: any): void;
-        disconnect(): void;
-        unref(): void;
-    }
-
-    export interface SpawnOptions {
-        cwd?: string;
-        env?: any;
-        stdio?: any;
-        detached?: boolean;
-        uid?: number;
-        gid?: number;
-        shell?: boolean | string;
-    }
-    export function spawn(command: string, args?: string[], options?: SpawnOptions): ChildProcess;
-
-    export interface ExecOptions {
-        cwd?: string;
-        env?: any;
-        shell?: string;
-        timeout?: number;
-        maxBuffer?: number;
-        killSignal?: string;
-        uid?: number;
-        gid?: number;
-    }
-    export interface ExecOptionsWithStringEncoding extends ExecOptions {
-        encoding: BufferEncoding;
-    }
-    export interface ExecOptionsWithBufferEncoding extends ExecOptions {
-        encoding: string; // specify `null`.
-    }
-    export function exec(command: string, callback?: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
-    export function exec(command: string, options: ExecOptions, callback?: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
-
-    export interface ExecFileOptions {
-        cwd?: string;
-        env?: any;
-        timeout?: number;
-        maxBuffer?: number;
-        killSignal?: string;
-        uid?: number;
-        gid?: number;
-    }
-    export interface ExecFileOptionsWithStringEncoding extends ExecFileOptions {
-        encoding: BufferEncoding;
-    }
-    export interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions {
-        encoding: string; // specify `null`.
-    }
-    export function execFile(file: string, callback?: (error: Error, stdout: string, stderr: string) =>void ): ChildProcess;
-    export function execFile(file: string, options?: ExecFileOptionsWithStringEncoding, callback?: (error: Error, stdout: string, stderr: string) =>void ): ChildProcess;
-    // usage. child_process.execFile("file.sh", {encoding: null as string}, (err, stdout, stderr) => {});
-    export function execFile(file: string, options?: ExecFileOptionsWithBufferEncoding, callback?: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
-    export function execFile(file: string, options?: ExecFileOptions, callback?: (error: Error, stdout: string, stderr: string) =>void ): ChildProcess;
-    export function execFile(file: string, args?: string[], callback?: (error: Error, stdout: string, stderr: string) =>void ): ChildProcess;
-    export function execFile(file: string, args?: string[], options?: ExecFileOptionsWithStringEncoding, callback?: (error: Error, stdout: string, stderr: string) =>void ): ChildProcess;
-    // usage. child_process.execFile("file.sh", ["foo"], {encoding: null as string}, (err, stdout, stderr) => {});
-    export function execFile(file: string, args?: string[], options?: ExecFileOptionsWithBufferEncoding, callback?: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
-    export function execFile(file: string, args?: string[], options?: ExecFileOptions, callback?: (error: Error, stdout: string, stderr: string) =>void ): ChildProcess;
-
-    export interface ForkOptions {
-        cwd?: string;
-        env?: any;
-        execPath?: string;
-        execArgv?: string[];
-        silent?: boolean;
-        uid?: number;
-        gid?: number;
-    }
-    export function fork(modulePath: string, args?: string[], options?: ForkOptions): ChildProcess;
-
-    export interface SpawnSyncOptions {
-        cwd?: string;
-        input?: string | Buffer;
-        stdio?: any;
-        env?: any;
-        uid?: number;
-        gid?: number;
-        timeout?: number;
-        killSignal?: string;
-        maxBuffer?: number;
-        encoding?: string;
-        shell?: boolean | string;
-    }
-    export interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions {
-        encoding: BufferEncoding;
-    }
-    export interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions {
-        encoding: string; // specify `null`.
-    }
-    export interface SpawnSyncReturns<T> {
-        pid: number;
-        output: string[];
-        stdout: T;
-        stderr: T;
-        status: number;
-        signal: string;
-        error: Error;
-    }
-    export function spawnSync(command: string): SpawnSyncReturns<Buffer>;
-    export function spawnSync(command: string, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns<string>;
-    export function spawnSync(command: string, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns<Buffer>;
-    export function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns<Buffer>;
-    export function spawnSync(command: string, args?: string[], options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns<string>;
-    export function spawnSync(command: string, args?: string[], options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns<Buffer>;
-    export function spawnSync(command: string, args?: string[], options?: SpawnSyncOptions): SpawnSyncReturns<Buffer>;
-
-    export interface ExecSyncOptions {
-        cwd?: string;
-        input?: string | Buffer;
-        stdio?: any;
-        env?: any;
-        shell?: string;
-        uid?: number;
-        gid?: number;
-        timeout?: number;
-        killSignal?: string;
-        maxBuffer?: number;
-        encoding?: string;
-    }
-    export interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions {
-        encoding: BufferEncoding;
-    }
-    export interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions {
-        encoding: string; // specify `null`.
-    }
-    export function execSync(command: string): Buffer;
-    export function execSync(command: string, options?: ExecSyncOptionsWithStringEncoding): string;
-    export function execSync(command: string, options?: ExecSyncOptionsWithBufferEncoding): Buffer;
-    export function execSync(command: string, options?: ExecSyncOptions): Buffer;
-
-    export interface ExecFileSyncOptions {
-        cwd?: string;
-        input?: string | Buffer;
-        stdio?: any;
-        env?: any;
-        uid?: number;
-        gid?: number;
-        timeout?: number;
-        killSignal?: string;
-        maxBuffer?: number;
-        encoding?: string;
-    }
-    export interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions {
-        encoding: BufferEncoding;
-    }
-    export interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions {
-        encoding: string; // specify `null`.
-    }
-    export function execFileSync(command: string): Buffer;
-    export function execFileSync(command: string, options?: ExecFileSyncOptionsWithStringEncoding): string;
-    export function execFileSync(command: string, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer;
-    export function execFileSync(command: string, options?: ExecFileSyncOptions): Buffer;
-    export function execFileSync(command: string, args?: string[], options?: ExecFileSyncOptionsWithStringEncoding): string;
-    export function execFileSync(command: string, args?: string[], options?: ExecFileSyncOptionsWithBufferEncoding): Buffer;
-    export function execFileSync(command: string, args?: string[], options?: ExecFileSyncOptions): Buffer;
+	import * as events from "events";
+	import * as stream from "stream";
+
+	export interface ChildProcess extends events.EventEmitter {
+		stdin: stream.Writable;
+		stdout: stream.Readable;
+		stderr: stream.Readable;
+		stdio: [stream.Writable, stream.Readable, stream.Readable];
+		pid: number;
+		connected: boolean;
+		kill(signal?: string): void;
+		send(message: any, sendHandle?: any): void;
+		disconnect(): void;
+		unref(): void;
+	}
+
+	export interface SpawnOptions {
+		cwd?: string;
+		env?: any;
+		stdio?: any;
+		detached?: boolean;
+		uid?: number;
+		gid?: number;
+		shell?: boolean | string;
+	}
+	export function spawn(command: string, args?: string[], options?: SpawnOptions): ChildProcess;
+
+	export interface ExecOptions {
+		cwd?: string;
+		env?: any;
+		shell?: string;
+		timeout?: number;
+		maxBuffer?: number;
+		killSignal?: string;
+		uid?: number;
+		gid?: number;
+	}
+	export interface ExecOptionsWithStringEncoding extends ExecOptions {
+		encoding: BufferEncoding;
+	}
+	export interface ExecOptionsWithBufferEncoding extends ExecOptions {
+		encoding: string; // specify `null`.
+	}
+	export function exec(command: string, callback?: (error: Error, stdout: Buffer, stderr: Buffer) => void): ChildProcess;
+	export function exec(command: string, options: ExecOptions, callback?: (error: Error, stdout: Buffer, stderr: Buffer) => void): ChildProcess;
+
+	export interface ExecFileOptions {
+		cwd?: string;
+		env?: any;
+		timeout?: number;
+		maxBuffer?: number;
+		killSignal?: string;
+		uid?: number;
+		gid?: number;
+	}
+	export interface ExecFileOptionsWithStringEncoding extends ExecFileOptions {
+		encoding: BufferEncoding;
+	}
+	export interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions {
+		encoding: string; // specify `null`.
+	}
+	export function execFile(file: string, callback?: (error: Error, stdout: string, stderr: string) => void): ChildProcess;
+	export function execFile(file: string, options?: ExecFileOptionsWithStringEncoding, callback?: (error: Error, stdout: string, stderr: string) => void): ChildProcess;
+	// usage. child_process.execFile("file.sh", {encoding: null as string}, (err, stdout, stderr) => {});
+	export function execFile(file: string, options?: ExecFileOptionsWithBufferEncoding, callback?: (error: Error, stdout: Buffer, stderr: Buffer) => void): ChildProcess;
+	export function execFile(file: string, options?: ExecFileOptions, callback?: (error: Error, stdout: string, stderr: string) => void): ChildProcess;
+	export function execFile(file: string, args?: string[], callback?: (error: Error, stdout: string, stderr: string) => void): ChildProcess;
+	export function execFile(file: string, args?: string[], options?: ExecFileOptionsWithStringEncoding, callback?: (error: Error, stdout: string, stderr: string) => void): ChildProcess;
+	// usage. child_process.execFile("file.sh", ["foo"], {encoding: null as string}, (err, stdout, stderr) => {});
+	export function execFile(file: string, args?: string[], options?: ExecFileOptionsWithBufferEncoding, callback?: (error: Error, stdout: Buffer, stderr: Buffer) => void): ChildProcess;
+	export function execFile(file: string, args?: string[], options?: ExecFileOptions, callback?: (error: Error, stdout: string, stderr: string) => void): ChildProcess;
+
+	export interface ForkOptions {
+		cwd?: string;
+		env?: any;
+		execPath?: string;
+		execArgv?: string[];
+		silent?: boolean;
+		uid?: number;
+		gid?: number;
+	}
+	export function fork(modulePath: string, args?: string[], options?: ForkOptions): ChildProcess;
+
+	export interface SpawnSyncOptions {
+		cwd?: string;
+		input?: string | Buffer;
+		stdio?: any;
+		env?: any;
+		uid?: number;
+		gid?: number;
+		timeout?: number;
+		killSignal?: string;
+		maxBuffer?: number;
+		encoding?: string;
+		shell?: boolean | string;
+	}
+	export interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions {
+		encoding: BufferEncoding;
+	}
+	export interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions {
+		encoding: string; // specify `null`.
+	}
+	export interface SpawnSyncReturns<T> {
+		pid: number;
+		output: string[];
+		stdout: T;
+		stderr: T;
+		status: number;
+		signal: string;
+		error: Error;
+	}
+	export function spawnSync(command: string): SpawnSyncReturns<Buffer>;
+	export function spawnSync(command: string, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns<string>;
+	export function spawnSync(command: string, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns<Buffer>;
+	export function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns<Buffer>;
+	export function spawnSync(command: string, args?: string[], options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns<string>;
+	export function spawnSync(command: string, args?: string[], options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns<Buffer>;
+	export function spawnSync(command: string, args?: string[], options?: SpawnSyncOptions): SpawnSyncReturns<Buffer>;
+
+	export interface ExecSyncOptions {
+		cwd?: string;
+		input?: string | Buffer;
+		stdio?: any;
+		env?: any;
+		shell?: string;
+		uid?: number;
+		gid?: number;
+		timeout?: number;
+		killSignal?: string;
+		maxBuffer?: number;
+		encoding?: string;
+	}
+	export interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions {
+		encoding: BufferEncoding;
+	}
+	export interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions {
+		encoding: string; // specify `null`.
+	}
+	export function execSync(command: string): Buffer;
+	export function execSync(command: string, options?: ExecSyncOptionsWithStringEncoding): string;
+	export function execSync(command: string, options?: ExecSyncOptionsWithBufferEncoding): Buffer;
+	export function execSync(command: string, options?: ExecSyncOptions): Buffer;
+
+	export interface ExecFileSyncOptions {
+		cwd?: string;
+		input?: string | Buffer;
+		stdio?: any;
+		env?: any;
+		uid?: number;
+		gid?: number;
+		timeout?: number;
+		killSignal?: string;
+		maxBuffer?: number;
+		encoding?: string;
+	}
+	export interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions {
+		encoding: BufferEncoding;
+	}
+	export interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions {
+		encoding: string; // specify `null`.
+	}
+	export function execFileSync(command: string): Buffer;
+	export function execFileSync(command: string, options?: ExecFileSyncOptionsWithStringEncoding): string;
+	export function execFileSync(command: string, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer;
+	export function execFileSync(command: string, options?: ExecFileSyncOptions): Buffer;
+	export function execFileSync(command: string, args?: string[], options?: ExecFileSyncOptionsWithStringEncoding): string;
+	export function execFileSync(command: string, args?: string[], options?: ExecFileSyncOptionsWithBufferEncoding): Buffer;
+	export function execFileSync(command: string, args?: string[], options?: ExecFileSyncOptions): Buffer;
 }
 
 declare module "url" {
-    export interface Url {
-        href?: string;
-        protocol?: string;
-        auth?: string;
-        hostname?: string;
-        port?: string;
-        host?: string;
-        pathname?: string;
-        search?: string;
-        query?: any; // string | Object
-        slashes?: boolean;
-        hash?: string;
-        path?: string;
-    }
-
-    export function parse(urlStr: string, parseQueryString?: boolean , slashesDenoteHost?: boolean ): Url;
-    export function format(url: Url): string;
-    export function resolve(from: string, to: string): string;
+	export interface Url {
+		href?: string;
+		protocol?: string;
+		auth?: string;
+		hostname?: string;
+		port?: string;
+		host?: string;
+		pathname?: string;
+		search?: string;
+		query?: any; // string | Object
+		slashes?: boolean;
+		hash?: string;
+		path?: string;
+	}
+
+	export function parse(urlStr: string, parseQueryString?: boolean, slashesDenoteHost?: boolean): Url;
+	export function format(url: Url): string;
+	export function resolve(from: string, to: string): string;
 }
 
 declare module "dns" {
-    export function lookup(domain: string, family: number, callback: (err: Error, address: string, family: number) =>void ): string;
-    export function lookup(domain: string, callback: (err: Error, address: string, family: number) =>void ): string;
-    export function resolve(domain: string, rrtype: string, callback: (err: Error, addresses: string[]) =>void ): string[];
-    export function resolve(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
-    export function resolve4(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
-    export function resolve6(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
-    export function resolveMx(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
-    export function resolveTxt(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
-    export function resolveSrv(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
-    export function resolveNs(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
-    export function resolveCname(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
-    export function reverse(ip: string, callback: (err: Error, domains: string[]) =>void ): string[];
+	export function lookup(domain: string, family: number, callback: (err: Error, address: string, family: number) => void): string;
+	export function lookup(domain: string, callback: (err: Error, address: string, family: number) => void): string;
+	export function resolve(domain: string, rrtype: string, callback: (err: Error, addresses: string[]) => void): string[];
+	export function resolve(domain: string, callback: (err: Error, addresses: string[]) => void): string[];
+	export function resolve4(domain: string, callback: (err: Error, addresses: string[]) => void): string[];
+	export function resolve6(domain: string, callback: (err: Error, addresses: string[]) => void): string[];
+	export function resolveMx(domain: string, callback: (err: Error, addresses: string[]) => void): string[];
+	export function resolveTxt(domain: string, callback: (err: Error, addresses: string[]) => void): string[];
+	export function resolveSrv(domain: string, callback: (err: Error, addresses: string[]) => void): string[];
+	export function resolveNs(domain: string, callback: (err: Error, addresses: string[]) => void): string[];
+	export function resolveCname(domain: string, callback: (err: Error, addresses: string[]) => void): string[];
+	export function reverse(ip: string, callback: (err: Error, domains: string[]) => void): string[];
 }
 
 declare module "net" {
-    import * as stream from "stream";
-
-    export interface Socket extends stream.Duplex {
-        // Extended base methods
-        write(buffer: Buffer): boolean;
-        write(buffer: Buffer, cb?: Function): boolean;
-        write(str: string, cb?: Function): boolean;
-        write(str: string, encoding?: string, cb?: Function): boolean;
-        write(str: string, encoding?: string, fd?: string): boolean;
-
-        connect(port: number, host?: string, connectionListener?: Function): void;
-        connect(path: string, connectionListener?: Function): void;
-        bufferSize: number;
-        setEncoding(encoding?: string): void;
-        write(data: any, encoding?: string, callback?: Function): void;
-        destroy(): void;
-        pause(): void;
-        resume(): void;
-        setTimeout(timeout: number, callback?: Function): void;
-        setNoDelay(noDelay?: boolean): void;
-        setKeepAlive(enable?: boolean, initialDelay?: number): void;
-        address(): { port: number; family: string; address: string; };
-        unref(): void;
-        ref(): void;
-
-        remoteAddress: string;
-        remoteFamily: string;
-        remotePort: number;
-        localAddress: string;
-        localPort: number;
-        bytesRead: number;
-        bytesWritten: number;
-
-        // Extended base methods
-        end(): void;
-        end(buffer: Buffer, cb?: Function): void;
-        end(str: string, cb?: Function): void;
-        end(str: string, encoding?: string, cb?: Function): void;
-        end(data?: any, encoding?: string): void;
-    }
-
-    export var Socket: {
-        new (options?: { fd?: string; type?: string; allowHalfOpen?: boolean; }): Socket;
-    };
-
-    export interface ListenOptions {
-        port?: number;
-        host?: string;
-        backlog?: number;
-        path?: string;
-        exclusive?: boolean;
-    }
-
-    export interface Server extends Socket {
-        listen(port: number, hostname?: string, backlog?: number, listeningListener?: Function): Server;
-        listen(port: number, hostname?: string, listeningListener?: Function): Server;
-        listen(port: number, backlog?: number, listeningListener?: Function): Server;
-        listen(port: number, listeningListener?: Function): Server;
-        listen(path: string, backlog?: number, listeningListener?: Function): Server;
-        listen(path: string, listeningListener?: Function): Server;
-        listen(handle: any, backlog?: number, listeningListener?: Function): Server;
-        listen(handle: any, listeningListener?: Function): Server;
-        listen(options: ListenOptions, listeningListener?: Function): Server;
-        close(callback?: Function): Server;
-        address(): { port: number; family: string; address: string; };
-        getConnections(cb: (error: Error, count: number) => void): void;
-        ref(): Server;
-        unref(): Server;
-        maxConnections: number;
-        connections: number;
-    }
-    export function createServer(connectionListener?: (socket: Socket) =>void ): Server;
-    export function createServer(options?: { allowHalfOpen?: boolean; }, connectionListener?: (socket: Socket) =>void ): Server;
-    export function connect(options: { port: number, host?: string, localAddress? : string, localPort? : string, family? : number, allowHalfOpen?: boolean; }, connectionListener?: Function): Socket;
-    export function connect(port: number, host?: string, connectionListener?: Function): Socket;
-    export function connect(path: string, connectionListener?: Function): Socket;
-    export function createConnection(options: { port: number, host?: string, localAddress? : string, localPort? : string, family? : number, allowHalfOpen?: boolean; }, connectionListener?: Function): Socket;
-    export function createConnection(port: number, host?: string, connectionListener?: Function): Socket;
-    export function createConnection(path: string, connectionListener?: Function): Socket;
-    export function isIP(input: string): number;
-    export function isIPv4(input: string): boolean;
-    export function isIPv6(input: string): boolean;
+	import * as stream from "stream";
+
+	export interface Socket extends stream.Duplex {
+		// Extended base methods
+		write(buffer: Buffer): boolean;
+		write(buffer: Buffer, cb?: Function): boolean;
+		write(str: string, cb?: Function): boolean;
+		write(str: string, encoding?: string, cb?: Function): boolean;
+		write(str: string, encoding?: string, fd?: string): boolean;
+
+		connect(port: number, host?: string, connectionListener?: Function): void;
+		connect(path: string, connectionListener?: Function): void;
+		bufferSize: number;
+		setEncoding(encoding?: string): void;
+		write(data: any, encoding?: string, callback?: Function): void;
+		destroy(): void;
+		pause(): void;
+		resume(): void;
+		setTimeout(timeout: number, callback?: Function): void;
+		setNoDelay(noDelay?: boolean): void;
+		setKeepAlive(enable?: boolean, initialDelay?: number): void;
+		address(): { port: number; family: string; address: string; };
+		unref(): void;
+		ref(): void;
+
+		remoteAddress: string;
+		remoteFamily: string;
+		remotePort: number;
+		localAddress: string;
+		localPort: number;
+		bytesRead: number;
+		bytesWritten: number;
+
+		// Extended base methods
+		end(): void;
+		end(buffer: Buffer, cb?: Function): void;
+		end(str: string, cb?: Function): void;
+		end(str: string, encoding?: string, cb?: Function): void;
+		end(data?: any, encoding?: string): void;
+	}
+
+	export var Socket: {
+		new (options?: { fd?: string; type?: string; allowHalfOpen?: boolean; }): Socket;
+	};
+
+	export interface ListenOptions {
+		port?: number;
+		host?: string;
+		backlog?: number;
+		path?: string;
+		exclusive?: boolean;
+	}
+
+	export interface Server extends Socket {
+		listen(port: number, hostname?: string, backlog?: number, listeningListener?: Function): Server;
+		listen(port: number, hostname?: string, listeningListener?: Function): Server;
+		listen(port: number, backlog?: number, listeningListener?: Function): Server;
+		listen(port: number, listeningListener?: Function): Server;
+		listen(path: string, backlog?: number, listeningListener?: Function): Server;
+		listen(path: string, listeningListener?: Function): Server;
+		listen(handle: any, backlog?: number, listeningListener?: Function): Server;
+		listen(handle: any, listeningListener?: Function): Server;
+		listen(options: ListenOptions, listeningListener?: Function): Server;
+		close(callback?: Function): Server;
+		address(): { port: number; family: string; address: string; };
+		getConnections(cb: (error: Error, count: number) => void): void;
+		ref(): Server;
+		unref(): Server;
+		maxConnections: number;
+		connections: number;
+	}
+	export function createServer(connectionListener?: (socket: Socket) => void): Server;
+	export function createServer(options?: { allowHalfOpen?: boolean; }, connectionListener?: (socket: Socket) => void): Server;
+	export function connect(options: { port: number, host?: string, localAddress?: string, localPort?: string, family?: number, allowHalfOpen?: boolean; }, connectionListener?: Function): Socket;
+	export function connect(port: number, host?: string, connectionListener?: Function): Socket;
+	export function connect(path: string, connectionListener?: Function): Socket;
+	export function createConnection(options: { port: number, host?: string, localAddress?: string, localPort?: string, family?: number, allowHalfOpen?: boolean; }, connectionListener?: Function): Socket;
+	export function createConnection(port: number, host?: string, connectionListener?: Function): Socket;
+	export function createConnection(path: string, connectionListener?: Function): Socket;
+	export function isIP(input: string): number;
+	export function isIPv4(input: string): boolean;
+	export function isIPv6(input: string): boolean;
 }
 
 declare module "dgram" {
-    import * as events from "events";
-
-    interface RemoteInfo {
-        address: string;
-        port: number;
-        size: number;
-    }
-
-    interface AddressInfo {
-        address: string;
-        family: string;
-        port: number;
-    }
-
-    export function createSocket(type: string, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket;
-
-    interface Socket extends events.EventEmitter {
-        send(buf: Buffer, offset: number, length: number, port: number, address: string, callback?: (error: Error, bytes: number) => void): void;
-        bind(port: number, address?: string, callback?: () => void): void;
-        close(): void;
-        address(): AddressInfo;
-        setBroadcast(flag: boolean): void;
-        setMulticastTTL(ttl: number): void;
-        setMulticastLoopback(flag: boolean): void;
-        addMembership(multicastAddress: string, multicastInterface?: string): void;
-        dropMembership(multicastAddress: string, multicastInterface?: string): void;
-    }
+	import * as events from "events";
+
+	interface RemoteInfo {
+		address: string;
+		port: number;
+		size: number;
+	}
+
+	interface AddressInfo {
+		address: string;
+		family: string;
+		port: number;
+	}
+
+	export function createSocket(type: string, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket;
+
+	interface Socket extends events.EventEmitter {
+		send(buf: Buffer, offset: number, length: number, port: number, address: string, callback?: (error: Error, bytes: number) => void): void;
+		bind(port: number, address?: string, callback?: () => void): void;
+		close(): void;
+		address(): AddressInfo;
+		setBroadcast(flag: boolean): void;
+		setMulticastTTL(ttl: number): void;
+		setMulticastLoopback(flag: boolean): void;
+		addMembership(multicastAddress: string, multicastInterface?: string): void;
+		dropMembership(multicastAddress: string, multicastInterface?: string): void;
+	}
 }
 
 declare module "fs" {
-    import * as stream from "stream";
-    import * as events from "events";
-
-    interface Stats {
-        isFile(): boolean;
-        isDirectory(): boolean;
-        isBlockDevice(): boolean;
-        isCharacterDevice(): boolean;
-        isSymbolicLink(): boolean;
-        isFIFO(): boolean;
-        isSocket(): boolean;
-        dev: number;
-        ino: number;
-        mode: number;
-        nlink: number;
-        uid: number;
-        gid: number;
-        rdev: number;
-        size: number;
-        blksize: number;
-        blocks: number;
-        atime: Date;
-        mtime: Date;
-        ctime: Date;
-        birthtime: Date;
-    }
-
-    interface FSWatcher extends events.EventEmitter {
-        close(): void;
-    }
-
-    export interface ReadStream extends stream.Readable {
-        close(): void;
-    }
-    export interface WriteStream extends stream.Writable {
-        close(): void;
-        bytesWritten: number;
-    }
+	import * as stream from "stream";
+	import * as events from "events";
+
+	interface Stats {
+		isFile(): boolean;
+		isDirectory(): boolean;
+		isBlockDevice(): boolean;
+		isCharacterDevice(): boolean;
+		isSymbolicLink(): boolean;
+		isFIFO(): boolean;
+		isSocket(): boolean;
+		dev: number;
+		ino: number;
+		mode: number;
+		nlink: number;
+		uid: number;
+		gid: number;
+		rdev: number;
+		size: number;
+		blksize: number;
+		blocks: number;
+		atime: Date;
+		mtime: Date;
+		ctime: Date;
+		birthtime: Date;
+	}
+
+	interface FSWatcher extends events.EventEmitter {
+		close(): void;
+	}
+
+	export interface ReadStream extends stream.Readable {
+		close(): void;
+	}
+	export interface WriteStream extends stream.Writable {
+		close(): void;
+		bytesWritten: number;
+	}
 
     /**
      * Asynchronous rename.
@@ -1312,85 +1312,85 @@ declare module "fs" {
      * @param newPath
      * @param callback No arguments other than a possible exception are given to the completion callback.
      */
-    export function rename(oldPath: string, newPath: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function rename(oldPath: string, newPath: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
     /**
      * Synchronous rename
      * @param oldPath
      * @param newPath
      */
-    export function renameSync(oldPath: string, newPath: string): void;
-    export function truncate(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function truncate(path: string, len: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function truncateSync(path: string, len?: number): void;
-    export function ftruncate(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function ftruncate(fd: number, len: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function ftruncateSync(fd: number, len?: number): void;
-    export function chown(path: string, uid: number, gid: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function chownSync(path: string, uid: number, gid: number): void;
-    export function fchown(fd: number, uid: number, gid: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function fchownSync(fd: number, uid: number, gid: number): void;
-    export function lchown(path: string, uid: number, gid: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function lchownSync(path: string, uid: number, gid: number): void;
-    export function chmod(path: string, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function chmod(path: string, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function chmodSync(path: string, mode: number): void;
-    export function chmodSync(path: string, mode: string): void;
-    export function fchmod(fd: number, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function fchmod(fd: number, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function fchmodSync(fd: number, mode: number): void;
-    export function fchmodSync(fd: number, mode: string): void;
-    export function lchmod(path: string, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function lchmod(path: string, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function lchmodSync(path: string, mode: number): void;
-    export function lchmodSync(path: string, mode: string): void;
-    export function stat(path: string, callback?: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
-    export function lstat(path: string, callback?: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
-    export function fstat(fd: number, callback?: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
-    export function statSync(path: string): Stats;
-    export function lstatSync(path: string): Stats;
-    export function fstatSync(fd: number): Stats;
-    export function link(srcpath: string, dstpath: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function linkSync(srcpath: string, dstpath: string): void;
-    export function symlink(srcpath: string, dstpath: string, type?: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function symlinkSync(srcpath: string, dstpath: string, type?: string): void;
-    export function readlink(path: string, callback?: (err: NodeJS.ErrnoException, linkString: string) => any): void;
-    export function readlinkSync(path: string): string;
-    export function realpath(path: string, callback?: (err: NodeJS.ErrnoException, resolvedPath: string) => any): void;
-    export function realpath(path: string, cache: {[path: string]: string}, callback: (err: NodeJS.ErrnoException, resolvedPath: string) =>any): void;
-    export function realpathSync(path: string, cache?: { [path: string]: string }): string;
+	export function renameSync(oldPath: string, newPath: string): void;
+	export function truncate(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function truncate(path: string, len: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function truncateSync(path: string, len?: number): void;
+	export function ftruncate(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function ftruncate(fd: number, len: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function ftruncateSync(fd: number, len?: number): void;
+	export function chown(path: string, uid: number, gid: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function chownSync(path: string, uid: number, gid: number): void;
+	export function fchown(fd: number, uid: number, gid: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function fchownSync(fd: number, uid: number, gid: number): void;
+	export function lchown(path: string, uid: number, gid: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function lchownSync(path: string, uid: number, gid: number): void;
+	export function chmod(path: string, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function chmod(path: string, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function chmodSync(path: string, mode: number): void;
+	export function chmodSync(path: string, mode: string): void;
+	export function fchmod(fd: number, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function fchmod(fd: number, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function fchmodSync(fd: number, mode: number): void;
+	export function fchmodSync(fd: number, mode: string): void;
+	export function lchmod(path: string, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function lchmod(path: string, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function lchmodSync(path: string, mode: number): void;
+	export function lchmodSync(path: string, mode: string): void;
+	export function stat(path: string, callback?: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
+	export function lstat(path: string, callback?: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
+	export function fstat(fd: number, callback?: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
+	export function statSync(path: string): Stats;
+	export function lstatSync(path: string): Stats;
+	export function fstatSync(fd: number): Stats;
+	export function link(srcpath: string, dstpath: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function linkSync(srcpath: string, dstpath: string): void;
+	export function symlink(srcpath: string, dstpath: string, type?: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function symlinkSync(srcpath: string, dstpath: string, type?: string): void;
+	export function readlink(path: string, callback?: (err: NodeJS.ErrnoException, linkString: string) => any): void;
+	export function readlinkSync(path: string): string;
+	export function realpath(path: string, callback?: (err: NodeJS.ErrnoException, resolvedPath: string) => any): void;
+	export function realpath(path: string, cache: { [path: string]: string }, callback: (err: NodeJS.ErrnoException, resolvedPath: string) => any): void;
+	export function realpathSync(path: string, cache?: { [path: string]: string }): string;
     /*
      * Asynchronous unlink - deletes the file specified in {path}
      *
      * @param path
      * @param callback No arguments other than a possible exception are given to the completion callback.
      */
-    export function unlink(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function unlink(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
     /*
      * Synchronous unlink - deletes the file specified in {path}
      *
      * @param path
      */
-    export function unlinkSync(path: string): void;
+	export function unlinkSync(path: string): void;
     /*
      * Asynchronous rmdir - removes the directory specified in {path}
      *
      * @param path
      * @param callback No arguments other than a possible exception are given to the completion callback.
      */
-    export function rmdir(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function rmdir(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
     /*
      * Synchronous rmdir - removes the directory specified in {path}
      *
      * @param path
      */
-    export function rmdirSync(path: string): void;
+	export function rmdirSync(path: string): void;
     /*
      * Asynchronous mkdir - creates the directory specified in {path}.  Parameter {mode} defaults to 0777.
      *
      * @param path
      * @param callback No arguments other than a possible exception are given to the completion callback.
      */
-    export function mkdir(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function mkdir(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
     /*
      * Asynchronous mkdir - creates the directory specified in {path}.  Parameter {mode} defaults to 0777.
      *
@@ -1398,7 +1398,7 @@ declare module "fs" {
      * @param mode
      * @param callback No arguments other than a possible exception are given to the completion callback.
      */
-    export function mkdir(path: string, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function mkdir(path: string, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
     /*
      * Asynchronous mkdir - creates the directory specified in {path}.  Parameter {mode} defaults to 0777.
      *
@@ -1406,7 +1406,7 @@ declare module "fs" {
      * @param mode
      * @param callback No arguments other than a possible exception are given to the completion callback.
      */
-    export function mkdir(path: string, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function mkdir(path: string, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
     /*
      * Synchronous mkdir - creates the directory specified in {path}.  Parameter {mode} defaults to 0777.
      *
@@ -1414,7 +1414,7 @@ declare module "fs" {
      * @param mode
      * @param callback No arguments other than a possible exception are given to the completion callback.
      */
-    export function mkdirSync(path: string, mode?: number): void;
+	export function mkdirSync(path: string, mode?: number): void;
     /*
      * Synchronous mkdir - creates the directory specified in {path}.  Parameter {mode} defaults to 0777.
      *
@@ -1422,37 +1422,37 @@ declare module "fs" {
      * @param mode
      * @param callback No arguments other than a possible exception are given to the completion callback.
      */
-    export function mkdirSync(path: string, mode?: string): void;
-    export function readdir(path: string, callback?: (err: NodeJS.ErrnoException, files: string[]) => void): void;
-    export function readdirSync(path: string): string[];
-    export function close(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function closeSync(fd: number): void;
-    export function open(path: string, flags: string, callback?: (err: NodeJS.ErrnoException, fd: number) => any): void;
-    export function open(path: string, flags: string, mode: number, callback?: (err: NodeJS.ErrnoException, fd: number) => any): void;
-    export function open(path: string, flags: string, mode: string, callback?: (err: NodeJS.ErrnoException, fd: number) => any): void;
-    export function openSync(path: string, flags: string, mode?: number): number;
-    export function openSync(path: string, flags: string, mode?: string): number;
-    export function utimes(path: string, atime: number, mtime: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function utimes(path: string, atime: Date, mtime: Date, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function utimesSync(path: string, atime: number, mtime: number): void;
-    export function utimesSync(path: string, atime: Date, mtime: Date): void;
-    export function futimes(fd: number, atime: number, mtime: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function futimes(fd: number, atime: Date, mtime: Date, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function futimesSync(fd: number, atime: number, mtime: number): void;
-    export function futimesSync(fd: number, atime: Date, mtime: Date): void;
-    export function fsync(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function fsyncSync(fd: number): void;
-    export function fdatasync(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
-    export function fdatasyncSync(fd: number): void;
-    export function write(fd: number, buffer: Buffer, offset: number, length: number, position: number, callback?: (err: NodeJS.ErrnoException, written: number, buffer: Buffer) => void): void;
-    export function write(fd: number, buffer: Buffer, offset: number, length: number, callback?: (err: NodeJS.ErrnoException, written: number, buffer: Buffer) => void): void;
-    export function write(fd: number, data: any, callback?: (err: NodeJS.ErrnoException, written: number, str: string) => void): void;
-    export function write(fd: number, data: any, offset: number, callback?: (err: NodeJS.ErrnoException, written: number, str: string) => void): void;
-    export function write(fd: number, data: any, offset: number, encoding: string, callback?: (err: NodeJS.ErrnoException, written: number, str: string) => void): void;
-    export function writeSync(fd: number, buffer: Buffer, offset: number, length: number, position?: number): number;
-    export function writeSync(fd: number, data: any, position?: number, enconding?: string): number;
-    export function read(fd: number, buffer: Buffer, offset: number, length: number, position: number, callback?: (err: NodeJS.ErrnoException, bytesRead: number, buffer: Buffer) => void): void;
-    export function readSync(fd: number, buffer: Buffer, offset: number, length: number, position: number): number;
+	export function mkdirSync(path: string, mode?: string): void;
+	export function readdir(path: string, callback?: (err: NodeJS.ErrnoException, files: string[]) => void): void;
+	export function readdirSync(path: string): string[];
+	export function close(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function closeSync(fd: number): void;
+	export function open(path: string, flags: string, callback?: (err: NodeJS.ErrnoException, fd: number) => any): void;
+	export function open(path: string, flags: string, mode: number, callback?: (err: NodeJS.ErrnoException, fd: number) => any): void;
+	export function open(path: string, flags: string, mode: string, callback?: (err: NodeJS.ErrnoException, fd: number) => any): void;
+	export function openSync(path: string, flags: string, mode?: number): number;
+	export function openSync(path: string, flags: string, mode?: string): number;
+	export function utimes(path: string, atime: number, mtime: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function utimes(path: string, atime: Date, mtime: Date, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function utimesSync(path: string, atime: number, mtime: number): void;
+	export function utimesSync(path: string, atime: Date, mtime: Date): void;
+	export function futimes(fd: number, atime: number, mtime: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function futimes(fd: number, atime: Date, mtime: Date, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function futimesSync(fd: number, atime: number, mtime: number): void;
+	export function futimesSync(fd: number, atime: Date, mtime: Date): void;
+	export function fsync(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function fsyncSync(fd: number): void;
+	export function fdatasync(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
+	export function fdatasyncSync(fd: number): void;
+	export function write(fd: number, buffer: Buffer, offset: number, length: number, position: number, callback?: (err: NodeJS.ErrnoException, written: number, buffer: Buffer) => void): void;
+	export function write(fd: number, buffer: Buffer, offset: number, length: number, callback?: (err: NodeJS.ErrnoException, written: number, buffer: Buffer) => void): void;
+	export function write(fd: number, data: any, callback?: (err: NodeJS.ErrnoException, written: number, str: string) => void): void;
+	export function write(fd: number, data: any, offset: number, callback?: (err: NodeJS.ErrnoException, written: number, str: string) => void): void;
+	export function write(fd: number, data: any, offset: number, encoding: string, callback?: (err: NodeJS.ErrnoException, written: number, str: string) => void): void;
+	export function writeSync(fd: number, buffer: Buffer, offset: number, length: number, position?: number): number;
+	export function writeSync(fd: number, data: any, position?: number, enconding?: string): number;
+	export function read(fd: number, buffer: Buffer, offset: number, length: number, position: number, callback?: (err: NodeJS.ErrnoException, bytesRead: number, buffer: Buffer) => void): void;
+	export function readSync(fd: number, buffer: Buffer, offset: number, length: number, position: number): number;
     /*
      * Asynchronous readFile - Asynchronously reads the entire contents of a file.
      *
@@ -1460,7 +1460,7 @@ declare module "fs" {
      * @param encoding
      * @param callback - The callback is passed two arguments (err, data), where data is the contents of the file.
      */
-    export function readFile(filename: string, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void;
+	export function readFile(filename: string, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void;
     /*
      * Asynchronous readFile - Asynchronously reads the entire contents of a file.
      *
@@ -1468,7 +1468,7 @@ declare module "fs" {
      * @param options An object with optional {encoding} and {flag} properties.  If {encoding} is specified, readFile returns a string; otherwise it returns a Buffer.
      * @param callback - The callback is passed two arguments (err, data), where data is the contents of the file.
      */
-    export function readFile(filename: string, options: { encoding: string; flag?: string; }, callback: (err: NodeJS.ErrnoException, data: string) => void): void;
+	export function readFile(filename: string, options: { encoding: string; flag?: string; }, callback: (err: NodeJS.ErrnoException, data: string) => void): void;
     /*
      * Asynchronous readFile - Asynchronously reads the entire contents of a file.
      *
@@ -1476,78 +1476,78 @@ declare module "fs" {
      * @param options An object with optional {encoding} and {flag} properties.  If {encoding} is specified, readFile returns a string; otherwise it returns a Buffer.
      * @param callback - The callback is passed two arguments (err, data), where data is the contents of the file.
      */
-    export function readFile(filename: string, options: { flag?: string; }, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void;
+	export function readFile(filename: string, options: { flag?: string; }, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void;
     /*
      * Asynchronous readFile - Asynchronously reads the entire contents of a file.
      *
      * @param fileName
      * @param callback - The callback is passed two arguments (err, data), where data is the contents of the file.
      */
-    export function readFile(filename: string, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void;
+	export function readFile(filename: string, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void;
     /*
      * Synchronous readFile - Synchronously reads the entire contents of a file.
      *
      * @param fileName
      * @param encoding
      */
-    export function readFileSync(filename: string, encoding: string): string;
+	export function readFileSync(filename: string, encoding: string): string;
     /*
      * Synchronous readFile - Synchronously reads the entire contents of a file.
      *
      * @param fileName
      * @param options An object with optional {encoding} and {flag} properties.  If {encoding} is specified, readFileSync returns a string; otherwise it returns a Buffer.
      */
-    export function readFileSync(filename: string, options: { encoding: string; flag?: string; }): string;
+	export function readFileSync(filename: string, options: { encoding: string; flag?: string; }): string;
     /*
      * Synchronous readFile - Synchronously reads the entire contents of a file.
      *
      * @param fileName
      * @param options An object with optional {encoding} and {flag} properties.  If {encoding} is specified, readFileSync returns a string; otherwise it returns a Buffer.
      */
-    export function readFileSync(filename: string, options?: { flag?: string; }): Buffer;
-    export function writeFile(filename: string|number, data: any, callback?: (err: NodeJS.ErrnoException) => void): void;
-    export function writeFile(filename: string|number, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
-    export function writeFile(filename: string|number, data: any, options: { encoding?: string; mode?: string; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
-    export function writeFileSync(filename: string, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): void;
-    export function writeFileSync(filename: string, data: any, options?: { encoding?: string; mode?: string; flag?: string; }): void;
-    export function appendFile(filename: string, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
-    export function appendFile(filename: string, data: any, options: { encoding?: string; mode?: string; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
-    export function appendFile(filename: string, data: any, callback?: (err: NodeJS.ErrnoException) => void): void;
-    export function appendFileSync(filename: string, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): void;
-    export function appendFileSync(filename: string, data: any, options?: { encoding?: string; mode?: string; flag?: string; }): void;
-    export function watchFile(filename: string, listener: (curr: Stats, prev: Stats) => void): void;
-    export function watchFile(filename: string, options: { persistent?: boolean; interval?: number; }, listener: (curr: Stats, prev: Stats) => void): void;
-    export function unwatchFile(filename: string, listener?: (curr: Stats, prev: Stats) => void): void;
-    export function watch(filename: string, listener?: (event: string, filename: string) => any): FSWatcher;
-    export function watch(filename: string, options: { persistent?: boolean; }, listener?: (event: string, filename: string) => any): FSWatcher;
-    export function exists(path: string, callback?: (exists: boolean) => void): void;
-    export function existsSync(path: string): boolean;
-    /** Constant for fs.access(). File is visible to the calling process. */
-    export var F_OK: number;
-    /** Constant for fs.access(). File can be read by the calling process. */
-    export var R_OK: number;
-    /** Constant for fs.access(). File can be written by the calling process. */
-    export var W_OK: number;
-    /** Constant for fs.access(). File can be executed by the calling process. */
-    export var X_OK: number;
-    /** Tests a user's permissions for the file specified by path. */
-    export function access(path: string, callback: (err: NodeJS.ErrnoException) => void): void;
-    export function access(path: string, mode: number, callback: (err: NodeJS.ErrnoException) => void): void;
-    /** Synchronous version of fs.access. This throws if any accessibility checks fail, and does nothing otherwise. */
-    export function accessSync(path: string, mode ?: number): void;
-    export function createReadStream(path: string, options?: {
-        flags?: string;
-        encoding?: string;
-        fd?: number;
-        mode?: number;
-        autoClose?: boolean;
-    }): ReadStream;
-    export function createWriteStream(path: string, options?: {
-        flags?: string;
-        encoding?: string;
-        fd?: number;
-        mode?: number;
-    }): WriteStream;
+	export function readFileSync(filename: string, options?: { flag?: string; }): Buffer;
+	export function writeFile(filename: string | number, data: any, callback?: (err: NodeJS.ErrnoException) => void): void;
+	export function writeFile(filename: string | number, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
+	export function writeFile(filename: string | number, data: any, options: { encoding?: string; mode?: string; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
+	export function writeFileSync(filename: string, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): void;
+	export function writeFileSync(filename: string, data: any, options?: { encoding?: string; mode?: string; flag?: string; }): void;
+	export function appendFile(filename: string, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
+	export function appendFile(filename: string, data: any, options: { encoding?: string; mode?: string; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
+	export function appendFile(filename: string, data: any, callback?: (err: NodeJS.ErrnoException) => void): void;
+	export function appendFileSync(filename: string, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): void;
+	export function appendFileSync(filename: string, data: any, options?: { encoding?: string; mode?: string; flag?: string; }): void;
+	export function watchFile(filename: string, listener: (curr: Stats, prev: Stats) => void): void;
+	export function watchFile(filename: string, options: { persistent?: boolean; interval?: number; }, listener: (curr: Stats, prev: Stats) => void): void;
+	export function unwatchFile(filename: string, listener?: (curr: Stats, prev: Stats) => void): void;
+	export function watch(filename: string, listener?: (event: string, filename: string) => any): FSWatcher;
+	export function watch(filename: string, options: { persistent?: boolean; }, listener?: (event: string, filename: string) => any): FSWatcher;
+	export function exists(path: string, callback?: (exists: boolean) => void): void;
+	export function existsSync(path: string): boolean;
+	/** Constant for fs.access(). File is visible to the calling process. */
+	export var F_OK: number;
+	/** Constant for fs.access(). File can be read by the calling process. */
+	export var R_OK: number;
+	/** Constant for fs.access(). File can be written by the calling process. */
+	export var W_OK: number;
+	/** Constant for fs.access(). File can be executed by the calling process. */
+	export var X_OK: number;
+	/** Tests a user's permissions for the file specified by path. */
+	export function access(path: string, callback: (err: NodeJS.ErrnoException) => void): void;
+	export function access(path: string, mode: number, callback: (err: NodeJS.ErrnoException) => void): void;
+	/** Synchronous version of fs.access. This throws if any accessibility checks fail, and does nothing otherwise. */
+	export function accessSync(path: string, mode?: number): void;
+	export function createReadStream(path: string, options?: {
+		flags?: string;
+		encoding?: string;
+		fd?: number;
+		mode?: number;
+		autoClose?: boolean;
+	}): ReadStream;
+	export function createWriteStream(path: string, options?: {
+		flags?: string;
+		encoding?: string;
+		fd?: number;
+		mode?: number;
+	}): WriteStream;
 }
 
 declare module "path" {
@@ -1555,28 +1555,28 @@ declare module "path" {
     /**
      * A parsed path object generated by path.parse() or consumed by path.format().
      */
-    export interface ParsedPath {
+	export interface ParsedPath {
         /**
          * The root of the path such as '/' or 'c:\'
          */
-        root: string;
+		root: string;
         /**
          * The full directory path such as '/home/user/dir' or 'c:\path\dir'
          */
-        dir: string;
+		dir: string;
         /**
          * The file name including extension (if any) such as 'index.html'
          */
-        base: string;
+		base: string;
         /**
          * The file extension (if any) such as '.html'
          */
-        ext: string;
+		ext: string;
         /**
          * The file name without extension (if any) such as 'index'
          */
-        name: string;
-    }
+		name: string;
+	}
 
     /**
      * Normalize a string path, reducing '..' and '.' parts.
@@ -1584,21 +1584,21 @@ declare module "path" {
      *
      * @param p string path to normalize.
      */
-    export function normalize(p: string): string;
+	export function normalize(p: string): string;
     /**
      * Join all arguments together and normalize the resulting path.
      * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown.
      *
      * @param paths string paths to join.
      */
-    export function join(...paths: any[]): string;
+	export function join(...paths: any[]): string;
     /**
      * Join all arguments together and normalize the resulting path.
      * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown.
      *
      * @param paths string paths to join.
      */
-    export function join(...paths: string[]): string;
+	export function join(...paths: string[]): string;
     /**
      * The right-most parameter is considered {to}.  Other parameters are considered an array of {from}.
      *
@@ -1608,13 +1608,13 @@ declare module "path" {
      *
      * @param pathSegments string paths to join.  Non-string arguments are ignored.
      */
-    export function resolve(...pathSegments: any[]): string;
+	export function resolve(...pathSegments: any[]): string;
     /**
      * Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory.
      *
      * @param path path to test.
      */
-    export function isAbsolute(path: string): boolean;
+	export function isAbsolute(path: string): boolean;
     /**
      * Solve the relative path from {from} to {to}.
      * At times we have two absolute paths, and we need to derive the relative path from one to the other. This is actually the reverse transform of path.resolve.
@@ -1622,13 +1622,13 @@ declare module "path" {
      * @param from
      * @param to
      */
-    export function relative(from: string, to: string): string;
+	export function relative(from: string, to: string): string;
     /**
      * Return the directory name of a path. Similar to the Unix dirname command.
      *
      * @param p the path to evaluate.
      */
-    export function dirname(p: string): string;
+	export function dirname(p: string): string;
     /**
      * Return the last portion of a path. Similar to the Unix basename command.
      * Often used to extract the file name from a fully qualified path.
@@ -1636,677 +1636,679 @@ declare module "path" {
      * @param p the path to evaluate.
      * @param ext optionally, an extension to remove from the result.
      */
-    export function basename(p: string, ext?: string): string;
+	export function basename(p: string, ext?: string): string;
     /**
      * Return the extension of the path, from the last '.' to end of string in the last portion of the path.
      * If there is no '.' in the last portion of the path or the first character of it is '.', then it returns an empty string
      *
      * @param p the path to evaluate.
      */
-    export function extname(p: string): string;
+	export function extname(p: string): string;
     /**
      * The platform-specific file separator. '\\' or '/'.
      */
-    export var sep: string;
+	export var sep: string;
     /**
      * The platform-specific file delimiter. ';' or ':'.
      */
-    export var delimiter: string;
+	export var delimiter: string;
     /**
      * Returns an object from a path string - the opposite of format().
      *
      * @param pathString path to evaluate.
      */
-    export function parse(pathString: string): ParsedPath;
+	export function parse(pathString: string): ParsedPath;
     /**
      * Returns a path string from an object - the opposite of parse().
      *
      * @param pathString path to evaluate.
      */
-    export function format(pathObject: ParsedPath): string;
-
-    export module posix {
-      export function normalize(p: string): string;
-      export function join(...paths: any[]): string;
-      export function resolve(...pathSegments: any[]): string;
-      export function isAbsolute(p: string): boolean;
-      export function relative(from: string, to: string): string;
-      export function dirname(p: string): string;
-      export function basename(p: string, ext?: string): string;
-      export function extname(p: string): string;
-      export var sep: string;
-      export var delimiter: string;
-      export function parse(p: string): ParsedPath;
-      export function format(pP: ParsedPath): string;
-    }
-
-    export module win32 {
-      export function normalize(p: string): string;
-      export function join(...paths: any[]): string;
-      export function resolve(...pathSegments: any[]): string;
-      export function isAbsolute(p: string): boolean;
-      export function relative(from: string, to: string): string;
-      export function dirname(p: string): string;
-      export function basename(p: string, ext?: string): string;
-      export function extname(p: string): string;
-      export var sep: string;
-      export var delimiter: string;
-      export function parse(p: string): ParsedPath;
-      export function format(pP: ParsedPath): string;
-    }
+	export function format(pathObject: ParsedPath): string;
+
+	export module posix {
+		export function normalize(p: string): string;
+		export function join(...paths: any[]): string;
+		export function resolve(...pathSegments: any[]): string;
+		export function isAbsolute(p: string): boolean;
+		export function relative(from: string, to: string): string;
+		export function dirname(p: string): string;
+		export function basename(p: string, ext?: string): string;
+		export function extname(p: string): string;
+		export var sep: string;
+		export var delimiter: string;
+		export function parse(p: string): ParsedPath;
+		export function format(pP: ParsedPath): string;
+	}
+
+	export module win32 {
+		export function normalize(p: string): string;
+		export function join(...paths: any[]): string;
+		export function resolve(...pathSegments: any[]): string;
+		export function isAbsolute(p: string): boolean;
+		export function relative(from: string, to: string): string;
+		export function dirname(p: string): string;
+		export function basename(p: string, ext?: string): string;
+		export function extname(p: string): string;
+		export var sep: string;
+		export var delimiter: string;
+		export function parse(p: string): ParsedPath;
+		export function format(pP: ParsedPath): string;
+	}
 }
 
 declare module "string_decoder" {
-    export interface NodeStringDecoder {
-        write(buffer: Buffer): string;
-        detectIncompleteChar(buffer: Buffer): number;
-    }
-    export var StringDecoder: {
-        new (encoding: string): NodeStringDecoder;
-    };
+	export interface NodeStringDecoder {
+		write(buffer: Buffer): string;
+		detectIncompleteChar(buffer: Buffer): number;
+	}
+	export var StringDecoder: {
+		new (encoding: string): NodeStringDecoder;
+	};
 }
 
 declare module "tls" {
-    import * as crypto from "crypto";
-    import * as net from "net";
-    import * as stream from "stream";
-
-    var CLIENT_RENEG_LIMIT: number;
-    var CLIENT_RENEG_WINDOW: number;
-
-    export interface TlsOptions {
-        host?: string;
-        port?: number;
-        pfx?: any;   //string or buffer
-        key?: any;   //string or buffer
-        passphrase?: string;
-        cert?: any;
-        ca?: any;    //string or buffer
-        crl?: any;   //string or string array
-        ciphers?: string;
-        honorCipherOrder?: any;
-        requestCert?: boolean;
-        rejectUnauthorized?: boolean;
-        NPNProtocols?: any;  //array or Buffer;
-        SNICallback?: (servername: string) => any;
-    }
-
-    export interface ConnectionOptions {
-        host?: string;
-        port?: number;
-        socket?: net.Socket;
-        pfx?: any;   //string | Buffer
-        key?: any;   //string | Buffer
-        passphrase?: string;
-        cert?: any;  //string | Buffer
-        ca?: any;    //Array of string | Buffer
-        rejectUnauthorized?: boolean;
-        NPNProtocols?: any;  //Array of string | Buffer
-        servername?: string;
-    }
-
-    export interface Server extends net.Server {
-        close(): Server;
-        address(): { port: number; family: string; address: string; };
-        addContext(hostName: string, credentials: {
-            key: string;
-            cert: string;
-            ca: string;
-        }): void;
-        maxConnections: number;
-        connections: number;
-    }
-
-    export interface ClearTextStream extends stream.Duplex {
-        authorized: boolean;
-        authorizationError: Error;
-        getPeerCertificate(): any;
-        getCipher: {
-            name: string;
-            version: string;
-        };
-        address: {
-            port: number;
-            family: string;
-            address: string;
-        };
-        remoteAddress: string;
-        remotePort: number;
-    }
-
-    export interface SecurePair {
-        encrypted: any;
-        cleartext: any;
-    }
-
-    export interface SecureContextOptions {
-        pfx?: any;   //string | buffer
-        key?: any;   //string | buffer
-        passphrase?: string;
-        cert?: any;  // string | buffer
-        ca?: any;    // string | buffer
-        crl?: any;   // string | string[]
-        ciphers?: string;
-        honorCipherOrder?: boolean;
-    }
-
-    export interface SecureContext {
-        context: any;
-    }
-
-    export function createServer(options: TlsOptions, secureConnectionListener?: (cleartextStream: ClearTextStream) =>void ): Server;
-    export function connect(options: TlsOptions, secureConnectionListener?: () =>void ): ClearTextStream;
-    export function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () =>void ): ClearTextStream;
-    export function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () =>void ): ClearTextStream;
-    export function createSecurePair(credentials?: crypto.Credentials, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair;
-    export function createSecureContext(details: SecureContextOptions): SecureContext;
+	import * as crypto from "crypto";
+	import * as net from "net";
+	import * as stream from "stream";
+
+	var CLIENT_RENEG_LIMIT: number;
+	var CLIENT_RENEG_WINDOW: number;
+
+	export interface TlsOptions {
+		host?: string;
+		port?: number;
+		pfx?: any;   //string or buffer
+		key?: any;   //string or buffer
+		passphrase?: string;
+		cert?: any;
+		ca?: any;    //string or buffer
+		crl?: any;   //string or string array
+		ciphers?: string;
+		honorCipherOrder?: any;
+		requestCert?: boolean;
+		rejectUnauthorized?: boolean;
+		NPNProtocols?: any;  //array or Buffer;
+		SNICallback?: (servername: string) => any;
+	}
+
+	export interface ConnectionOptions {
+		host?: string;
+		port?: number;
+		socket?: net.Socket;
+		pfx?: any;   //string | Buffer
+		key?: any;   //string | Buffer
+		passphrase?: string;
+		cert?: any;  //string | Buffer
+		ca?: any;    //Array of string | Buffer
+		rejectUnauthorized?: boolean;
+		NPNProtocols?: any;  //Array of string | Buffer
+		servername?: string;
+	}
+
+	export interface Server extends net.Server {
+		close(): Server;
+		address(): { port: number; family: string; address: string; };
+		addContext(hostName: string, credentials: {
+			key: string;
+			cert: string;
+			ca: string;
+		}): void;
+		maxConnections: number;
+		connections: number;
+	}
+
+	export interface ClearTextStream extends stream.Duplex {
+		authorized: boolean;
+		authorizationError: Error;
+		getPeerCertificate(): any;
+		getCipher: {
+			name: string;
+			version: string;
+		};
+		address: {
+			port: number;
+			family: string;
+			address: string;
+		};
+		remoteAddress: string;
+		remotePort: number;
+	}
+
+	export interface SecurePair {
+		encrypted: any;
+		cleartext: any;
+	}
+
+	export interface SecureContextOptions {
+		pfx?: any;   //string | buffer
+		key?: any;   //string | buffer
+		passphrase?: string;
+		cert?: any;  // string | buffer
+		ca?: any;    // string | buffer
+		crl?: any;   // string | string[]
+		ciphers?: string;
+		honorCipherOrder?: boolean;
+	}
+
+	export interface SecureContext {
+		context: any;
+	}
+
+	export function createServer(options: TlsOptions, secureConnectionListener?: (cleartextStream: ClearTextStream) => void): Server;
+	export function connect(options: TlsOptions, secureConnectionListener?: () => void): ClearTextStream;
+	export function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () => void): ClearTextStream;
+	export function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () => void): ClearTextStream;
+	export function createSecurePair(credentials?: crypto.Credentials, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair;
+	export function createSecureContext(details: SecureContextOptions): SecureContext;
 }
 
 declare module "crypto" {
-    export interface CredentialDetails {
-        pfx: string;
-        key: string;
-        passphrase: string;
-        cert: string;
-        ca: any;    //string | string array
-        crl: any;   //string | string array
-        ciphers: string;
-    }
-    export interface Credentials { context?: any; }
-    export function createCredentials(details: CredentialDetails): Credentials;
-    export function createHash(algorithm: string): Hash;
-    export function createHmac(algorithm: string, key: string): Hmac;
-    export function createHmac(algorithm: string, key: Buffer): Hmac;
-    export interface Hash {
-        update(data: any, input_encoding?: string): Hash;
-        digest(encoding: 'buffer'): Buffer;
-        digest(encoding: string): any;
-        digest(): Buffer;
-    }
-    export interface Hmac extends NodeJS.ReadWriteStream {
-        update(data: any, input_encoding?: string): Hmac;
-        digest(encoding: 'buffer'): Buffer;
-        digest(encoding: string): any;
-        digest(): Buffer;
-    }
-    export function createCipher(algorithm: string, password: any): Cipher;
-    export function createCipheriv(algorithm: string, key: any, iv: any): Cipher;
-    export interface Cipher extends NodeJS.ReadWriteStream {
-        update(data: Buffer): Buffer;
-        update(data: string, input_encoding: "utf8"|"ascii"|"binary"): Buffer;
-        update(data: Buffer, input_encoding: any, output_encoding: "binary"|"base64"|"hex"): string;
-        update(data: string, input_encoding: "utf8"|"ascii"|"binary", output_encoding: "binary"|"base64"|"hex"): string;
-        final(): Buffer;
-        final(output_encoding: string): string;
-        setAutoPadding(auto_padding: boolean): void;
-        getAuthTag(): Buffer;
-    }
-    export function createDecipher(algorithm: string, password: any): Decipher;
-    export function createDecipheriv(algorithm: string, key: any, iv: any): Decipher;
-    export interface Decipher extends NodeJS.ReadWriteStream {
-        update(data: Buffer): Buffer;
-        update(data: string, input_encoding: "binary"|"base64"|"hex"): Buffer;
-        update(data: Buffer, input_encoding: any, output_encoding: "utf8"|"ascii"|"binary"): string;
-        update(data: string, input_encoding: "binary"|"base64"|"hex", output_encoding: "utf8"|"ascii"|"binary"): string;
-        final(): Buffer;
-        final(output_encoding: string): string;
-        setAutoPadding(auto_padding: boolean): void;
-        setAuthTag(tag: Buffer): void;
-    }
-    export function createSign(algorithm: string): Signer;
-    export interface Signer extends NodeJS.WritableStream {
-        update(data: any): void;
-        sign(private_key: string, output_format: string): string;
-    }
-    export function createVerify(algorith: string): Verify;
-    export interface Verify extends NodeJS.WritableStream {
-        update(data: any): void;
-        verify(object: string, signature: string, signature_format?: string): boolean;
-    }
-    export function createDiffieHellman(prime_length: number): DiffieHellman;
-    export function createDiffieHellman(prime: number, encoding?: string): DiffieHellman;
-    export interface DiffieHellman {
-        generateKeys(encoding?: string): string;
-        computeSecret(other_public_key: string, input_encoding?: string, output_encoding?: string): string;
-        getPrime(encoding?: string): string;
-        getGenerator(encoding: string): string;
-        getPublicKey(encoding?: string): string;
-        getPrivateKey(encoding?: string): string;
-        setPublicKey(public_key: string, encoding?: string): void;
-        setPrivateKey(public_key: string, encoding?: string): void;
-    }
-    export function getDiffieHellman(group_name: string): DiffieHellman;
-    export function pbkdf2(password: string|Buffer, salt: string|Buffer, iterations: number, keylen: number, callback: (err: Error, derivedKey: Buffer) => any): void;
-    export function pbkdf2(password: string|Buffer, salt: string|Buffer, iterations: number, keylen: number, digest: string, callback: (err: Error, derivedKey: Buffer) => any): void;
-    export function pbkdf2Sync(password: string|Buffer, salt: string|Buffer, iterations: number, keylen: number) : Buffer;
-    export function pbkdf2Sync(password: string|Buffer, salt: string|Buffer, iterations: number, keylen: number, digest: string) : Buffer;
-    export function randomBytes(size: number): Buffer;
-    export function randomBytes(size: number, callback: (err: Error, buf: Buffer) =>void ): void;
-    export function pseudoRandomBytes(size: number): Buffer;
-    export function pseudoRandomBytes(size: number, callback: (err: Error, buf: Buffer) =>void ): void;
-    export interface RsaPublicKey {
-        key: string;
-        padding?: any;
-    }
-    export interface RsaPrivateKey {
-        key: string;
-        passphrase?: string,
-        padding?: any;
-    }
-    export function publicEncrypt(public_key: string|RsaPublicKey, buffer: Buffer): Buffer
-    export function privateDecrypt(private_key: string|RsaPrivateKey, buffer: Buffer): Buffer
+	export interface CredentialDetails {
+		pfx: string;
+		key: string;
+		passphrase: string;
+		cert: string;
+		ca: any;    //string | string array
+		crl: any;   //string | string array
+		ciphers: string;
+	}
+	export interface Credentials { context?: any; }
+	export function createCredentials(details: CredentialDetails): Credentials;
+	export function createHash(algorithm: string): Hash;
+	export function createHmac(algorithm: string, key: string): Hmac;
+	export function createHmac(algorithm: string, key: Buffer): Hmac;
+	export interface Hash {
+		update(data: any, input_encoding?: string): Hash;
+		digest(encoding: 'buffer'): Buffer;
+		digest(encoding: string): any;
+		digest(): Buffer;
+	}
+	export interface Hmac extends NodeJS.ReadWriteStream {
+		update(data: any, input_encoding?: string): Hmac;
+		digest(encoding: 'buffer'): Buffer;
+		digest(encoding: string): any;
+		digest(): Buffer;
+	}
+	export function createCipher(algorithm: string, password: any): Cipher;
+	export function createCipheriv(algorithm: string, key: any, iv: any): Cipher;
+	export interface Cipher extends NodeJS.ReadWriteStream {
+		update(data: Buffer): Buffer;
+		update(data: string, input_encoding: "utf8" | "ascii" | "binary"): Buffer;
+		update(data: Buffer, input_encoding: any, output_encoding: "binary" | "base64" | "hex"): string;
+		update(data: string, input_encoding: "utf8" | "ascii" | "binary", output_encoding: "binary" | "base64" | "hex"): string;
+		final(): Buffer;
+		final(output_encoding: string): string;
+		setAutoPadding(auto_padding: boolean): void;
+		getAuthTag(): Buffer;
+	}
+	export function createDecipher(algorithm: string, password: any): Decipher;
+	export function createDecipheriv(algorithm: string, key: any, iv: any): Decipher;
+	export interface Decipher extends NodeJS.ReadWriteStream {
+		update(data: Buffer): Buffer;
+		update(data: string, input_encoding: "binary" | "base64" | "hex"): Buffer;
+		update(data: Buffer, input_encoding: any, output_encoding: "utf8" | "ascii" | "binary"): string;
+		update(data: string, input_encoding: "binary" | "base64" | "hex", output_encoding: "utf8" | "ascii" | "binary"): string;
+		final(): Buffer;
+		final(output_encoding: string): string;
+		setAutoPadding(auto_padding: boolean): void;
+		setAuthTag(tag: Buffer): void;
+	}
+	export function createSign(algorithm: string): Signer;
+	export interface Signer extends NodeJS.WritableStream {
+		update(data: any): void;
+		sign(private_key: string, output_format: string): string;
+	}
+	export function createVerify(algorith: string): Verify;
+	export interface Verify extends NodeJS.WritableStream {
+		update(data: any): void;
+		verify(object: string, signature: string, signature_format?: string): boolean;
+	}
+	export function createDiffieHellman(prime_length: number): DiffieHellman;
+	export function createDiffieHellman(prime: number, encoding?: string): DiffieHellman;
+	export interface DiffieHellman {
+		generateKeys(encoding?: string): string;
+		computeSecret(other_public_key: string, input_encoding?: string, output_encoding?: string): string;
+		getPrime(encoding?: string): string;
+		getGenerator(encoding: string): string;
+		getPublicKey(encoding?: string): string;
+		getPrivateKey(encoding?: string): string;
+		setPublicKey(public_key: string, encoding?: string): void;
+		setPrivateKey(public_key: string, encoding?: string): void;
+	}
+	export function getDiffieHellman(group_name: string): DiffieHellman;
+	export function pbkdf2(password: string | Buffer, salt: string | Buffer, iterations: number, keylen: number, callback: (err: Error, derivedKey: Buffer) => any): void;
+	export function pbkdf2(password: string | Buffer, salt: string | Buffer, iterations: number, keylen: number, digest: string, callback: (err: Error, derivedKey: Buffer) => any): void;
+	export function pbkdf2Sync(password: string | Buffer, salt: string | Buffer, iterations: number, keylen: number): Buffer;
+	export function pbkdf2Sync(password: string | Buffer, salt: string | Buffer, iterations: number, keylen: number, digest: string): Buffer;
+	export function randomBytes(size: number): Buffer;
+	export function randomBytes(size: number, callback: (err: Error, buf: Buffer) => void): void;
+	export function pseudoRandomBytes(size: number): Buffer;
+	export function pseudoRandomBytes(size: number, callback: (err: Error, buf: Buffer) => void): void;
+	export interface RsaPublicKey {
+		key: string;
+		padding?: any;
+	}
+	export interface RsaPrivateKey {
+		key: string;
+		passphrase?: string,
+		padding?: any;
+	}
+	export function publicEncrypt(public_key: string | RsaPublicKey, buffer: Buffer): Buffer
+	export function privateDecrypt(private_key: string | RsaPrivateKey, buffer: Buffer): Buffer
 }
 
 declare module "stream" {
-    import * as events from "events";
-
-    export class Stream extends events.EventEmitter {
-        pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T;
-    }
-
-    export interface ReadableOptions {
-        highWaterMark?: number;
-        encoding?: string;
-        objectMode?: boolean;
-    }
-
-    export class Readable extends events.EventEmitter implements NodeJS.ReadableStream {
-        readable: boolean;
-        constructor(opts?: ReadableOptions);
-        _read(size: number): void;
-        read(size?: number): any;
-        setEncoding(encoding: string): void;
-        pause(): void;
-        resume(): void;
-        destroy(): void;
-        pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T;
-        unpipe<T extends NodeJS.WritableStream>(destination?: T): void;
-        unshift(chunk: any): void;
-        wrap(oldStream: NodeJS.ReadableStream): NodeJS.ReadableStream;
-        push(chunk: any, encoding?: string): boolean;
-    }
-
-    export interface WritableOptions {
-        highWaterMark?: number;
-        decodeStrings?: boolean;
-        objectMode?: boolean;
-    }
-
-    export class Writable extends events.EventEmitter implements NodeJS.WritableStream {
-        writable: boolean;
-        constructor(opts?: WritableOptions);
-        _write(chunk: any, encoding: string, callback: Function): void;
-        write(chunk: any, cb?: Function): boolean;
-        write(chunk: any, encoding?: string, cb?: Function): boolean;
-        end(): void;
-        end(chunk: any, cb?: Function): void;
-        end(chunk: any, encoding?: string, cb?: Function): void;
-    }
-
-    export interface DuplexOptions extends ReadableOptions, WritableOptions {
-        allowHalfOpen?: boolean;
-    }
-
-    // Note: Duplex extends both Readable and Writable.
-    export class Duplex extends Readable implements NodeJS.ReadWriteStream {
-        writable: boolean;
-        constructor(opts?: DuplexOptions);
-        _write(chunk: any, encoding: string, callback: Function): void;
-        write(chunk: any, cb?: Function): boolean;
-        write(chunk: any, encoding?: string, cb?: Function): boolean;
-        end(): void;
-        end(chunk: any, cb?: Function): void;
-        end(chunk: any, encoding?: string, cb?: Function): void;
-    }
-
-    export interface TransformOptions extends ReadableOptions, WritableOptions {}
-
-    // Note: Transform lacks the _read and _write methods of Readable/Writable.
-    export class Transform extends events.EventEmitter implements NodeJS.ReadWriteStream {
-        readable: boolean;
-        writable: boolean;
-        constructor(opts?: TransformOptions);
-        _transform(chunk: any, encoding: string, callback: Function): void;
-        _flush(callback: Function): void;
-        read(size?: number): any;
-        setEncoding(encoding: string): void;
-        pause(): void;
-        resume(): void;
-        pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T;
-        unpipe<T extends NodeJS.WritableStream>(destination?: T): void;
-        unshift(chunk: any): void;
-        wrap(oldStream: NodeJS.ReadableStream): NodeJS.ReadableStream;
-        push(chunk: any, encoding?: string): boolean;
-        write(chunk: any, cb?: Function): boolean;
-        write(chunk: any, encoding?: string, cb?: Function): boolean;
-        end(): void;
-        end(chunk: any, cb?: Function): void;
-        end(chunk: any, encoding?: string, cb?: Function): void;
-    }
-
-    export class PassThrough extends Transform {}
+	import * as events from "events";
+
+	export class Stream extends events.EventEmitter {
+		pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T;
+	}
+
+	export interface ReadableOptions {
+		highWaterMark?: number;
+		encoding?: string;
+		objectMode?: boolean;
+	}
+
+	export class Readable extends events.EventEmitter implements NodeJS.ReadableStream {
+		readable: boolean;
+		constructor(opts?: ReadableOptions);
+		_read(size: number): void;
+		read(size?: number): any;
+		setEncoding(encoding: string): void;
+		pause(): void;
+		resume(): void;
+		destroy(): void;
+		pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T;
+		unpipe<T extends NodeJS.WritableStream>(destination?: T): void;
+		unshift(chunk: any): void;
+		wrap(oldStream: NodeJS.ReadableStream): NodeJS.ReadableStream;
+		push(chunk: any, encoding?: string): boolean;
+	}
+
+	export interface WritableOptions {
+		highWaterMark?: number;
+		decodeStrings?: boolean;
+		objectMode?: boolean;
+	}
+
+	export class Writable extends events.EventEmitter implements NodeJS.WritableStream {
+		writable: boolean;
+		constructor(opts?: WritableOptions);
+		_write(chunk: any, encoding: string, callback: Function): void;
+		write(chunk: any, cb?: Function): boolean;
+		write(chunk: any, encoding?: string, cb?: Function): boolean;
+		end(): void;
+		end(chunk: any, cb?: Function): void;
+		end(chunk: any, encoding?: string, cb?: Function): void;
+	}
+
+	export interface DuplexOptions extends ReadableOptions, WritableOptions {
+		allowHalfOpen?: boolean;
+	}
+
+	// Note: Duplex extends both Readable and Writable.
+	export class Duplex extends Readable implements NodeJS.ReadWriteStream {
+		writable: boolean;
+		constructor(opts?: DuplexOptions);
+		_write(chunk: any, encoding: string, callback: Function): void;
+		write(chunk: any, cb?: Function): boolean;
+		write(chunk: any, encoding?: string, cb?: Function): boolean;
+		end(): void;
+		end(chunk: any, cb?: Function): void;
+		end(chunk: any, encoding?: string, cb?: Function): void;
+	}
+
+	export interface TransformOptions extends ReadableOptions, WritableOptions { }
+
+	// Note: Transform lacks the _read and _write methods of Readable/Writable.
+	export class Transform extends events.EventEmitter implements NodeJS.ReadWriteStream {
+		readable: boolean;
+		writable: boolean;
+		constructor(opts?: TransformOptions);
+		_transform(chunk: any, encoding: string, callback: Function): void;
+		_flush(callback: Function): void;
+		read(size?: number): any;
+		setEncoding(encoding: string): void;
+		pause(): void;
+		resume(): void;
+		pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T;
+		unpipe<T extends NodeJS.WritableStream>(destination?: T): void;
+		unshift(chunk: any): void;
+		wrap(oldStream: NodeJS.ReadableStream): NodeJS.ReadableStream;
+		push(chunk: any, encoding?: string): boolean;
+		write(chunk: any, cb?: Function): boolean;
+		write(chunk: any, encoding?: string, cb?: Function): boolean;
+		end(): void;
+		end(chunk: any, cb?: Function): void;
+		end(chunk: any, encoding?: string, cb?: Function): void;
+	}
+
+	export class PassThrough extends Transform { }
 }
 
 declare module "util" {
-    export interface InspectOptions {
-        showHidden?: boolean;
-        depth?: number;
-        colors?: boolean;
-        customInspect?: boolean;
-    }
-
-    export function format(format: any, ...param: any[]): string;
-    export function debug(string: string): void;
-    export function error(...param: any[]): void;
-    export function puts(...param: any[]): void;
-    export function print(...param: any[]): void;
-    export function log(string: string): void;
-    export function inspect(object: any, showHidden?: boolean, depth?: number, color?: boolean): string;
-    export function inspect(object: any, options: InspectOptions): string;
-    export function isArray(object: any): boolean;
-    export function isRegExp(object: any): boolean;
-    export function isDate(object: any): boolean;
-    export function isError(object: any): boolean;
-    export function inherits(constructor: any, superConstructor: any): void;
-    export function debuglog(key:string): (msg:string,...param: any[])=>void;
+	export interface InspectOptions {
+		showHidden?: boolean;
+		depth?: number;
+		colors?: boolean;
+		customInspect?: boolean;
+	}
+
+	export function format(format: any, ...param: any[]): string;
+	export function debug(string: string): void;
+	export function error(...param: any[]): void;
+	export function puts(...param: any[]): void;
+	export function print(...param: any[]): void;
+	export function log(string: string): void;
+	export function inspect(object: any, showHidden?: boolean, depth?: number, color?: boolean): string;
+	export function inspect(object: any, options: InspectOptions): string;
+	export function isArray(object: any): boolean;
+	export function isRegExp(object: any): boolean;
+	export function isDate(object: any): boolean;
+	export function isError(object: any): boolean;
+	export function inherits(constructor: any, superConstructor: any): void;
+	export function debuglog(key: string): (msg: string, ...param: any[]) => void;
 }
 
 declare module "assert" {
-    function internal (value: any, message?: string): void;
-    namespace internal {
-        export class AssertionError implements Error {
-            name: string;
-            message: string;
-            actual: any;
-            expected: any;
-            operator: string;
-            generatedMessage: boolean;
-
-            constructor(options?: {message?: string; actual?: any; expected?: any;
-                                  operator?: string; stackStartFunction?: Function});
-        }
-
-        export function fail(actual?: any, expected?: any, message?: string, operator?: string): void;
-        export function ok(value: any, message?: string): void;
-        export function equal(actual: any, expected: any, message?: string): void;
-        export function notEqual(actual: any, expected: any, message?: string): void;
-        export function deepEqual(actual: any, expected: any, message?: string): void;
-        export function notDeepEqual(acutal: any, expected: any, message?: string): void;
-        export function strictEqual(actual: any, expected: any, message?: string): void;
-        export function notStrictEqual(actual: any, expected: any, message?: string): void;
-        export function deepStrictEqual(actual: any, expected: any, message?: string): void;
-        export function notDeepStrictEqual(actual: any, expected: any, message?: string): void;
-        export var throws: {
-            (block: Function, message?: string): void;
-            (block: Function, error: Function, message?: string): void;
-            (block: Function, error: RegExp, message?: string): void;
-            (block: Function, error: (err: any) => boolean, message?: string): void;
-        };
-
-        export var doesNotThrow: {
-            (block: Function, message?: string): void;
-            (block: Function, error: Function, message?: string): void;
-            (block: Function, error: RegExp, message?: string): void;
-            (block: Function, error: (err: any) => boolean, message?: string): void;
-        };
-
-        export function ifError(value: any): void;
-    }
-
-    export = internal;
+	function internal(value: any, message?: string): void;
+	namespace internal {
+		export class AssertionError implements Error {
+			name: string;
+			message: string;
+			actual: any;
+			expected: any;
+			operator: string;
+			generatedMessage: boolean;
+
+			constructor(options?: {
+				message?: string; actual?: any; expected?: any;
+				operator?: string; stackStartFunction?: Function
+			});
+		}
+
+		export function fail(actual?: any, expected?: any, message?: string, operator?: string): void;
+		export function ok(value: any, message?: string): void;
+		export function equal(actual: any, expected: any, message?: string): void;
+		export function notEqual(actual: any, expected: any, message?: string): void;
+		export function deepEqual(actual: any, expected: any, message?: string): void;
+		export function notDeepEqual(acutal: any, expected: any, message?: string): void;
+		export function strictEqual(actual: any, expected: any, message?: string): void;
+		export function notStrictEqual(actual: any, expected: any, message?: string): void;
+		export function deepStrictEqual(actual: any, expected: any, message?: string): void;
+		export function notDeepStrictEqual(actual: any, expected: any, message?: string): void;
+		export var throws: {
+			(block: Function, message?: string): void;
+			(block: Function, error: Function, message?: string): void;
+			(block: Function, error: RegExp, message?: string): void;
+			(block: Function, error: (err: any) => boolean, message?: string): void;
+		};
+
+		export var doesNotThrow: {
+			(block: Function, message?: string): void;
+			(block: Function, error: Function, message?: string): void;
+			(block: Function, error: RegExp, message?: string): void;
+			(block: Function, error: (err: any) => boolean, message?: string): void;
+		};
+
+		export function ifError(value: any): void;
+	}
+
+	export = internal;
 }
 
 declare module "tty" {
-    import * as net from "net";
-
-    export function isatty(fd: number): boolean;
-    export interface ReadStream extends net.Socket {
-        isRaw: boolean;
-        setRawMode(mode: boolean): void;
-        isTTY: boolean;
-    }
-    export interface WriteStream extends net.Socket {
-        columns: number;
-        rows: number;
-        isTTY: boolean;
-    }
+	import * as net from "net";
+
+	export function isatty(fd: number): boolean;
+	export interface ReadStream extends net.Socket {
+		isRaw: boolean;
+		setRawMode(mode: boolean): void;
+		isTTY: boolean;
+	}
+	export interface WriteStream extends net.Socket {
+		columns: number;
+		rows: number;
+		isTTY: boolean;
+	}
 }
 
 declare module "domain" {
-    import * as events from "events";
-
-    export class Domain extends events.EventEmitter implements NodeJS.Domain {
-        run(fn: Function): void;
-        add(emitter: events.EventEmitter): void;
-        remove(emitter: events.EventEmitter): void;
-        bind(cb: (err: Error, data: any) => any): any;
-        intercept(cb: (data: any) => any): any;
-        dispose(): void;
-    }
-
-    export function create(): Domain;
+	import * as events from "events";
+
+	export class Domain extends events.EventEmitter implements NodeJS.Domain {
+		run(fn: Function): void;
+		add(emitter: events.EventEmitter): void;
+		remove(emitter: events.EventEmitter): void;
+		bind(cb: (err: Error, data: any) => any): any;
+		intercept(cb: (data: any) => any): any;
+		dispose(): void;
+	}
+
+	export function create(): Domain;
 }
 
 declare module "constants" {
-    export var E2BIG: number;
-    export var EACCES: number;
-    export var EADDRINUSE: number;
-    export var EADDRNOTAVAIL: number;
-    export var EAFNOSUPPORT: number;
-    export var EAGAIN: number;
-    export var EALREADY: number;
-    export var EBADF: number;
-    export var EBADMSG: number;
-    export var EBUSY: number;
-    export var ECANCELED: number;
-    export var ECHILD: number;
-    export var ECONNABORTED: number;
-    export var ECONNREFUSED: number;
-    export var ECONNRESET: number;
-    export var EDEADLK: number;
-    export var EDESTADDRREQ: number;
-    export var EDOM: number;
-    export var EEXIST: number;
-    export var EFAULT: number;
-    export var EFBIG: number;
-    export var EHOSTUNREACH: number;
-    export var EIDRM: number;
-    export var EILSEQ: number;
-    export var EINPROGRESS: number;
-    export var EINTR: number;
-    export var EINVAL: number;
-    export var EIO: number;
-    export var EISCONN: number;
-    export var EISDIR: number;
-    export var ELOOP: number;
-    export var EMFILE: number;
-    export var EMLINK: number;
-    export var EMSGSIZE: number;
-    export var ENAMETOOLONG: number;
-    export var ENETDOWN: number;
-    export var ENETRESET: number;
-    export var ENETUNREACH: number;
-    export var ENFILE: number;
-    export var ENOBUFS: number;
-    export var ENODATA: number;
-    export var ENODEV: number;
-    export var ENOENT: number;
-    export var ENOEXEC: number;
-    export var ENOLCK: number;
-    export var ENOLINK: number;
-    export var ENOMEM: number;
-    export var ENOMSG: number;
-    export var ENOPROTOOPT: number;
-    export var ENOSPC: number;
-    export var ENOSR: number;
-    export var ENOSTR: number;
-    export var ENOSYS: number;
-    export var ENOTCONN: number;
-    export var ENOTDIR: number;
-    export var ENOTEMPTY: number;
-    export var ENOTSOCK: number;
-    export var ENOTSUP: number;
-    export var ENOTTY: number;
-    export var ENXIO: number;
-    export var EOPNOTSUPP: number;
-    export var EOVERFLOW: number;
-    export var EPERM: number;
-    export var EPIPE: number;
-    export var EPROTO: number;
-    export var EPROTONOSUPPORT: number;
-    export var EPROTOTYPE: number;
-    export var ERANGE: number;
-    export var EROFS: number;
-    export var ESPIPE: number;
-    export var ESRCH: number;
-    export var ETIME: number;
-    export var ETIMEDOUT: number;
-    export var ETXTBSY: number;
-    export var EWOULDBLOCK: number;
-    export var EXDEV: number;
-    export var WSAEINTR: number;
-    export var WSAEBADF: number;
-    export var WSAEACCES: number;
-    export var WSAEFAULT: number;
-    export var WSAEINVAL: number;
-    export var WSAEMFILE: number;
-    export var WSAEWOULDBLOCK: number;
-    export var WSAEINPROGRESS: number;
-    export var WSAEALREADY: number;
-    export var WSAENOTSOCK: number;
-    export var WSAEDESTADDRREQ: number;
-    export var WSAEMSGSIZE: number;
-    export var WSAEPROTOTYPE: number;
-    export var WSAENOPROTOOPT: number;
-    export var WSAEPROTONOSUPPORT: number;
-    export var WSAESOCKTNOSUPPORT: number;
-    export var WSAEOPNOTSUPP: number;
-    export var WSAEPFNOSUPPORT: number;
-    export var WSAEAFNOSUPPORT: number;
-    export var WSAEADDRINUSE: number;
-    export var WSAEADDRNOTAVAIL: number;
-    export var WSAENETDOWN: number;
-    export var WSAENETUNREACH: number;
-    export var WSAENETRESET: number;
-    export var WSAECONNABORTED: number;
-    export var WSAECONNRESET: number;
-    export var WSAENOBUFS: number;
-    export var WSAEISCONN: number;
-    export var WSAENOTCONN: number;
-    export var WSAESHUTDOWN: number;
-    export var WSAETOOMANYREFS: number;
-    export var WSAETIMEDOUT: number;
-    export var WSAECONNREFUSED: number;
-    export var WSAELOOP: number;
-    export var WSAENAMETOOLONG: number;
-    export var WSAEHOSTDOWN: number;
-    export var WSAEHOSTUNREACH: number;
-    export var WSAENOTEMPTY: number;
-    export var WSAEPROCLIM: number;
-    export var WSAEUSERS: number;
-    export var WSAEDQUOT: number;
-    export var WSAESTALE: number;
-    export var WSAEREMOTE: number;
-    export var WSASYSNOTREADY: number;
-    export var WSAVERNOTSUPPORTED: number;
-    export var WSANOTINITIALISED: number;
-    export var WSAEDISCON: number;
-    export var WSAENOMORE: number;
-    export var WSAECANCELLED: number;
-    export var WSAEINVALIDPROCTABLE: number;
-    export var WSAEINVALIDPROVIDER: number;
-    export var WSAEPROVIDERFAILEDINIT: number;
-    export var WSASYSCALLFAILURE: number;
-    export var WSASERVICE_NOT_FOUND: number;
-    export var WSATYPE_NOT_FOUND: number;
-    export var WSA_E_NO_MORE: number;
-    export var WSA_E_CANCELLED: number;
-    export var WSAEREFUSED: number;
-    export var SIGHUP: number;
-    export var SIGINT: number;
-    export var SIGILL: number;
-    export var SIGABRT: number;
-    export var SIGFPE: number;
-    export var SIGKILL: number;
-    export var SIGSEGV: number;
-    export var SIGTERM: number;
-    export var SIGBREAK: number;
-    export var SIGWINCH: number;
-    export var SSL_OP_ALL: number;
-    export var SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number;
-    export var SSL_OP_CIPHER_SERVER_PREFERENCE: number;
-    export var SSL_OP_CISCO_ANYCONNECT: number;
-    export var SSL_OP_COOKIE_EXCHANGE: number;
-    export var SSL_OP_CRYPTOPRO_TLSEXT_BUG: number;
-    export var SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number;
-    export var SSL_OP_EPHEMERAL_RSA: number;
-    export var SSL_OP_LEGACY_SERVER_CONNECT: number;
-    export var SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number;
-    export var SSL_OP_MICROSOFT_SESS_ID_BUG: number;
-    export var SSL_OP_MSIE_SSLV2_RSA_PADDING: number;
-    export var SSL_OP_NETSCAPE_CA_DN_BUG: number;
-    export var SSL_OP_NETSCAPE_CHALLENGE_BUG: number;
-    export var SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number;
-    export var SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number;
-    export var SSL_OP_NO_COMPRESSION: number;
-    export var SSL_OP_NO_QUERY_MTU: number;
-    export var SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number;
-    export var SSL_OP_NO_SSLv2: number;
-    export var SSL_OP_NO_SSLv3: number;
-    export var SSL_OP_NO_TICKET: number;
-    export var SSL_OP_NO_TLSv1: number;
-    export var SSL_OP_NO_TLSv1_1: number;
-    export var SSL_OP_NO_TLSv1_2: number;
-    export var SSL_OP_PKCS1_CHECK_1: number;
-    export var SSL_OP_PKCS1_CHECK_2: number;
-    export var SSL_OP_SINGLE_DH_USE: number;
-    export var SSL_OP_SINGLE_ECDH_USE: number;
-    export var SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number;
-    export var SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number;
-    export var SSL_OP_TLS_BLOCK_PADDING_BUG: number;
-    export var SSL_OP_TLS_D5_BUG: number;
-    export var SSL_OP_TLS_ROLLBACK_BUG: number;
-    export var ENGINE_METHOD_DSA: number;
-    export var ENGINE_METHOD_DH: number;
-    export var ENGINE_METHOD_RAND: number;
-    export var ENGINE_METHOD_ECDH: number;
-    export var ENGINE_METHOD_ECDSA: number;
-    export var ENGINE_METHOD_CIPHERS: number;
-    export var ENGINE_METHOD_DIGESTS: number;
-    export var ENGINE_METHOD_STORE: number;
-    export var ENGINE_METHOD_PKEY_METHS: number;
-    export var ENGINE_METHOD_PKEY_ASN1_METHS: number;
-    export var ENGINE_METHOD_ALL: number;
-    export var ENGINE_METHOD_NONE: number;
-    export var DH_CHECK_P_NOT_SAFE_PRIME: number;
-    export var DH_CHECK_P_NOT_PRIME: number;
-    export var DH_UNABLE_TO_CHECK_GENERATOR: number;
-    export var DH_NOT_SUITABLE_GENERATOR: number;
-    export var NPN_ENABLED: number;
-    export var RSA_PKCS1_PADDING: number;
-    export var RSA_SSLV23_PADDING: number;
-    export var RSA_NO_PADDING: number;
-    export var RSA_PKCS1_OAEP_PADDING: number;
-    export var RSA_X931_PADDING: number;
-    export var RSA_PKCS1_PSS_PADDING: number;
-    export var POINT_CONVERSION_COMPRESSED: number;
-    export var POINT_CONVERSION_UNCOMPRESSED: number;
-    export var POINT_CONVERSION_HYBRID: number;
-    export var O_RDONLY: number;
-    export var O_WRONLY: number;
-    export var O_RDWR: number;
-    export var S_IFMT: number;
-    export var S_IFREG: number;
-    export var S_IFDIR: number;
-    export var S_IFCHR: number;
-    export var S_IFLNK: number;
-    export var O_CREAT: number;
-    export var O_EXCL: number;
-    export var O_TRUNC: number;
-    export var O_APPEND: number;
-    export var F_OK: number;
-    export var R_OK: number;
-    export var W_OK: number;
-    export var X_OK: number;
-    export var UV_UDP_REUSEADDR: number;
+	export var E2BIG: number;
+	export var EACCES: number;
+	export var EADDRINUSE: number;
+	export var EADDRNOTAVAIL: number;
+	export var EAFNOSUPPORT: number;
+	export var EAGAIN: number;
+	export var EALREADY: number;
+	export var EBADF: number;
+	export var EBADMSG: number;
+	export var EBUSY: number;
+	export var ECANCELED: number;
+	export var ECHILD: number;
+	export var ECONNABORTED: number;
+	export var ECONNREFUSED: number;
+	export var ECONNRESET: number;
+	export var EDEADLK: number;
+	export var EDESTADDRREQ: number;
+	export var EDOM: number;
+	export var EEXIST: number;
+	export var EFAULT: number;
+	export var EFBIG: number;
+	export var EHOSTUNREACH: number;
+	export var EIDRM: number;
+	export var EILSEQ: number;
+	export var EINPROGRESS: number;
+	export var EINTR: number;
+	export var EINVAL: number;
+	export var EIO: number;
+	export var EISCONN: number;
+	export var EISDIR: number;
+	export var ELOOP: number;
+	export var EMFILE: number;
+	export var EMLINK: number;
+	export var EMSGSIZE: number;
+	export var ENAMETOOLONG: number;
+	export var ENETDOWN: number;
+	export var ENETRESET: number;
+	export var ENETUNREACH: number;
+	export var ENFILE: number;
+	export var ENOBUFS: number;
+	export var ENODATA: number;
+	export var ENODEV: number;
+	export var ENOENT: number;
+	export var ENOEXEC: number;
+	export var ENOLCK: number;
+	export var ENOLINK: number;
+	export var ENOMEM: number;
+	export var ENOMSG: number;
+	export var ENOPROTOOPT: number;
+	export var ENOSPC: number;
+	export var ENOSR: number;
+	export var ENOSTR: number;
+	export var ENOSYS: number;
+	export var ENOTCONN: number;
+	export var ENOTDIR: number;
+	export var ENOTEMPTY: number;
+	export var ENOTSOCK: number;
+	export var ENOTSUP: number;
+	export var ENOTTY: number;
+	export var ENXIO: number;
+	export var EOPNOTSUPP: number;
+	export var EOVERFLOW: number;
+	export var EPERM: number;
+	export var EPIPE: number;
+	export var EPROTO: number;
+	export var EPROTONOSUPPORT: number;
+	export var EPROTOTYPE: number;
+	export var ERANGE: number;
+	export var EROFS: number;
+	export var ESPIPE: number;
+	export var ESRCH: number;
+	export var ETIME: number;
+	export var ETIMEDOUT: number;
+	export var ETXTBSY: number;
+	export var EWOULDBLOCK: number;
+	export var EXDEV: number;
+	export var WSAEINTR: number;
+	export var WSAEBADF: number;
+	export var WSAEACCES: number;
+	export var WSAEFAULT: number;
+	export var WSAEINVAL: number;
+	export var WSAEMFILE: number;
+	export var WSAEWOULDBLOCK: number;
+	export var WSAEINPROGRESS: number;
+	export var WSAEALREADY: number;
+	export var WSAENOTSOCK: number;
+	export var WSAEDESTADDRREQ: number;
+	export var WSAEMSGSIZE: number;
+	export var WSAEPROTOTYPE: number;
+	export var WSAENOPROTOOPT: number;
+	export var WSAEPROTONOSUPPORT: number;
+	export var WSAESOCKTNOSUPPORT: number;
+	export var WSAEOPNOTSUPP: number;
+	export var WSAEPFNOSUPPORT: number;
+	export var WSAEAFNOSUPPORT: number;
+	export var WSAEADDRINUSE: number;
+	export var WSAEADDRNOTAVAIL: number;
+	export var WSAENETDOWN: number;
+	export var WSAENETUNREACH: number;
+	export var WSAENETRESET: number;
+	export var WSAECONNABORTED: number;
+	export var WSAECONNRESET: number;
+	export var WSAENOBUFS: number;
+	export var WSAEISCONN: number;
+	export var WSAENOTCONN: number;
+	export var WSAESHUTDOWN: number;
+	export var WSAETOOMANYREFS: number;
+	export var WSAETIMEDOUT: number;
+	export var WSAECONNREFUSED: number;
+	export var WSAELOOP: number;
+	export var WSAENAMETOOLONG: number;
+	export var WSAEHOSTDOWN: number;
+	export var WSAEHOSTUNREACH: number;
+	export var WSAENOTEMPTY: number;
+	export var WSAEPROCLIM: number;
+	export var WSAEUSERS: number;
+	export var WSAEDQUOT: number;
+	export var WSAESTALE: number;
+	export var WSAEREMOTE: number;
+	export var WSASYSNOTREADY: number;
+	export var WSAVERNOTSUPPORTED: number;
+	export var WSANOTINITIALISED: number;
+	export var WSAEDISCON: number;
+	export var WSAENOMORE: number;
+	export var WSAECANCELLED: number;
+	export var WSAEINVALIDPROCTABLE: number;
+	export var WSAEINVALIDPROVIDER: number;
+	export var WSAEPROVIDERFAILEDINIT: number;
+	export var WSASYSCALLFAILURE: number;
+	export var WSASERVICE_NOT_FOUND: number;
+	export var WSATYPE_NOT_FOUND: number;
+	export var WSA_E_NO_MORE: number;
+	export var WSA_E_CANCELLED: number;
+	export var WSAEREFUSED: number;
+	export var SIGHUP: number;
+	export var SIGINT: number;
+	export var SIGILL: number;
+	export var SIGABRT: number;
+	export var SIGFPE: number;
+	export var SIGKILL: number;
+	export var SIGSEGV: number;
+	export var SIGTERM: number;
+	export var SIGBREAK: number;
+	export var SIGWINCH: number;
+	export var SSL_OP_ALL: number;
+	export var SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number;
+	export var SSL_OP_CIPHER_SERVER_PREFERENCE: number;
+	export var SSL_OP_CISCO_ANYCONNECT: number;
+	export var SSL_OP_COOKIE_EXCHANGE: number;
+	export var SSL_OP_CRYPTOPRO_TLSEXT_BUG: number;
+	export var SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number;
+	export var SSL_OP_EPHEMERAL_RSA: number;
+	export var SSL_OP_LEGACY_SERVER_CONNECT: number;
+	export var SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number;
+	export var SSL_OP_MICROSOFT_SESS_ID_BUG: number;
+	export var SSL_OP_MSIE_SSLV2_RSA_PADDING: number;
+	export var SSL_OP_NETSCAPE_CA_DN_BUG: number;
+	export var SSL_OP_NETSCAPE_CHALLENGE_BUG: number;
+	export var SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number;
+	export var SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number;
+	export var SSL_OP_NO_COMPRESSION: number;
+	export var SSL_OP_NO_QUERY_MTU: number;
+	export var SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number;
+	export var SSL_OP_NO_SSLv2: number;
+	export var SSL_OP_NO_SSLv3: number;
+	export var SSL_OP_NO_TICKET: number;
+	export var SSL_OP_NO_TLSv1: number;
+	export var SSL_OP_NO_TLSv1_1: number;
+	export var SSL_OP_NO_TLSv1_2: number;
+	export var SSL_OP_PKCS1_CHECK_1: number;
+	export var SSL_OP_PKCS1_CHECK_2: number;
+	export var SSL_OP_SINGLE_DH_USE: number;
+	export var SSL_OP_SINGLE_ECDH_USE: number;
+	export var SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number;
+	export var SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number;
+	export var SSL_OP_TLS_BLOCK_PADDING_BUG: number;
+	export var SSL_OP_TLS_D5_BUG: number;
+	export var SSL_OP_TLS_ROLLBACK_BUG: number;
+	export var ENGINE_METHOD_DSA: number;
+	export var ENGINE_METHOD_DH: number;
+	export var ENGINE_METHOD_RAND: number;
+	export var ENGINE_METHOD_ECDH: number;
+	export var ENGINE_METHOD_ECDSA: number;
+	export var ENGINE_METHOD_CIPHERS: number;
+	export var ENGINE_METHOD_DIGESTS: number;
+	export var ENGINE_METHOD_STORE: number;
+	export var ENGINE_METHOD_PKEY_METHS: number;
+	export var ENGINE_METHOD_PKEY_ASN1_METHS: number;
+	export var ENGINE_METHOD_ALL: number;
+	export var ENGINE_METHOD_NONE: number;
+	export var DH_CHECK_P_NOT_SAFE_PRIME: number;
+	export var DH_CHECK_P_NOT_PRIME: number;
+	export var DH_UNABLE_TO_CHECK_GENERATOR: number;
+	export var DH_NOT_SUITABLE_GENERATOR: number;
+	export var NPN_ENABLED: number;
+	export var RSA_PKCS1_PADDING: number;
+	export var RSA_SSLV23_PADDING: number;
+	export var RSA_NO_PADDING: number;
+	export var RSA_PKCS1_OAEP_PADDING: number;
+	export var RSA_X931_PADDING: number;
+	export var RSA_PKCS1_PSS_PADDING: number;
+	export var POINT_CONVERSION_COMPRESSED: number;
+	export var POINT_CONVERSION_UNCOMPRESSED: number;
+	export var POINT_CONVERSION_HYBRID: number;
+	export var O_RDONLY: number;
+	export var O_WRONLY: number;
+	export var O_RDWR: number;
+	export var S_IFMT: number;
+	export var S_IFREG: number;
+	export var S_IFDIR: number;
+	export var S_IFCHR: number;
+	export var S_IFLNK: number;
+	export var O_CREAT: number;
+	export var O_EXCL: number;
+	export var O_TRUNC: number;
+	export var O_APPEND: number;
+	export var F_OK: number;
+	export var R_OK: number;
+	export var W_OK: number;
+	export var X_OK: number;
+	export var UV_UDP_REUSEADDR: number;
 }
\ No newline at end of file
diff --git a/src/typings/semver.d.ts b/src/typings/semver.d.ts
index cb8efa4f50062..129a83e21fa44 100644
--- a/src/typings/semver.d.ts
+++ b/src/typings/semver.d.ts
@@ -7,119 +7,119 @@ declare module SemVerModule {
     /**
      * Return the parsed version, or null if it's not valid.
      */
-    function valid(v: string, loose?: boolean): string;
+	function valid(v: string, loose?: boolean): string;
     /**
      * Return the version incremented by the release type (major, minor, patch, or prerelease), or null if it's not valid.
      */
-    function inc(v: string, release: string, loose?: boolean): string;
+	function inc(v: string, release: string, loose?: boolean): string;
 
-    // Comparison
+	// Comparison
     /**
      * v1 > v2
      */
-    function gt(v1: string, v2: string, loose?: boolean): boolean;
+	function gt(v1: string, v2: string, loose?: boolean): boolean;
     /**
      * v1 >= v2
      */
-    function gte(v1: string, v2: string, loose?: boolean): boolean;
+	function gte(v1: string, v2: string, loose?: boolean): boolean;
     /**
      * v1 < v2
      */
-    function lt(v1: string, v2: string, loose?: boolean): boolean;
+	function lt(v1: string, v2: string, loose?: boolean): boolean;
     /**
      * v1 <= v2
      */
-    function lte(v1: string, v2: string, loose?: boolean): boolean;
+	function lte(v1: string, v2: string, loose?: boolean): boolean;
     /**
      * v1 == v2 This is true if they're logically equivalent, even if they're not the exact same string. You already know how to compare strings.
      */
-    function eq(v1: string, v2: string, loose?: boolean): boolean;
+	function eq(v1: string, v2: string, loose?: boolean): boolean;
     /**
      * v1 != v2 The opposite of eq.
      */
-    function neq(v1: string, v2: string, loose?: boolean): boolean;
+	function neq(v1: string, v2: string, loose?: boolean): boolean;
     /**
      * Pass in a comparison string, and it'll call the corresponding semver comparison function. "===" and "!==" do simple string comparison, but are included for completeness. Throws if an invalid comparison string is provided.
      */
-    function cmp(v1: string, comparator: any, v2: string, loose?: boolean): boolean;
+	function cmp(v1: string, comparator: any, v2: string, loose?: boolean): boolean;
     /**
      * Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if v2 is greater. Sorts in ascending order if passed to Array.sort().
      */
-    function compare(v1: string, v2: string, loose?: boolean): number;
+	function compare(v1: string, v2: string, loose?: boolean): number;
     /**
      * The reverse of compare. Sorts an array of versions in descending order when passed to Array.sort().
      */
-    function rcompare(v1: string, v2: string, loose?: boolean): number;
+	function rcompare(v1: string, v2: string, loose?: boolean): number;
 
-    // Ranges
+	// Ranges
     /**
      * Return the valid range or null if it's not valid
      */
-    function validRange(range: string, loose?: boolean): string;
+	function validRange(range: string, loose?: boolean): string;
     /**
      * Return true if the version satisfies the range.
      */
-    function satisfies(version: string, range: string, loose?: boolean): boolean;
+	function satisfies(version: string, range: string, loose?: boolean): boolean;
     /**
      * Return the highest version in the list that satisfies the range, or null if none of them do.
      */
-    function maxSatisfying(versions: string[], range: string, loose?: boolean): string;
+	function maxSatisfying(versions: string[], range: string, loose?: boolean): string;
     /**
      * Return true if version is greater than all the versions possible in the range.
      */
-    function gtr(version: string, range: string, loose?: boolean): boolean;
+	function gtr(version: string, range: string, loose?: boolean): boolean;
     /**
      * Return true if version is less than all the versions possible in the range.
      */
-    function ltr(version: string, range: string, loose?: boolean): boolean;
+	function ltr(version: string, range: string, loose?: boolean): boolean;
     /**
      * Return true if the version is outside the bounds of the range in either the high or low direction. The hilo argument must be either the string '>' or '<'. (This is the function called by gtr and ltr.)
      */
-    function outside(version: string, range: string, hilo: string, loose?: boolean): boolean;
+	function outside(version: string, range: string, hilo: string, loose?: boolean): boolean;
 
-    class SemVerBase {
-        raw: string;
-        loose: boolean;
-        format(): string;
-        inspect(): string;
-        toString(): string;
-    }
+	class SemVerBase {
+		raw: string;
+		loose: boolean;
+		format(): string;
+		inspect(): string;
+		toString(): string;
+	}
 
-    class SemVer extends SemVerBase {
-        constructor(version: string, loose?: boolean);
+	class SemVer extends SemVerBase {
+		constructor(version: string, loose?: boolean);
 
-        major: number;
-        minor: number;
-        patch: number;
-        version: string;
-        build: string[];
-        prerelease: string[];
+		major: number;
+		minor: number;
+		patch: number;
+		version: string;
+		build: string[];
+		prerelease: string[];
 
-        compare(other:SemVer): number;
-        compareMain(other:SemVer): number;
-        comparePre(other:SemVer): number;
-        inc(release: string): SemVer;
-    }
+		compare(other: SemVer): number;
+		compareMain(other: SemVer): number;
+		comparePre(other: SemVer): number;
+		inc(release: string): SemVer;
+	}
 
-    class Comparator extends SemVerBase {
-        constructor(comp: string, loose?: boolean);
+	class Comparator extends SemVerBase {
+		constructor(comp: string, loose?: boolean);
 
-        semver: SemVer;
-        operator: string;
-        value: boolean;
-        parse(comp: string): void;
-        test(version:SemVer): boolean;
-    }
+		semver: SemVer;
+		operator: string;
+		value: boolean;
+		parse(comp: string): void;
+		test(version: SemVer): boolean;
+	}
 
-    class Range extends SemVerBase {
-        constructor(range: string, loose?: boolean);
+	class Range extends SemVerBase {
+		constructor(range: string, loose?: boolean);
 
-        set: Comparator[][];
-        parseRange(range: string): Comparator[];
-        test(version: SemVer): boolean;
-    }
+		set: Comparator[][];
+		parseRange(range: string): Comparator[];
+		test(version: SemVer): boolean;
+	}
 }
 
 declare module "semver" {
-    export = SemVerModule;
+	export = SemVerModule;
 }
diff --git a/src/typings/winreg.d.ts b/src/typings/winreg.d.ts
index 773b450af2d2f..10efb9d72a0d4 100644
--- a/src/typings/winreg.d.ts
+++ b/src/typings/winreg.d.ts
@@ -5,21 +5,21 @@
 
 declare module winreg {
 	export interface IRegValue {
-			host: string;
-			hive: any;
-			key: string;
-			name: string;
-			type: string;
-			value: any;
-		}
+		host: string;
+		hive: any;
+		key: string;
+		name: string;
+		type: string;
+		value: any;
+	}
 
 	export interface IWinRegConfig {
-			hive: any;
-			key: string;
+		hive: any;
+		key: string;
 	}
 
 	export interface IRegValuesCallback {
-			(error: Error, items: IRegValue[]): void;
+		(error: Error, items: IRegValue[]): void;
 	}
 
 	export interface IWinReg {
@@ -31,17 +31,17 @@ declare module winreg {
 		/**
 		 * list the subkeys of this key
 		 */
-		keys(callback: (error:Error, keys: string[])=> void): void;
+		keys(callback: (error: Error, keys: string[]) => void): void;
 
 		/**
 		 * gets a value by it's name
 		 */
-		get(name: string, callback: (error: Error, item: IRegValue)=> void): void;
+		get(name: string, callback: (error: Error, item: IRegValue) => void): void;
 
 		/**
 		 * sets a value
 		 */
-		set(name:string, type: string, value: string, callback: (error:string) => void): void;
+		set(name: string, type: string, value: string, callback: (error: string) => void): void;
 
 		/**
 		 * remove the value with the given key
@@ -51,12 +51,12 @@ declare module winreg {
 		/**
 		 * create this key
 		 */
-		create(callback: (error:Error) => void): void;
+		create(callback: (error: Error) => void): void;
 
 		/**
 		 * remove this key
 		 */
-		erase(callback: (error:Error)=> void): void;
+		erase(callback: (error: Error) => void): void;
 
 		/**
 		 * a new Winreg instance initialized with the parent ke
@@ -70,7 +70,7 @@ declare module winreg {
 	}
 
 	export interface IWinRegFactory {
-		new(config: IWinRegConfig): IWinReg;
+		new (config: IWinRegConfig): IWinReg;
 
 		// hives
 		HKLM: string;
@@ -81,16 +81,16 @@ declare module winreg {
 
 		// types
 		REG_SZ: string;
- 		REG_MULTI_SZ: string;
-   		REG_EXPAND_SZ: string;
-   		REG_DWORD: string;
-   		REG_QWORD: string;
-   		REG_BINARY: string;
-	    REG_NONE: string;
+		REG_MULTI_SZ: string;
+		REG_EXPAND_SZ: string;
+		REG_DWORD: string;
+		REG_QWORD: string;
+		REG_BINARY: string;
+		REG_NONE: string;
 	}
 }
 
 declare module 'winreg' {
-	 var winreg: winreg.IWinRegFactory;
-	 export = winreg;
+	var winreg: winreg.IWinRegFactory;
+	export = winreg;
 }
\ No newline at end of file
diff --git a/src/typings/xterm.d.ts b/src/typings/xterm.d.ts
index 7279edf0d3a81..4c7f7744ce1cf 100644
--- a/src/typings/xterm.d.ts
+++ b/src/typings/xterm.d.ts
@@ -13,5 +13,5 @@ declare module 'xterm' {
 		resize(columns: number, rows: number): void;
 	}
 
-    export = init;
+	export = init;
 }
\ No newline at end of file
diff --git a/src/typings/yauzl.d.ts b/src/typings/yauzl.d.ts
index e9f24e5e2ca3d..3bc78861ae938 100644
--- a/src/typings/yauzl.d.ts
+++ b/src/typings/yauzl.d.ts
@@ -31,7 +31,7 @@ declare module 'yauzl' {
 	}
 
 	export class ZipFile extends EventEmitter {
-		openReadStream(entry: Entry, callback: (err?: Error, stream?: Readable)=>void);
+		openReadStream(entry: Entry, callback: (err?: Error, stream?: Readable) => void);
 		close();
 		isOpen: boolean;
 		entryCount: number;
@@ -42,6 +42,6 @@ declare module 'yauzl' {
 		autoClose: boolean;
 	}
 
-	export function open(path: string, callback: (err?: Error, zipfile?: ZipFile)=>void): void;
-	export function open(path: string, options: IOptions, callback: (err?: Error, zipfile?: ZipFile)=>void): void;
+	export function open(path: string, callback: (err?: Error, zipfile?: ZipFile) => void): void;
+	export function open(path: string, options: IOptions, callback: (err?: Error, zipfile?: ZipFile) => void): void;
 }
\ No newline at end of file
diff --git a/src/vs/base/browser/browser.ts b/src/vs/base/browser/browser.ts
index 468cd72461667..1a85e88af6192 100644
--- a/src/vs/base/browser/browser.ts
+++ b/src/vs/base/browser/browser.ts
@@ -6,8 +6,8 @@
 
 import types = require('vs/base/common/types');
 import * as Platform from 'vs/base/common/platform';
-import Event, {Emitter} from 'vs/base/common/event';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IDisposable } from 'vs/base/common/lifecycle';
 
 class ZoomManager {
 
@@ -18,13 +18,13 @@ class ZoomManager {
 	private _pixelRatioComputed: boolean = false;
 
 	private _onDidChangeZoomLevel: Emitter<number> = new Emitter<number>();
-	public onDidChangeZoomLevel:Event<number> = this._onDidChangeZoomLevel.event;
+	public onDidChangeZoomLevel: Event<number> = this._onDidChangeZoomLevel.event;
 
 	public getZoomLevel(): number {
 		return this._zoomLevel;
 	}
 
-	public setZoomLevel(zoomLevel:number): void {
+	public setZoomLevel(zoomLevel: number): void {
 		if (this._zoomLevel === zoomLevel) {
 			return;
 		}
@@ -45,11 +45,11 @@ class ZoomManager {
 	private _computePixelRatio(): number {
 		let ctx = document.createElement('canvas').getContext('2d');
 		let dpr = window.devicePixelRatio || 1;
-		let bsr = 	(<any>ctx).webkitBackingStorePixelRatio ||
-					(<any>ctx).mozBackingStorePixelRatio ||
-					(<any>ctx).msBackingStorePixelRatio ||
-					(<any>ctx).oBackingStorePixelRatio ||
-					(<any>ctx).backingStorePixelRatio || 1;
+		let bsr = (<any>ctx).webkitBackingStorePixelRatio ||
+			(<any>ctx).mozBackingStorePixelRatio ||
+			(<any>ctx).msBackingStorePixelRatio ||
+			(<any>ctx).oBackingStorePixelRatio ||
+			(<any>ctx).backingStorePixelRatio || 1;
 		return dpr / bsr;
 	}
 }
@@ -60,10 +60,10 @@ export function getZoomLevel(): number {
 export function getPixelRatio(): number {
 	return ZoomManager.INSTANCE.getPixelRatio();
 }
-export function setZoomLevel(zoomLevel:number): void {
+export function setZoomLevel(zoomLevel: number): void {
 	ZoomManager.INSTANCE.setZoomLevel(zoomLevel);
 }
-export function onDidChangeZoomLevel(callback:(zoomLevel:number)=>void): IDisposable {
+export function onDidChangeZoomLevel(callback: (zoomLevel: number) => void): IDisposable {
 	return ZoomManager.INSTANCE.onDidChangeZoomLevel(callback);
 }
 
diff --git a/src/vs/base/browser/builder.ts b/src/vs/base/browser/builder.ts
index 231deb5e55376..fd1f4e809dd5a 100644
--- a/src/vs/base/browser/builder.ts
+++ b/src/vs/base/browser/builder.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import 'vs/css!./builder';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import types = require('vs/base/common/types');
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import strings = require('vs/base/common/strings');
 import assert = require('vs/base/common/assert');
 import DOM = require('vs/base/browser/dom');
@@ -183,7 +183,7 @@ export class Builder implements IDisposable {
 		}
 
 		// Wrap Builders into MultiBuilder
-		let builders:Builder[] = [this];
+		let builders: Builder[] = [this];
 		if (obj instanceof MultiBuilder) {
 			for (let i = 0; i < (<MultiBuilder>obj).length; i++) {
 				builders.push((<MultiBuilder>obj).item(i));
@@ -680,7 +680,7 @@ export class Builder implements IDisposable {
 	public preventDefault(type: string, cancelBubble: boolean, listenerToUnbindContainer?: IDisposable[], useCapture?: boolean): Builder;
 	public preventDefault(typesArray: string[], cancelBubble: boolean, listenerToUnbindContainer?: IDisposable[], useCapture?: boolean): Builder;
 	public preventDefault(arg1: any, cancelBubble: boolean, listenerToUnbindContainer?: IDisposable[], useCapture?: boolean): Builder {
-		let fn = function(e: Event) {
+		let fn = function (e: Event) {
 			e.preventDefault();
 
 			if (cancelBubble) {
@@ -1891,7 +1891,7 @@ export class MultiBuilder extends Builder {
 		// Mixin Builder functions to operate on all builders
 		let $outer = this;
 		let propertyFn = (prop: string) => {
-			(<any>$outer)[prop] = function(): any {
+			(<any>$outer)[prop] = function (): any {
 				let args = Array.prototype.slice.call(arguments);
 
 				let returnValues: any[];
@@ -2102,7 +2102,7 @@ export let Binding = {
 
 let SELECTOR_REGEX = /([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/;
 
-export let $: QuickBuilder = function(arg?: any): Builder {
+export let $: QuickBuilder = function (arg?: any): Builder {
 
 	// Off-DOM use
 	if (types.isUndefined(arg)) {
diff --git a/src/vs/base/browser/dnd.ts b/src/vs/base/browser/dnd.ts
index 7f8365773a5e3..a0d3778527a97 100644
--- a/src/vs/base/browser/dnd.ts
+++ b/src/vs/base/browser/dnd.ts
@@ -5,7 +5,7 @@
 
 'use strict';
 
-import {$} from 'vs/base/browser/builder';
+import { $ } from 'vs/base/browser/builder';
 import URI from 'vs/base/common/uri';
 
 /**
diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts
index 39645aeccee3e..d680de1f0012d 100644
--- a/src/vs/base/browser/dom.ts
+++ b/src/vs/base/browser/dom.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {TimeoutTimer} from 'vs/base/common/async';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import {Disposable, IDisposable} from 'vs/base/common/lifecycle';
-import {isObject} from 'vs/base/common/types';
-import {isChrome, isWebKit} from 'vs/base/browser/browser';
-import {IKeyboardEvent, StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {IMouseEvent, StandardMouseEvent} from 'vs/base/browser/mouseEvent';
-import {CharCode} from 'vs/base/common/charCode';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { TimeoutTimer } from 'vs/base/common/async';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
+import { isObject } from 'vs/base/common/types';
+import { isChrome, isWebKit } from 'vs/base/browser/browser';
+import { IKeyboardEvent, StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { IMouseEvent, StandardMouseEvent } from 'vs/base/browser/mouseEvent';
+import { CharCode } from 'vs/base/common/charCode';
 
 export function clearNode(node: HTMLElement) {
 	while (node.firstChild) {
diff --git a/src/vs/base/browser/event.ts b/src/vs/base/browser/event.ts
index a0c69a3ca2531..3cec88098ba9c 100644
--- a/src/vs/base/browser/event.ts
+++ b/src/vs/base/browser/event.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import _Event, { Emitter, mapEvent }  from 'vs/base/common/event';
+import _Event, { Emitter, mapEvent } from 'vs/base/common/event';
 
 export type EventHandler = HTMLElement | HTMLDocument | Window;
 
diff --git a/src/vs/base/browser/globalMouseMoveMonitor.ts b/src/vs/base/browser/globalMouseMoveMonitor.ts
index 7b14ee90183ff..3e2e2fc289eaa 100644
--- a/src/vs/base/browser/globalMouseMoveMonitor.ts
+++ b/src/vs/base/browser/globalMouseMoveMonitor.ts
@@ -4,30 +4,30 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Disposable, IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
 import * as dom from 'vs/base/browser/dom';
-import {IframeUtils} from 'vs/base/browser/iframe';
-import {StandardMouseEvent} from 'vs/base/browser/mouseEvent';
+import { IframeUtils } from 'vs/base/browser/iframe';
+import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
 
 export interface IStandardMouseMoveEventData {
-	leftButton:boolean;
-	posx:number;
-	posy:number;
+	leftButton: boolean;
+	posx: number;
+	posy: number;
 }
 
 export interface IEventMerger<R> {
-	(lastEvent:R, currentEvent:MouseEvent):R;
+	(lastEvent: R, currentEvent: MouseEvent): R;
 }
 
 export interface IMouseMoveCallback<R> {
-	(mouseMoveData:R):void;
+	(mouseMoveData: R): void;
 }
 
 export interface IOnStopCallback {
-	():void;
+	(): void;
 }
 
-export function standardMouseMoveMerger(lastEvent:IStandardMouseMoveEventData, currentEvent:MouseEvent):IStandardMouseMoveEventData {
+export function standardMouseMoveMerger(lastEvent: IStandardMouseMoveEventData, currentEvent: MouseEvent): IStandardMouseMoveEventData {
 	let ev = new StandardMouseEvent(currentEvent);
 	ev.preventDefault();
 	return {
@@ -39,10 +39,10 @@ export function standardMouseMoveMerger(lastEvent:IStandardMouseMoveEventData, c
 
 export class GlobalMouseMoveMonitor<R> extends Disposable {
 
-	private hooks:IDisposable[];
-	private mouseMoveEventMerger:IEventMerger<R>;
-	private mouseMoveCallback:IMouseMoveCallback<R>;
-	private onStopCallback:IOnStopCallback;
+	private hooks: IDisposable[];
+	private mouseMoveEventMerger: IEventMerger<R>;
+	private mouseMoveCallback: IMouseMoveCallback<R>;
+	private onStopCallback: IOnStopCallback;
 
 	constructor() {
 		super();
@@ -57,7 +57,7 @@ export class GlobalMouseMoveMonitor<R> extends Disposable {
 		super.dispose();
 	}
 
-	public stopMonitoring(invokeStopCallback:boolean): void {
+	public stopMonitoring(invokeStopCallback: boolean): void {
 		if (!this.isMonitoring()) {
 			// Not monitoring
 			return;
@@ -80,10 +80,10 @@ export class GlobalMouseMoveMonitor<R> extends Disposable {
 	}
 
 	public startMonitoring(
-				mouseMoveEventMerger:IEventMerger<R>,
-				mouseMoveCallback:IMouseMoveCallback<R>,
-				onStopCallback:IOnStopCallback
-			): void {
+		mouseMoveEventMerger: IEventMerger<R>,
+		mouseMoveCallback: IMouseMoveCallback<R>,
+		onStopCallback: IOnStopCallback
+	): void {
 		if (this.isMonitoring()) {
 			// I am already hooked
 			return;
@@ -95,31 +95,31 @@ export class GlobalMouseMoveMonitor<R> extends Disposable {
 		let windowChain = IframeUtils.getSameOriginWindowChain();
 		for (let i = 0; i < windowChain.length; i++) {
 			this.hooks.push(dom.addDisposableThrottledListener(windowChain[i].window.document, 'mousemove',
-				(data:R) => this.mouseMoveCallback(data),
-				(lastEvent:R, currentEvent:MouseEvent) => this.mouseMoveEventMerger(lastEvent, currentEvent)
+				(data: R) => this.mouseMoveCallback(data),
+				(lastEvent: R, currentEvent: MouseEvent) => this.mouseMoveEventMerger(lastEvent, currentEvent)
 			));
-			this.hooks.push(dom.addDisposableListener(windowChain[i].window.document, 'mouseup', (e:MouseEvent) => this.stopMonitoring(true)));
+			this.hooks.push(dom.addDisposableListener(windowChain[i].window.document, 'mouseup', (e: MouseEvent) => this.stopMonitoring(true)));
 		}
 
 		if (IframeUtils.hasDifferentOriginAncestor()) {
 			let lastSameOriginAncestor = windowChain[windowChain.length - 1];
 			// We might miss a mouse up if it happens outside the iframe
 			// This one is for Chrome
-			this.hooks.push(dom.addDisposableListener(lastSameOriginAncestor.window.document, 'mouseout', (browserEvent:MouseEvent) => {
+			this.hooks.push(dom.addDisposableListener(lastSameOriginAncestor.window.document, 'mouseout', (browserEvent: MouseEvent) => {
 				let e = new StandardMouseEvent(browserEvent);
 				if (e.target.tagName.toLowerCase() === 'html') {
 					this.stopMonitoring(true);
 				}
 			}));
 			// This one is for FF
-			this.hooks.push(dom.addDisposableListener(lastSameOriginAncestor.window.document, 'mouseover', (browserEvent:MouseEvent) => {
+			this.hooks.push(dom.addDisposableListener(lastSameOriginAncestor.window.document, 'mouseover', (browserEvent: MouseEvent) => {
 				let e = new StandardMouseEvent(browserEvent);
 				if (e.target.tagName.toLowerCase() === 'html') {
 					this.stopMonitoring(true);
 				}
 			}));
 			// This one is for IE
-			this.hooks.push(dom.addDisposableListener(lastSameOriginAncestor.window.document.body, 'mouseleave', (browserEvent:MouseEvent) => {
+			this.hooks.push(dom.addDisposableListener(lastSameOriginAncestor.window.document.body, 'mouseleave', (browserEvent: MouseEvent) => {
 				this.stopMonitoring(true);
 			}));
 		}
diff --git a/src/vs/base/browser/htmlContentRenderer.ts b/src/vs/base/browser/htmlContentRenderer.ts
index 3429e7c13435d..c01045fe8ae86 100644
--- a/src/vs/base/browser/htmlContentRenderer.ts
+++ b/src/vs/base/browser/htmlContentRenderer.ts
@@ -6,12 +6,12 @@
 'use strict';
 
 import DOM = require('vs/base/browser/dom');
-import {defaultGenerator} from 'vs/base/common/idGenerator';
-import {escape} from 'vs/base/common/strings';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IHTMLContentElement, MarkedString} from 'vs/base/common/htmlContent';
-import {marked} from 'vs/base/common/marked/marked';
-import {IMouseEvent} from 'vs/base/browser/mouseEvent';
+import { defaultGenerator } from 'vs/base/common/idGenerator';
+import { escape } from 'vs/base/common/strings';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IHTMLContentElement, MarkedString } from 'vs/base/common/htmlContent';
+import { marked } from 'vs/base/common/marked/marked';
+import { IMouseEvent } from 'vs/base/browser/mouseEvent';
 
 export type RenderableContent = string | IHTMLContentElement | IHTMLContentElement[];
 
diff --git a/src/vs/base/browser/keyboardEvent.ts b/src/vs/base/browser/keyboardEvent.ts
index c4dad411e5c23..88a8b336552bd 100644
--- a/src/vs/base/browser/keyboardEvent.ts
+++ b/src/vs/base/browser/keyboardEvent.ts
@@ -5,12 +5,12 @@
 
 'use strict';
 
-import {KeyCode, KeyCodeUtils, KeyMod} from 'vs/base/common/keyCodes';
+import { KeyCode, KeyCodeUtils, KeyMod } from 'vs/base/common/keyCodes';
 import * as platform from 'vs/base/common/platform';
 import * as browser from 'vs/base/browser/browser';
 
-let KEY_CODE_MAP: {[keyCode:number]:KeyCode} = {};
-(function() {
+let KEY_CODE_MAP: { [keyCode: number]: KeyCode } = {};
+(function () {
 	KEY_CODE_MAP[3] = KeyCode.PauseBreak; // VK_CANCEL 0x03 Control-break processing
 	KEY_CODE_MAP[8] = KeyCode.Backspace;
 	KEY_CODE_MAP[9] = KeyCode.Tab;
@@ -148,11 +148,11 @@ let KEY_CODE_MAP: {[keyCode:number]:KeyCode} = {};
 	}
 })();
 
-export function lookupKeyCode(e:KeyboardEvent): KeyCode {
+export function lookupKeyCode(e: KeyboardEvent): KeyCode {
 	return KEY_CODE_MAP[e.keyCode] || KeyCode.Unknown;
 }
 
-let extractKeyCode = function extractKeyCode(e:KeyboardEvent): KeyCode {
+let extractKeyCode = function extractKeyCode(e: KeyboardEvent): KeyCode {
 	if (e.charCode) {
 		// "keypress" events mostly
 		let char = String.fromCharCode(e.charCode).toUpperCase();
@@ -161,13 +161,13 @@ let extractKeyCode = function extractKeyCode(e:KeyboardEvent): KeyCode {
 	return lookupKeyCode(e);
 };
 
-export function setExtractKeyCode(newExtractKeyCode:(e:KeyboardEvent)=>KeyCode): void {
+export function setExtractKeyCode(newExtractKeyCode: (e: KeyboardEvent) => KeyCode): void {
 	extractKeyCode = newExtractKeyCode;
 }
 
 export interface IKeyboardEvent {
-	browserEvent:KeyboardEvent;
-	target:HTMLElement;
+	browserEvent: KeyboardEvent;
+	target: HTMLElement;
 
 	ctrlKey: boolean;
 	shiftKey: boolean;
@@ -176,7 +176,7 @@ export interface IKeyboardEvent {
 	keyCode: KeyCode;
 
 	asKeybinding(): number;
-	equals(keybinding:number): boolean;
+	equals(keybinding: number): boolean;
 
 	preventDefault(): void;
 	stopPropagation(): void;
@@ -200,7 +200,7 @@ export class StandardKeyboardEvent implements IKeyboardEvent {
 
 	private _asKeybinding: number;
 
-	constructor(source:KeyboardEvent) {
+	constructor(source: KeyboardEvent) {
 		let e = <KeyboardEvent>source;
 
 		this.browserEvent = e;
@@ -238,7 +238,7 @@ export class StandardKeyboardEvent implements IKeyboardEvent {
 		return this._asKeybinding;
 	}
 
-	public equals(other:number): boolean {
+	public equals(other: number): boolean {
 		return (this._asKeybinding === other);
 	}
 
diff --git a/src/vs/base/browser/mouseEvent.ts b/src/vs/base/browser/mouseEvent.ts
index 867e36d2e21aa..12c5a02b348af 100644
--- a/src/vs/base/browser/mouseEvent.ts
+++ b/src/vs/base/browser/mouseEvent.ts
@@ -6,22 +6,22 @@
 
 import * as platform from 'vs/base/common/platform';
 import * as browser from 'vs/base/browser/browser';
-import {IframeUtils} from 'vs/base/browser/iframe';
+import { IframeUtils } from 'vs/base/browser/iframe';
 
 export interface IMouseEvent {
-	browserEvent:MouseEvent;
-	leftButton:boolean;
-	middleButton:boolean;
-	rightButton:boolean;
-	target:HTMLElement;
-	detail:number;
-	posx:number;
-	posy:number;
-	ctrlKey:boolean;
-	shiftKey:boolean;
-	altKey:boolean;
-	metaKey:boolean;
-	timestamp:number;
+	browserEvent: MouseEvent;
+	leftButton: boolean;
+	middleButton: boolean;
+	rightButton: boolean;
+	target: HTMLElement;
+	detail: number;
+	posx: number;
+	posy: number;
+	ctrlKey: boolean;
+	shiftKey: boolean;
+	altKey: boolean;
+	metaKey: boolean;
+	timestamp: number;
 
 	preventDefault(): void;
 	stopPropagation(): void;
@@ -29,22 +29,22 @@ export interface IMouseEvent {
 
 export class StandardMouseEvent implements IMouseEvent {
 
-	public browserEvent:MouseEvent;
-
-	public leftButton:boolean;
-	public middleButton:boolean;
-	public rightButton:boolean;
-	public target:HTMLElement;
-	public detail:number;
-	public posx:number;
-	public posy:number;
-	public ctrlKey:boolean;
-	public shiftKey:boolean;
-	public altKey:boolean;
-	public metaKey:boolean;
-	public timestamp:number;
-
-	constructor(e:MouseEvent) {
+	public browserEvent: MouseEvent;
+
+	public leftButton: boolean;
+	public middleButton: boolean;
+	public rightButton: boolean;
+	public target: HTMLElement;
+	public detail: number;
+	public posx: number;
+	public posy: number;
+	public ctrlKey: boolean;
+	public shiftKey: boolean;
+	public altKey: boolean;
+	public metaKey: boolean;
+	public timestamp: number;
+
+	constructor(e: MouseEvent) {
 		this.timestamp = Date.now();
 		this.browserEvent = e;
 		this.leftButton = e.button === 0;
@@ -91,23 +91,23 @@ export class StandardMouseEvent implements IMouseEvent {
 }
 
 export interface IDataTransfer {
-	dropEffect:string;
-	effectAllowed:string;
-	types:any[];
-	files:any[];
+	dropEffect: string;
+	effectAllowed: string;
+	types: any[];
+	files: any[];
 
-	setData(type:string, data:string):void;
-	setDragImage(image:any, x:number, y:number):void;
+	setData(type: string, data: string): void;
+	setDragImage(image: any, x: number, y: number): void;
 
-	getData(type:string):string;
-	clearData(types?:string[]):void;
+	getData(type: string): string;
+	clearData(types?: string[]): void;
 }
 
 export class DragMouseEvent extends StandardMouseEvent {
 
-	public dataTransfer:IDataTransfer;
+	public dataTransfer: IDataTransfer;
 
-	constructor(e:MouseEvent) {
+	constructor(e: MouseEvent) {
 		super(e);
 		this.dataTransfer = (<any>e).dataTransfer;
 	}
@@ -116,32 +116,32 @@ export class DragMouseEvent extends StandardMouseEvent {
 
 export class DropMouseEvent extends DragMouseEvent {
 
-	constructor(e:MouseEvent) {
+	constructor(e: MouseEvent) {
 		super(e);
 	}
 
 }
 
 interface IWebKitMouseWheelEvent {
-	wheelDeltaY:number;
-	wheelDeltaX:number;
+	wheelDeltaY: number;
+	wheelDeltaX: number;
 }
 
 interface IGeckoMouseWheelEvent {
-	HORIZONTAL_AXIS:number;
-	VERTICAL_AXIS:number;
-	axis:number;
-	detail:number;
+	HORIZONTAL_AXIS: number;
+	VERTICAL_AXIS: number;
+	axis: number;
+	detail: number;
 }
 
 export class StandardMouseWheelEvent {
 
-	public browserEvent:MouseWheelEvent;
-	public deltaY:number;
-	public deltaX:number;
-	public target:Node;
+	public browserEvent: MouseWheelEvent;
+	public deltaY: number;
+	public deltaX: number;
+	public target: Node;
 
-	constructor(e:MouseWheelEvent, deltaX:number = 0, deltaY:number = 0) {
+	constructor(e: MouseWheelEvent, deltaX: number = 0, deltaY: number = 0) {
 
 		this.browserEvent = e || null;
 		this.target = e ? (e.target || (<any>e).targetNode || e.srcElement) : null;
diff --git a/src/vs/base/browser/styleMutator.ts b/src/vs/base/browser/styleMutator.ts
index 647d13fe6b71b..333819d46dfc2 100644
--- a/src/vs/base/browser/styleMutator.ts
+++ b/src/vs/base/browser/styleMutator.ts
@@ -177,7 +177,7 @@ export abstract class FastDomNode {
 		this._domNode.style.visibility = this._visibility;
 	}
 
-	public setTransform(transform:string): void {
+	public setTransform(transform: string): void {
 		if (this._transform === transform) {
 			return;
 		}
@@ -185,9 +185,9 @@ export abstract class FastDomNode {
 		this._setTransform(this._domNode, this._transform);
 	}
 
-	protected abstract _setTransform(domNode:HTMLElement, transform:string): void;
+	protected abstract _setTransform(domNode: HTMLElement, transform: string): void;
 
-	public setLineNumber(lineNumber:string): void {
+	public setLineNumber(lineNumber: string): void {
 		if (this._lineNumber === lineNumber) {
 			return;
 		}
@@ -197,19 +197,19 @@ export abstract class FastDomNode {
 }
 
 class WebKitFastDomNode extends FastDomNode {
-	protected _setTransform(domNode:HTMLElement, transform:string): void {
+	protected _setTransform(domNode: HTMLElement, transform: string): void {
 		(<any>domNode.style).webkitTransform = transform;
 	}
 }
 
 class StandardFastDomNode extends FastDomNode {
-	protected _setTransform(domNode:HTMLElement, transform:string): void {
+	protected _setTransform(domNode: HTMLElement, transform: string): void {
 		domNode.style.transform = transform;
 	}
 }
 
 let useWebKitFastDomNode = false;
-(function() {
+(function () {
 	let testDomNode = document.createElement('div');
 	if (typeof (<any>testDomNode.style).webkitTransform !== 'undefined') {
 		useWebKitFastDomNode = true;
@@ -312,7 +312,7 @@ function setTransform(domNode: HTMLElement, desiredValue: string): boolean {
 	}
 	return false;
 }
-(function() {
+(function () {
 	let testDomNode = document.createElement('div');
 	if (typeof (<any>testDomNode.style).webkitTransform !== 'undefined') {
 		StyleMutator.setTransform = setWebkitTransform;
diff --git a/src/vs/base/browser/touch.ts b/src/vs/base/browser/touch.ts
index a183cd6e37b31..7d79a4c19d01b 100644
--- a/src/vs/base/browser/touch.ts
+++ b/src/vs/base/browser/touch.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import arrays = require('vs/base/common/arrays');
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import DomUtils = require('vs/base/browser/dom');
 
 export namespace EventType {
diff --git a/src/vs/base/browser/ui/actionbar/actionbar.ts b/src/vs/base/browser/ui/actionbar/actionbar.ts
index 806341ed3f6c4..83b863c2a4990 100644
--- a/src/vs/base/browser/ui/actionbar/actionbar.ts
+++ b/src/vs/base/browser/ui/actionbar/actionbar.ts
@@ -8,18 +8,18 @@
 import 'vs/css!./actionbar';
 import nls = require('vs/nls');
 import lifecycle = require('vs/base/common/lifecycle');
-import {Promise} from 'vs/base/common/winjs.base';
-import {Builder, $} from 'vs/base/browser/builder';
-import {SelectBox} from 'vs/base/browser/ui/selectBox/selectBox';
+import { Promise } from 'vs/base/common/winjs.base';
+import { Builder, $ } from 'vs/base/browser/builder';
+import { SelectBox } from 'vs/base/browser/ui/selectBox/selectBox';
 import platform = require('vs/base/common/platform');
-import {IAction, IActionRunner, Action, IActionChangeEvent, ActionRunner} from 'vs/base/common/actions';
+import { IAction, IActionRunner, Action, IActionChangeEvent, ActionRunner } from 'vs/base/common/actions';
 import DOM = require('vs/base/browser/dom');
-import {EventType as CommonEventType} from 'vs/base/common/events';
+import { EventType as CommonEventType } from 'vs/base/common/events';
 import types = require('vs/base/common/types');
-import {IEventEmitter, EventEmitter} from 'vs/base/common/eventEmitter';
-import {Gesture, EventType} from 'vs/base/browser/touch';
-import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
+import { IEventEmitter, EventEmitter } from 'vs/base/common/eventEmitter';
+import { Gesture, EventType } from 'vs/base/browser/touch';
+import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 
 export interface IActionItem extends IEventEmitter {
 	actionRunner: IActionRunner;
diff --git a/src/vs/base/browser/ui/aria/aria.ts b/src/vs/base/browser/ui/aria/aria.ts
index 8ba74e0498277..dd5776ab9f894 100644
--- a/src/vs/base/browser/ui/aria/aria.ts
+++ b/src/vs/base/browser/ui/aria/aria.ts
@@ -7,8 +7,8 @@
 
 import 'vs/css!./aria';
 import nls = require('vs/nls');
-import {isMacintosh} from 'vs/base/common/platform';
-import {Builder, $} from 'vs/base/browser/builder';
+import { isMacintosh } from 'vs/base/common/platform';
+import { Builder, $ } from 'vs/base/browser/builder';
 
 let ariaContainer: Builder;
 let alertContainer: Builder;
diff --git a/src/vs/base/browser/ui/button/button.ts b/src/vs/base/browser/ui/button/button.ts
index b4838947b27a4..cec07d6a46ef8 100644
--- a/src/vs/base/browser/ui/button/button.ts
+++ b/src/vs/base/browser/ui/button/button.ts
@@ -6,11 +6,11 @@
 'use strict';
 
 import 'vs/css!./button';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
 import DOM = require('vs/base/browser/dom');
-import {Builder, $} from 'vs/base/browser/builder';
-import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {KeyCode} from 'vs/base/common/keyCodes';
+import { Builder, $ } from 'vs/base/browser/builder';
+import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { KeyCode } from 'vs/base/common/keyCodes';
 
 export class Button extends EventEmitter {
 
diff --git a/src/vs/base/browser/ui/checkbox/checkbox.ts b/src/vs/base/browser/ui/checkbox/checkbox.ts
index 10845dc9a0122..c497a4d7b640e 100644
--- a/src/vs/base/browser/ui/checkbox/checkbox.ts
+++ b/src/vs/base/browser/ui/checkbox/checkbox.ts
@@ -8,9 +8,9 @@
 import 'vs/css!./checkbox';
 
 import DOM = require('vs/base/browser/dom');
-import {KeyCode} from 'vs/base/common/keyCodes';
-import {Widget} from 'vs/base/browser/ui/widget';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
+import { KeyCode } from 'vs/base/common/keyCodes';
+import { Widget } from 'vs/base/browser/ui/widget';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
 
 export interface ICheckboxOpts {
 	actionClassName: string;
diff --git a/src/vs/base/browser/ui/contextview/contextview.ts b/src/vs/base/browser/ui/contextview/contextview.ts
index ac90de2ed18ef..dfb187b2ae57d 100644
--- a/src/vs/base/browser/ui/contextview/contextview.ts
+++ b/src/vs/base/browser/ui/contextview/contextview.ts
@@ -7,10 +7,10 @@
 'use strict';
 
 import 'vs/css!./contextview';
-import {Builder, $} from 'vs/base/browser/builder';
+import { Builder, $ } from 'vs/base/browser/builder';
 import DOM = require('vs/base/browser/dom');
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
 
 export interface IAnchor {
 	x: number;
@@ -58,7 +58,7 @@ export interface IView extends IPosition, ISize { }
 
 function layout(view: ISize, around: IView, viewport: IView, anchorPosition: AnchorPosition, anchorAlignment: AnchorAlignment): IPosition {
 
-	let chooseBiased = (a:number, aIsGood:boolean, b:number, bIsGood:boolean) => {
+	let chooseBiased = (a: number, aIsGood: boolean, b: number, bIsGood: boolean) => {
 		if (aIsGood) {
 			return a;
 		}
@@ -68,7 +68,7 @@ function layout(view: ISize, around: IView, viewport: IView, anchorPosition: Anc
 		return a;
 	};
 
-	let chooseOne = (a:number, aIsGood:boolean, b:number, bIsGood:boolean, aIsPreferred:boolean) => {
+	let chooseOne = (a: number, aIsGood: boolean, b: number, bIsGood: boolean, aIsPreferred: boolean) => {
 		if (aIsPreferred) {
 			return chooseBiased(a, aIsGood, b, bIsGood);
 		} else {
diff --git a/src/vs/base/browser/ui/countBadge/countBadge.ts b/src/vs/base/browser/ui/countBadge/countBadge.ts
index 6090d3dd1fcda..1f6825c5a90b3 100644
--- a/src/vs/base/browser/ui/countBadge/countBadge.ts
+++ b/src/vs/base/browser/ui/countBadge/countBadge.ts
@@ -6,7 +6,7 @@
 'use strict';
 
 import 'vs/css!./countBadge';
-import {Builder, $} from 'vs/base/browser/builder';
+import { Builder, $ } from 'vs/base/browser/builder';
 import strings = require('vs/base/common/strings');
 
 export class CountBadge {
diff --git a/src/vs/base/browser/ui/dropdown/dropdown.ts b/src/vs/base/browser/ui/dropdown/dropdown.ts
index 622304d5677c2..1178d9dfa8ef7 100644
--- a/src/vs/base/browser/ui/dropdown/dropdown.ts
+++ b/src/vs/base/browser/ui/dropdown/dropdown.ts
@@ -6,16 +6,16 @@
 'use strict';
 
 import 'vs/css!./dropdown';
-import {Builder, $} from 'vs/base/browser/builder';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Gesture, EventType} from 'vs/base/browser/touch';
-import {ActionRunner, IAction} from 'vs/base/common/actions';
-import {ActionItem, IActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IContextViewProvider} from 'vs/base/browser/ui/contextview/contextview';
-import {IMenuOptions} from 'vs/base/browser/ui/menu/menu';
-import {Keybinding} from 'vs/base/common/keybinding';
+import { Builder, $ } from 'vs/base/browser/builder';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Gesture, EventType } from 'vs/base/browser/touch';
+import { ActionRunner, IAction } from 'vs/base/common/actions';
+import { ActionItem, IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview';
+import { IMenuOptions } from 'vs/base/browser/ui/menu/menu';
+import { Keybinding } from 'vs/base/common/keybinding';
 
 export interface ILabelRenderer {
 	(container: HTMLElement): IDisposable;
@@ -262,7 +262,7 @@ export class DropdownMenu extends BaseDropdown {
 			getActions: () => TPromise.as(this.actions),
 			getActionsContext: () => this.menuOptions ? this.menuOptions.context : null,
 			getActionItem: (action) => this.menuOptions && this.menuOptions.actionItemProvider ? this.menuOptions.actionItemProvider(action) : null,
-			getKeyBinding: (action: IAction) => this.menuOptions && this.menuOptions.getKeyBinding ? this.menuOptions.getKeyBinding(action): null,
+			getKeyBinding: (action: IAction) => this.menuOptions && this.menuOptions.getKeyBinding ? this.menuOptions.getKeyBinding(action) : null,
 			getMenuClassName: () => this.menuClassName,
 			onHide: () => this.$el.removeClass('active')
 		});
diff --git a/src/vs/base/browser/ui/dropdown/linksDropdown.ts b/src/vs/base/browser/ui/dropdown/linksDropdown.ts
index 636c01ac4f601..3b447ec5665da 100644
--- a/src/vs/base/browser/ui/dropdown/linksDropdown.ts
+++ b/src/vs/base/browser/ui/dropdown/linksDropdown.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {isMacintosh} from 'vs/base/common/platform';
-import {isFunction} from 'vs/base/common/types';
-import {Action} from 'vs/base/common/actions';
-import {DropdownMenu, IDropdownMenuOptions} from 'vs/base/browser/ui/dropdown/dropdown';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { isMacintosh } from 'vs/base/common/platform';
+import { isFunction } from 'vs/base/common/types';
+import { Action } from 'vs/base/common/actions';
+import { DropdownMenu, IDropdownMenuOptions } from 'vs/base/browser/ui/dropdown/dropdown';
 
 export interface ILinksDropdownMenuOptions extends IDropdownMenuOptions {
 	tooltip: string;
diff --git a/src/vs/base/browser/ui/findinput/findInput.ts b/src/vs/base/browser/ui/findinput/findInput.ts
index eccf8eb86df0c..b68beac036610 100644
--- a/src/vs/base/browser/ui/findinput/findInput.ts
+++ b/src/vs/base/browser/ui/findinput/findInput.ts
@@ -8,19 +8,19 @@ import 'vs/css!./findInput';
 
 import * as nls from 'vs/nls';
 import * as dom from 'vs/base/browser/dom';
-import {IMessage as InputBoxMessage, IInputValidator, InputBox} from 'vs/base/browser/ui/inputbox/inputBox';
-import {Checkbox} from 'vs/base/browser/ui/checkbox/checkbox';
-import {IContextViewProvider} from 'vs/base/browser/ui/contextview/contextview';
-import {Widget} from 'vs/base/browser/ui/widget';
-import Event, {Emitter} from 'vs/base/common/event';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {KeyCode} from 'vs/base/common/keyCodes';
+import { IMessage as InputBoxMessage, IInputValidator, InputBox } from 'vs/base/browser/ui/inputbox/inputBox';
+import { Checkbox } from 'vs/base/browser/ui/checkbox/checkbox';
+import { IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview';
+import { Widget } from 'vs/base/browser/ui/widget';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { KeyCode } from 'vs/base/common/keyCodes';
 
 export interface IFindInputOptions {
-	placeholder?:string;
-	width?:number;
-	validation?:IInputValidator;
-	label:string;
+	placeholder?: string;
+	width?: number;
+	validation?: IInputValidator;
+	label: string;
 
 	appendCaseSensitiveLabel?: string;
 	appendWholeWordsLabel?: string;
@@ -34,19 +34,19 @@ const NLS_DEFAULT_LABEL = nls.localize('defaultLabel', "input");
 
 export class FindInput extends Widget {
 
-	static OPTION_CHANGE:string = 'optionChange';
+	static OPTION_CHANGE: string = 'optionChange';
 
 	private contextViewProvider: IContextViewProvider;
-	private width:number;
-	private placeholder:string;
-	private validation:IInputValidator;
-	private label:string;
-
-	private regex:Checkbox;
-	private wholeWords:Checkbox;
-	private caseSensitive:Checkbox;
+	private width: number;
+	private placeholder: string;
+	private validation: IInputValidator;
+	private label: string;
+
+	private regex: Checkbox;
+	private wholeWords: Checkbox;
+	private caseSensitive: Checkbox;
 	public domNode: HTMLElement;
-	public inputBox:InputBox;
+	public inputBox: InputBox;
 
 	private _onDidOptionChange = this._register(new Emitter<boolean>());
 	public onDidOptionChange: Event<boolean /* via keyboard */> = this._onDidOptionChange.event;
@@ -63,7 +63,7 @@ export class FindInput extends Widget {
 	private _onCaseSensitiveKeyDown = this._register(new Emitter<IKeyboardEvent>());
 	public onCaseSensitiveKeyDown: Event<IKeyboardEvent> = this._onCaseSensitiveKeyDown.event;
 
-	constructor(parent:HTMLElement, contextViewProvider: IContextViewProvider, options?:IFindInputOptions) {
+	constructor(parent: HTMLElement, contextViewProvider: IContextViewProvider, options?: IFindInputOptions) {
 		super();
 		this.contextViewProvider = contextViewProvider;
 		this.width = options.width || 100;
@@ -79,7 +79,7 @@ export class FindInput extends Widget {
 
 		this.buildDomNode(options.appendCaseSensitiveLabel || '', options.appendWholeWordsLabel || '', options.appendRegexLabel || '');
 
-		if(Boolean(parent)) {
+		if (Boolean(parent)) {
 			parent.appendChild(this.domNode);
 		}
 
@@ -104,7 +104,7 @@ export class FindInput extends Widget {
 		this.caseSensitive.disable();
 	}
 
-	public setEnabled(enabled:boolean): void {
+	public setEnabled(enabled: boolean): void {
 		if (enabled) {
 			this.enable();
 		} else {
@@ -118,7 +118,7 @@ export class FindInput extends Widget {
 		this.focus();
 	}
 
-	public setWidth(newWidth:number): void {
+	public setWidth(newWidth: number): void {
 		this.width = newWidth;
 		this.domNode.style.width = this.width + 'px';
 		this.contextViewProvider.layout();
@@ -129,7 +129,7 @@ export class FindInput extends Widget {
 		return this.inputBox.value;
 	}
 
-	public setValue(value:string): void {
+	public setValue(value: string): void {
 		if (this.inputBox.value !== value) {
 			this.inputBox.value = value;
 		}
@@ -143,29 +143,29 @@ export class FindInput extends Widget {
 		this.inputBox.focus();
 	}
 
-	public getCaseSensitive():boolean {
+	public getCaseSensitive(): boolean {
 		return this.caseSensitive.checked;
 	}
 
-	public setCaseSensitive(value:boolean): void {
+	public setCaseSensitive(value: boolean): void {
 		this.caseSensitive.checked = value;
 		this.setInputWidth();
 	}
 
-	public getWholeWords():boolean {
+	public getWholeWords(): boolean {
 		return this.wholeWords.checked;
 	}
 
-	public setWholeWords(value:boolean): void {
+	public setWholeWords(value: boolean): void {
 		this.wholeWords.checked = value;
 		this.setInputWidth();
 	}
 
-	public getRegex():boolean {
+	public getRegex(): boolean {
 		return this.regex.checked;
 	}
 
-	public setRegex(value:boolean): void {
+	public setRegex(value: boolean): void {
 		this.regex.checked = value;
 		this.setInputWidth();
 	}
@@ -179,7 +179,7 @@ export class FindInput extends Widget {
 		this.inputBox.width = w;
 	}
 
-	private buildDomNode(appendCaseSensitiveLabel:string, appendWholeWordsLabel: string, appendRegexLabel: string): void {
+	private buildDomNode(appendCaseSensitiveLabel: string, appendWholeWordsLabel: string, appendRegexLabel: string): void {
 		this.domNode = document.createElement('div');
 		this.domNode.style.width = this.width + 'px';
 		dom.addClass(this.domNode, 'monaco-findInput');
diff --git a/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.ts b/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.ts
index 7c75f496b31cb..9f622f16fdb27 100644
--- a/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.ts
+++ b/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {escape} from 'vs/base/common/strings';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { escape } from 'vs/base/common/strings';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import * as dom from 'vs/base/browser/dom';
 import * as objects from 'vs/base/common/objects';
-import {expand as expandOcticons} from 'vs/base/browser/ui/octiconLabel/octiconLabel';
+import { expand as expandOcticons } from 'vs/base/browser/ui/octiconLabel/octiconLabel';
 
 export interface IHighlight {
 	start: number;
diff --git a/src/vs/base/browser/ui/iconLabel/iconLabel.ts b/src/vs/base/browser/ui/iconLabel/iconLabel.ts
index 817872b8195ae..014e8239fcddd 100644
--- a/src/vs/base/browser/ui/iconLabel/iconLabel.ts
+++ b/src/vs/base/browser/ui/iconLabel/iconLabel.ts
@@ -7,12 +7,12 @@
 
 import 'vs/css!./iconlabel';
 import dom = require('vs/base/browser/dom');
-import {HighlightedLabel} from 'vs/base/browser/ui/highlightedlabel/highlightedLabel';
-import {IMatch} from 'vs/base/common/filters';
+import { HighlightedLabel } from 'vs/base/browser/ui/highlightedlabel/highlightedLabel';
+import { IMatch } from 'vs/base/common/filters';
 import uri from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
 import types = require('vs/base/common/types');
-import {IWorkspaceProvider, getPathLabel} from 'vs/base/common/labels';
+import { IWorkspaceProvider, getPathLabel } from 'vs/base/common/labels';
 
 export interface IIconLabelCreationOptions {
 	supportHighlights?: boolean;
diff --git a/src/vs/base/browser/ui/inputbox/inputBox.ts b/src/vs/base/browser/ui/inputbox/inputBox.ts
index 1a3dc750fb21c..53fa3398693a2 100644
--- a/src/vs/base/browser/ui/inputbox/inputBox.ts
+++ b/src/vs/base/browser/ui/inputbox/inputBox.ts
@@ -9,14 +9,14 @@ import 'vs/css!./inputBox';
 import nls = require('vs/nls');
 import * as Bal from 'vs/base/browser/browser';
 import * as dom from 'vs/base/browser/dom';
-import {IHTMLContentElement} from 'vs/base/common/htmlContent';
-import {renderHtml} from 'vs/base/browser/htmlContentRenderer';
+import { IHTMLContentElement } from 'vs/base/common/htmlContent';
+import { renderHtml } from 'vs/base/browser/htmlContentRenderer';
 import aria = require('vs/base/browser/ui/aria/aria');
-import {IAction} from 'vs/base/common/actions';
-import {ActionBar} from 'vs/base/browser/ui/actionbar/actionbar';
-import {IContextViewProvider, AnchorAlignment} from 'vs/base/browser/ui/contextview/contextview';
-import Event, {Emitter} from 'vs/base/common/event';
-import {Widget} from 'vs/base/browser/ui/widget';
+import { IAction } from 'vs/base/common/actions';
+import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
+import { IContextViewProvider, AnchorAlignment } from 'vs/base/browser/ui/contextview/contextview';
+import Event, { Emitter } from 'vs/base/common/event';
+import { Widget } from 'vs/base/browser/ui/widget';
 
 const $ = dom.$;
 
diff --git a/src/vs/base/browser/ui/leftRightWidget/leftRightWidget.ts b/src/vs/base/browser/ui/leftRightWidget/leftRightWidget.ts
index e35a7c76fce4e..85e960a9ce34c 100644
--- a/src/vs/base/browser/ui/leftRightWidget/leftRightWidget.ts
+++ b/src/vs/base/browser/ui/leftRightWidget/leftRightWidget.ts
@@ -6,8 +6,8 @@
 'use strict';
 
 import 'vs/css!./leftRightWidget';
-import {Builder, $} from 'vs/base/browser/builder';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { Builder, $ } from 'vs/base/browser/builder';
+import { IDisposable } from 'vs/base/common/lifecycle';
 
 export interface IRenderer {
 	(container: HTMLElement): IDisposable;
diff --git a/src/vs/base/browser/ui/list/listPaging.ts b/src/vs/base/browser/ui/list/listPaging.ts
index 54a9e2eed5234..c5ceceb4cf42e 100644
--- a/src/vs/base/browser/ui/list/listPaging.ts
+++ b/src/vs/base/browser/ui/list/listPaging.ts
@@ -27,11 +27,11 @@ class PagedRenderer<TElement, TTemplateData> implements IRenderer<number, ITempl
 	constructor(
 		private renderer: IPagedRenderer<TElement, TTemplateData>,
 		private modelProvider: () => IPagedModel<TElement>
-	) {}
+	) { }
 
 	renderTemplate(container: HTMLElement): ITemplateData<TTemplateData> {
 		const data = this.renderer.renderTemplate(container);
-		return { data, disposable: { dispose: () => {} } };
+		return { data, disposable: { dispose: () => { } } };
 	}
 
 	renderElement(index: number, _: number, data: ITemplateData<TTemplateData>): void {
diff --git a/src/vs/base/browser/ui/list/listView.ts b/src/vs/base/browser/ui/list/listView.ts
index 59f6123e5b0d6..b43836046aa94 100644
--- a/src/vs/base/browser/ui/list/listView.ts
+++ b/src/vs/base/browser/ui/list/listView.ts
@@ -123,7 +123,7 @@ export class ListView<T> implements IDisposable {
 		each(renderRange, i => this.insertItemInDOM(this.items[i], i));
 
 		const scrollHeight = this.getContentHeight();
-		this.rowsContainer.style.height = `${ scrollHeight }px`;
+		this.rowsContainer.style.height = `${scrollHeight}px`;
 		this.scrollableElement.updateState({ scrollHeight });
 
 		return deleted.map(i => i.element);
@@ -175,7 +175,7 @@ export class ListView<T> implements IDisposable {
 		rangesToInsert.forEach(range => each(range, i => this.insertItemInDOM(this.items[i], i)));
 		rangesToRemove.forEach(range => each(range, i => this.removeItemFromDOM(this.items[i])));
 
-		this.rowsContainer.style.transform = `translate3d(0px, -${ renderTop }px, 0px)`;
+		this.rowsContainer.style.transform = `translate3d(0px, -${renderTop}px, 0px)`;
 		this.lastRenderTop = renderTop;
 		this.lastRenderHeight = renderHeight;
 	}
@@ -192,8 +192,8 @@ export class ListView<T> implements IDisposable {
 		}
 
 		const renderer = this.renderers[item.templateId];
-		item.row.domNode.style.top = `${ this.elementTop(index) }px`;
-		item.row.domNode.style.height = `${ item.size }px`;
+		item.row.domNode.style.top = `${this.elementTop(index)}px`;
+		item.row.domNode.style.height = `${item.size}px`;
 		item.row.domNode.setAttribute('data-index', `${index}`);
 		renderer.renderElement(item.element, index, item.row.templateData);
 	}
@@ -225,7 +225,7 @@ export class ListView<T> implements IDisposable {
 
 	// Events
 
-	addListener(type: string, handler: (event:any)=>void, useCapture?: boolean): IDisposable {
+	addListener(type: string, handler: (event: any) => void, useCapture?: boolean): IDisposable {
 		const userHandler = handler;
 		let domNode = this.domNode;
 
@@ -239,7 +239,7 @@ export class ListView<T> implements IDisposable {
 		return DOM.addDisposableListener(domNode, type, handler, useCapture);
 	}
 
-	private fireScopedEvent(handler: (event: any)=>void, index) {
+	private fireScopedEvent(handler: (event: any) => void, index) {
 		if (index < 0) {
 			return;
 		}
diff --git a/src/vs/base/browser/ui/list/listWidget.ts b/src/vs/base/browser/ui/list/listWidget.ts
index 4e288f8b198c9..36581beb6330a 100644
--- a/src/vs/base/browser/ui/list/listWidget.ts
+++ b/src/vs/base/browser/ui/list/listWidget.ts
@@ -28,8 +28,8 @@ class TraitRenderer<T, D> implements IRenderer<T, ITraitTemplateData<D>>
 {
 	constructor(
 		private controller: Trait<T>,
-		private renderer: IRenderer<T,D>
-	) {}
+		private renderer: IRenderer<T, D>
+	) { }
 
 	public get templateId(): string {
 		return this.renderer.templateId;
@@ -79,7 +79,7 @@ class Trait<T> implements IDisposable {
 		this._onChange.fire({ indexes });
 	}
 
-	renderElement(element: T, index: number, container:HTMLElement): void {
+	renderElement(element: T, index: number, container: HTMLElement): void {
 		DOM.toggleClass(container, this._trait, this.contains(index));
 	}
 
@@ -110,11 +110,11 @@ class Trait<T> implements IDisposable {
 
 class FocusTrait<T> extends Trait<T> {
 
-	constructor(private getElementId:(number) => string) {
+	constructor(private getElementId: (number) => string) {
 		super('focused');
 	}
 
-	renderElement(element: T, index: number, container:HTMLElement): void {
+	renderElement(element: T, index: number, container: HTMLElement): void {
 		super.renderElement(element, index, container);
 		container.setAttribute('role', 'option');
 		container.setAttribute('id', this.getElementId(index));
@@ -208,7 +208,7 @@ const DefaultOptions: IListOptions = {};
 export class List<T> implements IDisposable {
 
 	private static InstanceCount = 0;
-	private idPrefix = `list_id_${ ++List.InstanceCount }`;
+	private idPrefix = `list_id_${++List.InstanceCount}`;
 
 	private focus: Trait<T>;
 	private selection: Trait<T>;
@@ -352,7 +352,7 @@ export class List<T> implements IDisposable {
 	}
 
 	focusPreviousPage(): void {
-		let firstPageIndex:number;
+		let firstPageIndex: number;
 		const scrollTop = this.view.getScrollTop();
 
 		if (scrollTop === 0) {
@@ -409,8 +409,8 @@ export class List<T> implements IDisposable {
 		}
 	}
 
-	getElementId(index:number): string {
-		return `${ this.idPrefix }_${ index }`;
+	getElementId(index: number): string {
+		return `${this.idPrefix}_${index}`;
 	}
 
 	private toListEvent({ indexes }: ITraitChangeEvent) {
diff --git a/src/vs/base/browser/ui/list/rangeMap.ts b/src/vs/base/browser/ui/list/rangeMap.ts
index 5a3ff150bfa27..e100122c8db50 100644
--- a/src/vs/base/browser/ui/list/rangeMap.ts
+++ b/src/vs/base/browser/ui/list/rangeMap.ts
@@ -56,7 +56,7 @@ export function relativeComplement(one: IRange, other: IRange): IRange[] {
 	return result;
 }
 
-export function each(range: IRange, fn: (index : number) => void): void {
+export function each(range: IRange, fn: (index: number) => void): void {
 	for (let i = range.start; i < range.end; i++) {
 		fn(i);
 	}
diff --git a/src/vs/base/browser/ui/list/rowCache.ts b/src/vs/base/browser/ui/list/rowCache.ts
index dbf6b1ad934a4..77fd63cc9130c 100644
--- a/src/vs/base/browser/ui/list/rowCache.ts
+++ b/src/vs/base/browser/ui/list/rowCache.ts
@@ -28,7 +28,7 @@ function removeFromParent(element: HTMLElement): void {
 
 export class RowCache<T> implements IDisposable {
 
-	private cache: { [templateId:string]: IRow[]; };
+	private cache: { [templateId: string]: IRow[]; };
 	private scrollingRow: IRow;
 
 	constructor(private renderers: { [templateId: string]: IRenderer<T, any>; }) {
diff --git a/src/vs/base/browser/ui/list/test/rangeMap.test.ts b/src/vs/base/browser/ui/list/test/rangeMap.test.ts
index d8bf270ea4b3f..0ad8b350bef51 100644
--- a/src/vs/base/browser/ui/list/test/rangeMap.test.ts
+++ b/src/vs/base/browser/ui/list/test/rangeMap.test.ts
@@ -198,9 +198,9 @@ suite('RangeMap', () => {
 
 	test('delete', () => {
 		rangeMap.splice(0, 0, five, five, five, five, five,
-													five, five, five, five, five,
-													five, five, five, five, five,
-													five, five, five, five, five);
+			five, five, five, five, five,
+			five, five, five, five, five,
+			five, five, five, five, five);
 		assert.equal(rangeMap.size, 100);
 		assert.equal(rangeMap.count, 20);
 
@@ -236,7 +236,7 @@ suite('RangeMap', () => {
 
 	test('insert & delete #2', () => {
 		rangeMap.splice(0, 0, one, one, one, one, one,
-													one, one, one, one, one);
+			one, one, one, one, one);
 		rangeMap.splice(2, 6);
 		assert.equal(rangeMap.count, 4);
 		assert.equal(rangeMap.size, 4);
@@ -244,9 +244,9 @@ suite('RangeMap', () => {
 
 	test('insert & delete #3', () => {
 		rangeMap.splice(0, 0, one, one, one, one, one,
-													one, one, one, one, one,
-													two, two, two, two, two,
-													two, two, two, two, two);
+			one, one, one, one, one,
+			two, two, two, two, two,
+			two, two, two, two, two);
 		rangeMap.splice(8, 4);
 		assert.equal(rangeMap.count, 16);
 		assert.equal(rangeMap.size, 24);
@@ -254,9 +254,9 @@ suite('RangeMap', () => {
 
 	test('insert & delete #3', () => {
 		rangeMap.splice(0, 0, one, one, one, one, one,
-													one, one, one, one, one,
-													two, two, two, two, two,
-													two, two, two, two, two);
+			one, one, one, one, one,
+			two, two, two, two, two,
+			two, two, two, two, two);
 		rangeMap.splice(5, 0, three, three, three, three, three);
 		assert.equal(rangeMap.count, 25);
 		assert.equal(rangeMap.size, 45);
diff --git a/src/vs/base/browser/ui/menu/menu.ts b/src/vs/base/browser/ui/menu/menu.ts
index a975249004444..6c526ac7e6a65 100644
--- a/src/vs/base/browser/ui/menu/menu.ts
+++ b/src/vs/base/browser/ui/menu/menu.ts
@@ -6,12 +6,12 @@
 'use strict';
 
 import 'vs/css!./menu';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {$} from 'vs/base/browser/builder';
-import {IActionRunner, IAction} from 'vs/base/common/actions';
-import {ActionBar, IActionItemProvider, ActionsOrientation} from 'vs/base/browser/ui/actionbar/actionbar';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import {Keybinding} from 'vs/base/common/keybinding';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { $ } from 'vs/base/browser/builder';
+import { IActionRunner, IAction } from 'vs/base/common/actions';
+import { ActionBar, IActionItemProvider, ActionsOrientation } from 'vs/base/browser/ui/actionbar/actionbar';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import { Keybinding } from 'vs/base/common/keybinding';
 
 export interface IMenuOptions {
 	context?: any;
diff --git a/src/vs/base/browser/ui/octiconLabel/octiconLabel.mock.ts b/src/vs/base/browser/ui/octiconLabel/octiconLabel.mock.ts
index 635fb08e67453..1f6285529992e 100644
--- a/src/vs/base/browser/ui/octiconLabel/octiconLabel.mock.ts
+++ b/src/vs/base/browser/ui/octiconLabel/octiconLabel.mock.ts
@@ -3,9 +3,9 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 import octiconLabel = require('vs/base/browser/ui/octiconLabel/octiconLabel');
-import {escape} from 'vs/base/common/strings';
+import { escape } from 'vs/base/common/strings';
 
-function expand(text:string): string {
+function expand(text: string): string {
 	return text;
 }
 
diff --git a/src/vs/base/browser/ui/octiconLabel/octiconLabel.ts b/src/vs/base/browser/ui/octiconLabel/octiconLabel.ts
index 2b900803410ce..184a14e47b2d0 100644
--- a/src/vs/base/browser/ui/octiconLabel/octiconLabel.ts
+++ b/src/vs/base/browser/ui/octiconLabel/octiconLabel.ts
@@ -6,7 +6,7 @@
 
 
 import 'vs/css!./octicons/octicons';
-import {escape} from 'vs/base/common/strings';
+import { escape } from 'vs/base/common/strings';
 
 export function expand(text: string): string {
 	return text.replace(/\$\(([^)]+)\)/g, (match, g1) => {
diff --git a/src/vs/base/browser/ui/progressbar/progressbar.ts b/src/vs/base/browser/ui/progressbar/progressbar.ts
index ca4a2e08c468a..b110122c37dd1 100644
--- a/src/vs/base/browser/ui/progressbar/progressbar.ts
+++ b/src/vs/base/browser/ui/progressbar/progressbar.ts
@@ -6,13 +6,13 @@
 'use strict';
 
 import 'vs/css!./progressbar';
-import {TPromise, ValueCallback} from 'vs/base/common/winjs.base';
+import { TPromise, ValueCallback } from 'vs/base/common/winjs.base';
 import assert = require('vs/base/common/assert');
 import browser = require('vs/base/browser/browser');
-import {Builder, $} from 'vs/base/browser/builder';
+import { Builder, $ } from 'vs/base/browser/builder';
 import DOM = require('vs/base/browser/dom');
 import uuid = require('vs/base/common/uuid');
-import {IDisposable,dispose} from 'vs/base/common/lifecycle';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 
 const css_done = 'done';
 const css_active = 'active';
diff --git a/src/vs/base/browser/ui/resourceviewer/resourceViewer.ts b/src/vs/base/browser/ui/resourceviewer/resourceViewer.ts
index db86ee614cf03..b5077f5ba33b0 100644
--- a/src/vs/base/browser/ui/resourceviewer/resourceViewer.ts
+++ b/src/vs/base/browser/ui/resourceviewer/resourceViewer.ts
@@ -10,10 +10,10 @@ import nls = require('vs/nls');
 import mimes = require('vs/base/common/mime');
 import URI from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
-import {Builder, $} from 'vs/base/browser/builder';
+import { Builder, $ } from 'vs/base/browser/builder';
 import DOM = require('vs/base/browser/dom');
-import {DomScrollableElement} from 'vs/base/browser/ui/scrollbar/scrollableElement';
-import {BoundedLinkedMap} from 'vs/base/common/map';
+import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
+import { BoundedLinkedMap } from 'vs/base/common/map';
 
 // Known media mimes that we can handle
 const mapExtToMediaMimes = {
diff --git a/src/vs/base/browser/ui/sash/sash.ts b/src/vs/base/browser/ui/sash/sash.ts
index c4159fe009924..6a726abbff34a 100644
--- a/src/vs/base/browser/ui/sash/sash.ts
+++ b/src/vs/base/browser/ui/sash/sash.ts
@@ -6,15 +6,15 @@
 'use strict';
 
 import 'vs/css!./sash';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {Builder, $} from 'vs/base/browser/builder';
-import {isIPad} from 'vs/base/browser/browser';
-import {isMacintosh} from 'vs/base/common/platform';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { Builder, $ } from 'vs/base/browser/builder';
+import { isIPad } from 'vs/base/browser/browser';
+import { isMacintosh } from 'vs/base/common/platform';
 import types = require('vs/base/common/types');
 import DOM = require('vs/base/browser/dom');
-import {Gesture, EventType, GestureEvent} from 'vs/base/browser/touch';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import {StandardMouseEvent} from 'vs/base/browser/mouseEvent';
+import { Gesture, EventType, GestureEvent } from 'vs/base/browser/touch';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
 
 export interface ISashLayoutProvider { }
 
diff --git a/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts b/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts
index dd738211757e0..29c945dfb876c 100644
--- a/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts
+++ b/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts
@@ -6,14 +6,14 @@
 
 import * as Platform from 'vs/base/common/platform';
 import * as DomUtils from 'vs/base/browser/dom';
-import {IMouseEvent, StandardMouseEvent, StandardMouseWheelEvent} from 'vs/base/browser/mouseEvent';
-import {GlobalMouseMoveMonitor, IStandardMouseMoveEventData, standardMouseMoveMerger} from 'vs/base/browser/globalMouseMoveMonitor';
-import {Widget} from 'vs/base/browser/ui/widget';
-import {FastDomNode, createFastDomNode} from 'vs/base/browser/styleMutator';
-import {ScrollbarState} from 'vs/base/browser/ui/scrollbar/scrollbarState';
-import {ScrollbarArrow, ScrollbarArrowOptions} from 'vs/base/browser/ui/scrollbar/scrollbarArrow';
-import {ScrollbarVisibilityController} from 'vs/base/browser/ui/scrollbar/scrollbarVisibilityController';
-import {Scrollable, ScrollbarVisibility} from 'vs/base/common/scrollable';
+import { IMouseEvent, StandardMouseEvent, StandardMouseWheelEvent } from 'vs/base/browser/mouseEvent';
+import { GlobalMouseMoveMonitor, IStandardMouseMoveEventData, standardMouseMoveMerger } from 'vs/base/browser/globalMouseMoveMonitor';
+import { Widget } from 'vs/base/browser/ui/widget';
+import { FastDomNode, createFastDomNode } from 'vs/base/browser/styleMutator';
+import { ScrollbarState } from 'vs/base/browser/ui/scrollbar/scrollbarState';
+import { ScrollbarArrow, ScrollbarArrowOptions } from 'vs/base/browser/ui/scrollbar/scrollbarArrow';
+import { ScrollbarVisibilityController } from 'vs/base/browser/ui/scrollbar/scrollbarVisibilityController';
+import { Scrollable, ScrollbarVisibility } from 'vs/base/common/scrollable';
 
 /**
  * The orthogonal distance to the slider at which dragging "resets". This implements "snapping"
@@ -34,7 +34,7 @@ export interface ScrollbarHost {
 
 export interface AbstractScrollbarOptions {
 	canUseTranslate3d: boolean;
-	lazyRender:boolean;
+	lazyRender: boolean;
 	host: ScrollbarHost;
 	scrollbarState: ScrollbarState;
 	visibility: ScrollbarVisibility;
@@ -57,7 +57,7 @@ export abstract class AbstractScrollbar extends Widget {
 
 	protected _shouldRender: boolean;
 
-	constructor(opts:AbstractScrollbarOptions) {
+	constructor(opts: AbstractScrollbarOptions) {
 		super();
 		this._canUseTranslate3d = opts.canUseTranslate3d;
 		this._lazyRender = opts.lazyRender;
@@ -80,7 +80,7 @@ export abstract class AbstractScrollbar extends Widget {
 	/**
 	 * Creates the dom node for an arrow & adds it to the container
 	 */
-	protected _createArrow(opts:ScrollbarArrowOptions): void {
+	protected _createArrow(opts: ScrollbarArrowOptions): void {
 		let arrow = this._register(new ScrollbarArrow(opts));
 		this.domNode.domNode.appendChild(arrow.bgDomNode);
 		this.domNode.domNode.appendChild(arrow.domNode);
diff --git a/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts b/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts
index 12a7e96bcbe02..ea214d1e905d7 100644
--- a/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts
+++ b/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {AbstractScrollbar, ScrollbarHost, IMouseMoveEventData} from 'vs/base/browser/ui/scrollbar/abstractScrollbar';
-import {IMouseEvent, StandardMouseWheelEvent} from 'vs/base/browser/mouseEvent';
-import {IDomNodePagePosition} from 'vs/base/browser/dom';
-import {ScrollableElementResolvedOptions} from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
-import {Scrollable, ScrollEvent, ScrollbarVisibility} from 'vs/base/common/scrollable';
-import {ScrollbarState} from 'vs/base/browser/ui/scrollbar/scrollbarState';
-import {ARROW_IMG_SIZE} from 'vs/base/browser/ui/scrollbar/scrollbarArrow';
+import { AbstractScrollbar, ScrollbarHost, IMouseMoveEventData } from 'vs/base/browser/ui/scrollbar/abstractScrollbar';
+import { IMouseEvent, StandardMouseWheelEvent } from 'vs/base/browser/mouseEvent';
+import { IDomNodePagePosition } from 'vs/base/browser/dom';
+import { ScrollableElementResolvedOptions } from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
+import { Scrollable, ScrollEvent, ScrollbarVisibility } from 'vs/base/common/scrollable';
+import { ScrollbarState } from 'vs/base/browser/ui/scrollbar/scrollbarState';
+import { ARROW_IMG_SIZE } from 'vs/base/browser/ui/scrollbar/scrollbarArrow';
 
 export class HorizontalScrollbar extends AbstractScrollbar {
 
@@ -77,7 +77,7 @@ export class HorizontalScrollbar extends AbstractScrollbar {
 		this.domNode.setBottom(0);
 	}
 
-	public onDidScroll(e:ScrollEvent): boolean {
+	public onDidScroll(e: ScrollEvent): boolean {
 		this._shouldRender = this._onElementScrollSize(e.scrollWidth) || this._shouldRender;
 		this._shouldRender = this._onElementScrollPosition(e.scrollLeft) || this._shouldRender;
 		this._shouldRender = this._onElementSize(e.width) || this._shouldRender;
diff --git a/src/vs/base/browser/ui/scrollbar/scrollableElement.ts b/src/vs/base/browser/ui/scrollbar/scrollableElement.ts
index f42246f9cf562..e209c7abf651f 100644
--- a/src/vs/base/browser/ui/scrollbar/scrollableElement.ts
+++ b/src/vs/base/browser/ui/scrollbar/scrollableElement.ts
@@ -9,17 +9,17 @@ import 'vs/css!./media/scrollbars';
 import * as Browser from 'vs/base/browser/browser';
 import * as DomUtils from 'vs/base/browser/dom';
 import * as Platform from 'vs/base/common/platform';
-import {StandardMouseWheelEvent, IMouseEvent} from 'vs/base/browser/mouseEvent';
-import {HorizontalScrollbar} from 'vs/base/browser/ui/scrollbar/horizontalScrollbar';
-import {VerticalScrollbar} from 'vs/base/browser/ui/scrollbar/verticalScrollbar';
-import {ScrollableElementCreationOptions, ScrollableElementChangeOptions, ScrollableElementResolvedOptions} from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {Scrollable, ScrollEvent, INewScrollState, ScrollbarVisibility} from 'vs/base/common/scrollable';
-import {Widget} from 'vs/base/browser/ui/widget';
-import {TimeoutTimer} from 'vs/base/common/async';
-import {FastDomNode, createFastDomNode} from 'vs/base/browser/styleMutator';
-import {ScrollbarHost} from 'vs/base/browser/ui/scrollbar/abstractScrollbar';
-import Event, {Emitter} from 'vs/base/common/event';
+import { StandardMouseWheelEvent, IMouseEvent } from 'vs/base/browser/mouseEvent';
+import { HorizontalScrollbar } from 'vs/base/browser/ui/scrollbar/horizontalScrollbar';
+import { VerticalScrollbar } from 'vs/base/browser/ui/scrollbar/verticalScrollbar';
+import { ScrollableElementCreationOptions, ScrollableElementChangeOptions, ScrollableElementResolvedOptions } from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { Scrollable, ScrollEvent, INewScrollState, ScrollbarVisibility } from 'vs/base/common/scrollable';
+import { Widget } from 'vs/base/browser/ui/widget';
+import { TimeoutTimer } from 'vs/base/common/async';
+import { FastDomNode, createFastDomNode } from 'vs/base/browser/styleMutator';
+import { ScrollbarHost } from 'vs/base/browser/ui/scrollbar/abstractScrollbar';
+import Event, { Emitter } from 'vs/base/common/event';
 
 const HIDE_TIMEOUT = 500;
 const SCROLL_WHEEL_SENSITIVITY = 50;
@@ -67,7 +67,7 @@ export class ScrollableElement extends Widget {
 
 		// this._scrollable = this._register(new DelegateScrollable(scrollable, () => this._onScroll()));
 
-		let scrollbarHost:ScrollbarHost = {
+		let scrollbarHost: ScrollbarHost = {
 			onMouseWheel: (mouseWheelEvent: StandardMouseWheelEvent) => this._onMouseWheel(mouseWheelEvent),
 			onDragStart: () => this._onDragStart(),
 			onDragEnd: () => this._onDragEnd(),
@@ -140,7 +140,7 @@ export class ScrollableElement extends Widget {
 		this._verticalScrollbar.delegateMouseDown(browserEvent);
 	}
 
-	public updateState(newState:INewScrollState): void {
+	public updateState(newState: INewScrollState): void {
 		this._scrollable.updateState(newState);
 	}
 
@@ -291,7 +291,7 @@ export class ScrollableElement extends Widget {
 		}
 	}
 
-	private _onDidScroll(e:ScrollEvent): void {
+	private _onDidScroll(e: ScrollEvent): void {
 		this._shouldRender = this._horizontalScrollbar.onDidScroll(e) || this._shouldRender;
 		this._shouldRender = this._verticalScrollbar.onDidScroll(e) || this._shouldRender;
 
diff --git a/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.ts b/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.ts
index 1db0602cde260..1f1ca8242baf2 100644
--- a/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.ts
+++ b/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
 
 export interface ScrollableElementCreationOptions {
 	/**
diff --git a/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts b/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts
index 1e70624cf0f4c..9ab0513e79a66 100644
--- a/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts
+++ b/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IMouseEvent} from 'vs/base/browser/mouseEvent';
-import {GlobalMouseMoveMonitor, IStandardMouseMoveEventData, standardMouseMoveMerger} from 'vs/base/browser/globalMouseMoveMonitor';
-import {Widget} from 'vs/base/browser/ui/widget';
-import {TimeoutTimer, IntervalTimer} from 'vs/base/common/async';
+import { IMouseEvent } from 'vs/base/browser/mouseEvent';
+import { GlobalMouseMoveMonitor, IStandardMouseMoveEventData, standardMouseMoveMerger } from 'vs/base/browser/globalMouseMoveMonitor';
+import { Widget } from 'vs/base/browser/ui/widget';
+import { TimeoutTimer, IntervalTimer } from 'vs/base/common/async';
 
 /**
  * The arrow image size.
@@ -36,7 +36,7 @@ export class ScrollbarArrow extends Widget {
 	private _mousedownScheduleRepeatTimer: TimeoutTimer;
 	private _mouseMoveMonitor: GlobalMouseMoveMonitor<IStandardMouseMoveEventData>;
 
-	constructor(opts:ScrollbarArrowOptions) {
+	constructor(opts: ScrollbarArrowOptions) {
 		super();
 		this._onActivate = opts.onActivate;
 
diff --git a/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts b/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts
index f2dde2eb08d14..5b29c4b1f2c2b 100644
--- a/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts
+++ b/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Disposable} from 'vs/base/common/lifecycle';
-import {TimeoutTimer} from 'vs/base/common/async';
-import {FastDomNode} from 'vs/base/browser/styleMutator';
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
+import { Disposable } from 'vs/base/common/lifecycle';
+import { TimeoutTimer } from 'vs/base/common/async';
+import { FastDomNode } from 'vs/base/browser/styleMutator';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
 
 export class ScrollbarVisibilityController extends Disposable {
 	private _visibility: ScrollbarVisibility;
diff --git a/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts b/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts
index 921d84b83f6e7..3fce9dbc8df2c 100644
--- a/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts
+++ b/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {AbstractScrollbar, ScrollbarHost, IMouseMoveEventData} from 'vs/base/browser/ui/scrollbar/abstractScrollbar';
-import {IMouseEvent, StandardMouseWheelEvent} from 'vs/base/browser/mouseEvent';
-import {IDomNodePagePosition} from 'vs/base/browser/dom';
-import {ScrollableElementResolvedOptions} from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
-import {Scrollable, ScrollEvent, ScrollbarVisibility} from 'vs/base/common/scrollable';
-import {ScrollbarState} from 'vs/base/browser/ui/scrollbar/scrollbarState';
-import {ARROW_IMG_SIZE} from 'vs/base/browser/ui/scrollbar/scrollbarArrow';
+import { AbstractScrollbar, ScrollbarHost, IMouseMoveEventData } from 'vs/base/browser/ui/scrollbar/abstractScrollbar';
+import { IMouseEvent, StandardMouseWheelEvent } from 'vs/base/browser/mouseEvent';
+import { IDomNodePagePosition } from 'vs/base/browser/dom';
+import { ScrollableElementResolvedOptions } from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
+import { Scrollable, ScrollEvent, ScrollbarVisibility } from 'vs/base/common/scrollable';
+import { ScrollbarState } from 'vs/base/browser/ui/scrollbar/scrollbarState';
+import { ARROW_IMG_SIZE } from 'vs/base/browser/ui/scrollbar/scrollbarArrow';
 
 export class VerticalScrollbar extends AbstractScrollbar {
 
@@ -78,7 +78,7 @@ export class VerticalScrollbar extends AbstractScrollbar {
 		this.domNode.setTop(0);
 	}
 
-	public onDidScroll(e:ScrollEvent): boolean {
+	public onDidScroll(e: ScrollEvent): boolean {
 		this._shouldRender = this._onElementScrollSize(e.scrollHeight) || this._shouldRender;
 		this._shouldRender = this._onElementScrollPosition(e.scrollTop) || this._shouldRender;
 		this._shouldRender = this._onElementSize(e.height) || this._shouldRender;
diff --git a/src/vs/base/browser/ui/selectBox/selectBox.ts b/src/vs/base/browser/ui/selectBox/selectBox.ts
index bd08f4c169385..54d041f94ce3e 100644
--- a/src/vs/base/browser/ui/selectBox/selectBox.ts
+++ b/src/vs/base/browser/ui/selectBox/selectBox.ts
@@ -5,9 +5,9 @@
 
 import 'vs/css!./selectBox';
 
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import Event, {Emitter} from 'vs/base/common/event';
-import {Widget} from 'vs/base/browser/ui/widget';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
+import { Widget } from 'vs/base/browser/ui/widget';
 import * as dom from 'vs/base/browser/dom';
 
 export class SelectBox extends Widget {
diff --git a/src/vs/base/browser/ui/splitview/splitview.ts b/src/vs/base/browser/ui/splitview/splitview.ts
index 13e72e8cdb922..7c777e973a461 100644
--- a/src/vs/base/browser/ui/splitview/splitview.ts
+++ b/src/vs/base/browser/ui/splitview/splitview.ts
@@ -13,9 +13,9 @@ import objects = require('vs/base/common/objects');
 import dom = require('vs/base/browser/dom');
 import numbers = require('vs/base/common/numbers');
 import sash = require('vs/base/browser/ui/sash/sash');
-import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {KeyCode} from 'vs/base/common/keyCodes';
-import Event, {Emitter} from 'vs/base/common/event';
+import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { KeyCode } from 'vs/base/common/keyCodes';
+import Event, { Emitter } from 'vs/base/common/event';
 
 export enum Orientation {
 	VERTICAL,
@@ -379,9 +379,9 @@ export abstract class FixedCollapsibleView extends AbstractCollapsibleView {
 }
 
 class PlainView extends View {
-	render() {}
-	focus() {}
-	layout() {}
+	render() { }
+	focus() { }
+	layout() { }
 }
 
 class DeadView extends PlainView {
@@ -413,8 +413,7 @@ function sum(arr: number[]): number {
 
 export class SplitView implements
 	sash.IHorizontalSashLayoutProvider,
-	sash.IVerticalSashLayoutProvider
-{
+	sash.IVerticalSashLayoutProvider {
 	private orientation: Orientation;
 	private el: HTMLElement;
 	private size: number;
diff --git a/src/vs/base/browser/ui/timer/timer.ts b/src/vs/base/browser/ui/timer/timer.ts
index afa4e08efa0c6..1b19e91e145c2 100644
--- a/src/vs/base/browser/ui/timer/timer.ts
+++ b/src/vs/base/browser/ui/timer/timer.ts
@@ -6,8 +6,8 @@
 'use strict';
 
 import 'vs/css!./timer';
-import {TimeKeeper, ITimerEvent, getTimeKeeper} from 'vs/base/common/timer';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { TimeKeeper, ITimerEvent, getTimeKeeper } from 'vs/base/common/timer';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import DomUtils = require('vs/base/browser/dom');
 
 export class TimeKeeperRenderer {
diff --git a/src/vs/base/browser/ui/toolbar/toolbar.ts b/src/vs/base/browser/ui/toolbar/toolbar.ts
index 830e61d970d44..4ebedbee59b96 100644
--- a/src/vs/base/browser/ui/toolbar/toolbar.ts
+++ b/src/vs/base/browser/ui/toolbar/toolbar.ts
@@ -7,14 +7,14 @@
 
 import 'vs/css!./toolbar';
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {Builder, $} from 'vs/base/browser/builder';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { Builder, $ } from 'vs/base/browser/builder';
 import types = require('vs/base/common/types');
-import {Action, IActionRunner, IAction} from 'vs/base/common/actions';
-import {ActionBar, ActionsOrientation, IActionItemProvider, BaseActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
-import {IContextMenuProvider, DropdownMenu, IActionProvider, ILabelRenderer, IDropdownMenuOptions} from 'vs/base/browser/ui/dropdown/dropdown';
-import {Keybinding} from 'vs/base/common/keybinding';
+import { Action, IActionRunner, IAction } from 'vs/base/common/actions';
+import { ActionBar, ActionsOrientation, IActionItemProvider, BaseActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
+import { IContextMenuProvider, DropdownMenu, IActionProvider, ILabelRenderer, IDropdownMenuOptions } from 'vs/base/browser/ui/dropdown/dropdown';
+import { Keybinding } from 'vs/base/common/keybinding';
 
 export const CONTEXT = 'context.toolbar';
 
diff --git a/src/vs/base/browser/ui/widget.ts b/src/vs/base/browser/ui/widget.ts
index d1feb225c3994..c01fda038cca2 100644
--- a/src/vs/base/browser/ui/widget.ts
+++ b/src/vs/base/browser/ui/widget.ts
@@ -5,50 +5,50 @@
 
 'use strict';
 
-import {Disposable} from 'vs/base/common/lifecycle';
-import {StandardMouseEvent, IMouseEvent} from 'vs/base/browser/mouseEvent';
-import {StandardKeyboardEvent, IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
+import { Disposable } from 'vs/base/common/lifecycle';
+import { StandardMouseEvent, IMouseEvent } from 'vs/base/browser/mouseEvent';
+import { StandardKeyboardEvent, IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
 import * as DomUtils from 'vs/base/browser/dom';
 
 export abstract class Widget extends Disposable {
 
-	protected onclick(domNode:HTMLElement, listener:(e:IMouseEvent)=>void): void {
-		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.CLICK, (e:MouseEvent) => listener(new StandardMouseEvent(e))));
+	protected onclick(domNode: HTMLElement, listener: (e: IMouseEvent) => void): void {
+		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.CLICK, (e: MouseEvent) => listener(new StandardMouseEvent(e))));
 	}
 
-	protected onmousedown(domNode:HTMLElement, listener:(e:IMouseEvent)=>void): void {
-		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.MOUSE_DOWN, (e:MouseEvent) => listener(new StandardMouseEvent(e))));
+	protected onmousedown(domNode: HTMLElement, listener: (e: IMouseEvent) => void): void {
+		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.MOUSE_DOWN, (e: MouseEvent) => listener(new StandardMouseEvent(e))));
 	}
 
-	protected onmouseover(domNode:HTMLElement, listener:(e:IMouseEvent)=>void): void {
-		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.MOUSE_OVER, (e:MouseEvent) => listener(new StandardMouseEvent(e))));
+	protected onmouseover(domNode: HTMLElement, listener: (e: IMouseEvent) => void): void {
+		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.MOUSE_OVER, (e: MouseEvent) => listener(new StandardMouseEvent(e))));
 	}
 
-	protected onnonbubblingmouseout(domNode:HTMLElement, listener:(e:IMouseEvent)=>void): void {
-		this._register(DomUtils.addDisposableNonBubblingMouseOutListener(domNode, (e:MouseEvent) => listener(new StandardMouseEvent(e))));
+	protected onnonbubblingmouseout(domNode: HTMLElement, listener: (e: IMouseEvent) => void): void {
+		this._register(DomUtils.addDisposableNonBubblingMouseOutListener(domNode, (e: MouseEvent) => listener(new StandardMouseEvent(e))));
 	}
 
-	protected onkeydown(domNode:HTMLElement, listener:(e:IKeyboardEvent)=>void): void {
-		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.KEY_DOWN, (e:KeyboardEvent) => listener(new StandardKeyboardEvent(e))));
+	protected onkeydown(domNode: HTMLElement, listener: (e: IKeyboardEvent) => void): void {
+		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.KEY_DOWN, (e: KeyboardEvent) => listener(new StandardKeyboardEvent(e))));
 	}
 
-	protected onkeyup(domNode:HTMLElement, listener:(e:IKeyboardEvent)=>void): void {
-		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.KEY_UP, (e:KeyboardEvent) => listener(new StandardKeyboardEvent(e))));
+	protected onkeyup(domNode: HTMLElement, listener: (e: IKeyboardEvent) => void): void {
+		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.KEY_UP, (e: KeyboardEvent) => listener(new StandardKeyboardEvent(e))));
 	}
 
-	protected oninput(domNode:HTMLElement, listener:(e:Event)=>void): void {
+	protected oninput(domNode: HTMLElement, listener: (e: Event) => void): void {
 		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.INPUT, listener));
 	}
 
-	protected onblur(domNode:HTMLElement, listener:(e:Event)=>void): void {
+	protected onblur(domNode: HTMLElement, listener: (e: Event) => void): void {
 		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.BLUR, listener));
 	}
 
-	protected onfocus(domNode:HTMLElement, listener:(e:Event)=>void): void {
+	protected onfocus(domNode: HTMLElement, listener: (e: Event) => void): void {
 		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.FOCUS, listener));
 	}
 
-	protected onchange(domNode:HTMLElement, listener:(e:Event)=>void): void {
+	protected onchange(domNode: HTMLElement, listener: (e: Event) => void): void {
 		this._register(DomUtils.addDisposableListener(domNode, DomUtils.EventType.CHANGE, listener));
 	}
 }
diff --git a/src/vs/base/common/actions.ts b/src/vs/base/common/actions.ts
index 3c1a0238f38c5..a605a213eac71 100644
--- a/src/vs/base/common/actions.ts
+++ b/src/vs/base/common/actions.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import { IEventEmitter, EventEmitter } from 'vs/base/common/eventEmitter';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import * as Events from 'vs/base/common/events';
-import Event, {Emitter} from 'vs/base/common/event';
+import Event, { Emitter } from 'vs/base/common/event';
 
 export interface IAction extends IDisposable {
 	id: string;
diff --git a/src/vs/base/common/arrays.ts b/src/vs/base/common/arrays.ts
index c822c32c111e5..805d6241d1950 100644
--- a/src/vs/base/common/arrays.ts
+++ b/src/vs/base/common/arrays.ts
@@ -19,7 +19,7 @@ export function tail<T>(array: T[], n: number = 0): T {
  */
 export function forEach<T>(array: T[], callback: (element: T, remove: Function) => void): void {
 	for (var i = 0, len = array.length; i < len; i++) {
-		callback(array[i], function() {
+		callback(array[i], function () {
 			array.splice(i, 1);
 			i--; len--;
 		});
@@ -261,8 +261,8 @@ export function fill<T>(num: number, valueFn: () => T, arr: T[] = []): T[] {
 }
 
 export function index<T>(array: T[], indexer: (t: T) => string): { [key: string]: T; };
-export function index<T,R>(array: T[], indexer: (t: T) => string, merger?: (t: T, r: R) => R): { [key: string]: R; };
-export function index<T,R>(array: T[], indexer: (t: T) => string, merger: (t: T, r: R) => R = t => t as any): { [key: string]: R; } {
+export function index<T, R>(array: T[], indexer: (t: T) => string, merger?: (t: T, r: R) => R): { [key: string]: R; };
+export function index<T, R>(array: T[], indexer: (t: T) => string, merger: (t: T, r: R) => R = t => t as any): { [key: string]: R; } {
 	return array.reduce((r, t) => {
 		const key = indexer(t);
 		r[key] = merger(t, r[key]);
diff --git a/src/vs/base/common/async.ts b/src/vs/base/common/async.ts
index 5c5b079b7ff4d..e6267cfe4c1a5 100644
--- a/src/vs/base/common/async.ts
+++ b/src/vs/base/common/async.ts
@@ -403,7 +403,7 @@ export function once<T extends Function>(fn: T): T {
 	let didCall = false;
 	let result: any;
 
-	return function() {
+	return function () {
 		if (didCall) {
 			return result;
 		}
@@ -488,7 +488,7 @@ export class TimeoutTimer extends Disposable {
 		}
 	}
 
-	cancelAndSet(runner: () => void, timeout:number): void {
+	cancelAndSet(runner: () => void, timeout: number): void {
 		this.cancel();
 		this._token = platform.setTimeout(() => {
 			this._token = -1;
@@ -529,7 +529,7 @@ export class IntervalTimer extends Disposable {
 		}
 	}
 
-	cancelAndSet(runner: () => void, interval:number): void {
+	cancelAndSet(runner: () => void, interval: number): void {
 		this.cancel();
 		this._token = platform.setInterval(() => {
 			runner();
diff --git a/src/vs/base/common/cache.ts b/src/vs/base/common/cache.ts
index 9ed07ab56c2b3..65c468842ced5 100644
--- a/src/vs/base/common/cache.ts
+++ b/src/vs/base/common/cache.ts
@@ -10,7 +10,7 @@ import { TPromise } from 'vs/base/common/winjs.base';
 export default class Cache<T> {
 
 	private promise: TPromise<T> = null;
-	constructor(private task: ()=>TPromise<T>) {}
+	constructor(private task: () => TPromise<T>) { }
 
 	get(): TPromise<T> {
 		if (this.promise) {
diff --git a/src/vs/base/common/callbackList.ts b/src/vs/base/common/callbackList.ts
index 4471fb6d632c3..02f7580ff2729 100644
--- a/src/vs/base/common/callbackList.ts
+++ b/src/vs/base/common/callbackList.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {onUnexpectedError} from 'vs/base/common/errors';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { onUnexpectedError } from 'vs/base/common/errors';
 
 export default class CallbackList {
 
diff --git a/src/vs/base/common/cancellation.ts b/src/vs/base/common/cancellation.ts
index ba8f97a834c17..73a63574fc1eb 100644
--- a/src/vs/base/common/cancellation.ts
+++ b/src/vs/base/common/cancellation.ts
@@ -5,14 +5,14 @@
 
 'use strict';
 
-import Event, {Emitter} from 'vs/base/common/event';
+import Event, { Emitter } from 'vs/base/common/event';
 
 export interface CancellationToken {
 	isCancellationRequested: boolean;
 	onCancellationRequested: Event<any>;
 }
 
-const shortcutEvent: Event<any> = Object.freeze(function(callback, context?) {
+const shortcutEvent: Event<any> = Object.freeze(function (callback, context?) {
 	let handle = setTimeout(callback.bind(context), 0);
 	return { dispose() { clearTimeout(handle); } };
 });
diff --git a/src/vs/base/common/collections.ts b/src/vs/base/common/collections.ts
index dd961aa38962c..56369b827fe1c 100644
--- a/src/vs/base/common/collections.ts
+++ b/src/vs/base/common/collections.ts
@@ -115,7 +115,7 @@ export function forEach<T>(from: INumberDictionary<T>, callback: (entry: { key:
 export function forEach<T>(from: any, callback: (entry: { key: any; value: T; }, remove: Function) => any): void {
 	for (var key in from) {
 		if (hasOwnProperty.call(from, key)) {
-			const result = callback({ key: key, value: from[key] }, function() {
+			const result = callback({ key: key, value: from[key] }, function () {
 				delete from[key];
 			});
 			if (result === false) {
diff --git a/src/vs/base/common/decorators.ts b/src/vs/base/common/decorators.ts
index d11a4fb43c6b2..d20f57e96c30c 100644
--- a/src/vs/base/common/decorators.ts
+++ b/src/vs/base/common/decorators.ts
@@ -21,7 +21,7 @@ export function memoize(target: any, key: string, descriptor: any) {
 		throw new Error('not supported');
 	}
 
-	const memoizeKey = `$memoize$${ key }`;
+	const memoizeKey = `$memoize$${key}`;
 
 	descriptor[fnKey] = function (...args) {
 		if (!this.hasOwnProperty(memoizeKey)) {
diff --git a/src/vs/base/common/diagnostics.ts b/src/vs/base/common/diagnostics.ts
index a83885e2755e0..dc866d18614ba 100644
--- a/src/vs/base/common/diagnostics.ts
+++ b/src/vs/base/common/diagnostics.ts
@@ -12,7 +12,7 @@ import * as Platform from 'vs/base/common/platform';
  */
 
 var globals = Platform.globals;
-if(!globals.Monaco) {
+if (!globals.Monaco) {
 	globals.Monaco = {};
 }
 globals.Monaco.Diagnostics = {};
@@ -21,8 +21,8 @@ var switches = globals.Monaco.Diagnostics;
 var map = {};
 var data = [];
 
-function fifo(array:any[], size:number) {
-	while(array.length > size) {
+function fifo(array: any[], size: number) {
+	while (array.length > size) {
 		array.shift();
 	}
 }
@@ -45,23 +45,23 @@ export function register(what: string, fn: Function): (...args: any[]) => void {
 	tracers.push(fn);
 	map[what] = tracers;
 
-	var result = function(...args:any[]) {
+	var result = function (...args: any[]) {
 
-		var idx:number;
+		var idx: number;
 
-		if(switches[what] === true) {
+		if (switches[what] === true) {
 			// replay back-in-time functions
 			var allArgs = [arguments];
 			idx = data.indexOf(fn);
-			if(idx !== -1) {
+			if (idx !== -1) {
 				allArgs.unshift.apply(allArgs, data[idx + 1] || []);
 				data[idx + 1] = [];
 			}
 
-			var doIt:()=>void = function() {
+			var doIt: () => void = function () {
 				var thisArguments = allArgs.shift();
 				fn.apply(fn, thisArguments);
-				if(allArgs.length > 0) {
+				if (allArgs.length > 0) {
 					Platform.setTimeout(doIt, 500);
 				}
 			};
diff --git a/src/vs/base/common/diff/diff.ts b/src/vs/base/common/diff/diff.ts
index 7f98094c4bbde..a72323015b5e3 100644
--- a/src/vs/base/common/diff/diff.ts
+++ b/src/vs/base/common/diff/diff.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {DiffChange} from 'vs/base/common/diff/diffChange';
+import { DiffChange } from 'vs/base/common/diff/diffChange';
 
 
 function createStringSequence(a: string): ISequence {
@@ -22,7 +22,7 @@ export function stringDiff(original: string, modified: string): IDiffChange[] {
 
 export interface ISequence {
 	getLength(): number;
-	getElementHash(index:number): string;
+	getElementHash(index: number): string;
 }
 
 export interface IDiffChange {
@@ -30,29 +30,29 @@ export interface IDiffChange {
 	 * The position of the first element in the original sequence which
 	 * this change affects.
 	 */
-	originalStart:number;
+	originalStart: number;
 
 	/**
 	 * The number of elements from the original sequence which were
 	 * affected.
 	 */
-	originalLength:number;
+	originalLength: number;
 
 	/**
 	 * The position of the first element in the modified sequence which
 	 * this change affects.
 	 */
-	modifiedStart:number;
+	modifiedStart: number;
 
 	/**
 	 * The number of elements from the modified sequence which were
 	 * affected (added).
 	 */
-	modifiedLength:number;
+	modifiedLength: number;
 }
 
 export interface IContinueProcessingPredicate {
-	(furthestOriginalIndex:number, originalSequence:ISequence, matchLengthOfLongest:number): boolean;
+	(furthestOriginalIndex: number, originalSequence: ISequence, matchLengthOfLongest: number): boolean;
 }
 
 //
@@ -61,7 +61,7 @@ export interface IContinueProcessingPredicate {
 
 export class Debug {
 
-	public static Assert(condition:boolean, message:string): void {
+	public static Assert(condition: boolean, message: string): void {
 		if (!condition) {
 			throw new Error(message);
 		}
@@ -84,7 +84,7 @@ export class MyArray {
 	 * length:
 	 *		A 64-bit integer that represents the number of elements to copy.
 	 */
-	public static Copy(sourceArray:any[], sourceIndex:number, destinationArray:any[], destinationIndex:number, length:number) {
+	public static Copy(sourceArray: any[], sourceIndex: number, destinationArray: any[], destinationIndex: number, length: number) {
 		for (let i = 0; i < length; i++) {
 			destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];
 		}
@@ -119,11 +119,11 @@ let MaxDifferencesHistory = 1447;
  */
 class DiffChangeHelper {
 
-	private m_changes:DiffChange[];
-	private m_originalStart:number;
-	private m_modifiedStart:number;
-	private m_originalCount:number;
-	private m_modifiedCount:number;
+	private m_changes: DiffChange[];
+	private m_originalStart: number;
+	private m_modifiedStart: number;
+	private m_originalCount: number;
+	private m_modifiedCount: number;
 
 	/**
 	 * Constructs a new DiffChangeHelper for the given DiffSequences.
@@ -161,7 +161,7 @@ class DiffChangeHelper {
 	 * @param originalIndex The index of the original element to add.
 	 * @param modifiedIndex The index of the modified element that provides corresponding position in the modified sequence.
 	 */
-	public AddOriginalElement(originalIndex:number, modifiedIndex:number) {
+	public AddOriginalElement(originalIndex: number, modifiedIndex: number) {
 		// The 'true' start index is the smallest of the ones we've seen
 		this.m_originalStart = Math.min(this.m_originalStart, originalIndex);
 		this.m_modifiedStart = Math.min(this.m_modifiedStart, modifiedIndex);
@@ -176,7 +176,7 @@ class DiffChangeHelper {
 	 * @param originalIndex The index of the original element that provides corresponding position in the original sequence.
 	 * @param modifiedIndex The index of the modified element to add.
 	 */
-	public AddModifiedElement(originalIndex:number, modifiedIndex:number): void {
+	public AddModifiedElement(originalIndex: number, modifiedIndex: number): void {
 		// The 'true' start index is the smallest of the ones we've seen
 		this.m_originalStart = Math.min(this.m_originalStart, originalIndex);
 		this.m_modifiedStart = Math.min(this.m_modifiedStart, modifiedIndex);
@@ -219,19 +219,19 @@ const hasOwnProperty = Object.prototype.hasOwnProperty;
  */
 export class LcsDiff {
 
-	private OriginalSequence:ISequence;
-	private ModifiedSequence:ISequence;
-	private ContinueProcessingPredicate:IContinueProcessingPredicate;
+	private OriginalSequence: ISequence;
+	private ModifiedSequence: ISequence;
+	private ContinueProcessingPredicate: IContinueProcessingPredicate;
 
-	private m_originalIds:number[];
-	private m_modifiedIds:number[];
-	private m_forwardHistory:number[][];
-	private m_reverseHistory:number[][];
+	private m_originalIds: number[];
+	private m_modifiedIds: number[];
+	private m_forwardHistory: number[][];
+	private m_reverseHistory: number[][];
 
 	/**
 	 * Constructs the DiffFinder
 	 */
-	constructor(originalSequence:ISequence, newSequence:ISequence, continueProcessingPredicate:IContinueProcessingPredicate = null) {
+	constructor(originalSequence: ISequence, newSequence: ISequence, continueProcessingPredicate: IContinueProcessingPredicate = null) {
 		this.OriginalSequence = originalSequence;
 		this.ModifiedSequence = newSequence;
 		this.ContinueProcessingPredicate = continueProcessingPredicate;
@@ -252,7 +252,7 @@ export class LcsDiff {
 
 		// Create a new hash table for unique elements from the original
 		// sequence.
-		let hashTable:{[key:string]:number;} = {};
+		let hashTable: { [key: string]: number; } = {};
 		let currentUniqueId = 1;
 		let i: number;
 
@@ -282,7 +282,7 @@ export class LcsDiff {
 		}
 	}
 
-	private ElementsAreEqual(originalIndex:number, newIndex:number): boolean {
+	private ElementsAreEqual(originalIndex: number, newIndex: number): boolean {
 		return this.m_originalIds[originalIndex] === this.m_modifiedIds[newIndex];
 	}
 
@@ -295,8 +295,8 @@ export class LcsDiff {
 	 * sequences on the bounded range.
 	 * @returns An array of the differences between the two input sequences.
 	 */
-	private _ComputeDiff(originalStart:number, originalEnd:number, modifiedStart:number, modifiedEnd:number): DiffChange[] {
-		let quitEarlyArr = [ false ];
+	private _ComputeDiff(originalStart: number, originalEnd: number, modifiedStart: number, modifiedEnd: number): DiffChange[] {
+		let quitEarlyArr = [false];
 		return this.ComputeDiffRecursive(originalStart, originalEnd, modifiedStart, modifiedEnd, quitEarlyArr);
 	}
 
@@ -305,7 +305,7 @@ export class LcsDiff {
 	 * recursively.
 	 * @returns An array of the differences between the two input sequences.
 	 */
-	private ComputeDiffRecursive(originalStart:number, originalEnd:number, modifiedStart:number, modifiedEnd:number, quitEarlyArr:boolean[]): DiffChange[] {
+	private ComputeDiffRecursive(originalStart: number, originalEnd: number, modifiedStart: number, modifiedEnd: number, quitEarlyArr: boolean[]): DiffChange[] {
 		quitEarlyArr[0] = false;
 
 		// Find the start of the differences
@@ -322,7 +322,7 @@ export class LcsDiff {
 
 		// In the special case where we either have all insertions or all deletions or the sequences are identical
 		if (originalStart > originalEnd || modifiedStart > modifiedEnd) {
-			let changes:DiffChange[];
+			let changes: DiffChange[];
 
 			if (modifiedStart <= modifiedEnd) {
 				Debug.Assert(originalStart === originalEnd + 1, 'originalStart should only be one more than originalEnd');
@@ -384,16 +384,16 @@ export class LcsDiff {
 
 		// If we hit here, we quit early, and so can't return anything meaningful
 		return [
-			new DiffChange(originalStart, originalEnd -originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)
+			new DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)
 		];
 	}
 
-	private WALKTRACE(diagonalForwardBase:number, diagonalForwardStart:number, diagonalForwardEnd:number, diagonalForwardOffset:number,
-					diagonalReverseBase:number, diagonalReverseStart:number, diagonalReverseEnd:number, diagonalReverseOffset:number,
-					forwardPoints:number[], reversePoints:number[],
-					originalIndex:number, originalEnd:number, midOriginalArr:number[],
-					modifiedIndex:number, modifiedEnd:number, midModifiedArr:number[],
-					deltaIsEven:boolean, quitEarlyArr:boolean[]): DiffChange[] {
+	private WALKTRACE(diagonalForwardBase: number, diagonalForwardStart: number, diagonalForwardEnd: number, diagonalForwardOffset: number,
+		diagonalReverseBase: number, diagonalReverseStart: number, diagonalReverseEnd: number, diagonalReverseOffset: number,
+		forwardPoints: number[], reversePoints: number[],
+		originalIndex: number, originalEnd: number, midOriginalArr: number[],
+		modifiedIndex: number, modifiedEnd: number, midModifiedArr: number[],
+		deltaIsEven: boolean, quitEarlyArr: boolean[]): DiffChange[] {
 		let forwardChanges: DiffChange[] = null, reverseChanges: DiffChange[] = null;
 
 		// First, walk backward through the forward diagonals history
@@ -459,7 +459,7 @@ export class LcsDiff {
 
 			reverseChanges = [
 				new DiffChange(originalStartPoint, originalEnd - originalStartPoint + 1,
-							modifiedStartPoint, modifiedEnd - modifiedStartPoint + 1)
+					modifiedStartPoint, modifiedEnd - modifiedStartPoint + 1)
 			];
 		} else {
 			// Now walk backward through the reverse diagonals history
@@ -529,11 +529,11 @@ export class LcsDiff {
 	 * @param midModified The middle point of the modified sequence range
 	 * @returns The diff changes, if available, otherwise null
 	 */
-	private ComputeRecursionPoint(originalStart:number, originalEnd:number, modifiedStart:number, modifiedEnd:number, midOriginalArr:number[], midModifiedArr:number[], quitEarlyArr:boolean[]) {
-		let originalIndex:number, modifiedIndex:number;
+	private ComputeRecursionPoint(originalStart: number, originalEnd: number, modifiedStart: number, modifiedEnd: number, midOriginalArr: number[], midModifiedArr: number[], quitEarlyArr: boolean[]) {
+		let originalIndex: number, modifiedIndex: number;
 		let diagonalForwardStart = 0, diagonalForwardEnd = 0;
 		let diagonalReverseStart = 0, diagonalReverseEnd = 0;
-		let numDifferences:number;
+		let numDifferences: number;
 
 		// To traverse the edit graph and produce the proper LCS, our actual
 		// start position is just outside the given boundary
@@ -555,8 +555,8 @@ export class LcsDiff {
 		// The modifiedIndex can be computed mathematically from the originalIndex and the diagonal number.
 		let maxDifferences = (originalEnd - originalStart) + (modifiedEnd - modifiedStart);
 		let numDiagonals = maxDifferences + 1;
-		let forwardPoints:number[] = new Array<number>(numDiagonals);
-		let reversePoints:number[] = new Array<number>(numDiagonals);
+		let forwardPoints: number[] = new Array<number>(numDiagonals);
+		let reversePoints: number[] = new Array<number>(numDiagonals);
 		// diagonalForwardBase: Index into forwardPoints of the diagonal which passes through (originalStart, modifiedStart)
 		// diagonalReverseBase: Index into reversePoints of the diagonal which passes through (originalEnd, modifiedEnd)
 		let diagonalForwardBase = (modifiedEnd - modifiedStart);
@@ -591,7 +591,7 @@ export class LcsDiff {
 		//   away from the reference diagonal (which is diagonalForwardBase for forward, diagonalReverseBase for reverse).
 		// --We extend on even diagonals (relative to the reference diagonal) only when numDifferences
 		//   is even and odd diagonals only when numDifferences is odd.
-		let diagonal:number, tempOriginalIndex:number;
+		let diagonal: number, tempOriginalIndex: number;
 		for (numDifferences = 1; numDifferences <= (maxDifferences / 2) + 1; numDifferences++) {
 			let furthestOriginalIndex = 0;
 			let furthestModifiedIndex = 0;
@@ -683,7 +683,7 @@ export class LcsDiff {
 
 					return [
 						new DiffChange(originalStart, originalEnd - originalStart + 1,
-								modifiedStart, modifiedEnd - modifiedStart + 1)
+							modifiedStart, modifiedEnd - modifiedStart + 1)
 					];
 				}
 			}
@@ -743,7 +743,7 @@ export class LcsDiff {
 			if (numDifferences <= MaxDifferencesHistory) {
 				// We are allocating space for one extra int, which we fill with
 				// the index of the diagonal base index
-				let temp:number[] = new Array<number>(diagonalForwardEnd - diagonalForwardStart + 2);
+				let temp: number[] = new Array<number>(diagonalForwardEnd - diagonalForwardStart + 2);
 				temp[0] = diagonalForwardBase - diagonalForwardStart + 1;
 				MyArray.Copy(forwardPoints, diagonalForwardStart, temp, 1, diagonalForwardEnd - diagonalForwardStart + 1);
 				this.m_forwardHistory.push(temp);
@@ -776,9 +776,9 @@ export class LcsDiff {
 	 * @param The right changes
 	 * @returns The concatenated list
 	 */
-	private ConcatenateChanges(left:DiffChange[], right:DiffChange[]): DiffChange[] {
-		let mergedChangeArr:DiffChange[] = [];
-		let result:DiffChange[] = null;
+	private ConcatenateChanges(left: DiffChange[], right: DiffChange[]): DiffChange[] {
+		let mergedChangeArr: DiffChange[] = [];
+		let result: DiffChange[] = null;
 
 		if (left.length === 0 || right.length === 0) {
 			return (right.length > 0) ? right : left;
@@ -810,12 +810,11 @@ export class LcsDiff {
 	 * @param mergedChange The merged change if the two overlap, null otherwise
 	 * @returns True if the two changes overlap
 	 */
-	private ChangesOverlap(left:DiffChange, right:DiffChange, mergedChangeArr:DiffChange[]): boolean {
+	private ChangesOverlap(left: DiffChange, right: DiffChange, mergedChangeArr: DiffChange[]): boolean {
 		Debug.Assert(left.originalStart <= right.originalStart, 'Left change is not less than or equal to right change');
 		Debug.Assert(left.modifiedStart <= right.modifiedStart, 'Left change is not less than or equal to right change');
 
-		if (left.originalStart + left.originalLength >= right.originalStart || left.modifiedStart + left.modifiedLength >= right.modifiedStart)
-		{
+		if (left.originalStart + left.originalLength >= right.originalStart || left.modifiedStart + left.modifiedLength >= right.modifiedStart) {
 			let originalStart = left.originalStart;
 			let originalLength = left.originalLength;
 			let modifiedStart = left.modifiedStart;
@@ -849,7 +848,7 @@ export class LcsDiff {
 	 * @returns The clipped diagonal index.
 	 */
 
-	private ClipDiagonalBound(diagonal:number, numDifferences:number, diagonalBaseIndex:number, numDiagonals:number): number {
+	private ClipDiagonalBound(diagonal: number, numDifferences: number, diagonalBaseIndex: number, numDiagonals: number): number {
 		if (diagonal >= 0 && diagonal < numDiagonals) {
 			// Nothing to clip, its in range
 			return diagonal;
diff --git a/src/vs/base/common/diff/diff2.ts b/src/vs/base/common/diff/diff2.ts
index 8fddbbb62a984..c37b16e49e566 100644
--- a/src/vs/base/common/diff/diff2.ts
+++ b/src/vs/base/common/diff/diff2.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {DiffChange} from 'vs/base/common/diff/diffChange';
+import { DiffChange } from 'vs/base/common/diff/diffChange';
 
 export interface ISequence {
 	getLength(): number;
-	getElementHash(index:number): string;
+	getElementHash(index: number): string;
 }
 
 export interface IDiffChange {
@@ -16,33 +16,33 @@ export interface IDiffChange {
 	 * The position of the first element in the original sequence which
 	 * this change affects.
 	 */
-	originalStart:number;
+	originalStart: number;
 
 	/**
 	 * The number of elements from the original sequence which were
 	 * affected.
 	 */
-	originalLength:number;
+	originalLength: number;
 
 	/**
 	 * The position of the first element in the modified sequence which
 	 * this change affects.
 	 */
-	modifiedStart:number;
+	modifiedStart: number;
 
 	/**
 	 * The number of elements from the modified sequence which were
 	 * affected (added).
 	 */
-	modifiedLength:number;
+	modifiedLength: number;
 }
 
 export interface IContinueProcessingPredicate {
-	(furthestOriginalIndex:number, originalSequence:ISequence, matchLengthOfLongest:number): boolean;
+	(furthestOriginalIndex: number, originalSequence: ISequence, matchLengthOfLongest: number): boolean;
 }
 
 export interface IHashFunction {
-	(sequence: ISequence, index:number): string;
+	(sequence: ISequence, index: number): string;
 }
 
 /**
@@ -50,22 +50,22 @@ export interface IHashFunction {
  */
 export class LcsDiff2 {
 
-	private x:ISequence;
-	private y:ISequence;
+	private x: ISequence;
+	private y: ISequence;
 
-	private ids_for_x:number[];
-	private ids_for_y:number[];
+	private ids_for_x: number[];
+	private ids_for_y: number[];
 
-	private hashFunc:IHashFunction;
+	private hashFunc: IHashFunction;
 
-	private resultX:boolean[];
-	private resultY:boolean[];
-	private forwardPrev:number[];
-	private forwardCurr:number[];
-	private backwardPrev:number[];
-	private backwardCurr:number[];
+	private resultX: boolean[];
+	private resultY: boolean[];
+	private forwardPrev: number[];
+	private forwardCurr: number[];
+	private backwardPrev: number[];
+	private backwardCurr: number[];
 
-	constructor(originalSequence:ISequence, newSequence:ISequence, continueProcessingPredicate:IContinueProcessingPredicate, hashFunc:IHashFunction) {
+	constructor(originalSequence: ISequence, newSequence: ISequence, continueProcessingPredicate: IContinueProcessingPredicate, hashFunc: IHashFunction) {
 		this.x = originalSequence;
 		this.y = newSequence;
 		this.ids_for_x = [];
@@ -105,9 +105,9 @@ export class LcsDiff2 {
 
 		// Create a new hash table for unique elements from the original
 		// sequence.
-		let hashTable:{[key:string]:number;} = {};
+		let hashTable: { [key: string]: number; } = {};
 		let currentUniqueId = 1;
-		let i:number;
+		let i: number;
 
 		// Fill up the hash table for unique elements
 		for (i = 0; i < xLength; i++) {
@@ -135,7 +135,7 @@ export class LcsDiff2 {
 		}
 	}
 
-	private ElementsAreEqual(xIndex:number, yIndex:number): boolean {
+	private ElementsAreEqual(xIndex: number, yIndex: number): boolean {
 		return this.ids_for_x[xIndex] === this.ids_for_y[yIndex];
 	}
 
@@ -176,17 +176,17 @@ export class LcsDiff2 {
 		return changes;
 	}
 
-	private forward(xStart:number, xStop:number, yStart:number, yStop:number): number[] {
+	private forward(xStart: number, xStop: number, yStart: number, yStop: number): number[] {
 		let prev = this.forwardPrev,
 			curr = this.forwardCurr,
-			tmp:number[],
-			i:number,
-			j:number;
+			tmp: number[],
+			i: number,
+			j: number;
 
 		// First line
 		prev[yStart] = this.ElementsAreEqual(xStart, yStart) ? 1 : 0;
 		for (j = yStart + 1; j <= yStop; j++) {
-			prev[j] = this.ElementsAreEqual(xStart, j) ? 1 : prev[j-1];
+			prev[j] = this.ElementsAreEqual(xStart, j) ? 1 : prev[j - 1];
 		}
 
 		for (i = xStart + 1; i <= xStop; i++) {
@@ -195,9 +195,9 @@ export class LcsDiff2 {
 
 			for (j = yStart + 1; j <= yStop; j++) {
 				if (this.ElementsAreEqual(i, j)) {
-					curr[j] = prev[j-1] + 1;
+					curr[j] = prev[j - 1] + 1;
 				} else {
-					curr[j] = prev[j] > curr[j-1] ? prev[j] : curr[j-1];
+					curr[j] = prev[j] > curr[j - 1] ? prev[j] : curr[j - 1];
 				}
 			}
 
@@ -211,17 +211,17 @@ export class LcsDiff2 {
 		return prev;
 	}
 
-	private backward(xStart:number, xStop:number, yStart:number, yStop:number): number[] {
+	private backward(xStart: number, xStop: number, yStart: number, yStop: number): number[] {
 		let prev = this.backwardPrev,
 			curr = this.backwardCurr,
-			tmp:number[],
-			i:number,
-			j:number;
+			tmp: number[],
+			i: number,
+			j: number;
 
 		// Last line
 		prev[yStop] = this.ElementsAreEqual(xStop, yStop) ? 1 : 0;
 		for (j = yStop - 1; j >= yStart; j--) {
-			prev[j] = this.ElementsAreEqual(xStop, j) ? 1 : prev[j+1];
+			prev[j] = this.ElementsAreEqual(xStop, j) ? 1 : prev[j + 1];
 		}
 
 		for (i = xStop - 1; i >= xStart; i--) {
@@ -230,9 +230,9 @@ export class LcsDiff2 {
 
 			for (j = yStop - 1; j >= yStart; j--) {
 				if (this.ElementsAreEqual(i, j)) {
-					curr[j] = prev[j+1] + 1;
+					curr[j] = prev[j + 1] + 1;
 				} else {
-					curr[j] = prev[j] > curr[j+1] ? prev[j] : curr[j+1];
+					curr[j] = prev[j] > curr[j + 1] ? prev[j] : curr[j + 1];
 				}
 			}
 
@@ -246,17 +246,17 @@ export class LcsDiff2 {
 		return prev;
 	}
 
-	private findCut(xStart:number, xStop:number, yStart:number, yStop:number, middle:number): number {
+	private findCut(xStart: number, xStop: number, yStart: number, yStop: number, middle: number): number {
 		let L1 = this.forward(xStart, middle, yStart, yStop);
 		let L2 = this.backward(middle + 1, xStop, yStart, yStop);
 
 		// First cut
-		let max = L2[yStart], cut = yStart-1;
+		let max = L2[yStart], cut = yStart - 1;
 
 		// Middle cut
 		for (let j = yStart; j < yStop; j++) {
-			if (L1[j] + L2[j+1] > max) {
-				max = L1[j] + L2[j+1];
+			if (L1[j] + L2[j + 1] > max) {
+				max = L1[j] + L2[j + 1];
 				cut = j;
 			}
 		}
@@ -270,28 +270,28 @@ export class LcsDiff2 {
 		return cut;
 	}
 
-	private execute(xStart:number, xStop:number, yStart:number, yStop:number) {
+	private execute(xStart: number, xStop: number, yStart: number, yStop: number) {
 		// Do some prefix trimming
 		while (xStart <= xStop && yStart <= yStop && this.ElementsAreEqual(xStart, yStart)) {
 			this.resultX[xStart] = true;
-			xStart ++;
+			xStart++;
 			this.resultY[yStart] = true;
-			yStart ++;
+			yStart++;
 		}
 
 		// Do some suffix trimming
 		while (xStart <= xStop && yStart <= yStop && this.ElementsAreEqual(xStop, yStop)) {
 			this.resultX[xStop] = true;
-			xStop --;
+			xStop--;
 			this.resultY[yStop] = true;
-			yStop --;
+			yStop--;
 		}
 
 		if (xStart > xStop || yStart > yStop) {
 			return;
 		}
 
-		let found:number, i:number;
+		let found: number, i: number;
 		if (xStart === xStop) {
 			found = -1;
 			for (i = yStart; i <= yStop; i++) {
@@ -326,7 +326,7 @@ export class LcsDiff2 {
 			}
 
 			if (cut + 1 <= yStop) {
-				this.execute(middle+1, xStop, cut+1, yStop);
+				this.execute(middle + 1, xStop, cut + 1, yStop);
 			}
 		}
 	}
diff --git a/src/vs/base/common/diff/diffChange.ts b/src/vs/base/common/diff/diffChange.ts
index dfe3341d59097..3a137d76f1096 100644
--- a/src/vs/base/common/diff/diffChange.ts
+++ b/src/vs/base/common/diff/diffChange.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 export const DifferenceType = {
-	Add : 0,
-	Remove : 1,
-	Change : 2
+	Add: 0,
+	Remove: 1,
+	Change: 2
 };
 
 /**
@@ -19,31 +19,31 @@ export class DiffChange {
 	 * The position of the first element in the original sequence which
 	 * this change affects.
 	 */
-	public originalStart:number;
+	public originalStart: number;
 
 	/**
 	 * The number of elements from the original sequence which were
 	 * affected.
 	 */
-	public originalLength:number;
+	public originalLength: number;
 
 	/**
 	 * The position of the first element in the modified sequence which
 	 * this change affects.
 	 */
-	public modifiedStart:number;
+	public modifiedStart: number;
 
 	/**
 	 * The number of elements from the modified sequence which were
 	 * affected (added).
 	 */
-	public modifiedLength:number;
+	public modifiedLength: number;
 
 	/**
 	 * Constructs a new DiffChange with the given sequence information
 	 * and content.
 	 */
-	constructor(originalStart:number, originalLength:number, modifiedStart:number, modifiedLength:number) {
+	constructor(originalStart: number, originalLength: number, modifiedStart: number, modifiedLength: number) {
 		//Debug.Assert(originalLength > 0 || modifiedLength > 0, "originalLength and modifiedLength cannot both be <= 0");
 		this.originalStart = originalStart;
 		this.originalLength = originalLength;
diff --git a/src/vs/base/common/errorMessage.ts b/src/vs/base/common/errorMessage.ts
index 98080b8e98058..9f5ed7fda90d0 100644
--- a/src/vs/base/common/errorMessage.ts
+++ b/src/vs/base/common/errorMessage.ts
@@ -9,7 +9,7 @@ import objects = require('vs/base/common/objects');
 import types = require('vs/base/common/types');
 import arrays = require('vs/base/common/arrays');
 import strings = require('vs/base/common/strings');
-import {IXHRResponse} from 'vs/base/common/http';
+import { IXHRResponse } from 'vs/base/common/http';
 
 export interface IConnectionErrorData {
 	status: number;
diff --git a/src/vs/base/common/errors.ts b/src/vs/base/common/errors.ts
index 33f9a32b6e119..5c1adfdc994e3 100644
--- a/src/vs/base/common/errors.ts
+++ b/src/vs/base/common/errors.ts
@@ -6,7 +6,7 @@
 
 import platform = require('vs/base/common/platform');
 import types = require('vs/base/common/types');
-import {IAction} from 'vs/base/common/actions';
+import { IAction } from 'vs/base/common/actions';
 import Severity from 'vs/base/common/severity';
 import { TPromise } from 'vs/base/common/winjs.base';
 
@@ -27,7 +27,7 @@ export class ErrorHandler {
 
 		this.listeners = [];
 
-		this.unexpectedErrorHandler = function(e: any) {
+		this.unexpectedErrorHandler = function (e: any) {
 			platform.setTimeout(() => {
 				if (e.stack) {
 					throw new Error(e.message + '\n\n' + e.stack);
diff --git a/src/vs/base/common/event.ts b/src/vs/base/common/event.ts
index 1e76db167f723..9f9d99f83d1c6 100644
--- a/src/vs/base/common/event.ts
+++ b/src/vs/base/common/event.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable, dispose}  from 'vs/base/common/lifecycle';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import CallbackList from 'vs/base/common/callbackList';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import { TPromise } from 'vs/base/common/winjs.base';
 
 /**
  * To an event a function with one or zero parameters
@@ -19,7 +19,7 @@ interface Event<T> {
 
 namespace Event {
 	const _disposable = { dispose() { } };
-	export const None: Event<any> = function() { return _disposable; };
+	export const None: Event<any> = function () { return _disposable; };
 }
 
 export default Event;
@@ -69,7 +69,7 @@ export class Emitter<T> {
 	 */
 	get event(): Event<T> {
 		if (!this._event) {
-			this._event = (listener: (e: T) => any,  thisArgs?: any, disposables?: IDisposable[]) => {
+			this._event = (listener: (e: T) => any, thisArgs?: any, disposables?: IDisposable[]) => {
 				if (!this._callbacks) {
 					this._callbacks = new CallbackList();
 				}
@@ -92,13 +92,13 @@ export class Emitter<T> {
 						result.dispose = Emitter._noop;
 						if (!this._disposed) {
 							this._callbacks.remove(listener, thisArgs);
-							if(this._options && this._options.onLastListenerRemove && this._callbacks.isEmpty()) {
+							if (this._options && this._options.onLastListenerRemove && this._callbacks.isEmpty()) {
 								this._options.onLastListenerRemove(this);
 							}
 						}
 					}
 				};
-				if(Array.isArray(disposables)) {
+				if (Array.isArray(disposables)) {
 					disposables.push(result);
 				}
 
@@ -119,7 +119,7 @@ export class Emitter<T> {
 	}
 
 	dispose() {
-		if(this._callbacks) {
+		if (this._callbacks) {
 			this._callbacks.dispose();
 			this._callbacks = undefined;
 			this._disposed = true;
@@ -154,7 +154,7 @@ export function fromEventEmitter<T>(emitter: EventEmitter, eventType: string): E
 		const result = emitter.addListener2(eventType, function () {
 			listener.apply(thisArgs, arguments);
 		});
-		if(Array.isArray(disposables)) {
+		if (Array.isArray(disposables)) {
 			disposables.push(result);
 		}
 		return result;
@@ -312,11 +312,11 @@ export interface IChainableEvent<T> {
 	on(listener: (e: T) => any, thisArgs?: any, disposables?: IDisposable[]): IDisposable;
 }
 
-export function mapEvent<I,O>(event: Event<I>, map: (i:I)=>O): Event<O> {
+export function mapEvent<I, O>(event: Event<I>, map: (i: I) => O): Event<O> {
 	return (listener, thisArgs = null, disposables?) => event(i => listener.call(thisArgs, map(i)), null, disposables);
 }
 
-export function filterEvent<T>(event: Event<T>, filter: (e:T)=>boolean): Event<T> {
+export function filterEvent<T>(event: Event<T>, filter: (e: T) => boolean): Event<T> {
 	return (listener, thisArgs = null, disposables?) => event(e => filter(e) && listener.call(thisArgs, e), null, disposables);
 }
 
@@ -324,7 +324,7 @@ class ChainableEvent<T> implements IChainableEvent<T> {
 
 	get event(): Event<T> { return this._event; }
 
-	constructor(private _event: Event<T>) {}
+	constructor(private _event: Event<T>) { }
 
 	map(fn) {
 		return new ChainableEvent(mapEvent(this._event, fn));
diff --git a/src/vs/base/common/eventEmitter.ts b/src/vs/base/common/eventEmitter.ts
index 027d3482257ab..229734e101420 100644
--- a/src/vs/base/common/eventEmitter.ts
+++ b/src/vs/base/common/eventEmitter.ts
@@ -5,55 +5,55 @@
 'use strict';
 
 import Errors = require('vs/base/common/errors');
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { IDisposable } from 'vs/base/common/lifecycle';
 
 export class EmitterEvent {
 
-	private _type:string;
-	private _data:any;
+	private _type: string;
+	private _data: any;
 
-	constructor(eventType:string=null, data:any=null) {
+	constructor(eventType: string = null, data: any = null) {
 		this._type = eventType;
 		this._data = data;
 	}
 
-	public getType():string {
+	public getType(): string {
 		return this._type;
 	}
 
-	public getData():any {
+	public getData(): any {
 		return this._data;
 	}
 }
 
 export interface ListenerCallback {
-	(value:any):void;
+	(value: any): void;
 }
 
 export interface BulkListenerCallback {
-	(value:EmitterEvent[]):void;
+	(value: EmitterEvent[]): void;
 }
 
 export interface IEventEmitter extends IDisposable {
-	addListener2(eventType:string, listener:ListenerCallback):IDisposable;
-	addOneTimeDisposableListener(eventType:string, listener:ListenerCallback):IDisposable;
-	addBulkListener2(listener:BulkListenerCallback):IDisposable;
-	addEmitter2(eventEmitter:IEventEmitter):IDisposable;
+	addListener2(eventType: string, listener: ListenerCallback): IDisposable;
+	addOneTimeDisposableListener(eventType: string, listener: ListenerCallback): IDisposable;
+	addBulkListener2(listener: BulkListenerCallback): IDisposable;
+	addEmitter2(eventEmitter: IEventEmitter): IDisposable;
 }
 
 export interface IListenersMap {
-	[key:string]:ListenerCallback[];
+	[key: string]: ListenerCallback[];
 }
 
 export class EventEmitter implements IEventEmitter {
 
-	protected _listeners:IListenersMap;
-	protected _bulkListeners:ListenerCallback[];
-	private _collectedEvents:EmitterEvent[];
-	private _deferredCnt:number;
-	private _allowedEventTypes:{[eventType:string]:boolean;};
+	protected _listeners: IListenersMap;
+	protected _bulkListeners: ListenerCallback[];
+	private _collectedEvents: EmitterEvent[];
+	private _deferredCnt: number;
+	private _allowedEventTypes: { [eventType: string]: boolean; };
 
-	constructor(allowedEventTypes:string[] = null) {
+	constructor(allowedEventTypes: string[] = null) {
 		this._listeners = {};
 		this._bulkListeners = [];
 		this._collectedEvents = [];
@@ -76,7 +76,7 @@ export class EventEmitter implements IEventEmitter {
 		this._allowedEventTypes = null;
 	}
 
-	private addListener(eventType:string, listener:ListenerCallback):IDisposable {
+	private addListener(eventType: string, listener: ListenerCallback): IDisposable {
 		if (eventType === '*') {
 			throw new Error('Use addBulkListener(listener) to register your listener!');
 		}
@@ -108,20 +108,20 @@ export class EventEmitter implements IEventEmitter {
 		};
 	}
 
-	public addListener2(eventType:string, listener:ListenerCallback):IDisposable {
+	public addListener2(eventType: string, listener: ListenerCallback): IDisposable {
 		return this.addListener(eventType, listener);
 	}
 
-	public addOneTimeDisposableListener(eventType:string, listener:ListenerCallback):IDisposable {
+	public addOneTimeDisposableListener(eventType: string, listener: ListenerCallback): IDisposable {
 		const disposable = this.addListener(eventType, value => {
 			disposable.dispose();
 			listener(value);
 		});
-		
+
 		return disposable;
 	}
 
-	protected addBulkListener(listener:BulkListenerCallback):IDisposable {
+	protected addBulkListener(listener: BulkListenerCallback): IDisposable {
 
 		this._bulkListeners.push(listener);
 
@@ -132,12 +132,12 @@ export class EventEmitter implements IEventEmitter {
 		};
 	}
 
-	public addBulkListener2(listener:BulkListenerCallback):IDisposable {
+	public addBulkListener2(listener: BulkListenerCallback): IDisposable {
 		return this.addBulkListener(listener);
 	}
 
-	private addEmitter(eventEmitter:IEventEmitter):IDisposable {
-		return eventEmitter.addBulkListener2((events:EmitterEvent[]):void => {
+	private addEmitter(eventEmitter: IEventEmitter): IDisposable {
+		return eventEmitter.addBulkListener2((events: EmitterEvent[]): void => {
 			var newEvents = events;
 
 			if (this._deferredCnt === 0) {
@@ -149,11 +149,11 @@ export class EventEmitter implements IEventEmitter {
 		});
 	}
 
-	public addEmitter2(eventEmitter:IEventEmitter):IDisposable {
+	public addEmitter2(eventEmitter: IEventEmitter): IDisposable {
 		return this.addEmitter(eventEmitter);
 	}
 
-	private _removeListener(eventType:string, listener:ListenerCallback): void {
+	private _removeListener(eventType: string, listener: ListenerCallback): void {
 		if (this._listeners.hasOwnProperty(eventType)) {
 			var listeners = this._listeners[eventType];
 			for (var i = 0, len = listeners.length; i < len; i++) {
@@ -166,7 +166,7 @@ export class EventEmitter implements IEventEmitter {
 		}
 	}
 
-	private _removeBulkListener(listener:BulkListenerCallback): void {
+	private _removeBulkListener(listener: BulkListenerCallback): void {
 		for (var i = 0, len = this._bulkListeners.length; i < len; i++) {
 			if (this._bulkListeners[i] === listener) {
 				this._bulkListeners.splice(i, 1);
@@ -175,7 +175,7 @@ export class EventEmitter implements IEventEmitter {
 		}
 	}
 
-	protected _emitToSpecificTypeListeners(eventType:string, data:any): void {
+	protected _emitToSpecificTypeListeners(eventType: string, data: any): void {
 		if (this._listeners.hasOwnProperty(eventType)) {
 			var listeners = this._listeners[eventType].slice(0);
 			for (var i = 0, len = listeners.length; i < len; i++) {
@@ -184,14 +184,14 @@ export class EventEmitter implements IEventEmitter {
 		}
 	}
 
-	protected _emitToBulkListeners(events:EmitterEvent[]): void {
+	protected _emitToBulkListeners(events: EmitterEvent[]): void {
 		var bulkListeners = this._bulkListeners.slice(0);
 		for (var i = 0, len = bulkListeners.length; i < len; i++) {
 			safeInvoke1Arg(bulkListeners[i], events);
 		}
 	}
 
-	protected _emitEvents(events:EmitterEvent[]): void {
+	protected _emitEvents(events: EmitterEvent[]): void {
 		if (this._bulkListeners.length > 0) {
 			this._emitToBulkListeners(events);
 		}
@@ -202,7 +202,7 @@ export class EventEmitter implements IEventEmitter {
 		}
 	}
 
-	public emit(eventType:string, data:any={}):void {
+	public emit(eventType: string, data: any = {}): void {
 		if (this._allowedEventTypes && !this._allowedEventTypes.hasOwnProperty(eventType)) {
 			throw new Error('Cannot emit this event type because it wasn\'t white-listed!');
 		}
@@ -220,7 +220,7 @@ export class EventEmitter implements IEventEmitter {
 		}
 	}
 
-	public deferredEmit(callback:()=>any):any {
+	public deferredEmit(callback: () => any): any {
 		this._deferredCnt = this._deferredCnt + 1;
 		var result: any = safeInvokeNoArg(callback);
 		this._deferredCnt = this._deferredCnt - 1;
@@ -259,12 +259,12 @@ export class OrderGuaranteeEventEmitter extends EventEmitter {
 
 	private _emitQueue: EmitQueueElement[];
 
-	constructor(allowedEventTypes:string[] = null) {
+	constructor(allowedEventTypes: string[] = null) {
 		super(allowedEventTypes);
 		this._emitQueue = [];
 	}
 
-	protected _emitToSpecificTypeListeners(eventType:string, data:any): void {
+	protected _emitToSpecificTypeListeners(eventType: string, data: any): void {
 		if (this._listeners.hasOwnProperty(eventType)) {
 			let listeners = this._listeners[eventType];
 			for (let i = 0, len = listeners.length; i < len; i++) {
@@ -273,14 +273,14 @@ export class OrderGuaranteeEventEmitter extends EventEmitter {
 		}
 	}
 
-	protected _emitToBulkListeners(events:EmitterEvent[]): void {
+	protected _emitToBulkListeners(events: EmitterEvent[]): void {
 		let bulkListeners = this._bulkListeners;
 		for (let i = 0, len = bulkListeners.length; i < len; i++) {
 			this._emitQueue.push(new EmitQueueElement(bulkListeners[i], events));
 		}
 	}
 
-	protected _emitEvents(events:EmitterEvent[]): void {
+	protected _emitEvents(events: EmitterEvent[]): void {
 		super._emitEvents(events);
 
 		while (this._emitQueue.length > 0) {
@@ -290,18 +290,18 @@ export class OrderGuaranteeEventEmitter extends EventEmitter {
 	}
 }
 
-function safeInvokeNoArg(func:Function): any {
+function safeInvokeNoArg(func: Function): any {
 	try {
 		return func();
-	} catch(e) {
+	} catch (e) {
 		Errors.onUnexpectedError(e);
 	}
 }
 
-function safeInvoke1Arg(func:Function, arg1:any): any {
+function safeInvoke1Arg(func: Function, arg1: any): any {
 	try {
 		return func(arg1);
-	} catch(e) {
+	} catch (e) {
 		Errors.onUnexpectedError(e);
 	}
 }
diff --git a/src/vs/base/common/filters.ts b/src/vs/base/common/filters.ts
index 34ded84f8924f..9937770099828 100644
--- a/src/vs/base/common/filters.ts
+++ b/src/vs/base/common/filters.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import strings = require('vs/base/common/strings');
-import {BoundedLinkedMap} from 'vs/base/common/map';
-import {CharCode} from 'vs/base/common/charCode';
+import { BoundedLinkedMap } from 'vs/base/common/map';
+import { CharCode } from 'vs/base/common/charCode';
 
 export interface IFilter {
 	// Returns null if word doesn't match.
diff --git a/src/vs/base/common/flags.ts b/src/vs/base/common/flags.ts
index acf51038d791b..16f8599ac78a8 100644
--- a/src/vs/base/common/flags.ts
+++ b/src/vs/base/common/flags.ts
@@ -5,7 +5,7 @@
 
 'use strict';
 
-import {globals} from 'vs/base/common/platform';
+import { globals } from 'vs/base/common/platform';
 
 // Option for hosts to overwrite the worker script url (used in the standalone editor)
 export const getCrossOriginWorkerScriptUrl: (workerId: string, label: string) => string = environment('getWorkerUrl', null);
diff --git a/src/vs/base/common/glob.ts b/src/vs/base/common/glob.ts
index 61c28a4a77e8a..1e179d1f28278 100644
--- a/src/vs/base/common/glob.ts
+++ b/src/vs/base/common/glob.ts
@@ -7,8 +7,8 @@
 import arrays = require('vs/base/common/arrays');
 import strings = require('vs/base/common/strings');
 import paths = require('vs/base/common/paths');
-import {BoundedLinkedMap} from 'vs/base/common/map';
-import {CharCode} from 'vs/base/common/charCode';
+import { BoundedLinkedMap } from 'vs/base/common/map';
+import { CharCode } from 'vs/base/common/charCode';
 
 export interface IExpression {
 	[pattern: string]: boolean | SiblingClause | any;
@@ -240,11 +240,11 @@ interface ParsedExpressionPattern {
 
 const CACHE = new BoundedLinkedMap<ParsedStringPattern>(10000); // bounded to 10000 elements
 
-const FALSE = function() {
+const FALSE = function () {
 	return false;
 };
 
-const NULL = function(): string {
+const NULL = function (): string {
 	return null;
 };
 
@@ -316,7 +316,7 @@ function trivia2(base: string, originalPattern: string): ParsedStringPattern {
 }
 
 // repetition of common patterns (see above) {**/*.txt,**/*.png}
-function trivia3 (pattern: string, options: IGlobOptions): ParsedStringPattern {
+function trivia3(pattern: string, options: IGlobOptions): ParsedStringPattern {
 	const parsedPatterns = aggregateBasenameMatches(pattern.slice(1, -1).split(',')
 		.map(pattern => parsePattern(pattern, options))
 		.filter(pattern => pattern !== NULL), pattern);
diff --git a/src/vs/base/common/graph.ts b/src/vs/base/common/graph.ts
index 118fc2dfef9ae..fb34abb77d6bb 100644
--- a/src/vs/base/common/graph.ts
+++ b/src/vs/base/common/graph.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {isEmptyObject} from 'vs/base/common/types';
-import {forEach, contains, lookup} from 'vs/base/common/collections';
+import { isEmptyObject } from 'vs/base/common/types';
+import { forEach, contains, lookup } from 'vs/base/common/collections';
 
 export interface Node<T> {
 	data: T;
diff --git a/src/vs/base/common/hash.ts b/src/vs/base/common/hash.ts
index 2377db5d7bb6b..e7149e43cd793 100644
--- a/src/vs/base/common/hash.ts
+++ b/src/vs/base/common/hash.ts
@@ -7,7 +7,7 @@
 /**
  * Return a hash value for an object.
  */
-export function hash(obj: any, hashVal = 0) : number {
+export function hash(obj: any, hashVal = 0): number {
 	switch (typeof obj) {
 		case 'object':
 			if (obj === null) {
@@ -29,11 +29,11 @@ export function hash(obj: any, hashVal = 0) : number {
 	}
 }
 
-function numberHash(val: number, initialHashVal: number) : number {
+function numberHash(val: number, initialHashVal: number): number {
 	return (((initialHashVal << 5) - initialHashVal) + val) | 0;  // hashVal * 31 + ch, keep as int32
 }
 
-function booleanHash(b: boolean, initialHashVal: number) : number {
+function booleanHash(b: boolean, initialHashVal: number): number {
 	return numberHash(b ? 433 : 863, initialHashVal);
 }
 
@@ -45,12 +45,12 @@ function stringHash(s: string, hashVal: number) {
 	return hashVal;
 }
 
-function arrayHash(arr: any[], initialHashVal: number) : number {
+function arrayHash(arr: any[], initialHashVal: number): number {
 	initialHashVal = numberHash(104579, initialHashVal);
 	return arr.reduce((hashVal, item) => hash(item, hashVal), initialHashVal);
 }
 
-function objectHash(obj: any, initialHashVal: number) : number {
+function objectHash(obj: any, initialHashVal: number): number {
 	initialHashVal = numberHash(181387, initialHashVal);
 	return Object.keys(obj).sort().reduce((hashVal, key) => {
 		hashVal = stringHash(key, hashVal);
diff --git a/src/vs/base/common/htmlContent.ts b/src/vs/base/common/htmlContent.ts
index 24d3d8dbbdefe..05ac455a51c69 100644
--- a/src/vs/base/common/htmlContent.ts
+++ b/src/vs/base/common/htmlContent.ts
@@ -17,7 +17,7 @@ export interface IHTMLContentElementCode {
 	value: string;
 }
 
-export function markedStringsEquals(a:MarkedString | MarkedString[], b:MarkedString |MarkedString[]): boolean {
+export function markedStringsEquals(a: MarkedString | MarkedString[], b: MarkedString | MarkedString[]): boolean {
 	if (!a && !b) {
 		return true;
 	}
@@ -29,13 +29,13 @@ export function markedStringsEquals(a:MarkedString | MarkedString[], b:MarkedStr
 		if (!Array.isArray(b)) {
 			return false;
 		}
-		return markedStringArrEquals(<MarkedString[]> a, <MarkedString[]> b);
+		return markedStringArrEquals(<MarkedString[]>a, <MarkedString[]>b);
 	}
-	return markedStringEqual(<MarkedString> a, <MarkedString> b);
+	return markedStringEqual(<MarkedString>a, <MarkedString>b);
 }
 
 
-function markedStringArrEquals(a:MarkedString[], b:MarkedString[]): boolean {
+function markedStringArrEquals(a: MarkedString[], b: MarkedString[]): boolean {
 	let aLen = a.length,
 		bLen = b.length;
 
@@ -51,7 +51,7 @@ function markedStringArrEquals(a:MarkedString[], b:MarkedString[]): boolean {
 
 	return true;
 }
-function markedStringEqual(a:MarkedString, b:MarkedString): boolean {
+function markedStringEqual(a: MarkedString, b: MarkedString): boolean {
 	if (!a && !b) {
 		return true;
 	}
@@ -67,7 +67,7 @@ function markedStringEqual(a:MarkedString, b:MarkedString): boolean {
 	);
 }
 
-export function textToMarkedString(text: string) : MarkedString {
+export function textToMarkedString(text: string): MarkedString {
 	return text.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash
 }
 
@@ -76,7 +76,7 @@ export interface IHTMLContentElement {
 	/**
 	 * supports **bold**, __italics__, and [[actions]]
 	 */
-	formattedText?:string;
+	formattedText?: string;
 	text?: string;
 	className?: string;
 	style?: string;
@@ -89,7 +89,7 @@ export interface IHTMLContentElement {
 	code?: IHTMLContentElementCode;
 }
 
-function htmlContentElementCodeEqual(a:IHTMLContentElementCode, b:IHTMLContentElementCode): boolean {
+function htmlContentElementCodeEqual(a: IHTMLContentElementCode, b: IHTMLContentElementCode): boolean {
 	if (!a && !b) {
 		return true;
 	}
@@ -102,7 +102,7 @@ function htmlContentElementCodeEqual(a:IHTMLContentElementCode, b:IHTMLContentEl
 	);
 }
 
-function htmlContentElementEqual(a:IHTMLContentElement, b:IHTMLContentElement): boolean {
+function htmlContentElementEqual(a: IHTMLContentElement, b: IHTMLContentElement): boolean {
 	return (
 		a.formattedText === b.formattedText
 		&& a.text === b.text
@@ -118,7 +118,7 @@ function htmlContentElementEqual(a:IHTMLContentElement, b:IHTMLContentElement):
 	);
 }
 
-export function htmlContentElementArrEquals(a:IHTMLContentElement[], b:IHTMLContentElement[]): boolean {
+export function htmlContentElementArrEquals(a: IHTMLContentElement[], b: IHTMLContentElement[]): boolean {
 	if (!a && !b) {
 		return true;
 	}
diff --git a/src/vs/base/common/http.ts b/src/vs/base/common/http.ts
index b27569b585e40..59feccf6e04bf 100644
--- a/src/vs/base/common/http.ts
+++ b/src/vs/base/common/http.ts
@@ -7,26 +7,26 @@
 import * as nls from 'vs/nls';
 
 export interface IXHROptions {
-	type?:string;
-	url?:string;
-	user?:string;
-	password?:string;
-	responseType?:string;
-	headers?:any;
+	type?: string;
+	url?: string;
+	user?: string;
+	password?: string;
+	responseType?: string;
+	headers?: any;
 	timeout?: number;
 	followRedirects?: number;
-	data?:any;
+	data?: any;
 }
 
 export interface IXHRResponse {
 	responseText: string;
 	status: number;
 
-	readyState : number;
-	getResponseHeader: (header:string) => string;
+	readyState: number;
+	getResponseHeader: (header: string) => string;
 }
 
-export function getErrorStatusDescription(status: number) : string {
+export function getErrorStatusDescription(status: number): string {
 	if (status < 400) {
 		return void 0;
 	}
diff --git a/src/vs/base/common/idGenerator.ts b/src/vs/base/common/idGenerator.ts
index 34ce058ff84bd..7287a3becd520 100644
--- a/src/vs/base/common/idGenerator.ts
+++ b/src/vs/base/common/idGenerator.ts
@@ -9,7 +9,7 @@ export class IdGenerator {
 	private _prefix: string;
 	private _lastId: number;
 
-	constructor(prefix:string) {
+	constructor(prefix: string) {
 		this._prefix = prefix;
 		this._lastId = 0;
 	}
diff --git a/src/vs/base/common/iterator.ts b/src/vs/base/common/iterator.ts
index 9b0969d648e34..2bfcff36f6317 100644
--- a/src/vs/base/common/iterator.ts
+++ b/src/vs/base/common/iterator.ts
@@ -70,7 +70,7 @@ export class ArrayNavigator<T> extends ArrayIterator<T> implements INavigator<T>
 
 export class MappedIterator<T, R> implements IIterator<R> {
 
-	constructor(protected iterator: IIterator<T>, protected fn: (item:T)=>R) {
+	constructor(protected iterator: IIterator<T>, protected fn: (item: T) => R) {
 		// noop
 	}
 
@@ -87,7 +87,7 @@ export interface INavigator<T> extends IIterator<T> {
 
 export class MappedNavigator<T, R> extends MappedIterator<T, R> implements INavigator<R> {
 
-	constructor(protected navigator: INavigator<T>, fn: (item:T)=>R) {
+	constructor(protected navigator: INavigator<T>, fn: (item: T) => R) {
 		super(navigator, fn);
 	}
 
diff --git a/src/vs/base/common/json.ts b/src/vs/base/common/json.ts
index fec94ad52b9ae..62ba0371429b3 100644
--- a/src/vs/base/common/json.ts
+++ b/src/vs/base/common/json.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {localize} from 'vs/nls';
+import { localize } from 'vs/nls';
 
 export enum ScanError {
 	None,
@@ -76,14 +76,14 @@ export interface JSONScanner {
  * Creates a JSON scanner on the given text.
  * If ignoreTrivia is set, whitespaces or comments are ignored.
  */
-export function createScanner(text:string, ignoreTrivia:boolean = false):JSONScanner {
+export function createScanner(text: string, ignoreTrivia: boolean = false): JSONScanner {
 
 	let pos = 0,
 		len = text.length,
-		value:string = '',
+		value: string = '',
 		tokenOffset = 0,
-		token:SyntaxKind = SyntaxKind.Unknown,
-		scanError:ScanError = ScanError.None;
+		token: SyntaxKind = SyntaxKind.Unknown,
+		scanError: ScanError = ScanError.None;
 
 	function scanHexDigits(count: number, exact?: boolean): number {
 		let digits = 0;
@@ -234,14 +234,14 @@ export function createScanner(text:string, ignoreTrivia:boolean = false):JSONSca
 		return result;
 	}
 
-	function scanNext():SyntaxKind {
+	function scanNext(): SyntaxKind {
 
 		value = '';
 		scanError = ScanError.None;
 
 		tokenOffset = pos;
 
-		if(pos >= len) {
+		if (pos >= len) {
 			// at the end
 			tokenOffset = len;
 			return token = SyntaxKind.EOF;
@@ -270,7 +270,7 @@ export function createScanner(text:string, ignoreTrivia:boolean = false):JSONSca
 			return token = SyntaxKind.LineBreakTrivia;
 		}
 
-		switch(code) {
+		switch (code) {
 			// tokens: []{}:,
 			case CharacterCodes.openBrace:
 				pos++;
@@ -352,9 +352,9 @@ export function createScanner(text:string, ignoreTrivia:boolean = false):JSONSca
 				if (pos === len || !isDigit(text.charCodeAt(pos))) {
 					return token = SyntaxKind.Unknown;
 				}
-				// found a minus, followed by a number so
-				// we fall through to proceed with scanning
-				// numbers
+			// found a minus, followed by a number so
+			// we fall through to proceed with scanning
+			// numbers
 			case CharacterCodes._0:
 			case CharacterCodes._1:
 			case CharacterCodes._2:
@@ -409,8 +409,8 @@ export function createScanner(text:string, ignoreTrivia:boolean = false):JSONSca
 	}
 
 
-	function scanNextNonTrivia():SyntaxKind {
-		let result : SyntaxKind;
+	function scanNextNonTrivia(): SyntaxKind {
+		let result: SyntaxKind;
 		do {
 			result = scanNext();
 		} while (result >= SyntaxKind.LineCommentTrivia && result <= SyntaxKind.Trivia);
@@ -586,13 +586,13 @@ const enum CharacterCodes {
  * them. Optionally replaces every none-newline character
  * of comments with a replaceCharacter
  */
-export function stripComments(text:string, replaceCh?:string):string {
+export function stripComments(text: string, replaceCh?: string): string {
 
 	let _scanner = createScanner(text),
 		parts: string[] = [],
-		kind:SyntaxKind,
+		kind: SyntaxKind,
 		offset = 0,
-		pos:number;
+		pos: number;
 
 	do {
 		pos = _scanner.getPosition();
@@ -601,16 +601,16 @@ export function stripComments(text:string, replaceCh?:string):string {
 			case SyntaxKind.LineCommentTrivia:
 			case SyntaxKind.BlockCommentTrivia:
 			case SyntaxKind.EOF:
-				if(offset !== pos) {
+				if (offset !== pos) {
 					parts.push(text.substring(offset, pos));
 				}
-				if(replaceCh !== void 0) {
+				if (replaceCh !== void 0) {
 					parts.push(_scanner.getTokenValue().replace(/[^\r\n]/g, replaceCh));
 				}
 				offset = _scanner.getPosition();
 				break;
 		}
-	} while(kind !== SyntaxKind.EOF);
+	} while (kind !== SyntaxKind.EOF);
 
 	return parts.join('');
 }
@@ -631,7 +631,7 @@ export enum ParseErrorCode {
 	EndOfFileExpected
 }
 
-export function getParseErrorMessage(errorCode: ParseErrorCode) : string {
+export function getParseErrorMessage(errorCode: ParseErrorCode): string {
 	switch (errorCode) {
 		case ParseErrorCode.InvalidSymbol: return localize('error.invalidSymbol', 'Invalid symbol');
 		case ParseErrorCode.InvalidNumberFormat: return localize('error.invalidNumberFormat', 'Invalid number format');
@@ -649,7 +649,7 @@ export function getParseErrorMessage(errorCode: ParseErrorCode) : string {
 
 export type NodeType = 'object' | 'array' | 'property' | 'string' | 'number' | 'boolean' | 'null';
 
-function getLiteralNodeType(value: any) : NodeType {
+function getLiteralNodeType(value: any): NodeType {
 	switch (typeof value) {
 		case 'boolean': return 'boolean';
 		case 'number': return 'number';
@@ -697,11 +697,11 @@ export interface Location {
 /**
  * For a given offset, evaluate the location in the JSON document. Each segment in the location path is either a property name or an array index.
  */
-export function getLocation(text:string, position: number) : Location {
+export function getLocation(text: string, position: number): Location {
 	let segments: any[] = []; // strings or numbers
 	let earlyReturnException = new Object();
-	let previousNode : Node = void 0;
-	const previousNodeInst : Node = {
+	let previousNode: Node = void 0;
+	const previousNodeInst: Node = {
 		value: void 0,
 		offset: void 0,
 		length: void 0,
@@ -823,20 +823,20 @@ export interface ParseOptions {
  * Parses the given text and returns the object the JSON content represents. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.
  * Therefore always check the errors list to find out if the input was valid.
  */
-export function parse(text:string, errors: ParseError[] = [], options?: ParseOptions) : any {
-	let currentProperty : string = null;
-	let currentParent : any = [];
-	let previousParents : any[] = [];
+export function parse(text: string, errors: ParseError[] = [], options?: ParseOptions): any {
+	let currentProperty: string = null;
+	let currentParent: any = [];
+	let previousParents: any[] = [];
 
 	function onValue(value: any) {
 		if (Array.isArray(currentParent)) {
-			(<any[]> currentParent).push(value);
+			(<any[]>currentParent).push(value);
 		} else if (currentProperty) {
 			currentParent[currentProperty] = value;
 		}
 	}
 
-	let visitor : JSONVisitor = {
+	let visitor: JSONVisitor = {
 		onObjectBegin: () => {
 			let object = {};
 			onValue(object);
@@ -861,8 +861,8 @@ export function parse(text:string, errors: ParseError[] = [], options?: ParseOpt
 			currentParent = previousParents.pop();
 		},
 		onLiteralValue: onValue,
-		onError:(error:ParseErrorCode) => {
-			errors.push({error: error});
+		onError: (error: ParseErrorCode) => {
+			errors.push({ error: error });
 		}
 	};
 	visit(text, visitor, options);
@@ -873,29 +873,29 @@ export function parse(text:string, errors: ParseError[] = [], options?: ParseOpt
 /**
  * Parses the given text and returns a tree representation the JSON content. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.
  */
-export function parseTree(text:string, errors: ParseError[] = [], options?: ParseOptions) : Node {
-	let currentParent : Node = { type: 'array', offset: -1, length: -1, children: [] }; // artificial root
+export function parseTree(text: string, errors: ParseError[] = [], options?: ParseOptions): Node {
+	let currentParent: Node = { type: 'array', offset: -1, length: -1, children: [] }; // artificial root
 
-	function ensurePropertyComplete(endOffset:number) {
+	function ensurePropertyComplete(endOffset: number) {
 		if (currentParent.type === 'property') {
 			currentParent.length = endOffset - currentParent.offset;
 			currentParent = currentParent.parent;
 		}
 	}
 
-	function onValue(valueNode: Node) : Node {
+	function onValue(valueNode: Node): Node {
 		currentParent.children.push(valueNode);
 		ensurePropertyComplete(valueNode.offset + valueNode.length);
 		return valueNode;
 	}
 
-	let visitor : JSONVisitor = {
+	let visitor: JSONVisitor = {
 		onObjectBegin: (offset: number) => {
 			currentParent = onValue({ type: 'object', offset, length: -1, parent: currentParent, children: [] });
 		},
 		onObjectProperty: (name: string, offset: number, length: number) => {
 			currentParent = onValue({ type: 'property', offset, length: -1, parent: currentParent, children: [] });
-			currentParent.children.push({ type: 'string', value: name, offset, length, parent: currentParent});
+			currentParent.children.push({ type: 'string', value: name, offset, length, parent: currentParent });
 		},
 		onObjectEnd: (offset: number, length: number) => {
 			ensurePropertyComplete(offset);
@@ -921,8 +921,8 @@ export function parseTree(text:string, errors: ParseError[] = [], options?: Pars
 				}
 			}
 		},
-		onError:(error:ParseErrorCode) => {
-			errors.push({error: error});
+		onError: (error: ParseErrorCode) => {
+			errors.push({ error: error });
 		}
 	};
 	visit(text, visitor, options);
@@ -934,7 +934,7 @@ export function parseTree(text:string, errors: ParseError[] = [], options?: Pars
 	return result;
 }
 
-export function findNodeAtLocation(root: Node, path: JSONPath) : Node {
+export function findNodeAtLocation(root: Node, path: JSONPath): Node {
 	if (!root) {
 		return void 0;
 	}
@@ -956,7 +956,7 @@ export function findNodeAtLocation(root: Node, path: JSONPath) : Node {
 				return void 0;
 			}
 		} else {
-			let index = <number> segment;
+			let index = <number>segment;
 			if (node.type !== 'array' || index < 0 || index >= node.children.length) {
 				return void 0;
 			}
@@ -966,7 +966,7 @@ export function findNodeAtLocation(root: Node, path: JSONPath) : Node {
 	return node;
 }
 
-export function getNodeValue(node: Node) : any {
+export function getNodeValue(node: Node): any {
 	if (node.type === 'array') {
 		return node.children.map(getNodeValue);
 	} else if (node.type === 'object') {
@@ -983,14 +983,14 @@ export function getNodeValue(node: Node) : any {
 /**
  * Parses the given text and invokes the visitor functions for each object, array and literal reached.
  */
-export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions) : any {
+export function visit(text: string, visitor: JSONVisitor, options?: ParseOptions): any {
 
 	let _scanner = createScanner(text, false);
 
-	function toNoArgVisit(visitFunction: (offset: number, length: number) => void) : () => void {
+	function toNoArgVisit(visitFunction: (offset: number, length: number) => void): () => void {
 		return visitFunction ? () => visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength()) : () => true;
 	}
-	function toOneArgVisit<T>(visitFunction: (arg: T, offset: number, length: number) => void) : (arg: T) => void {
+	function toOneArgVisit<T>(visitFunction: (arg: T, offset: number, length: number) => void): (arg: T) => void {
 		return visitFunction ? (arg: T) => visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength()) : () => true;
 	}
 
@@ -1004,7 +1004,7 @@ export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions)
 		onError = toOneArgVisit(visitor.onError);
 
 	let disallowComments = options && options.disallowComments;
-	function scanNext() : SyntaxKind {
+	function scanNext(): SyntaxKind {
 		while (true) {
 			let token = _scanner.scan();
 			switch (token) {
@@ -1026,7 +1026,7 @@ export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions)
 		}
 	}
 
-	function handleError(error:ParseErrorCode, skipUntilAfter: SyntaxKind[] = [], skipUntil: SyntaxKind[] = []) : void {
+	function handleError(error: ParseErrorCode, skipUntilAfter: SyntaxKind[] = [], skipUntil: SyntaxKind[] = []): void {
 		onError(error);
 		if (skipUntilAfter.length + skipUntil.length > 0) {
 			let token = _scanner.getToken();
@@ -1042,7 +1042,7 @@ export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions)
 		}
 	}
 
-	function parseString(isValue: boolean) : boolean {
+	function parseString(isValue: boolean): boolean {
 		if (_scanner.getToken() !== SyntaxKind.StringLiteral) {
 			return false;
 		}
@@ -1056,7 +1056,7 @@ export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions)
 		return true;
 	}
 
-	function parseLiteral() : boolean {
+	function parseLiteral(): boolean {
 		switch (_scanner.getToken()) {
 			case SyntaxKind.NumericLiteral:
 				let value = 0;
@@ -1087,9 +1087,9 @@ export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions)
 		return true;
 	}
 
-	function parseProperty() : boolean {
+	function parseProperty(): boolean {
 		if (!parseString(false)) {
-			handleError(ParseErrorCode.PropertyNameExpected, [], [SyntaxKind.CloseBraceToken, SyntaxKind.CommaToken] );
+			handleError(ParseErrorCode.PropertyNameExpected, [], [SyntaxKind.CloseBraceToken, SyntaxKind.CommaToken]);
 			return false;
 		}
 		if (_scanner.getToken() === SyntaxKind.ColonToken) {
@@ -1097,15 +1097,15 @@ export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions)
 			scanNext(); // consume colon
 
 			if (!parseValue()) {
-				handleError(ParseErrorCode.ValueExpected, [], [SyntaxKind.CloseBraceToken, SyntaxKind.CommaToken] );
+				handleError(ParseErrorCode.ValueExpected, [], [SyntaxKind.CloseBraceToken, SyntaxKind.CommaToken]);
 			}
 		} else {
-			handleError(ParseErrorCode.ColonExpected, [], [SyntaxKind.CloseBraceToken, SyntaxKind.CommaToken] );
+			handleError(ParseErrorCode.ColonExpected, [], [SyntaxKind.CloseBraceToken, SyntaxKind.CommaToken]);
 		}
 		return true;
 	}
 
-	function parseObject() : boolean {
+	function parseObject(): boolean {
 		if (_scanner.getToken() !== SyntaxKind.OpenBraceToken) {
 			return false;
 		}
@@ -1116,15 +1116,15 @@ export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions)
 		while (_scanner.getToken() !== SyntaxKind.CloseBraceToken && _scanner.getToken() !== SyntaxKind.EOF) {
 			if (_scanner.getToken() === SyntaxKind.CommaToken) {
 				if (!needsComma) {
-					handleError(ParseErrorCode.ValueExpected, [], [] );
+					handleError(ParseErrorCode.ValueExpected, [], []);
 				}
 				onSeparator(',');
 				scanNext(); // consume comma
 			} else if (needsComma) {
-				handleError(ParseErrorCode.CommaExpected, [], [] );
+				handleError(ParseErrorCode.CommaExpected, [], []);
 			}
 			if (!parseProperty()) {
-				handleError(ParseErrorCode.ValueExpected, [], [SyntaxKind.CloseBraceToken, SyntaxKind.CommaToken] );
+				handleError(ParseErrorCode.ValueExpected, [], [SyntaxKind.CloseBraceToken, SyntaxKind.CommaToken]);
 			}
 			needsComma = true;
 		}
@@ -1137,7 +1137,7 @@ export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions)
 		return true;
 	}
 
-	function parseArray() : boolean {
+	function parseArray(): boolean {
 		if (_scanner.getToken() !== SyntaxKind.OpenBracketToken) {
 			return false;
 		}
@@ -1148,15 +1148,15 @@ export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions)
 		while (_scanner.getToken() !== SyntaxKind.CloseBracketToken && _scanner.getToken() !== SyntaxKind.EOF) {
 			if (_scanner.getToken() === SyntaxKind.CommaToken) {
 				if (!needsComma) {
-					handleError(ParseErrorCode.ValueExpected, [], [] );
+					handleError(ParseErrorCode.ValueExpected, [], []);
 				}
 				onSeparator(',');
 				scanNext(); // consume comma
 			} else if (needsComma) {
-				handleError(ParseErrorCode.CommaExpected, [], [] );
+				handleError(ParseErrorCode.CommaExpected, [], []);
 			}
 			if (!parseValue()) {
-				handleError(ParseErrorCode.ValueExpected, [], [SyntaxKind.CloseBracketToken, SyntaxKind.CommaToken] );
+				handleError(ParseErrorCode.ValueExpected, [], [SyntaxKind.CloseBracketToken, SyntaxKind.CommaToken]);
 			}
 			needsComma = true;
 		}
@@ -1169,7 +1169,7 @@ export function visit(text:string, visitor: JSONVisitor, options?: ParseOptions)
 		return true;
 	}
 
-	function parseValue() : boolean {
+	function parseValue(): boolean {
 		return parseArray() || parseObject() || parseString(true) || parseLiteral();
 	}
 
@@ -1191,40 +1191,40 @@ export interface JSONVisitor {
 	/**
 	 * Invoked when an open brace is encountered and an object is started. The offset and length represent the location of the open brace.
 	 */
-	onObjectBegin?: (offset:number, length:number) => void;
+	onObjectBegin?: (offset: number, length: number) => void;
 
 	/**
 	 * Invoked when a property is encountered. The offset and length represent the location of the property name.
 	 */
-	onObjectProperty?: (property: string, offset:number, length:number) => void;
+	onObjectProperty?: (property: string, offset: number, length: number) => void;
 
 	/**
 	 * Invoked when a closing brace is encountered and an object is completed. The offset and length represent the location of the closing brace.
 	 */
-	onObjectEnd?: (offset:number, length:number) => void;
+	onObjectEnd?: (offset: number, length: number) => void;
 
 	/**
 	 * Invoked when an open bracket is encountered. The offset and length represent the location of the open bracket.
 	 */
-	onArrayBegin?: (offset:number, length:number) => void;
+	onArrayBegin?: (offset: number, length: number) => void;
 
 	/**
 	 * Invoked when a closing bracket is encountered. The offset and length represent the location of the closing bracket.
 	 */
-	onArrayEnd?: (offset:number, length:number) => void;
+	onArrayEnd?: (offset: number, length: number) => void;
 
 	/**
 	 * Invoked when a literal value is encountered. The offset and length represent the location of the literal value.
 	 */
-	onLiteralValue?: (value: any, offset:number, length:number) => void;
+	onLiteralValue?: (value: any, offset: number, length: number) => void;
 
 	/**
 	 * Invoked when a comma or colon separator is encountered. The offset and length represent the location of the separator.
 	 */
-	onSeparator?: (charcter: string, offset:number, length:number) => void;
+	onSeparator?: (charcter: string, offset: number, length: number) => void;
 
 	/**
 	 * Invoked on an error.
 	 */
-	onError?: (error: ParseErrorCode, offset:number, length:number) => void;
+	onError?: (error: ParseErrorCode, offset: number, length: number) => void;
 }
diff --git a/src/vs/base/common/jsonEdit.ts b/src/vs/base/common/jsonEdit.ts
index b02004fd88dea..8b254f7fd0450 100644
--- a/src/vs/base/common/jsonEdit.ts
+++ b/src/vs/base/common/jsonEdit.ts
@@ -7,11 +7,11 @@
 import { ParseError, Node, parseTree, findNodeAtLocation, JSONPath, Segment } from 'vs/base/common/json';
 import { Edit, FormattingOptions, format, applyEdit } from 'vs/base/common/jsonFormatter';
 
-export function removeProperty(text: string, path: JSONPath, formattingOptions: FormattingOptions) : Edit[] {
+export function removeProperty(text: string, path: JSONPath, formattingOptions: FormattingOptions): Edit[] {
 	return setProperty(text, path, void 0, formattingOptions);
 }
 
-export function setProperty(text: string, path: JSONPath, value: any, formattingOptions: FormattingOptions, getInsertionIndex?: (properties: string[]) => number) : Edit[] {
+export function setProperty(text: string, path: JSONPath, value: any, formattingOptions: FormattingOptions, getInsertionIndex?: (properties: string[]) => number): Edit[] {
 	let errors: ParseError[] = [];
 	let root = parseTree(text, errors);
 	let parent: Node = void 0;
@@ -24,7 +24,7 @@ export function setProperty(text: string, path: JSONPath, value: any, formatting
 			if (typeof lastSegment === 'string') {
 				value = { [lastSegment]: value };
 			} else {
-				value = [ value ];
+				value = [value];
 			}
 		} else {
 			break;
@@ -38,11 +38,11 @@ export function setProperty(text: string, path: JSONPath, value: any, formatting
 		}
 		return withFormatting(text, { offset: root ? root.offset : 0, length: root ? root.length : 0, content: JSON.stringify(value) }, formattingOptions);
 	} else if (parent.type === 'object' && typeof lastSegment === 'string') {
-		let existing = findNodeAtLocation(parent, [ lastSegment ]);
+		let existing = findNodeAtLocation(parent, [lastSegment]);
 		if (existing !== void 0) {
 			if (value === void 0) { // delete
 				let propertyIndex = parent.children.indexOf(existing.parent);
-				let removeBegin : number;
+				let removeBegin: number;
 				let removeEnd = existing.parent.offset + existing.parent.length;
 				if (propertyIndex > 0) {
 					// remove the comma of the previous node
@@ -70,22 +70,22 @@ export function setProperty(text: string, path: JSONPath, value: any, formatting
 			let edit: Edit;
 			if (index > 0) {
 				let previous = parent.children[index - 1];
-				edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty};
+				edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };
 			} else if (parent.children.length === 0) {
-				edit = { offset: parent.offset + 1, length: 0, content: newProperty};
+				edit = { offset: parent.offset + 1, length: 0, content: newProperty };
 			} else {
-				edit = { offset: parent.offset + 1, length: 0, content: newProperty + ','};
+				edit = { offset: parent.offset + 1, length: 0, content: newProperty + ',' };
 			}
 			return withFormatting(text, edit, formattingOptions);
 		}
 	} else if (parent.type === 'array' && typeof lastSegment === 'number') {
 		throw new Error('Array modification not supported yet');
 	} else {
-		throw new Error(`Can not add ${typeof lastSegment !== 'number' ? 'index' : 'property' } to parent of type ${parent.type}`);
+		throw new Error(`Can not add ${typeof lastSegment !== 'number' ? 'index' : 'property'} to parent of type ${parent.type}`);
 	}
 }
 
-function withFormatting(text:string, edit: Edit, formattingOptions: FormattingOptions) : Edit[] {
+function withFormatting(text: string, edit: Edit, formattingOptions: FormattingOptions): Edit[] {
 	// apply the edit
 	let newText = applyEdit(text, edit);
 
diff --git a/src/vs/base/common/jsonFormatter.ts b/src/vs/base/common/jsonFormatter.ts
index 686ecd48b0c0e..f41a0d71216ac 100644
--- a/src/vs/base/common/jsonFormatter.ts
+++ b/src/vs/base/common/jsonFormatter.ts
@@ -27,18 +27,18 @@ export interface Edit {
 	content: string;
 }
 
-export function applyEdit(text: string, edit: Edit) : string {
+export function applyEdit(text: string, edit: Edit): string {
 	return text.substring(0, edit.offset) + edit.content + text.substring(edit.offset + edit.length);
 }
 
-export function applyEdits(text: string, edits: Edit[]) : string {
+export function applyEdits(text: string, edits: Edit[]): string {
 	for (let i = edits.length - 1; i >= 0; i--) {
 		text = applyEdit(text, edits[i]);
 	}
 	return text;
 }
 
-export function format(documentText: string, range: { offset: number, length: number}, options: FormattingOptions): Edit[] {
+export function format(documentText: string, range: { offset: number, length: number }, options: FormattingOptions): Edit[] {
 	let initialIndentLevel: number;
 	let value: string;
 	let rangeStart: number;
@@ -198,7 +198,7 @@ function getEOL(options: FormattingOptions, text: string): string {
 	for (let i = 0; i < text.length; i++) {
 		let ch = text.charAt(i);
 		if (ch === '\r') {
-			if (i + 1 < text.length && text.charAt(i+1) === '\n') {
+			if (i + 1 < text.length && text.charAt(i + 1) === '\n') {
 				return '\r\n';
 			}
 			return '\r';
diff --git a/src/vs/base/common/jsonSchema.ts b/src/vs/base/common/jsonSchema.ts
index 9b892d1cad897..ffde9dd6d2dee 100644
--- a/src/vs/base/common/jsonSchema.ts
+++ b/src/vs/base/common/jsonSchema.ts
@@ -45,5 +45,5 @@ export interface IJSONSchema {
 }
 
 export interface IJSONSchemaMap {
-	[name: string]:IJSONSchema;
+	[name: string]: IJSONSchema;
 }
diff --git a/src/vs/base/common/keyCodes.ts b/src/vs/base/common/keyCodes.ts
index 4581f40960f5b..54c502822b856 100644
--- a/src/vs/base/common/keyCodes.ts
+++ b/src/vs/base/common/keyCodes.ts
@@ -191,7 +191,7 @@ export const enum KeyCode {
 }
 
 export interface IReverseMap {
-	[str:string]:KeyCode;
+	[str: string]: KeyCode;
 }
 
 export class Mapping {
@@ -204,11 +204,11 @@ export class Mapping {
 		this._toKeyCode = toKeyCode;
 	}
 
-	fromKeyCode(keyCode:KeyCode): string {
+	fromKeyCode(keyCode: KeyCode): string {
 		return this._fromKeyCode[keyCode];
 	}
 
-	toKeyCode(str:string): KeyCode {
+	toKeyCode(str: string): KeyCode {
 		if (this._toKeyCode.hasOwnProperty(str)) {
 			return this._toKeyCode[str];
 		}
@@ -217,7 +217,7 @@ export class Mapping {
 
 }
 
-function createMapping(fill1:(map:string[])=>void, fill2:(reverseMap:IReverseMap)=>void): Mapping {
+function createMapping(fill1: (map: string[]) => void, fill2: (reverseMap: IReverseMap) => void): Mapping {
 	let MAP: string[] = [];
 	fill1(MAP);
 
@@ -242,28 +242,28 @@ function createMapping(fill1:(map:string[])=>void, fill2:(reverseMap:IReverseMap
 }
 
 let STRING = createMapping((TO_STRING_MAP) => {
-	TO_STRING_MAP[KeyCode.Unknown] 		= 'unknown';
-
-	TO_STRING_MAP[KeyCode.Backspace] 	= 'Backspace';
-	TO_STRING_MAP[KeyCode.Tab] 			= 'Tab';
-	TO_STRING_MAP[KeyCode.Enter] 		= 'Enter';
-	TO_STRING_MAP[KeyCode.Shift] 		= 'Shift';
-	TO_STRING_MAP[KeyCode.Ctrl] 		= 'Ctrl';
-	TO_STRING_MAP[KeyCode.Alt] 			= 'Alt';
-	TO_STRING_MAP[KeyCode.PauseBreak] 	= 'PauseBreak';
-	TO_STRING_MAP[KeyCode.CapsLock] 	= 'CapsLock';
-	TO_STRING_MAP[KeyCode.Escape] 		= 'Escape';
-	TO_STRING_MAP[KeyCode.Space] 		= 'Space';
-	TO_STRING_MAP[KeyCode.PageUp] 		= 'PageUp';
-	TO_STRING_MAP[KeyCode.PageDown] 	= 'PageDown';
-	TO_STRING_MAP[KeyCode.End] 			= 'End';
-	TO_STRING_MAP[KeyCode.Home] 		= 'Home';
-	TO_STRING_MAP[KeyCode.LeftArrow] 	= 'LeftArrow';
-	TO_STRING_MAP[KeyCode.UpArrow] 		= 'UpArrow';
-	TO_STRING_MAP[KeyCode.RightArrow] 	= 'RightArrow';
-	TO_STRING_MAP[KeyCode.DownArrow] 	= 'DownArrow';
-	TO_STRING_MAP[KeyCode.Insert] 		= 'Insert';
-	TO_STRING_MAP[KeyCode.Delete] 		= 'Delete';
+	TO_STRING_MAP[KeyCode.Unknown] = 'unknown';
+
+	TO_STRING_MAP[KeyCode.Backspace] = 'Backspace';
+	TO_STRING_MAP[KeyCode.Tab] = 'Tab';
+	TO_STRING_MAP[KeyCode.Enter] = 'Enter';
+	TO_STRING_MAP[KeyCode.Shift] = 'Shift';
+	TO_STRING_MAP[KeyCode.Ctrl] = 'Ctrl';
+	TO_STRING_MAP[KeyCode.Alt] = 'Alt';
+	TO_STRING_MAP[KeyCode.PauseBreak] = 'PauseBreak';
+	TO_STRING_MAP[KeyCode.CapsLock] = 'CapsLock';
+	TO_STRING_MAP[KeyCode.Escape] = 'Escape';
+	TO_STRING_MAP[KeyCode.Space] = 'Space';
+	TO_STRING_MAP[KeyCode.PageUp] = 'PageUp';
+	TO_STRING_MAP[KeyCode.PageDown] = 'PageDown';
+	TO_STRING_MAP[KeyCode.End] = 'End';
+	TO_STRING_MAP[KeyCode.Home] = 'Home';
+	TO_STRING_MAP[KeyCode.LeftArrow] = 'LeftArrow';
+	TO_STRING_MAP[KeyCode.UpArrow] = 'UpArrow';
+	TO_STRING_MAP[KeyCode.RightArrow] = 'RightArrow';
+	TO_STRING_MAP[KeyCode.DownArrow] = 'DownArrow';
+	TO_STRING_MAP[KeyCode.Insert] = 'Insert';
+	TO_STRING_MAP[KeyCode.Delete] = 'Delete';
 
 	TO_STRING_MAP[KeyCode.KEY_0] = '0';
 	TO_STRING_MAP[KeyCode.KEY_1] = '1';
@@ -326,22 +326,22 @@ let STRING = createMapping((TO_STRING_MAP) => {
 	TO_STRING_MAP[KeyCode.F19] = 'F19';
 
 
-	TO_STRING_MAP[KeyCode.NumLock] 		= 'NumLock';
-	TO_STRING_MAP[KeyCode.ScrollLock] 	= 'ScrollLock';
+	TO_STRING_MAP[KeyCode.NumLock] = 'NumLock';
+	TO_STRING_MAP[KeyCode.ScrollLock] = 'ScrollLock';
 
-	TO_STRING_MAP[KeyCode.US_SEMICOLON] 			= ';';
-	TO_STRING_MAP[KeyCode.US_EQUAL] 				= '=';
-	TO_STRING_MAP[KeyCode.US_COMMA] 				= ',';
-	TO_STRING_MAP[KeyCode.US_MINUS] 				= '-';
-	TO_STRING_MAP[KeyCode.US_DOT] 					= '.';
-	TO_STRING_MAP[KeyCode.US_SLASH] 				= '/';
-	TO_STRING_MAP[KeyCode.US_BACKTICK] 				= '`';
-	TO_STRING_MAP[KeyCode.US_OPEN_SQUARE_BRACKET] 	= '[';
-	TO_STRING_MAP[KeyCode.US_BACKSLASH] 			= '\\';
-	TO_STRING_MAP[KeyCode.US_CLOSE_SQUARE_BRACKET] 	= ']';
-	TO_STRING_MAP[KeyCode.US_QUOTE]					= '\'';
-	TO_STRING_MAP[KeyCode.OEM_8]					= 'OEM_8';
-	TO_STRING_MAP[KeyCode.OEM_102]					= 'OEM_102';
+	TO_STRING_MAP[KeyCode.US_SEMICOLON] = ';';
+	TO_STRING_MAP[KeyCode.US_EQUAL] = '=';
+	TO_STRING_MAP[KeyCode.US_COMMA] = ',';
+	TO_STRING_MAP[KeyCode.US_MINUS] = '-';
+	TO_STRING_MAP[KeyCode.US_DOT] = '.';
+	TO_STRING_MAP[KeyCode.US_SLASH] = '/';
+	TO_STRING_MAP[KeyCode.US_BACKTICK] = '`';
+	TO_STRING_MAP[KeyCode.US_OPEN_SQUARE_BRACKET] = '[';
+	TO_STRING_MAP[KeyCode.US_BACKSLASH] = '\\';
+	TO_STRING_MAP[KeyCode.US_CLOSE_SQUARE_BRACKET] = ']';
+	TO_STRING_MAP[KeyCode.US_QUOTE] = '\'';
+	TO_STRING_MAP[KeyCode.OEM_8] = 'OEM_8';
+	TO_STRING_MAP[KeyCode.OEM_102] = 'OEM_102';
 
 	TO_STRING_MAP[KeyCode.NUMPAD_0] = 'NumPad0';
 	TO_STRING_MAP[KeyCode.NUMPAD_1] = 'NumPad1';
@@ -396,10 +396,10 @@ export let USER_SETTINGS = createMapping((TO_USER_SETTINGS_MAP) => {
 });
 
 export namespace KeyCodeUtils {
-	export function toString(key:KeyCode): string {
+	export function toString(key: KeyCode): string {
 		return STRING.fromKeyCode(key);
 	}
-	export function fromString(key:string): KeyCode {
+	export function fromString(key: string): KeyCode {
 		return STRING.toKeyCode(key);
 	}
 }
@@ -425,41 +425,41 @@ export const enum KeyMod {
 	WinCtrl = 1 << 12,
 }
 
-export function KeyChord(firstPart:number, secondPart:number): number {
+export function KeyChord(firstPart: number, secondPart: number): number {
 	return firstPart | ((secondPart & 0x0000ffff) << 16);
 }
 
 export class BinaryKeybindings {
 
-	public static extractFirstPart(keybinding:number): number {
+	public static extractFirstPart(keybinding: number): number {
 		return keybinding & 0x0000ffff;
 	}
 
-	public static extractChordPart(keybinding:number): number {
+	public static extractChordPart(keybinding: number): number {
 		return (keybinding >> 16) & 0x0000ffff;
 	}
 
-	public static hasChord(keybinding:number): boolean {
+	public static hasChord(keybinding: number): boolean {
 		return (this.extractChordPart(keybinding) !== 0);
 	}
 
-	public static hasCtrlCmd(keybinding:number): boolean {
+	public static hasCtrlCmd(keybinding: number): boolean {
 		return (keybinding & BinaryKeybindingsMask.CtrlCmd ? true : false);
 	}
 
-	public static hasShift(keybinding:number): boolean {
+	public static hasShift(keybinding: number): boolean {
 		return (keybinding & BinaryKeybindingsMask.Shift ? true : false);
 	}
 
-	public static hasAlt(keybinding:number): boolean {
+	public static hasAlt(keybinding: number): boolean {
 		return (keybinding & BinaryKeybindingsMask.Alt ? true : false);
 	}
 
-	public static hasWinCtrl(keybinding:number): boolean {
+	public static hasWinCtrl(keybinding: number): boolean {
 		return (keybinding & BinaryKeybindingsMask.WinCtrl ? true : false);
 	}
 
-	public static extractKeyCode(keybinding:number): KeyCode {
+	public static extractKeyCode(keybinding: number): KeyCode {
 		return (keybinding & BinaryKeybindingsMask.KeyCode);
 	}
 }
diff --git a/src/vs/base/common/keybinding.ts b/src/vs/base/common/keybinding.ts
index c891250abd37b..0a8478e992348 100644
--- a/src/vs/base/common/keybinding.ts
+++ b/src/vs/base/common/keybinding.ts
@@ -7,8 +7,8 @@
 
 import * as nls from 'vs/nls';
 import * as defaultPlatform from 'vs/base/common/platform';
-import {IHTMLContentElement} from 'vs/base/common/htmlContent';
-import {KeyCode, KeyMod, KeyChord, KeyCodeUtils, BinaryKeybindings, USER_SETTINGS} from 'vs/base/common/keyCodes';
+import { IHTMLContentElement } from 'vs/base/common/htmlContent';
+import { KeyCode, KeyMod, KeyChord, KeyCodeUtils, BinaryKeybindings, USER_SETTINGS } from 'vs/base/common/keyCodes';
 
 export interface ISimplifiedPlatform {
 	isMacintosh: boolean;
@@ -20,35 +20,35 @@ export class Keybinding {
 	/**
 	 * Format the binding to a format appropiate for rendering in the UI
 	 */
-	private static _toUSLabel(value:number, Platform:ISimplifiedPlatform): string {
+	private static _toUSLabel(value: number, Platform: ISimplifiedPlatform): string {
 		return _asString(value, (Platform.isMacintosh ? MacUIKeyLabelProvider.INSTANCE : ClassicUIKeyLabelProvider.INSTANCE), Platform);
 	}
 
 	/**
 	 * Format the binding to a format appropiate for placing in an aria-label.
 	 */
-	private static _toUSAriaLabel(value:number, Platform:ISimplifiedPlatform): string {
+	private static _toUSAriaLabel(value: number, Platform: ISimplifiedPlatform): string {
 		return _asString(value, AriaKeyLabelProvider.INSTANCE, Platform);
 	}
 
 	/**
 	 * Format the binding to a format appropiate for rendering in the UI
 	 */
-	private static _toUSHTMLLabel(value:number, Platform:ISimplifiedPlatform): IHTMLContentElement[] {
+	private static _toUSHTMLLabel(value: number, Platform: ISimplifiedPlatform): IHTMLContentElement[] {
 		return _asHTML(value, (Platform.isMacintosh ? MacUIKeyLabelProvider.INSTANCE : ClassicUIKeyLabelProvider.INSTANCE), Platform);
 	}
 
 	/**
 	 * Format the binding to a format appropiate for rendering in the UI
 	 */
-	private static _toCustomLabel(value:number, labelProvider:IKeyBindingLabelProvider, Platform:ISimplifiedPlatform): string {
+	private static _toCustomLabel(value: number, labelProvider: IKeyBindingLabelProvider, Platform: ISimplifiedPlatform): string {
 		return _asString(value, labelProvider, Platform);
 	}
 
 	/**
 	 * Format the binding to a format appropiate for rendering in the UI
 	 */
-	private static _toCustomHTMLLabel(value:number, labelProvider:IKeyBindingLabelProvider, Platform:ISimplifiedPlatform): IHTMLContentElement[] {
+	private static _toCustomHTMLLabel(value: number, labelProvider: IKeyBindingLabelProvider, Platform: ISimplifiedPlatform): IHTMLContentElement[] {
 		return _asHTML(value, labelProvider, Platform);
 	}
 
@@ -56,7 +56,7 @@ export class Keybinding {
 	 * This prints the binding in a format suitable for electron's accelerators.
 	 * See https://github.com/electron/electron/blob/master/docs/api/accelerator.md
 	 */
-	private static _toElectronAccelerator(value:number, Platform:ISimplifiedPlatform): string {
+	private static _toElectronAccelerator(value: number, Platform: ISimplifiedPlatform): string {
 		if (BinaryKeybindings.hasChord(value)) {
 			// Electron cannot handle chords
 			return null;
@@ -75,7 +75,7 @@ export class Keybinding {
 			let mod = '((ctrl|shift|alt|cmd|win|meta)\\+)*';
 			let keybinding = '(' + mod + key + ')';
 
-			this._cachedKeybindingRegex = '"\\s*(' + keybinding + '(\\s+' + keybinding +')?' + ')\\s*"';
+			this._cachedKeybindingRegex = '"\\s*(' + keybinding + '(\\s+' + keybinding + ')?' + ')\\s*"';
 		}
 		return this._cachedKeybindingRegex;
 	}
@@ -83,7 +83,7 @@ export class Keybinding {
 	/**
 	 * Format the binding to a format appropiate for the user settings file.
 	 */
-	public static toUserSettingsLabel(value:number, Platform:ISimplifiedPlatform = defaultPlatform): string {
+	public static toUserSettingsLabel(value: number, Platform: ISimplifiedPlatform = defaultPlatform): string {
 		let result = _asString(value, UserSettingsKeyLabelProvider.INSTANCE, Platform);
 		result = result.toLowerCase();
 
@@ -106,7 +106,7 @@ export class Keybinding {
 			shift = false,
 			alt = false,
 			winCtrl = false,
-			key:string = '';
+			key: string = '';
 
 		while (/^(ctrl|shift|alt|meta|win|cmd)(\+|\-)/.test(input)) {
 			if (/^ctrl(\+|\-)/.test(input)) {
@@ -180,9 +180,9 @@ export class Keybinding {
 		return KeyChord(result, chord);
 	}
 
-	public value:number;
+	public value: number;
 
-	constructor(keybinding:number) {
+	constructor(keybinding: number) {
 		this.value = keybinding;
 	}
 
@@ -209,35 +209,35 @@ export class Keybinding {
 	/**
 	 * Format the binding to a format appropiate for rendering in the UI
 	 */
-	public _toUSLabel(Platform:ISimplifiedPlatform = defaultPlatform): string {
+	public _toUSLabel(Platform: ISimplifiedPlatform = defaultPlatform): string {
 		return Keybinding._toUSLabel(this.value, Platform);
 	}
 
 	/**
 	 * Format the binding to a format appropiate for placing in an aria-label.
 	 */
-	public _toUSAriaLabel(Platform:ISimplifiedPlatform = defaultPlatform): string {
+	public _toUSAriaLabel(Platform: ISimplifiedPlatform = defaultPlatform): string {
 		return Keybinding._toUSAriaLabel(this.value, Platform);
 	}
 
 	/**
 	 * Format the binding to a format appropiate for rendering in the UI
 	 */
-	public _toUSHTMLLabel(Platform:ISimplifiedPlatform = defaultPlatform): IHTMLContentElement[] {
+	public _toUSHTMLLabel(Platform: ISimplifiedPlatform = defaultPlatform): IHTMLContentElement[] {
 		return Keybinding._toUSHTMLLabel(this.value, Platform);
 	}
 
 	/**
 	 * Format the binding to a format appropiate for rendering in the UI
 	 */
-	public toCustomLabel(labelProvider:IKeyBindingLabelProvider, Platform:ISimplifiedPlatform = defaultPlatform): string {
+	public toCustomLabel(labelProvider: IKeyBindingLabelProvider, Platform: ISimplifiedPlatform = defaultPlatform): string {
 		return Keybinding._toCustomLabel(this.value, labelProvider, Platform);
 	}
 
 	/**
 	 * Format the binding to a format appropiate for rendering in the UI
 	 */
-	public toCustomHTMLLabel(labelProvider:IKeyBindingLabelProvider, Platform:ISimplifiedPlatform = defaultPlatform): IHTMLContentElement[] {
+	public toCustomHTMLLabel(labelProvider: IKeyBindingLabelProvider, Platform: ISimplifiedPlatform = defaultPlatform): IHTMLContentElement[] {
 		return Keybinding._toCustomHTMLLabel(this.value, labelProvider, Platform);
 	}
 
@@ -245,27 +245,27 @@ export class Keybinding {
 	 * This prints the binding in a format suitable for electron's accelerators.
 	 * See https://github.com/electron/electron/blob/master/docs/api/accelerator.md
 	 */
-	public _toElectronAccelerator(Platform:ISimplifiedPlatform = defaultPlatform): string {
+	public _toElectronAccelerator(Platform: ISimplifiedPlatform = defaultPlatform): string {
 		return Keybinding._toElectronAccelerator(this.value, Platform);
 	}
 
 	/**
 	 * Format the binding to a format appropiate for the user settings file.
 	 */
-	public toUserSettingsLabel(Platform:ISimplifiedPlatform = defaultPlatform): string {
+	public toUserSettingsLabel(Platform: ISimplifiedPlatform = defaultPlatform): string {
 		return Keybinding.toUserSettingsLabel(this.value, Platform);
 	}
 
 }
 
 export interface IKeyBindingLabelProvider {
-	ctrlKeyLabel:string;
-	shiftKeyLabel:string;
-	altKeyLabel:string;
-	cmdKeyLabel:string;
-	windowsKeyLabel:string;
-	modifierSeparator:string;
-	getLabelForKey(keyCode:KeyCode): string;
+	ctrlKeyLabel: string;
+	shiftKeyLabel: string;
+	altKeyLabel: string;
+	cmdKeyLabel: string;
+	windowsKeyLabel: string;
+	modifierSeparator: string;
+	getLabelForKey(keyCode: KeyCode): string;
 }
 
 /**
@@ -281,7 +281,7 @@ export class ElectronAcceleratorLabelProvider implements IKeyBindingLabelProvide
 	public windowsKeyLabel = 'Super';
 	public modifierSeparator = '+';
 
-	public getLabelForKey(keyCode:KeyCode): string {
+	public getLabelForKey(keyCode: KeyCode): string {
 		switch (keyCode) {
 			case KeyCode.UpArrow:
 				return 'Up';
@@ -315,7 +315,7 @@ export class MacUIKeyLabelProvider implements IKeyBindingLabelProvider {
 	public windowsKeyLabel = nls.localize('windowsKey', "Windows");
 	public modifierSeparator = '';
 
-	public getLabelForKey(keyCode:KeyCode): string {
+	public getLabelForKey(keyCode: KeyCode): string {
 		switch (keyCode) {
 			case KeyCode.LeftArrow:
 				return MacUIKeyLabelProvider.leftArrowUnicodeLabel;
@@ -344,7 +344,7 @@ export class AriaKeyLabelProvider implements IKeyBindingLabelProvider {
 	public windowsKeyLabel = nls.localize('windowsKey.long', "Windows");
 	public modifierSeparator = '+';
 
-	public getLabelForKey(keyCode:KeyCode): string {
+	public getLabelForKey(keyCode: KeyCode): string {
 		return KeyCodeUtils.toString(keyCode);
 	}
 }
@@ -362,7 +362,7 @@ export class ClassicUIKeyLabelProvider implements IKeyBindingLabelProvider {
 	public windowsKeyLabel = nls.localize('windowsKey', "Windows");
 	public modifierSeparator = '+';
 
-	public getLabelForKey(keyCode:KeyCode): string {
+	public getLabelForKey(keyCode: KeyCode): string {
 		return KeyCodeUtils.toString(keyCode);
 	}
 }
@@ -381,13 +381,13 @@ class UserSettingsKeyLabelProvider implements IKeyBindingLabelProvider {
 
 	public modifierSeparator = '+';
 
-	public getLabelForKey(keyCode:KeyCode): string {
+	public getLabelForKey(keyCode: KeyCode): string {
 		return USER_SETTINGS.fromKeyCode(keyCode);
 	}
 }
 
-function _asString(keybinding:number, labelProvider:IKeyBindingLabelProvider, Platform:ISimplifiedPlatform): string {
-	let result:string[] = [],
+function _asString(keybinding: number, labelProvider: IKeyBindingLabelProvider, Platform: ISimplifiedPlatform): string {
+	let result: string[] = [],
 		ctrlCmd = BinaryKeybindings.hasCtrlCmd(keybinding),
 		shift = BinaryKeybindings.hasShift(keybinding),
 		alt = BinaryKeybindings.hasAlt(keybinding),
@@ -433,7 +433,7 @@ function _asString(keybinding:number, labelProvider:IKeyBindingLabelProvider, Pl
 	return actualResult;
 }
 
-function _pushKey(result:IHTMLContentElement[], str:string): void {
+function _pushKey(result: IHTMLContentElement[], str: string): void {
 	if (result.length > 0) {
 		result.push({
 			tagName: 'span',
@@ -447,8 +447,8 @@ function _pushKey(result:IHTMLContentElement[], str:string): void {
 	});
 }
 
-function _asHTML(keybinding:number, labelProvider:IKeyBindingLabelProvider, Platform:ISimplifiedPlatform, isChord:boolean = false): IHTMLContentElement[] {
-	let result:IHTMLContentElement[] = [],
+function _asHTML(keybinding: number, labelProvider: IKeyBindingLabelProvider, Platform: ISimplifiedPlatform, isChord: boolean = false): IHTMLContentElement[] {
+	let result: IHTMLContentElement[] = [],
 		ctrlCmd = BinaryKeybindings.hasCtrlCmd(keybinding),
 		shift = BinaryKeybindings.hasShift(keybinding),
 		alt = BinaryKeybindings.hasAlt(keybinding),
diff --git a/src/vs/base/common/lifecycle.ts b/src/vs/base/common/lifecycle.ts
index 1777452f52708..ae0f900fb1c7e 100644
--- a/src/vs/base/common/lifecycle.ts
+++ b/src/vs/base/common/lifecycle.ts
@@ -47,7 +47,7 @@ export abstract class Disposable implements IDisposable {
 		this._toDispose = dispose(this._toDispose);
 	}
 
-	protected _register<T extends IDisposable>(t:T): T {
+	protected _register<T extends IDisposable>(t: T): T {
 		this._toDispose.push(t);
 		return t;
 	}
diff --git a/src/vs/base/common/map.ts b/src/vs/base/common/map.ts
index b79e3bd0c5309..f274d1a72d67d 100644
--- a/src/vs/base/common/map.ts
+++ b/src/vs/base/common/map.ts
@@ -6,7 +6,7 @@
 'use strict';
 
 export interface Key {
-	toString():string;
+	toString(): string;
 }
 
 export interface Entry<K, T> {
@@ -86,7 +86,7 @@ export class LinkedMap<K extends Key, T> {
 	}
 
 	public delete(k: K): T {
-		let value:T= this.get(k);
+		let value: T = this.get(k);
 		if (value) {
 			this.pop(k);
 			return value;
@@ -115,7 +115,7 @@ export class LinkedMap<K extends Key, T> {
 	}
 
 	protected peek(k: K): T {
-		const entry= this.map[k.toString()];
+		const entry = this.map[k.toString()];
 		return entry ? entry.value : null;
 	}
 }
diff --git a/src/vs/base/common/marked/marked.d.ts b/src/vs/base/common/marked/marked.d.ts
index 6b76d2b40a0e1..ee4c622d085a9 100644
--- a/src/vs/base/common/marked/marked.d.ts
+++ b/src/vs/base/common/marked/marked.d.ts
@@ -2,7 +2,7 @@
  *  Copyright (c) Microsoft Corporation. All rights reserved.
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
- 
+
 // Type definitions for Marked
 // Project:https://github.com/chjj/marked
 // Definitions by:William Orr <https://github.com/worr>
@@ -16,7 +16,7 @@ export interface MarkedStatic {
      * @param callback Function called when the markdownString has been fully parsed when using async highlighting
      * @return String of compiled HTML
      */
-    (src:string, callback:Function):string;
+	(src: string, callback: Function): string;
 
     /**
      * Compiles markdown to HTML.
@@ -26,13 +26,13 @@ export interface MarkedStatic {
      * @param callback Function called when the markdownString has been fully parsed when using async highlighting
      * @return String of compiled HTML
      */
-    (src:string, options?:MarkedOptions, callback?:Function):string;
+	(src: string, options?: MarkedOptions, callback?: Function): string;
 
     /**
      * @param src String of markdown source to be compiled
      * @param options Hash of options
      */
-    lexer(src:string, options?:MarkedOptions):any[];
+	lexer(src: string, options?: MarkedOptions): any[];
 
     /**
      * Compiles markdown to HTML.
@@ -41,7 +41,7 @@ export interface MarkedStatic {
      * @param callback Function called when the markdownString has been fully parsed when using async highlighting
      * @return String of compiled HTML
      */
-    parse(src:string, callback:Function):string;
+	parse(src: string, callback: Function): string;
 
     /**
      * Compiles markdown to HTML.
@@ -51,112 +51,112 @@ export interface MarkedStatic {
      * @param callback Function called when the markdownString has been fully parsed when using async highlighting
      * @return String of compiled HTML
      */
-    parse(src:string, options?:MarkedOptions, callback?:Function):string;
+	parse(src: string, options?: MarkedOptions, callback?: Function): string;
 
     /**
      * @param options Hash of options
      */
-    parser(src:any[], options?:MarkedOptions):string;
+	parser(src: any[], options?: MarkedOptions): string;
 
     /**
      * Sets the default options.
      *
      * @param options Hash of options
      */
-    setOptions(options:MarkedOptions):void;
-    
+	setOptions(options: MarkedOptions): void;
+
 	/**
 	 * Custom renderer for marked.
 	 */
-    Renderer:Renderer;
+	Renderer: Renderer;
 }
 
 export interface Renderer {
-    prototype:MarkedRenderer;
-    new ():MarkedRenderer;
+	prototype: MarkedRenderer;
+	new (): MarkedRenderer;
 }
 
 export interface MarkedRenderer {
-	image(href:string, title:string, text:string):string;
-	code(code:string, language:string):string;
-	blockquote(quote:string):string;
-	html(html:string):string;
-	heading(text:string, level:number):string;
-	hr():string;
-	list(body:string, ordered:boolean):string;
-	listitem(text:string):string;
-	paragraph(text:string):string;
-	table(header:string, body:string):string;
-	tablerow(content:string):string;
-	tablecell(content:string, flags:ITableFlags):string;
-	strong(text:string):string;
-	em(text:string):string;
-	codespan(code:string):string;
-	br():string;
-	del(text:string):string;
-	link(href:string, title:string, text:string):string;
+	image(href: string, title: string, text: string): string;
+	code(code: string, language: string): string;
+	blockquote(quote: string): string;
+	html(html: string): string;
+	heading(text: string, level: number): string;
+	hr(): string;
+	list(body: string, ordered: boolean): string;
+	listitem(text: string): string;
+	paragraph(text: string): string;
+	table(header: string, body: string): string;
+	tablerow(content: string): string;
+	tablecell(content: string, flags: ITableFlags): string;
+	strong(text: string): string;
+	em(text: string): string;
+	codespan(code: string): string;
+	br(): string;
+	del(text: string): string;
+	link(href: string, title: string, text: string): string;
 }
 
 export interface ITableFlags {
-	header:boolean;
-	align:string; // 'center' || 'left' || 'right'
+	header: boolean;
+	align: string; // 'center' || 'left' || 'right'
 }
 
 export interface MarkedOptions {
 	/**
 	 * Enable GitHub flavored markdown.
 	 */
-	gfm?:boolean;
+	gfm?: boolean;
 
 	/**
 	 * Enable GFM tables. This option requires the gfm option to be true.
 	 */
-	tables?:boolean;
+	tables?: boolean;
 
 	/**
 	 * Enable GFM line breaks. This option requires the gfm option to be true.
 	 */
-	breaks?:boolean;
+	breaks?: boolean;
 
 	/**
 	 * Conform to obscure parts of markdown.pl as much as possible. Don't fix any of the original markdown bugs or poor behavior.
 	 */
-	pedantic?:boolean;
+	pedantic?: boolean;
 
 	/**
 	 * Sanitize the output. Ignore any HTML that has been input.
 	 */
-	sanitize?:boolean;
+	sanitize?: boolean;
 
 	/**
 	 * Use smarter list behavior than the original markdown. May eventually be default with the old behavior moved into pedantic.
 	 */
-	smartLists?:boolean;
+	smartLists?: boolean;
 
 	/**
 	 * Shows an HTML error message when rendering fails.
 	 */
-	silent?:boolean;
+	silent?: boolean;
 
 	/**
 	 * A function to highlight code blocks. The function takes three arguments:code, lang, and callback.
 	 */
-	highlight? (code:string, lang:string, callback?:Function):void;
+	highlight?(code: string, lang: string, callback?: Function): void;
 
 	/**
 	 * Set the prefix for code block classes.
 	 */
-	langPrefix?:string;
+	langPrefix?: string;
 
 	/**
 	 * Use "smart" typograhic punctuation for things like quotes and dashes.
 	 */
-	smartypants?:boolean;
+	smartypants?: boolean;
 
 	/**
 	 * The renderer to use with marked rendering.
 	 */
-	renderer?:any;
+	renderer?: any;
 }
 
-export declare var marked:MarkedStatic;
\ No newline at end of file
+export declare var marked: MarkedStatic;
\ No newline at end of file
diff --git a/src/vs/base/common/mime.ts b/src/vs/base/common/mime.ts
index 8357520cda7de..d47010f4e0b3a 100644
--- a/src/vs/base/common/mime.ts
+++ b/src/vs/base/common/mime.ts
@@ -7,7 +7,7 @@
 import paths = require('vs/base/common/paths');
 import types = require('vs/base/common/types');
 import strings = require('vs/base/common/strings');
-import {match} from 'vs/base/common/glob';
+import { match } from 'vs/base/common/glob';
 
 export let MIME_TEXT = 'text/plain';
 export let MIME_BINARY = 'application/octet-stream';
diff --git a/src/vs/base/common/network.ts b/src/vs/base/common/network.ts
index 293585f5eeb10..ee18a5ec9d2da 100644
--- a/src/vs/base/common/network.ts
+++ b/src/vs/base/common/network.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 
 export namespace Schemas {
 
@@ -12,38 +12,38 @@ export namespace Schemas {
 	 * A schema that is used for models that exist in memory
 	 * only and that have no correspondence on a server or such.
 	 */
-	export var inMemory:string = 'inmemory';
+	export var inMemory: string = 'inmemory';
 
 	/**
 	 * A schema that is used for setting files
 	 */
-	export var vscode:string = 'vscode';
+	export var vscode: string = 'vscode';
 
 	/**
 	 * A schema that is used for internal private files
 	 */
-	export var internal:string = 'private';
+	export var internal: string = 'private';
 
-	export var http:string = 'http';
+	export var http: string = 'http';
 
-	export var https:string = 'https';
+	export var https: string = 'https';
 
-	export var file:string = 'file';
+	export var file: string = 'file';
 }
 
 export interface IXHROptions {
-	type?:string;
-	url?:string;
-	user?:string;
-	password?:string;
-	responseType?:string;
-	headers?:any;
-	customRequestInitializer?:(req:any)=>void;
-	data?:any;
+	type?: string;
+	url?: string;
+	user?: string;
+	password?: string;
+	responseType?: string;
+	headers?: any;
+	customRequestInitializer?: (req: any) => void;
+	data?: any;
 }
 
-export function xhr(options:IXHROptions): TPromise<XMLHttpRequest> {
-	let req:XMLHttpRequest = null;
+export function xhr(options: IXHROptions): TPromise<XMLHttpRequest> {
+	let req: XMLHttpRequest = null;
 	let canceled = false;
 
 	return new TPromise<XMLHttpRequest>((c, e, p) => {
diff --git a/src/vs/base/common/numbers.ts b/src/vs/base/common/numbers.ts
index 4b32bc9a4f542..c677d7fd20f76 100644
--- a/src/vs/base/common/numbers.ts
+++ b/src/vs/base/common/numbers.ts
@@ -7,7 +7,7 @@
 
 import types = require('vs/base/common/types');
 
-export type NumberCallback = (index: number)=>void;
+export type NumberCallback = (index: number) => void;
 
 export function count(to: number, callback: NumberCallback): void;
 export function count(from: number, to: number, callback: NumberCallback): void;
@@ -16,11 +16,11 @@ export function count(fromOrTo: number, toOrCallback?: NumberCallback | number,
 
 	if (types.isNumber(toOrCallback)) {
 		from = fromOrTo;
-		to = <number> toOrCallback;
+		to = <number>toOrCallback;
 	} else {
 		from = 0;
 		to = fromOrTo;
-		callback = <NumberCallback> toOrCallback;
+		callback = <NumberCallback>toOrCallback;
 	}
 
 	var op = from <= to ? (i: number) => i + 1 : (i: number) => i - 1;
diff --git a/src/vs/base/common/objects.ts b/src/vs/base/common/objects.ts
index 30c45bd7fc227..538f8cc1e3cbb 100644
--- a/src/vs/base/common/objects.ts
+++ b/src/vs/base/common/objects.ts
@@ -148,7 +148,7 @@ export function assign(destination: any, ...sources: any[]): any {
 	return destination;
 }
 
-export function toObject<T,R>(arr: T[], keyMap: (T) => string, valueMap: (T) => R = x => x): { [key: string]: R } {
+export function toObject<T, R>(arr: T[], keyMap: (T) => string, valueMap: (T) => R = x => x): { [key: string]: R } {
 	return arr.reduce((o, d) => assign(o, { [keyMap(d)]: valueMap(d) }), Object.create(null));
 }
 
@@ -182,13 +182,13 @@ export function equals(one: any, other: any): boolean {
 			}
 		}
 	} else {
-		var oneKeys:string[] = [];
+		var oneKeys: string[] = [];
 
 		for (key in one) {
 			oneKeys.push(key);
 		}
 		oneKeys.sort();
-		var otherKeys:string[] = [];
+		var otherKeys: string[] = [];
 		for (key in other) {
 			otherKeys.push(key);
 		}
@@ -288,7 +288,7 @@ export function safeStringify(obj: any): string {
 	});
 }
 
-export function getOrDefault<T,R>(obj: T, fn: (obj: T) => R, defaultValue: R = null): R {
+export function getOrDefault<T, R>(obj: T, fn: (obj: T) => R, defaultValue: R = null): R {
 	const result = fn(obj);
 	return typeof result === 'undefined' ? defaultValue : result;
 }
\ No newline at end of file
diff --git a/src/vs/base/common/paging.ts b/src/vs/base/common/paging.ts
index 5e9fbcc8a02db..9b4966c2a203b 100644
--- a/src/vs/base/common/paging.ts
+++ b/src/vs/base/common/paging.ts
@@ -122,7 +122,7 @@ export class PagedModel<T> implements IPagedModel<T> {
  * Similar to array.map, `mapPager` lets you map the elements of an
  * abstract paged collection to another type.
  */
-export function mapPager<T,R>(pager: IPager<T>, fn: (t: T) => R): IPager<R> {
+export function mapPager<T, R>(pager: IPager<T>, fn: (t: T) => R): IPager<R> {
 	return {
 		firstPage: pager.firstPage.map(fn),
 		total: pager.total,
diff --git a/src/vs/base/common/parsers.ts b/src/vs/base/common/parsers.ts
index fb34ec93e7ffd..e97d340eb58d1 100644
--- a/src/vs/base/common/parsers.ts
+++ b/src/vs/base/common/parsers.ts
@@ -16,17 +16,17 @@ export enum ValidationState {
 }
 
 export class ValidationStatus {
-	private _state:ValidationState;
+	private _state: ValidationState;
 
 	constructor() {
 		this._state = ValidationState.OK;
 	}
 
-	public get state():ValidationState {
+	public get state(): ValidationState {
 		return this._state;
 	}
 
-	public set state(value:ValidationState) {
+	public set state(value: ValidationState) {
 		if (value > this._state) {
 			this._state = value;
 		}
@@ -42,7 +42,7 @@ export class ValidationStatus {
 }
 
 export interface ILogger {
-	log(value:string):void;
+	log(value: string): void;
 }
 
 export abstract class Parser {
@@ -67,7 +67,7 @@ export abstract class Parser {
 		this._logger.log(message);
 	}
 
-	protected is(value: any, func: (value:any) => boolean, wrongTypeState?: ValidationState, wrongTypeMessage?: string, undefinedState?: ValidationState, undefinedMessage?: string): boolean {
+	protected is(value: any, func: (value: any) => boolean, wrongTypeState?: ValidationState, wrongTypeMessage?: string, undefinedState?: ValidationState, undefinedMessage?: string): boolean {
 		if (Types.isUndefined(value)) {
 			if (undefinedState) {
 				this.validationStatus.state = undefinedState;
diff --git a/src/vs/base/common/paths.ts b/src/vs/base/common/paths.ts
index 40b4190c0d59c..084eacd9782be 100644
--- a/src/vs/base/common/paths.ts
+++ b/src/vs/base/common/paths.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {isLinux, isWindows} from 'vs/base/common/platform';
-import {fill} from 'vs/base/common/arrays';
-import {CharCode} from 'vs/base/common/charCode';
+import { isLinux, isWindows } from 'vs/base/common/platform';
+import { fill } from 'vs/base/common/arrays';
+import { CharCode } from 'vs/base/common/charCode';
 
 /**
  * The forward slash path separator.
@@ -150,7 +150,7 @@ export function normalize(path: string, toOSPath?: boolean): string {
 }
 
 function streql(value: string, start: number, end: number, other: string): boolean {
-	return start + other.length === end &&  value.indexOf(other, start) === start;
+	return start + other.length === end && value.indexOf(other, start) === start;
 }
 
 /**
diff --git a/src/vs/base/common/platform.ts b/src/vs/base/common/platform.ts
index 5771fcbd54a95..3075beb0a977e 100644
--- a/src/vs/base/common/platform.ts
+++ b/src/vs/base/common/platform.ts
@@ -51,7 +51,7 @@ if (typeof process === 'object') {
 	let rawNlsConfig = process.env['VSCODE_NLS_CONFIG'];
 	if (rawNlsConfig) {
 		try {
-			let nlsConfig:NLSConfig = JSON.parse(rawNlsConfig);
+			let nlsConfig: NLSConfig = JSON.parse(rawNlsConfig);
 			let resolved = nlsConfig.availableLanguages['*'];
 			_locale = nlsConfig.locale;
 			// VSCode's default language is 'en'
@@ -78,7 +78,7 @@ export enum Platform {
 	Windows
 }
 
-export let _platform:Platform = Platform.Web;
+export let _platform: Platform = Platform.Web;
 if (_isNative) {
 	if (_isMacintosh) {
 		_platform = Platform.Mac;
@@ -127,7 +127,7 @@ interface IGlobals {
 	clearInterval(token: IntervalToken);
 }
 
-const _globals = <IGlobals> (typeof self === 'object' ? self : global);
+const _globals = <IGlobals>(typeof self === 'object' ? self : global);
 export const globals: any = _globals;
 
 export function hasWebWorkerSupport(): boolean {
diff --git a/src/vs/base/common/processes.ts b/src/vs/base/common/processes.ts
index afd581318cd1f..4acc85c681245 100644
--- a/src/vs/base/common/processes.ts
+++ b/src/vs/base/common/processes.ts
@@ -27,7 +27,7 @@ export interface CommandOptions {
 	 * The environment of the executed program or shell. If omitted
 	 * the parent process' environment is used.
 	 */
-	env?: { [key:string]: string; };
+	env?: { [key: string]: string; };
 }
 
 export interface Executable {
@@ -67,19 +67,19 @@ export enum Source {
  * The data send via a success callback
  */
 export interface SuccessData {
-	error?:Error;
-	cmdCode?:number;
-	terminated?:boolean;
+	error?: Error;
+	cmdCode?: number;
+	terminated?: boolean;
 }
 
 /**
  * The data send via a error callback
  */
 export interface ErrorData {
-	error?:Error;
-	terminated?:boolean;
-	stdout?:string;
-	stderr?:string;
+	error?: Error;
+	terminated?: boolean;
+	stdout?: string;
+	stderr?: string;
 }
 
 export interface TerminateResponse {
@@ -115,7 +115,7 @@ export namespace Config {
 		/**
 		 * Index signature
 		 */
-		[key:string]: string | string[] | IStringDictionary<string>;
+		[key: string]: string | string[] | IStringDictionary<string>;
 	}
 
 	export interface BaseExecutable {
diff --git a/src/vs/base/common/remote.ts b/src/vs/base/common/remote.ts
index a605a56dadee5..eb5ccee9c8f58 100644
--- a/src/vs/base/common/remote.ts
+++ b/src/vs/base/common/remote.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 
 export interface IManyHandler {
-	handle(rpcId:string, method:string, args:any[]): any;
+	handle(rpcId: string, method: string, args: any[]): any;
 }
 
 export interface IProxyHelper {
-	callOnRemote(proxyId: string, path: string, args:any[]): TPromise<any>;
+	callOnRemote(proxyId: string, path: string, args: any[]): TPromise<any>;
 }
 
 export interface IRemoteCom extends IProxyHelper {
-	setManyHandler(handler:IManyHandler): void;
+	setManyHandler(handler: IManyHandler): void;
 }
diff --git a/src/vs/base/common/scorer.ts b/src/vs/base/common/scorer.ts
index c61fdca2f41d1..79e879b8d2589 100644
--- a/src/vs/base/common/scorer.ts
+++ b/src/vs/base/common/scorer.ts
@@ -35,7 +35,7 @@ BEGIN THIRD PARTY
  * Start of string bonus: 8
  */
 const wordPathBoundary = ['-', '_', ' ', '/', '\\', '.'];
-export function score(target: string, query: string, cache?: {[id: string]: number}): number {
+export function score(target: string, query: string, cache?: { [id: string]: number }): number {
 	if (!target || !query) {
 		return 0; // return early if target or query are undefined
 	}
diff --git a/src/vs/base/common/scrollable.ts b/src/vs/base/common/scrollable.ts
index fb5d6714f1499..877c85f0a2b88 100644
--- a/src/vs/base/common/scrollable.ts
+++ b/src/vs/base/common/scrollable.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Disposable} from 'vs/base/common/lifecycle';
-import Event, {Emitter} from 'vs/base/common/event';
+import { Disposable } from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
 
 export enum ScrollbarVisibility {
 	Auto = 1,
@@ -88,14 +88,14 @@ export class Scrollable extends Disposable {
 		return this._scrollTop;
 	}
 
-	public updateState(newState:INewScrollState): void {
-		let width = (typeof newState.width !== 'undefined' ? newState.width|0 : this._width);
-		let scrollWidth = (typeof newState.scrollWidth !== 'undefined' ? newState.scrollWidth|0 : this._scrollWidth);
-		let scrollLeft = (typeof newState.scrollLeft !== 'undefined' ? newState.scrollLeft|0 : this._scrollLeft);
+	public updateState(newState: INewScrollState): void {
+		let width = (typeof newState.width !== 'undefined' ? newState.width | 0 : this._width);
+		let scrollWidth = (typeof newState.scrollWidth !== 'undefined' ? newState.scrollWidth | 0 : this._scrollWidth);
+		let scrollLeft = (typeof newState.scrollLeft !== 'undefined' ? newState.scrollLeft | 0 : this._scrollLeft);
 
-		let height = (typeof newState.height !== 'undefined' ? newState.height|0 : this._height);
-		let scrollHeight = (typeof newState.scrollHeight !== 'undefined' ? newState.scrollHeight|0 : this._scrollHeight);
-		let scrollTop = (typeof newState.scrollTop !== 'undefined' ? newState.scrollTop|0 : this._scrollTop);
+		let height = (typeof newState.height !== 'undefined' ? newState.height | 0 : this._height);
+		let scrollHeight = (typeof newState.scrollHeight !== 'undefined' ? newState.scrollHeight | 0 : this._scrollHeight);
+		let scrollTop = (typeof newState.scrollTop !== 'undefined' ? newState.scrollTop | 0 : this._scrollTop);
 
 		if (width < 0) {
 			width = 0;
diff --git a/src/vs/base/common/stopwatch.ts b/src/vs/base/common/stopwatch.ts
index b1ae34e893d8d..4f0fc157da35d 100644
--- a/src/vs/base/common/stopwatch.ts
+++ b/src/vs/base/common/stopwatch.ts
@@ -14,7 +14,7 @@ export class StopWatch {
 	private _startTime: number;
 	private _stopTime: number;
 
-	public static create(highResolution:boolean = true): StopWatch {
+	public static create(highResolution: boolean = true): StopWatch {
 		return new StopWatch(highResolution);
 	}
 
diff --git a/src/vs/base/common/strings.ts b/src/vs/base/common/strings.ts
index 93a86fc32f9a7..c6fccf78c27c4 100644
--- a/src/vs/base/common/strings.ts
+++ b/src/vs/base/common/strings.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {BoundedLinkedMap} from 'vs/base/common/map';
-import {CharCode} from 'vs/base/common/charCode';
+import { BoundedLinkedMap } from 'vs/base/common/map';
+import { CharCode } from 'vs/base/common/charCode';
 
 /**
  * The empty string.
@@ -38,7 +38,7 @@ export function format(value: string, ...args: any[]): string {
 	if (args.length === 0) {
 		return value;
 	}
-	return value.replace(_formatRegexp, function(match, group) {
+	return value.replace(_formatRegexp, function (match, group) {
 		let idx = parseInt(group, 10);
 		return isNaN(idx) || idx < 0 || idx >= args.length ?
 			match :
@@ -51,7 +51,7 @@ export function format(value: string, ...args: any[]): string {
  * being used e.g. in HTMLElement.innerHTML.
  */
 export function escape(html: string): string {
-	return html.replace(/[<|>|&]/g, function(match) {
+	return html.replace(/[<|>|&]/g, function (match) {
 		switch (match) {
 			case '<': return '&lt;';
 			case '>': return '&gt;';
@@ -301,7 +301,7 @@ export function lastNonWhitespaceIndex(str: string, startIndex: number = str.len
 export function compare(a: string, b: string): number {
 	if (a < b) {
 		return -1;
-	} else if(a > b) {
+	} else if (a > b) {
 		return 1;
 	} else {
 		return 0;
@@ -396,15 +396,15 @@ export function commonSuffixLength(a: string, b: string): number {
 //	}
 //	return chrCode;
 //}
-export function isHighSurrogate(charCode:number): boolean {
+export function isHighSurrogate(charCode: number): boolean {
 	return (0xD800 <= charCode && charCode <= 0xDBFF);
 }
 
-export function isLowSurrogate(charCode:number): boolean {
+export function isLowSurrogate(charCode: number): boolean {
 	return (0xDC00 <= charCode && charCode <= 0xDFFF);
 }
 
-export function isFullWidthCharacter(charCode:number): boolean {
+export function isFullWidthCharacter(charCode: number): boolean {
 	// Do a cheap trick to better support wrapping of wide characters, treat them as 2 columns
 	// http://jrgraphix.net/research/unicode_blocks.php
 	//          2E80 — 2EFF   CJK Radicals Supplement
@@ -575,7 +575,7 @@ export function safeBtoa(str: string): string {
 	return btoa(encodeURIComponent(str)); // we use encodeURIComponent because btoa fails for non Latin 1 values
 }
 
-export function repeat(s:string, count: number): string {
+export function repeat(s: string, count: number): string {
 	var result = '';
 	for (var i = 0; i < count; i++) {
 		result += s;
diff --git a/src/vs/base/common/timer.ts b/src/vs/base/common/timer.ts
index 762b681dffef3..59e0072936830 100644
--- a/src/vs/base/common/timer.ts
+++ b/src/vs/base/common/timer.ts
@@ -7,7 +7,7 @@
 import Platform = require('vs/base/common/platform');
 import errors = require('vs/base/common/errors');
 import precision = require('vs/base/common/stopwatch');
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { IDisposable } from 'vs/base/common/lifecycle';
 
 export var ENABLE_TIMER = false;
 var msWriteProfilerMark = Platform.globals['msWriteProfilerMark'];
@@ -171,7 +171,7 @@ export class TimeKeeper {
 		return ENABLE_TIMER;
 	}
 
-	public start(topic: Topic|string, name: string, start?: Date, description?: string): ITimerEvent {
+	public start(topic: Topic | string, name: string, start?: Date, description?: string): ITimerEvent {
 		if (!this.isEnabled()) {
 			return nullEvent;
 		}
@@ -284,7 +284,7 @@ export class TimeKeeper {
 var timeKeeper = new TimeKeeper();
 export var nullEvent: ITimerEvent = new NullTimerEvent();
 
-export function start(topic: Topic|string, name: string, start?: Date, description?: string): ITimerEvent {
+export function start(topic: Topic | string, name: string, start?: Date, description?: string): ITimerEvent {
 	return timeKeeper.start(topic, name, start, description);
 }
 
diff --git a/src/vs/base/common/types.ts b/src/vs/base/common/types.ts
index cbd795f064f2c..86840cb1ffe55 100644
--- a/src/vs/base/common/types.ts
+++ b/src/vs/base/common/types.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 
 const _typeof = {
 	number: 'number',
@@ -33,7 +33,7 @@ export function isArray(array: any): array is any[] {
  * @returns whether the provided parameter is a JavaScript String or not.
  */
 export function isString(str: any): str is string {
-	if (typeof (str) === _typeof.string|| str instanceof String) {
+	if (typeof (str) === _typeof.string || str instanceof String) {
 		return true;
 	}
 
diff --git a/src/vs/base/common/uri.ts b/src/vs/base/common/uri.ts
index 840f0b3bb0b0a..c8b2c628d4970 100644
--- a/src/vs/base/common/uri.ts
+++ b/src/vs/base/common/uri.ts
@@ -155,27 +155,27 @@ export default class URI {
 		let {scheme, authority, path, query, fragment} = change;
 		if (scheme === void 0) {
 			scheme = this.scheme;
-		} else if(scheme === null){
+		} else if (scheme === null) {
 			scheme = '';
 		}
 		if (authority === void 0) {
 			authority = this.authority;
-		} else if(authority === null){
+		} else if (authority === null) {
 			authority = '';
 		}
 		if (path === void 0) {
 			path = this.path;
-		} else if(path === null){
+		} else if (path === null) {
 			path = '';
 		}
 		if (query === void 0) {
 			query = this.query;
-		} else if(query === null){
+		} else if (query === null) {
 			query = '';
 		}
 		if (fragment === void 0) {
 			fragment = this.fragment;
-		} else if(fragment === null){
+		} else if (fragment === null) {
 			fragment = '';
 		}
 
@@ -357,7 +357,7 @@ export default class URI {
 			// when occurring in paths - otherwise the result
 			// cannot be parsed back again
 			let lastIdx = 0;
-			while(true) {
+			while (true) {
 				let idx = path.indexOf(URI._slash, lastIdx);
 				if (idx === -1) {
 					parts.push(encoder(path.substring(lastIdx)).replace(/[#?]/, _encode));
@@ -378,7 +378,7 @@ export default class URI {
 	}
 
 	public toJSON(): any {
-		return <UriState> {
+		return <UriState>{
 			scheme: this.scheme,
 			authority: this.authority,
 			path: this.path,
@@ -392,12 +392,12 @@ export default class URI {
 
 	static revive(data: any): URI {
 		let result = new URI();
-		result._scheme = (<UriState> data).scheme;
-		result._authority = (<UriState> data).authority;
-		result._path = (<UriState> data).path;
-		result._query = (<UriState> data).query;
-		result._fragment = (<UriState> data).fragment;
-		result._fsPath = (<UriState> data).fsPath;
+		result._scheme = (<UriState>data).scheme;
+		result._authority = (<UriState>data).authority;
+		result._path = (<UriState>data).path;
+		result._query = (<UriState>data).query;
+		result._fragment = (<UriState>data).fragment;
+		result._fsPath = (<UriState>data).fsPath;
 		result._formatted = (<UriState>data).external;
 		URI._validate(result);
 		return result;
diff --git a/src/vs/base/common/uuid.ts b/src/vs/base/common/uuid.ts
index 675167c31e8f1..f09ee1fc42e20 100644
--- a/src/vs/base/common/uuid.ts
+++ b/src/vs/base/common/uuid.ts
@@ -12,22 +12,22 @@ export interface UUID {
 	/**
 	 * @returns the canonical representation in sets of hexadecimal numbers separated by dashes.
 	 */
-	asHex():string;
+	asHex(): string;
 
-	equals(other:UUID):boolean;
+	equals(other: UUID): boolean;
 }
 
 class ValueUUID implements UUID {
 
-	constructor(public _value:string) {
+	constructor(public _value: string) {
 		// empty
 	}
 
-	public asHex():string {
+	public asHex(): string {
 		return this._value;
 	}
 
-	public equals(other:UUID):boolean {
+	public equals(other: UUID): boolean {
 		return this.asHex() === other.asHex();
 	}
 }
@@ -38,11 +38,11 @@ class V4UUID extends ValueUUID {
 
 	private static _timeHighBits = ['8', '9', 'a', 'b'];
 
-	private static _oneOf(array:string[]):string {
+	private static _oneOf(array: string[]): string {
 		return array[Math.floor(array.length * Math.random())];
 	}
 
-	private static _randomHex():string {
+	private static _randomHex(): string {
 		return V4UUID._oneOf(V4UUID._chars);
 	}
 
@@ -91,9 +91,9 @@ class V4UUID extends ValueUUID {
 /**
  * An empty UUID that contains only zeros.
  */
-export const empty:UUID = new ValueUUID('00000000-0000-0000-0000-000000000000');
+export const empty: UUID = new ValueUUID('00000000-0000-0000-0000-000000000000');
 
-export function v4():UUID {
+export function v4(): UUID {
 	return new V4UUID();
 }
 
@@ -107,14 +107,14 @@ export function isUUID(value: string): boolean {
  * Parses a UUID that is of the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
  * @param value A uuid string.
  */
-export function parse(value:string):UUID {
-	if(!isUUID(value)) {
+export function parse(value: string): UUID {
+	if (!isUUID(value)) {
 		throw new Error('invalid uuid');
 	}
 
 	return new ValueUUID(value);
 }
 
-export function generateUuid():string {
+export function generateUuid(): string {
 	return v4().asHex();
 }
\ No newline at end of file
diff --git a/src/vs/base/common/winjs.base.d.ts b/src/vs/base/common/winjs.base.d.ts
index 4d939a04f4e10..23b1d178f24f9 100644
--- a/src/vs/base/common/winjs.base.d.ts
+++ b/src/vs/base/common/winjs.base.d.ts
@@ -5,54 +5,54 @@
 /// Interfaces for WinJS
 
 export interface ValueCallback {
-	(value:any):any;
+	(value: any): any;
 }
 
 export interface EventCallback {
-	(value:any):void;
+	(value: any): void;
 }
 
 export interface ErrorCallback {
-	(error:any):any;
+	(error: any): any;
 }
 
 export interface ProgressCallback {
-	(progress:any):any;
+	(progress: any): any;
 }
 
 export declare class Promise {
-	constructor(init:(complete:ValueCallback, error:ErrorCallback, progress:ProgressCallback)=>void, oncancel?: any);
+	constructor(init: (complete: ValueCallback, error: ErrorCallback, progress: ProgressCallback) => void, oncancel?: any);
 
 	// commented out to speed up adoption of TPromise
 	// static as(value:any):Promise;
 
-	static join(promises:{[name:string]:Promise;}):Promise;
-	static join(promises:Promise[]):Promise;
-	static any(promises:Promise[]):Promise;
+	static join(promises: { [name: string]: Promise; }): Promise;
+	static join(promises: Promise[]): Promise;
+	static any(promises: Promise[]): Promise;
 
 	// commented out to speed up adoption of TPromise
 	// static timeout(delay:number):Promise;
 
-	static wrapError(error:any):Promise;
+	static wrapError(error: any): Promise;
 	static is(value: any): value is Thenable<any>;
-	static addEventListener(type:string, fn:EventCallback):void;
+	static addEventListener(type: string, fn: EventCallback): void;
 
-	public then(success?:ValueCallback, error?:ErrorCallback, progress?:ProgressCallback):Promise;
-	public then<U>(success?:ValueCallback, error?:ErrorCallback, progress?:ProgressCallback):TPromise<U>;
-	public done(success?:ValueCallback, error?:ErrorCallback, progress?:ProgressCallback):void;
-	public cancel():void;
+	public then(success?: ValueCallback, error?: ErrorCallback, progress?: ProgressCallback): Promise;
+	public then<U>(success?: ValueCallback, error?: ErrorCallback, progress?: ProgressCallback): TPromise<U>;
+	public done(success?: ValueCallback, error?: ErrorCallback, progress?: ProgressCallback): void;
+	public cancel(): void;
 }
 
 /**
  * The value callback to complete a promise
  */
 export interface TValueCallback<T> {
-	(value:T):void;
+	(value: T): void;
 }
 
 
 export interface TProgressCallback<T> {
-	(progress:T):void;
+	(progress: T): void;
 }
 
 /**
@@ -60,57 +60,57 @@ export interface TProgressCallback<T> {
  */
 export declare class TPromise<V> {
 
-	constructor(init:(complete: TValueCallback<V>, error:(err:any)=>void, progress:ProgressCallback)=>void, oncancel?: any);
-
-	public then<U>(success?: (value:V)=>TPromise<U>, error?: (err:any)=>TPromise<U>, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>TPromise<U>, error?: (err:any)=>TPromise<U>|U, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>TPromise<U>, error?: (err:any)=>U, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>TPromise<U>, error?: (err:any)=>void, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>TPromise<U>|U, error?: (err:any)=>TPromise<U>, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>TPromise<U>|U, error?: (err:any)=>TPromise<U>|U, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>TPromise<U>|U, error?: (err:any)=>U, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>TPromise<U>|U, error?: (err:any)=>void, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>U, error?: (err:any)=>TPromise<U>, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>U, error?: (err:any)=>TPromise<U>|U, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>U, error?: (err:any)=>U, progress?:ProgressCallback): TPromise<U>;
-	public then<U>(success?: (value:V)=>U, error?: (err:any)=>void, progress?:ProgressCallback): TPromise<U>;
-
-	public done(success?: (value:V)=>void, error?: (err:any)=>any, progress?:ProgressCallback): void;
-	public cancel():void;
-
-	public static as<ValueType>(value:ValueType):TPromise<ValueType>;
+	constructor(init: (complete: TValueCallback<V>, error: (err: any) => void, progress: ProgressCallback) => void, oncancel?: any);
+
+	public then<U>(success?: (value: V) => TPromise<U>, error?: (err: any) => TPromise<U>, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => TPromise<U>, error?: (err: any) => TPromise<U> | U, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => TPromise<U>, error?: (err: any) => U, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => TPromise<U>, error?: (err: any) => void, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => TPromise<U> | U, error?: (err: any) => TPromise<U>, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => TPromise<U> | U, error?: (err: any) => TPromise<U> | U, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => TPromise<U> | U, error?: (err: any) => U, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => TPromise<U> | U, error?: (err: any) => void, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => U, error?: (err: any) => TPromise<U>, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => U, error?: (err: any) => TPromise<U> | U, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => U, error?: (err: any) => U, progress?: ProgressCallback): TPromise<U>;
+	public then<U>(success?: (value: V) => U, error?: (err: any) => void, progress?: ProgressCallback): TPromise<U>;
+
+	public done(success?: (value: V) => void, error?: (err: any) => any, progress?: ProgressCallback): void;
+	public cancel(): void;
+
+	public static as<ValueType>(value: ValueType): TPromise<ValueType>;
 	public static is(value: any): value is Thenable<any>;
-	public static timeout(delay:number):TPromise<void>;
-	public static join<ValueType>(promises:TPromise<ValueType>[]):TPromise<ValueType[]>;
-	public static join<ValueType>(promises:Thenable<ValueType>[]):Thenable<ValueType[]>;
-	public static join<ValueType>(promises: {[n:string]:TPromise<ValueType>}):TPromise<{[n:string]:ValueType}>;
-	public static any<ValueType>(promises:TPromise<ValueType>[]):TPromise<{ key:string; value:TPromise<ValueType>;}>;
+	public static timeout(delay: number): TPromise<void>;
+	public static join<ValueType>(promises: TPromise<ValueType>[]): TPromise<ValueType[]>;
+	public static join<ValueType>(promises: Thenable<ValueType>[]): Thenable<ValueType[]>;
+	public static join<ValueType>(promises: { [n: string]: TPromise<ValueType> }): TPromise<{ [n: string]: ValueType }>;
+	public static any<ValueType>(promises: TPromise<ValueType>[]): TPromise<{ key: string; value: TPromise<ValueType>; }>;
 
 	public static wrap<ValueType>(value: Thenable<ValueType>): TPromise<ValueType>;
 	public static wrap<ValueType>(value: ValueType): TPromise<ValueType>;
 
-	public static wrapError<ValueType>(error:any):TPromise<ValueType>;
+	public static wrapError<ValueType>(error: any): TPromise<ValueType>;
 }
 
 // --- Generic promise with generic progress value
-export declare class PPromise<C,P> extends TPromise<C> {
-
-	constructor(init:(complete: TValueCallback<C>, error:(err:any)=>void, progress: TProgressCallback<P>)=>void, oncancel?: any);
-
-	public then<U>(success?: (value:C)=>PPromise<U,P>, error?: (err:any)=>PPromise<U,P>, progress?:(value:P)=>void): PPromise<U,P>;
-	public then<U>(success?: (value:C)=>PPromise<U,P>, error?: (err:any)=>U, progress?:(value:P)=>void): PPromise<U,P>;
-	public then<U>(success?: (value:C)=>PPromise<U,P>, error?: (err:any)=>void, progress?:(value:P)=>void): PPromise<U,P>;
-	public then<U>(success?: (value:C)=>U, error?: (err:any)=>PPromise<C,P>, progress?:(value:P)=>void): PPromise<U,P>;
-	public then<U>(success?: (value:C)=>U, error?: (err:any)=>U, progress?:(value:P)=>void): PPromise<U,P>;
-	public then<U>(success?: (value:C)=>U, error?: (err:any)=>void, progress?:(value:P)=>void): PPromise<U,P>;
-
-	public done(success?: (value:C)=>void, error?: (err:any)=>any, progress?:(value:P)=>void): void;
-	public cancel():void;
-
-	public static as<V>(value:V):TPromise<V>;
-	public static timeout(delay:number):PPromise<void, void>;
-	public static join<C,P>(promises:PPromise<C,P>[]):PPromise<C,P[]>;
-	public static join<C,P>(promises: {[n:string]:PPromise<C,P>}):PPromise<{[n:string]:C},P>;
-	public static any<C,P>(promises:PPromise<C,P>[]):PPromise<{ key:string; value:PPromise<C,P>;},P>;
-	public static wrapError<V>(error:any):TPromise<V>;
+export declare class PPromise<C, P> extends TPromise<C> {
+
+	constructor(init: (complete: TValueCallback<C>, error: (err: any) => void, progress: TProgressCallback<P>) => void, oncancel?: any);
+
+	public then<U>(success?: (value: C) => PPromise<U, P>, error?: (err: any) => PPromise<U, P>, progress?: (value: P) => void): PPromise<U, P>;
+	public then<U>(success?: (value: C) => PPromise<U, P>, error?: (err: any) => U, progress?: (value: P) => void): PPromise<U, P>;
+	public then<U>(success?: (value: C) => PPromise<U, P>, error?: (err: any) => void, progress?: (value: P) => void): PPromise<U, P>;
+	public then<U>(success?: (value: C) => U, error?: (err: any) => PPromise<C, P>, progress?: (value: P) => void): PPromise<U, P>;
+	public then<U>(success?: (value: C) => U, error?: (err: any) => U, progress?: (value: P) => void): PPromise<U, P>;
+	public then<U>(success?: (value: C) => U, error?: (err: any) => void, progress?: (value: P) => void): PPromise<U, P>;
+
+	public done(success?: (value: C) => void, error?: (err: any) => any, progress?: (value: P) => void): void;
+	public cancel(): void;
+
+	public static as<V>(value: V): TPromise<V>;
+	public static timeout(delay: number): PPromise<void, void>;
+	public static join<C, P>(promises: PPromise<C, P>[]): PPromise<C, P[]>;
+	public static join<C, P>(promises: { [n: string]: PPromise<C, P> }): PPromise<{ [n: string]: C }, P>;
+	public static any<C, P>(promises: PPromise<C, P>[]): PPromise<{ key: string; value: PPromise<C, P>; }, P>;
+	public static wrapError<V>(error: any): TPromise<V>;
 }
\ No newline at end of file
diff --git a/src/vs/base/common/worker/simpleWorker.ts b/src/vs/base/common/worker/simpleWorker.ts
index 4c8554ef61fb7..38a4fcd30ecd9 100644
--- a/src/vs/base/common/worker/simpleWorker.ts
+++ b/src/vs/base/common/worker/simpleWorker.ts
@@ -4,26 +4,26 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {transformErrorForSerialization} from 'vs/base/common/errors';
-import {Disposable} from 'vs/base/common/lifecycle';
-import {ErrorCallback, TPromise, ValueCallback} from 'vs/base/common/winjs.base';
-import {ShallowCancelThenPromise} from 'vs/base/common/async';
-import {isWeb} from 'vs/base/common/platform';
+import { transformErrorForSerialization } from 'vs/base/common/errors';
+import { Disposable } from 'vs/base/common/lifecycle';
+import { ErrorCallback, TPromise, ValueCallback } from 'vs/base/common/winjs.base';
+import { ShallowCancelThenPromise } from 'vs/base/common/async';
+import { isWeb } from 'vs/base/common/platform';
 
 const INITIALIZE = '$initialize';
 
 export interface IWorker {
-	getId():number;
-	postMessage(message:string):void;
-	dispose():void;
+	getId(): number;
+	postMessage(message: string): void;
+	dispose(): void;
 }
 
 export interface IWorkerCallback {
-	(message:string):void;
+	(message: string): void;
 }
 
 export interface IWorkerFactory {
-	create(moduleId:string, callback:IWorkerCallback, onErrorCallback:(err:any)=>void):IWorker;
+	create(moduleId: string, callback: IWorkerCallback, onErrorCallback: (err: any) => void): IWorker;
 }
 
 let webWorkerWarningLogged = false;
@@ -63,29 +63,29 @@ interface IMessageReply {
 }
 
 interface IMessageHandler {
-	sendMessage(msg:string): void;
-	handleMessage(method:string, args:any[]): TPromise<any>;
+	sendMessage(msg: string): void;
+	handleMessage(method: string, args: any[]): TPromise<any>;
 }
 
 class SimpleWorkerProtocol {
 
 	private _workerId: number;
 	private _lastSentReq: number;
-	private _pendingReplies: { [req:string]:IMessageReply; };
-	private _handler:IMessageHandler;
+	private _pendingReplies: { [req: string]: IMessageReply; };
+	private _handler: IMessageHandler;
 
-	constructor(handler:IMessageHandler) {
+	constructor(handler: IMessageHandler) {
 		this._workerId = -1;
 		this._handler = handler;
 		this._lastSentReq = 0;
 		this._pendingReplies = Object.create(null);
 	}
 
-	public setWorkerId(workerId:number): void {
+	public setWorkerId(workerId: number): void {
 		this._workerId = workerId;
 	}
 
-	public sendMessage(method:string, args:any[]): TPromise<any> {
+	public sendMessage(method: string, args: any[]): TPromise<any> {
 		let req = String(++this._lastSentReq);
 		let reply: IMessageReply = {
 			c: null,
@@ -109,11 +109,11 @@ class SimpleWorkerProtocol {
 		return result;
 	}
 
-	public handleMessage(serializedMessage:string): void {
-		let message:IMessage;
+	public handleMessage(serializedMessage: string): void {
+		let message: IMessage;
 		try {
 			message = JSON.parse(serializedMessage);
-		} catch(e) {
+		} catch (e) {
 			// nothing
 		}
 		if (!message.vsWorker) {
@@ -125,7 +125,7 @@ class SimpleWorkerProtocol {
 		this._handleMessage(message);
 	}
 
-	private _handleMessage(msg:IMessage): void {
+	private _handleMessage(msg: IMessage): void {
 		if (msg.seq) {
 			let replyMessage = <IReplyMessage>msg;
 			if (!this._pendingReplies[replyMessage.seq]) {
@@ -172,7 +172,7 @@ class SimpleWorkerProtocol {
 		});
 	}
 
-	private _send(msg:IRequestMessage|IReplyMessage): void {
+	private _send(msg: IRequestMessage | IReplyMessage): void {
 		let strMsg = JSON.stringify(msg);
 		// console.log('SENDING: ' + strMsg);
 		this._handler.sendMessage(strMsg);
@@ -184,24 +184,24 @@ class SimpleWorkerProtocol {
  */
 export class SimpleWorkerClient<T> extends Disposable {
 
-	private _worker:IWorker;
-	private _onModuleLoaded:TPromise<string[]>;
+	private _worker: IWorker;
+	private _onModuleLoaded: TPromise<string[]>;
 	private _protocol: SimpleWorkerProtocol;
 	private _lazyProxy: TPromise<T>;
 	private _lastRequestTimestamp = -1;
 
-	constructor(workerFactory:IWorkerFactory, moduleId:string) {
+	constructor(workerFactory: IWorkerFactory, moduleId: string) {
 		super();
 
-		let lazyProxyFulfill : (v:T)=>void = null;
-		let lazyProxyReject: (err:any)=>void = null;
+		let lazyProxyFulfill: (v: T) => void = null;
+		let lazyProxyReject: (err: any) => void = null;
 
 		this._worker = this._register(workerFactory.create(
 			'vs/base/common/worker/simpleWorker',
-			(msg:string) => {
+			(msg: string) => {
 				this._protocol.handleMessage(msg);
 			},
-			(err:any) => {
+			(err: any) => {
 				// in Firefox, web workers fail lazily :(
 				// we will reject the proxy
 				lazyProxyReject(err);
@@ -209,10 +209,10 @@ export class SimpleWorkerClient<T> extends Disposable {
 		));
 
 		this._protocol = new SimpleWorkerProtocol({
-			sendMessage: (msg:string): void => {
+			sendMessage: (msg: string): void => {
 				this._worker.postMessage(msg);
 			},
-			handleMessage: (method:string, args:any[]): TPromise<any> => {
+			handleMessage: (method: string, args: any[]): TPromise<any> => {
 				// Intentionally not supporting worker -> main requests
 				return TPromise.as(null);
 			}
@@ -220,7 +220,7 @@ export class SimpleWorkerClient<T> extends Disposable {
 		this._protocol.setWorkerId(this._worker.getId());
 
 		// Gather loader configuration
-		let loaderConfiguration:any = null;
+		let loaderConfiguration: any = null;
 		let globalRequire = (<any>window).require;
 		if (typeof globalRequire.getConfig === 'function') {
 			// Get the configuration from the Monaco AMD Loader
@@ -241,7 +241,7 @@ export class SimpleWorkerClient<T> extends Disposable {
 			moduleId,
 			loaderConfiguration
 		]);
-		this._onModuleLoaded.then((availableMethods:string[]) => {
+		this._onModuleLoaded.then((availableMethods: string[]) => {
 			let proxy = <T><any>{};
 			for (let i = 0; i < availableMethods.length; i++) {
 				proxy[availableMethods[i]] = createProxyMethod(availableMethods[i], proxyMethodRequest);
@@ -253,11 +253,11 @@ export class SimpleWorkerClient<T> extends Disposable {
 		});
 
 		// Create proxy to loaded code
-		let proxyMethodRequest = (method:string, args:any[]):TPromise<any> => {
+		let proxyMethodRequest = (method: string, args: any[]): TPromise<any> => {
 			return this._request(method, args);
 		};
 
-		let createProxyMethod = (method:string, proxyMethodRequest:(method:string, args:any[])=>TPromise<any>): Function => {
+		let createProxyMethod = (method: string, proxyMethodRequest: (method: string, args: any[]) => TPromise<any>): Function => {
 			return function () {
 				let args = Array.prototype.slice.call(arguments, 0);
 				return proxyMethodRequest(method, args);
@@ -274,7 +274,7 @@ export class SimpleWorkerClient<T> extends Disposable {
 		return this._lastRequestTimestamp;
 	}
 
-	private _request(method:string, args:any[]): TPromise<any> {
+	private _request(method: string, args: any[]): TPromise<any> {
 		return new TPromise<any>((c, e, p) => {
 			this._onModuleLoaded.then(() => {
 				this._lastRequestTimestamp = Date.now();
@@ -285,7 +285,7 @@ export class SimpleWorkerClient<T> extends Disposable {
 		});
 	}
 
-	private _onError(message:string, error?:any): void {
+	private _onError(message: string, error?: any): void {
 		console.error(message);
 		console.info(error);
 	}
@@ -303,20 +303,20 @@ export class SimpleWorkerServer {
 	private _protocol: SimpleWorkerProtocol;
 	private _requestHandler: IRequestHandler;
 
-	constructor(postSerializedMessage:(msg:string)=>void) {
+	constructor(postSerializedMessage: (msg: string) => void) {
 		this._protocol = new SimpleWorkerProtocol({
-			sendMessage: (msg:string): void => {
+			sendMessage: (msg: string): void => {
 				postSerializedMessage(msg);
 			},
-			handleMessage: (method:string, args:any[]): TPromise<any> => this._handleMessage(method, args)
+			handleMessage: (method: string, args: any[]): TPromise<any> => this._handleMessage(method, args)
 		});
 	}
 
-	public onmessage(msg:string): void {
+	public onmessage(msg: string): void {
 		this._protocol.handleMessage(msg);
 	}
 
-	private _handleMessage(method: string, args:any[]): TPromise<any> {
+	private _handleMessage(method: string, args: any[]): TPromise<any> {
 		if (method === INITIALIZE) {
 			return this.initialize(<number>args[0], <string>args[1], <any>args[2]);
 		}
@@ -332,7 +332,7 @@ export class SimpleWorkerServer {
 		}
 	}
 
-	private initialize(workerId: number, moduleId: string, loaderConfig:any): TPromise<any> {
+	private initialize(workerId: number, moduleId: string, loaderConfig: any): TPromise<any> {
 		this._protocol.setWorkerId(workerId);
 
 		if (loaderConfig) {
@@ -348,7 +348,7 @@ export class SimpleWorkerServer {
 			let nlsConfig = loaderConfig['vs/nls'];
 			// We need to have pseudo translation
 			if (nlsConfig && nlsConfig.pseudo) {
-				require(['vs/nls'], function(nlsPlugin) {
+				require(['vs/nls'], function (nlsPlugin) {
 					nlsPlugin.setPseudoTranslation(nlsConfig.pseudo);
 				});
 			}
@@ -366,7 +366,7 @@ export class SimpleWorkerServer {
 		});
 
 		// Use the global require to be sure to get the global config
-		(<any>self).require([moduleId], (...result:any[]) => {
+		(<any>self).require([moduleId], (...result: any[]) => {
 			let handlerModule = result[0];
 			this._requestHandler = handlerModule.create();
 
@@ -387,6 +387,6 @@ export class SimpleWorkerServer {
 /**
  * Called on the worker side
  */
-export function create(postMessage:(msg:string)=>void): SimpleWorkerServer {
+export function create(postMessage: (msg: string) => void): SimpleWorkerServer {
 	return new SimpleWorkerServer(postMessage);
 }
diff --git a/src/vs/base/node/config.ts b/src/vs/base/node/config.ts
index 0db68f1c62970..e2a65bbf16215 100644
--- a/src/vs/base/node/config.ts
+++ b/src/vs/base/node/config.ts
@@ -8,8 +8,8 @@
 import * as fs from 'fs';
 import * as path from 'path';
 import * as objects from 'vs/base/common/objects';
-import {IDisposable, dispose, toDisposable} from 'vs/base/common/lifecycle';
-import Event, {Emitter} from 'vs/base/common/event';
+import { IDisposable, dispose, toDisposable } from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
 import * as json from 'vs/base/common/json';
 
 export interface IConfigurationChangeEvent<T> {
diff --git a/src/vs/base/node/decoder.ts b/src/vs/base/node/decoder.ts
index 7ea5eef766c0b..f8b2964545886 100644
--- a/src/vs/base/node/decoder.ts
+++ b/src/vs/base/node/decoder.ts
@@ -6,7 +6,7 @@
 'use strict';
 
 import sd = require('string_decoder');
-import {CharCode} from 'vs/base/common/charCode';
+import { CharCode } from 'vs/base/common/charCode';
 
 /**
  * Convenient way to iterate over output line by line. This helper accommodates for the fact that
diff --git a/src/vs/base/node/event.ts b/src/vs/base/node/event.ts
index f30a05111a4f9..8955ae2dd82c8 100644
--- a/src/vs/base/node/event.ts
+++ b/src/vs/base/node/event.ts
@@ -5,7 +5,7 @@
 
 'use strict';
 
-import Event, { Emitter }  from 'vs/base/common/event';
+import Event, { Emitter } from 'vs/base/common/event';
 import { EventEmitter } from 'events';
 
 export function fromEventEmitter<T>(emitter: EventEmitter, eventName: string, map: (...args: any[]) => T): Event<T> {
diff --git a/src/vs/base/node/pfs.ts b/src/vs/base/node/pfs.ts
index 20440a71ce987..7420ca61aa1a9 100644
--- a/src/vs/base/node/pfs.ts
+++ b/src/vs/base/node/pfs.ts
@@ -33,9 +33,9 @@ export function mkdirp(path: string, mode?: number): TPromise<boolean> {
 		.then(null, (err: NodeJS.ErrnoException) => {
 			if (err.code === 'EEXIST') {
 				return nfcall(fs.stat, path)
-					.then((stat:fs.Stats) => stat.isDirectory
+					.then((stat: fs.Stats) => stat.isDirectory
 						? null
-						: Promise.wrapError(new Error(`'${ path }' exists and is not a directory.`)));
+						: Promise.wrapError(new Error(`'${path}' exists and is not a directory.`)));
 			}
 
 			return TPromise.wrapError<boolean>(err);
@@ -108,7 +108,7 @@ export function readlink(path: string): TPromise<string> {
 	return nfcall<string>(fs.readlink, path);
 }
 
-export function utimes(path: string, atime:Date, mtime:Date): Promise {
+export function utimes(path: string, atime: Date, mtime: Date): Promise {
 	return nfcall(fs.utimes, path, atime, mtime);
 }
 
diff --git a/src/vs/base/node/ports.ts b/src/vs/base/node/ports.ts
index 61dc57bb6fc37..83501989f27ee 100644
--- a/src/vs/base/node/ports.ts
+++ b/src/vs/base/node/ports.ts
@@ -14,7 +14,7 @@ import net = require('net');
 export function findFreePort(startPort: number, giveUpAfter: number, timeout: number, clb: (port: number) => void): void {
 	let done = false;
 
-	const timeoutHandle = setTimeout(() =>  {
+	const timeoutHandle = setTimeout(() => {
 		if (!done) {
 			done = true;
 
diff --git a/src/vs/base/node/processes.ts b/src/vs/base/node/processes.ts
index 4c9ae0573b31c..1fb759c976237 100644
--- a/src/vs/base/node/processes.ts
+++ b/src/vs/base/node/processes.ts
@@ -15,7 +15,7 @@ import { PassThrough } from 'stream';
 import { fork } from './stdFork';
 
 import nls = require('vs/nls');
-import { PPromise, Promise, TPromise, TValueCallback, TProgressCallback, ErrorCallback } from  'vs/base/common/winjs.base';
+import { PPromise, Promise, TPromise, TValueCallback, TProgressCallback, ErrorCallback } from 'vs/base/common/winjs.base';
 import * as Types from 'vs/base/common/types';
 import { IStringDictionary } from 'vs/base/common/collections';
 import URI from 'vs/base/common/uri';
@@ -59,7 +59,7 @@ function getWindowsCode(status: number): TerminateResponseCode {
 export function terminateProcess(process: ChildProcess, cwd?: string): TerminateResponse {
 	if (Platform.isWindows) {
 		try {
-			let options:any = {
+			let options: any = {
 				stdio: ['pipe', 'pipe', 'ignore']
 			};
 			if (cwd) {
@@ -67,7 +67,7 @@ export function terminateProcess(process: ChildProcess, cwd?: string): Terminate
 			}
 			cp.execFileSync('taskkill', ['/T', '/F', '/PID', process.pid.toString()], options);
 		} catch (err) {
-			return { success: false, error: err , code: err.status ? getWindowsCode(err.status) : TerminateResponseCode.Unknown };
+			return { success: false, error: err, code: err.status ? getWindowsCode(err.status) : TerminateResponseCode.Unknown };
 		}
 	} else if (Platform.isLinux || Platform.isMacintosh) {
 		try {
@@ -98,7 +98,7 @@ export abstract class AbstractProcess<TProgressData> {
 
 	private childProcess: ChildProcess;
 	protected childProcessPromise: TPromise<ChildProcess>;
-	protected terminateRequested:boolean;
+	protected terminateRequested: boolean;
 
 	private static WellKnowCommands: IStringDictionary<boolean> = {
 		'ant': true,
@@ -191,7 +191,7 @@ export abstract class AbstractProcess<TProgressData> {
 				}
 				this.childProcess = exec(cmd, this.options, (error, stdout, stderr) => {
 					this.childProcess = null;
-					let err:any = error;
+					let err: any = error;
 					// This is tricky since executing a command shell reports error back in case the executed command return an
 					// error or the command didn't exist at all. So we can't blindly treat an error as a failed command. So we
 					// always parse the output and report success unless the job got killed.
@@ -210,7 +210,7 @@ export abstract class AbstractProcess<TProgressData> {
 					let result: SuccessData = {
 						terminated: this.terminateRequested
 					};
-					if (Types.isNumber(data))  {
+					if (Types.isNumber(data)) {
 						result.cmdCode = <number>data;
 					}
 					cc(result);
@@ -270,9 +270,9 @@ export abstract class AbstractProcess<TProgressData> {
 				if (childProcess) {
 					this.childProcess = childProcess;
 					this.childProcessPromise = TPromise.as(childProcess);
-					childProcess.on('error', (error:Error) => {
+					childProcess.on('error', (error: Error) => {
 						this.childProcess = null;
-						ee({ terminated: this.terminateRequested, error: error});
+						ee({ terminated: this.terminateRequested, error: error });
 					});
 					if (childProcess.pid) {
 						this.childProcess.on('close', closeHandler);
@@ -293,17 +293,17 @@ export abstract class AbstractProcess<TProgressData> {
 
 	private static regexp = /^[^"].* .*[^"]/;
 	private ensureQuotes(value: string) {
-			if (AbstractProcess.regexp.test(value)) {
-				return {
-					value: '"' + value + '"', //`"${value}"`,
-					quoted: true
-				};
-			} else {
-				return {
-					value: value,
-					quoted: value.length > 0 && value[0] === '"' && value[value.length - 1] === '"'
-				};
-			}
+		if (AbstractProcess.regexp.test(value)) {
+			return {
+				value: '"' + value + '"', //`"${value}"`,
+				quoted: true
+			};
+		} else {
+			return {
+				value: value,
+				quoted: value.length > 0 && value[0] === '"' && value[value.length - 1] === '"'
+			};
+		}
 	}
 
 	public isRunning(): boolean {
@@ -336,10 +336,10 @@ export abstract class AbstractProcess<TProgressData> {
 				c(false);
 			}
 			let cmdShell = spawn(getWindowsShell(), ['/s', '/c']);
-			cmdShell.on('error', (error:Error) => {
+			cmdShell.on('error', (error: Error) => {
 				c(true);
 			});
-			cmdShell.on('exit', (data:any) => {
+			cmdShell.on('exit', (data: any) => {
 				c(false);
 			});
 		});
@@ -359,15 +359,15 @@ export class LineProcess extends AbstractProcess<LineData> {
 	}
 
 	protected handleExec(cc: TValueCallback<SuccessData>, pp: TProgressCallback<LineData>, error: Error, stdout: Buffer, stderr: Buffer) {
-		[stdout, stderr].forEach((buffer:Buffer, index:number) => {
+		[stdout, stderr].forEach((buffer: Buffer, index: number) => {
 			let lineDecoder = new LineDecoder();
 			let lines = lineDecoder.write(buffer);
 			lines.forEach((line) => {
-				pp({ line: line, source: index === 0 ? Source.stdout : Source.stderr  });
+				pp({ line: line, source: index === 0 ? Source.stdout : Source.stderr });
 			});
 			let line = lineDecoder.end();
 			if (line) {
-				pp({ line: line, source: index === 0 ? Source.stdout : Source.stderr  });
+				pp({ line: line, source: index === 0 ? Source.stdout : Source.stderr });
 			}
 		});
 		cc({ terminated: this.terminateRequested, error: error });
@@ -376,11 +376,11 @@ export class LineProcess extends AbstractProcess<LineData> {
 	protected handleSpawn(childProcess: ChildProcess, cc: TValueCallback<SuccessData>, pp: TProgressCallback<LineData>, ee: ErrorCallback, sync: boolean): void {
 		this.stdoutLineDecoder = new LineDecoder();
 		this.stderrLineDecoder = new LineDecoder();
-		childProcess.stdout.on('data', (data:Buffer) => {
+		childProcess.stdout.on('data', (data: Buffer) => {
 			let lines = this.stdoutLineDecoder.write(data);
 			lines.forEach(line => pp({ line: line, source: Source.stdout }));
 		});
-		childProcess.stderr.on('data', (data:Buffer) => {
+		childProcess.stderr.on('data', (data: Buffer) => {
 			let lines = this.stderrLineDecoder.write(data);
 			lines.forEach(line => pp({ line: line, source: Source.stderr }));
 		});
@@ -411,10 +411,10 @@ export class BufferProcess extends AbstractProcess<BufferData> {
 	}
 
 	protected handleSpawn(childProcess: ChildProcess, cc: TValueCallback<SuccessData>, pp: TProgressCallback<BufferData>, ee: ErrorCallback, sync: boolean): void {
-		childProcess.stdout.on('data', (data:Buffer) => {
+		childProcess.stdout.on('data', (data: Buffer) => {
 			pp({ data: data, source: Source.stdout });
 		});
-		childProcess.stderr.on('data', (data:Buffer) => {
+		childProcess.stderr.on('data', (data: Buffer) => {
 			pp({ data: data, source: Source.stderr });
 		});
 	}
diff --git a/src/vs/base/node/request.ts b/src/vs/base/node/request.ts
index 06ff673b5ed86..b71ed417ddeb6 100644
--- a/src/vs/base/node/request.ts
+++ b/src/vs/base/node/request.ts
@@ -87,7 +87,7 @@ export function request(options: IRequestOptions): TPromise<IRequestContext> {
 
 		req.end();
 	},
-	() => req && req.abort());
+		() => req && req.abort());
 }
 
 function isSuccess(context: IRequestContext): boolean {
diff --git a/src/vs/base/node/stdFork.ts b/src/vs/base/node/stdFork.ts
index 4e20df2187e61..44c6a3f3b1729 100644
--- a/src/vs/base/node/stdFork.ts
+++ b/src/vs/base/node/stdFork.ts
@@ -18,7 +18,7 @@ export interface IForkOpts {
 	execArgv?: string[];
 }
 
-function makeRandomHexString(length:number): string {
+function makeRandomHexString(length: number): string {
 	let chars = ['0', '1', '2', '3', '4', '5', '6', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
 	let result = '';
 	for (let i = 0; i < length; i++) {
@@ -38,10 +38,10 @@ function generatePipeName(): string {
 	return path.join(os.tmpdir(), randomName + '.sock');
 }
 
-function generatePatchedEnv(env:any, stdInPipeName:string, stdOutPipeName:string, stdErrPipeName:string): any {
+function generatePatchedEnv(env: any, stdInPipeName: string, stdOutPipeName: string, stdErrPipeName: string): any {
 	// Set the two unique pipe names and the electron flag as process env
 
-	let newEnv:any = {};
+	let newEnv: any = {};
 	for (let key in env) {
 		newEnv[key] = env[key];
 	}
@@ -54,7 +54,7 @@ function generatePatchedEnv(env:any, stdInPipeName:string, stdOutPipeName:string
 	return newEnv;
 }
 
-export function fork(modulePath: string, args: string[], options: IForkOpts, callback:(error:any, cp:cp.ChildProcess)=>void): void {
+export function fork(modulePath: string, args: string[], options: IForkOpts, callback: (error: any, cp: cp.ChildProcess) => void): void {
 
 	let callbackCalled = false;
 	let resolve = (result: cp.ChildProcess) => {
@@ -64,7 +64,7 @@ export function fork(modulePath: string, args: string[], options: IForkOpts, cal
 		callbackCalled = true;
 		callback(null, result);
 	};
-	let reject = (err:any) => {
+	let reject = (err: any) => {
 		if (callbackCalled) {
 			return;
 		}
@@ -92,7 +92,7 @@ export function fork(modulePath: string, args: string[], options: IForkOpts, cal
 	let stdOutServer = net.createServer((stdOutStream) => {
 		// The child process will write exactly one chunk with content `ready` when it has installed a listener to the stdin pipe
 
-		stdOutStream.once('data', (chunk:Buffer) => {
+		stdOutStream.once('data', (chunk: Buffer) => {
 			// The child process is sending me the `ready` chunk, time to connect to the stdin pipe
 			childProcess.stdin = <any>net.connect(stdInPipeName);
 
@@ -125,12 +125,12 @@ export function fork(modulePath: string, args: string[], options: IForkOpts, cal
 		execArgv: options.execArgv
 	});
 
-	childProcess.once('error', (err:Error) => {
+	childProcess.once('error', (err: Error) => {
 		closeServer();
 		reject(err);
 	});
 
-	childProcess.once('exit', (err:Error) => {
+	childProcess.once('exit', (err: Error) => {
 		closeServer();
 		reject(err);
 	});
diff --git a/src/vs/base/node/stream.ts b/src/vs/base/node/stream.ts
index 02bc8a17c12d2..1a71b176fdb96 100644
--- a/src/vs/base/node/stream.ts
+++ b/src/vs/base/node/stream.ts
@@ -11,12 +11,12 @@ import stream = require('stream');
 /**
  * Reads up to total bytes from the provided stream.
  */
-export function readExactlyByStream(stream:stream.Readable, totalBytes:number, callback:(err:Error, buffer:NodeBuffer, bytesRead:number) => void):void {
+export function readExactlyByStream(stream: stream.Readable, totalBytes: number, callback: (err: Error, buffer: NodeBuffer, bytesRead: number) => void): void {
 	let done = false;
 	let buffer = new Buffer(totalBytes);
 	let bytesRead = 0;
 
-	stream.on('data', (data:NodeBuffer) => {
+	stream.on('data', (data: NodeBuffer) => {
 		let bytesToRead = Math.min(totalBytes - bytesRead, data.length);
 		data.copy(buffer, bytesRead, 0, bytesToRead);
 		bytesRead += bytesToRead;
@@ -26,7 +26,7 @@ export function readExactlyByStream(stream:stream.Readable, totalBytes:number, c
 		}
 	});
 
-	stream.on('error', (e:Error) => {
+	stream.on('error', (e: Error) => {
 		if (!done) {
 			done = true;
 			callback(e, null, null);
@@ -46,14 +46,14 @@ export function readExactlyByStream(stream:stream.Readable, totalBytes:number, c
 /**
  * Reads totalBytes from the provided file.
  */
-export function readExactlyByFile(file:string, totalBytes:number, callback:(error:Error, buffer:NodeBuffer, bytesRead:number)=>void):void {
-	fs.open(file, 'r', null, (err, fd)=>{
+export function readExactlyByFile(file: string, totalBytes: number, callback: (error: Error, buffer: NodeBuffer, bytesRead: number) => void): void {
+	fs.open(file, 'r', null, (err, fd) => {
 		if (err) {
 			return callback(err, null, 0);
 		}
 
-		function end(err:Error, resultBuffer:NodeBuffer, bytesRead:number):void {
-			fs.close(fd, (closeError:Error)=>{
+		function end(err: Error, resultBuffer: NodeBuffer, bytesRead: number): void {
+			fs.close(fd, (closeError: Error) => {
 				if (closeError) {
 					return callback(closeError, null, bytesRead);
 				}
@@ -69,8 +69,8 @@ export function readExactlyByFile(file:string, totalBytes:number, callback:(erro
 		let buffer = new Buffer(totalBytes);
 		let bytesRead = 0;
 		let zeroAttempts = 0;
-		function loop():void {
-			fs.read(fd, buffer, bytesRead, totalBytes - bytesRead, null, (err, moreBytesRead)=>{
+		function loop(): void {
+			fs.read(fd, buffer, bytesRead, totalBytes - bytesRead, null, (err, moreBytesRead) => {
 				if (err) {
 					return end(err, null, 0);
 				}
diff --git a/src/vs/base/node/zip.ts b/src/vs/base/node/zip.ts
index afe7255aa4ab4..222149de1486d 100644
--- a/src/vs/base/node/zip.ts
+++ b/src/vs/base/node/zip.ts
@@ -78,7 +78,7 @@ function extractZip(zipfile: ZipFile, targetPath: string, options: IOptions): Pr
 }
 
 export function extract(zipPath: string, targetPath: string, options: IExtractOptions = {}): Promise {
-	const sourcePathRegex = new RegExp(options.sourcePath ? `^${ options.sourcePath }` : '');
+	const sourcePathRegex = new RegExp(options.sourcePath ? `^${options.sourcePath}` : '');
 
 	let promise = nfcall<ZipFile>(openZip, zipPath);
 
diff --git a/src/vs/base/parts/ipc/common/ipc.electron.ts b/src/vs/base/parts/ipc/common/ipc.electron.ts
index 9e4de8cd357d9..7f607938f308e 100644
--- a/src/vs/base/parts/ipc/common/ipc.electron.ts
+++ b/src/vs/base/parts/ipc/common/ipc.electron.ts
@@ -17,7 +17,7 @@ export interface Sender {
 	send(channel: string, ...args: any[]): void;
 }
 
-export interface IPC extends Sender, NodeJS.EventEmitter {}
+export interface IPC extends Sender, NodeJS.EventEmitter { }
 
 class Protocol implements IMessagePassingProtocol {
 
diff --git a/src/vs/base/parts/ipc/common/ipc.ts b/src/vs/base/parts/ipc/common/ipc.ts
index 54a1a00926a35..7458c894afefe 100644
--- a/src/vs/base/parts/ipc/common/ipc.ts
+++ b/src/vs/base/parts/ipc/common/ipc.ts
@@ -6,7 +6,7 @@
 'use strict';
 
 import { Promise, TPromise } from 'vs/base/common/winjs.base';
-import { IDisposable, toDisposable }  from 'vs/base/common/lifecycle';
+import { IDisposable, toDisposable } from 'vs/base/common/lifecycle';
 import Event, { Emitter } from 'vs/base/common/event';
 
 enum MessageType {
@@ -37,7 +37,7 @@ interface IRawRequest extends IRawMessage {
 interface IRequest {
 	raw: IRawRequest;
 	emitter?: Emitter<any>;
-	flush?: ()=>void;
+	flush?: () => void;
 }
 
 interface IRawResponse extends IRawMessage {
@@ -88,7 +88,7 @@ export class ChannelServer {
 		this.channels = Object.create(null);
 		this.activeRequests = Object.create(null);
 		this.protocolListener = this.protocol.onMessage(r => this.onMessage(r));
-		this.protocol.send(<IRawResponse> { type: MessageType.ResponseInitialize });
+		this.protocol.send(<IRawResponse>{ type: MessageType.ResponseInitialize });
 	}
 
 	registerChannel(channelName: string, channel: IChannel): void {
@@ -120,22 +120,24 @@ export class ChannelServer {
 		const id = request.id;
 
 		const requestPromise = promise.then(data => {
-			this.protocol.send(<IRawResponse> { id, data, type: MessageType.ResponseSuccess });
+			this.protocol.send(<IRawResponse>{ id, data, type: MessageType.ResponseSuccess });
 			delete this.activeRequests[request.id];
 		}, data => {
 			if (data instanceof Error) {
-				this.protocol.send(<IRawResponse> { id, data: {
-					message: data.message,
-					name: data.name,
-					stack: data.stack ? data.stack.split('\n') : void 0
-				}, type: MessageType.ResponseError });
+				this.protocol.send(<IRawResponse>{
+					id, data: {
+						message: data.message,
+						name: data.name,
+						stack: data.stack ? data.stack.split('\n') : void 0
+					}, type: MessageType.ResponseError
+				});
 			} else {
-				this.protocol.send(<IRawResponse> { id, data, type: MessageType.ResponseErrorObj });
+				this.protocol.send(<IRawResponse>{ id, data, type: MessageType.ResponseErrorObj });
 			}
 
 			delete this.activeRequests[request.id];
 		}, data => {
-			this.protocol.send(<IRawResponse> { id, data, type: MessageType.ResponseProgress });
+			this.protocol.send(<IRawResponse>{ id, data, type: MessageType.ResponseProgress });
 		});
 
 		this.activeRequests[request.id] = toDisposable(() => requestPromise.cancel());
@@ -223,7 +225,7 @@ export class ChannelClient implements IChannelClient, IDisposable {
 					case MessageType.ResponseError:
 						delete this.handlers[id];
 						const error = new Error(response.data.message);
-						(<any> error).stack = response.data.stack;
+						(<any>error).stack = response.data.stack;
 						error.name = response.data.name;
 						e(error);
 						break;
@@ -241,7 +243,7 @@ export class ChannelClient implements IChannelClient, IDisposable {
 
 			this.send(request.raw);
 		},
-		() => this.send({ id, type: MessageType.RequestCancel }));
+			() => this.send({ id, type: MessageType.RequestCancel }));
 	}
 
 	private bufferRequest(request: IRequest): Promise {
@@ -332,10 +334,10 @@ export function getNextTickChannel<T extends IChannel>(channel: T): T {
 	return { call } as T;
 }
 
-export type Serializer<T,R> = (obj: T) => R;
-export type Deserializer<T,R> = (raw: R) => T;
+export type Serializer<T, R> = (obj: T) => R;
+export type Deserializer<T, R> = (raw: R) => T;
 
-export function eventToCall<T>(event: Event<T>, serializer: Serializer<T,any> = t => t): TPromise<void> {
+export function eventToCall<T>(event: Event<T>, serializer: Serializer<T, any> = t => t): TPromise<void> {
 	let disposable: IDisposable;
 
 	return new Promise(
@@ -344,7 +346,7 @@ export function eventToCall<T>(event: Event<T>, serializer: Serializer<T,any> =
 	);
 }
 
-export function eventFromCall<T>(channel: IChannel, name: string, arg: any = null, deserializer: Deserializer<T,any> = t => t): Event<T> {
+export function eventFromCall<T>(channel: IChannel, name: string, arg: any = null, deserializer: Deserializer<T, any> = t => t): Event<T> {
 	let promise: Promise;
 
 	const emitter = new Emitter<any>({
diff --git a/src/vs/base/parts/ipc/node/ipc.cp.ts b/src/vs/base/parts/ipc/node/ipc.cp.ts
index 8c9370dd6a0ea..f0c5c9b9be854 100644
--- a/src/vs/base/parts/ipc/node/ipc.cp.ts
+++ b/src/vs/base/parts/ipc/node/ipc.cp.ts
@@ -5,7 +5,7 @@
 
 import { ChildProcess, fork } from 'child_process';
 import { IDisposable } from 'vs/base/common/lifecycle';
-import { Promise} from 'vs/base/common/winjs.base';
+import { Promise } from 'vs/base/common/winjs.base';
 import { Delayer } from 'vs/base/common/async';
 import { clone, assign } from 'vs/base/common/objects';
 import { Emitter } from 'vs/base/common/event';
@@ -33,27 +33,27 @@ export interface IIPCOptions {
 	/**
 	 * Time in millies before killing the ipc process. The next request after killing will start it again.
 	 */
-	timeout?:number;
+	timeout?: number;
 
 	/**
 	 * Arguments to the module to execute.
 	 */
-	args?:string[];
+	args?: string[];
 
 	/**
 	 * Environment key-value pairs to be passed to the process that gets spawned for the ipc.
 	 */
-	env?:any;
+	env?: any;
 
 	/**
 	 * Allows to assign a debug port for debugging the application executed.
 	 */
-	debug?:number;
+	debug?: number;
 
 	/**
 	 * Allows to assign a debug port for debugging the application and breaking it on the first line.
 	 */
-	debugBrk?:number;
+	debugBrk?: number;
 }
 
 export class Client implements IChannelClient, IDisposable {
diff --git a/src/vs/base/parts/ipc/test/node/ipc.perf.ts b/src/vs/base/parts/ipc/test/node/ipc.perf.ts
index 24f88b2bd71a3..c02ea404dcba4 100644
--- a/src/vs/base/parts/ipc/test/node/ipc.perf.ts
+++ b/src/vs/base/parts/ipc/test/node/ipc.perf.ts
@@ -43,21 +43,21 @@ suite('IPC performance', () => {
 		];
 		let i = 0, j = 0;
 		const result = measure(service, 10, 10, 250) // warm-up
-		.then(() => {
-			return (function nextRun() {
-				if (i >= runs.length) {
-					if (++j >= dataSizes.length) {
-						return;
+			.then(() => {
+				return (function nextRun() {
+					if (i >= runs.length) {
+						if (++j >= dataSizes.length) {
+							return;
+						}
+						i = 0;
 					}
-					i = 0;
-				}
-				const run = runs[i++];
-				return measure(service, run.batches, run.size, dataSizes[j])
-				.then(() => {
-					return nextRun();
-				});
-			})();
-		});
+					const run = runs[i++];
+					return measure(service, run.batches, run.size, dataSizes[j])
+						.then(() => {
+							return nextRun();
+						});
+				})();
+			});
 
 		return always(result, () => client.dispose());
 	});
@@ -80,18 +80,18 @@ suite('IPC performance', () => {
 		];
 		let i = 0;
 		const result = measure(service, 10, 10, 250) // warm-up
-		.then(() => {
-			return (function nextRun() {
-				if (i >= runs.length) {
-					return;
-				}
-				const run = runs[i++];
-				return measure(service, run.batches, 1, run.dataSize)
-				.then(() => {
-					return nextRun();
-				});
-			})();
-		});
+			.then(() => {
+				return (function nextRun() {
+					if (i >= runs.length) {
+						return;
+					}
+					const run = runs[i++];
+					return measure(service, run.batches, 1, run.dataSize)
+						.then(() => {
+							return nextRun();
+						});
+				})();
+			});
 
 		return always(result, () => client.dispose());
 	});
@@ -101,14 +101,14 @@ suite('IPC performance', () => {
 		let hits = 0;
 		let count = 0;
 		return service.batchPerf(batches, size, dataSize)
-		.then(() => {
-			console.log(`Batches: ${batches}, size: ${size}, dataSize: ${dataSize}, n: ${batches * size * dataSize}, duration: ${Date.now() - start}`);
-			assert.strictEqual(hits, batches);
-			assert.strictEqual(count, batches * size);
-		}, err => assert.fail(err),
-		batch => {
-			hits++;
-			count += batch.length;
-		});
+			.then(() => {
+				console.log(`Batches: ${batches}, size: ${size}, dataSize: ${dataSize}, n: ${batches * size * dataSize}, duration: ${Date.now() - start}`);
+				assert.strictEqual(hits, batches);
+				assert.strictEqual(count, batches * size);
+			}, err => assert.fail(err),
+			batch => {
+				hits++;
+				count += batch.length;
+			});
 	}
 });
\ No newline at end of file
diff --git a/src/vs/base/parts/ipc/test/node/testService.ts b/src/vs/base/parts/ipc/test/node/testService.ts
index 1dd0def4f7000..71897c79dab67 100644
--- a/src/vs/base/parts/ipc/test/node/testService.ts
+++ b/src/vs/base/parts/ipc/test/node/testService.ts
@@ -15,7 +15,7 @@ export interface IMarcoPoloEvent {
 export interface ITestService {
 	onMarco: Event<IMarcoPoloEvent>;
 	marco(): TPromise<string>;
-	pong(ping:string): TPromise<{ incoming:string, outgoing:string }>;
+	pong(ping: string): TPromise<{ incoming: string, outgoing: string }>;
 	cancelMe(): TPromise<boolean>;
 	batchPerf(batches: number, size: number, dataSize: number): PPromise<any, any[]>;
 }
@@ -32,7 +32,7 @@ export class TestService implements ITestService {
 		return TPromise.as('polo');
 	}
 
-	pong(ping:string): TPromise<{ incoming:string, outgoing:string }> {
+	pong(ping: string): TPromise<{ incoming: string, outgoing: string }> {
 		return TPromise.as({ incoming: ping, outgoing: 'pong' });
 	}
 
@@ -41,7 +41,7 @@ export class TestService implements ITestService {
 	}
 
 	batchPerf(batches: number, size: number, dataSize: number): PPromise<any, any[]> {
-		while(this._data.length < dataSize) {
+		while (this._data.length < dataSize) {
 			this._data += this._data;
 		}
 		const self = this;
@@ -104,7 +104,7 @@ export class TestServiceClient implements ITestService {
 		return this.channel.call('marco');
 	}
 
-	pong(ping:string): TPromise<{ incoming:string, outgoing:string }> {
+	pong(ping: string): TPromise<{ incoming: string, outgoing: string }> {
 		return this.channel.call('pong', ping);
 	}
 
diff --git a/src/vs/base/parts/quickopen/browser/quickOpenModel.ts b/src/vs/base/parts/quickopen/browser/quickOpenModel.ts
index f3e3904462af1..18e6deabcbefe 100644
--- a/src/vs/base/parts/quickopen/browser/quickOpenModel.ts
+++ b/src/vs/base/parts/quickopen/browser/quickOpenModel.ts
@@ -6,21 +6,21 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import types = require('vs/base/common/types');
 import URI from 'vs/base/common/uri';
-import {ITree, IElementCallback} from 'vs/base/parts/tree/browser/tree';
+import { ITree, IElementCallback } from 'vs/base/parts/tree/browser/tree';
 import filters = require('vs/base/common/filters');
 import strings = require('vs/base/common/strings');
 import paths = require('vs/base/common/paths');
-import {IconLabel, IIconLabelOptions} from 'vs/base/browser/ui/iconLabel/iconLabel';
-import {IQuickNavigateConfiguration, IModel, IDataSource, IFilter, IAccessiblityProvider, IRenderer, IRunner, Mode} from 'vs/base/parts/quickopen/common/quickOpen';
-import {IActionProvider} from 'vs/base/parts/tree/browser/actionsRenderer';
-import {Action, IAction, IActionRunner} from 'vs/base/common/actions';
-import {compareAnything, compareByScore as doCompareByScore} from 'vs/base/common/comparers';
-import {ActionBar, IActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
-import {LegacyRenderer, ILegacyTemplateData} from 'vs/base/parts/tree/browser/treeDefaults';
-import {HighlightedLabel} from 'vs/base/browser/ui/highlightedlabel/highlightedLabel';
+import { IconLabel, IIconLabelOptions } from 'vs/base/browser/ui/iconLabel/iconLabel';
+import { IQuickNavigateConfiguration, IModel, IDataSource, IFilter, IAccessiblityProvider, IRenderer, IRunner, Mode } from 'vs/base/parts/quickopen/common/quickOpen';
+import { IActionProvider } from 'vs/base/parts/tree/browser/actionsRenderer';
+import { Action, IAction, IActionRunner } from 'vs/base/common/actions';
+import { compareAnything, compareByScore as doCompareByScore } from 'vs/base/common/comparers';
+import { ActionBar, IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
+import { LegacyRenderer, ILegacyTemplateData } from 'vs/base/parts/tree/browser/treeDefaults';
+import { HighlightedLabel } from 'vs/base/browser/ui/highlightedlabel/highlightedLabel';
 import DOM = require('vs/base/browser/dom');
 
 export interface IContext {
@@ -591,7 +591,7 @@ class Renderer implements IRenderer<QuickOpenEntry> {
 			data.icon.className = iconClass;
 
 			// Label
-			const options:IIconLabelOptions = entry.getLabelOptions() || Object.create(null);
+			const options: IIconLabelOptions = entry.getLabelOptions() || Object.create(null);
 			options.matches = labelHighlights || [];
 			data.label.setValue(entry.getLabel(), null, options);
 
diff --git a/src/vs/base/parts/quickopen/browser/quickOpenViewer.ts b/src/vs/base/parts/quickopen/browser/quickOpenViewer.ts
index ed31dbd93bfc6..ef143a5d41d5b 100644
--- a/src/vs/base/parts/quickopen/browser/quickOpenViewer.ts
+++ b/src/vs/base/parts/quickopen/browser/quickOpenViewer.ts
@@ -3,10 +3,10 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {isFunction} from 'vs/base/common/types';
-import {ITree, IRenderer, IFilter, IDataSource, IAccessibilityProvider} from 'vs/base/parts/tree/browser/tree';
-import {IModel} from 'vs/base/parts/quickopen/common/quickOpen';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { isFunction } from 'vs/base/common/types';
+import { ITree, IRenderer, IFilter, IDataSource, IAccessibilityProvider } from 'vs/base/parts/tree/browser/tree';
+import { IModel } from 'vs/base/parts/quickopen/common/quickOpen';
 
 export interface IModelProvider {
 	getModel<T>(): IModel<T>;
diff --git a/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts b/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts
index 00d714c72d02b..30e3fdee311b3 100644
--- a/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts
+++ b/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts
@@ -6,27 +6,27 @@
 
 import 'vs/css!./quickopen';
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import platform = require('vs/base/common/platform');
 import browser = require('vs/base/browser/browser');
-import {EventType} from 'vs/base/common/events';
+import { EventType } from 'vs/base/common/events';
 import types = require('vs/base/common/types');
 import errors = require('vs/base/common/errors');
-import {IQuickNavigateConfiguration, IAutoFocus, IEntryRunContext, IModel, Mode} from 'vs/base/parts/quickopen/common/quickOpen';
-import {Filter, Renderer, DataSource, IModelProvider, AccessibilityProvider} from 'vs/base/parts/quickopen/browser/quickOpenViewer';
-import {Dimension, Builder, $} from 'vs/base/browser/builder';
-import {ISelectionEvent, IFocusEvent, ITree, ContextMenuEvent} from 'vs/base/parts/tree/browser/tree';
-import {InputBox, MessageType} from 'vs/base/browser/ui/inputbox/inputBox';
+import { IQuickNavigateConfiguration, IAutoFocus, IEntryRunContext, IModel, Mode } from 'vs/base/parts/quickopen/common/quickOpen';
+import { Filter, Renderer, DataSource, IModelProvider, AccessibilityProvider } from 'vs/base/parts/quickopen/browser/quickOpenViewer';
+import { Dimension, Builder, $ } from 'vs/base/browser/builder';
+import { ISelectionEvent, IFocusEvent, ITree, ContextMenuEvent } from 'vs/base/parts/tree/browser/tree';
+import { InputBox, MessageType } from 'vs/base/browser/ui/inputbox/inputBox';
 import Severity from 'vs/base/common/severity';
-import {Tree} from 'vs/base/parts/tree/browser/treeImpl';
-import {ProgressBar} from 'vs/base/browser/ui/progressbar/progressbar';
-import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {DefaultController, ClickBehavior} from 'vs/base/parts/tree/browser/treeDefaults';
+import { Tree } from 'vs/base/parts/tree/browser/treeImpl';
+import { ProgressBar } from 'vs/base/browser/ui/progressbar/progressbar';
+import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { DefaultController, ClickBehavior } from 'vs/base/parts/tree/browser/treeDefaults';
 import DOM = require('vs/base/browser/dom');
-import {IActionProvider} from 'vs/base/parts/tree/browser/actionsRenderer';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
+import { IActionProvider } from 'vs/base/parts/tree/browser/actionsRenderer';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
 
 export interface IQuickOpenCallbacks {
 	onOk: () => void;
diff --git a/src/vs/base/parts/quickopen/common/quickOpen.ts b/src/vs/base/parts/quickopen/common/quickOpen.ts
index a7fee71cb923e..ca6594e8c1bdf 100644
--- a/src/vs/base/parts/quickopen/common/quickOpen.ts
+++ b/src/vs/base/parts/quickopen/common/quickOpen.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Keybinding} from 'vs/base/common/keybinding';
+import { Keybinding } from 'vs/base/common/keybinding';
 
 export interface IQuickNavigateConfiguration {
 	keybindings: Keybinding[];
diff --git a/src/vs/base/parts/tree/browser/actionsRenderer.ts b/src/vs/base/parts/tree/browser/actionsRenderer.ts
index f502eb38aa69b..8395b5022d9ad 100644
--- a/src/vs/base/parts/tree/browser/actionsRenderer.ts
+++ b/src/vs/base/parts/tree/browser/actionsRenderer.ts
@@ -19,31 +19,31 @@ var $ = Builder.$;
 
 export interface IActionProvider {
 
-	hasActions(tree:Tree.ITree, element:any):boolean;
+	hasActions(tree: Tree.ITree, element: any): boolean;
 	/// <summary>
 	/// Returns whether or not the element has actions. These show up in place right
 	/// to the element in the tree.
 	/// </summary>
 
-	getActions(tree:Tree.ITree, element:any):WinJS.TPromise<Actions.IAction[]>;
+	getActions(tree: Tree.ITree, element: any): WinJS.TPromise<Actions.IAction[]>;
 	/// <summary>
 	/// Returns a promise of an array with the actions of the element that should show
 	/// up in place right to the element in the tree.
 	/// </summary>
 
-	hasSecondaryActions(tree:Tree.ITree, element:any):boolean;
+	hasSecondaryActions(tree: Tree.ITree, element: any): boolean;
 	/// <summary>
 	/// Returns whether or not the element has secondary actions. These show up once the
 	/// user has expanded the element's action bar.
 	/// </summary>
 
-	getSecondaryActions(tree:Tree.ITree, element:any):WinJS.TPromise<Actions.IAction[]>;
+	getSecondaryActions(tree: Tree.ITree, element: any): WinJS.TPromise<Actions.IAction[]>;
 	/// <summary>
 	/// Returns a promise of an array with the secondary actions of the element that should
 	/// show up once the user has expanded the element's action bar.
 	/// </summary>
 
-	getActionItem(tree:Tree.ITree, element:any, action:Actions.IAction):ActionBar.IActionItem;
+	getActionItem(tree: Tree.ITree, element: any, action: Actions.IAction): ActionBar.IActionItem;
 	/// <summary>
 	/// Returns an action item to render an action.
 	/// </summary>
@@ -59,7 +59,7 @@ export class ActionsRenderer extends TreeDefaults.LegacyRenderer implements Life
 	private static CONTENTS_CLEANUP_FN_KEY: string = '__$ActionsRenderer.contentCleanupFn';
 	private static NO_OP = () => { /* noop */ };
 
-	protected actionProvider:IActionProvider;
+	protected actionProvider: IActionProvider;
 	protected actionRunner: Actions.IActionRunner;
 
 	constructor(opts: IActionsRendererOptions) {
@@ -68,11 +68,11 @@ export class ActionsRenderer extends TreeDefaults.LegacyRenderer implements Life
 		this.actionRunner = opts.actionRunner;
 	}
 
-	public getHeight(tree:Tree.ITree, element:any):number {
+	public getHeight(tree: Tree.ITree, element: any): number {
 		return this.getContentHeight(tree, element);
 	}
 
-	protected render(tree:Tree.ITree, element:any, container:HTMLElement, previousCleanupFn?: Tree.IElementCallback): Tree.IElementCallback {
+	protected render(tree: Tree.ITree, element: any, container: HTMLElement, previousCleanupFn?: Tree.IElementCallback): Tree.IElementCallback {
 		try {
 			Dom.clearNode(container);
 		} catch (e) {
@@ -136,15 +136,15 @@ export class ActionsRenderer extends TreeDefaults.LegacyRenderer implements Life
 		return cleanupFn;
 	}
 
-	/* protected */ public getContentHeight(tree:Tree.ITree, element:any):number {
+	/* protected */ public getContentHeight(tree: Tree.ITree, element: any): number {
 		return 20;
 	}
 
-	/* protected */ public renderContents(tree:Tree.ITree, element:any, container:HTMLElement, previousCleanupFn:Tree.IElementCallback):Tree.IElementCallback {
+	/* protected */ public renderContents(tree: Tree.ITree, element: any, container: HTMLElement, previousCleanupFn: Tree.IElementCallback): Tree.IElementCallback {
 		return null;
 	}
 
-	/* protected */ public getActionContext(tree:Tree.ITree, element:any):any {
+	/* protected */ public getActionContext(tree: Tree.ITree, element: any): any {
 		return null;
 	}
 
diff --git a/src/vs/base/parts/tree/browser/tree.ts b/src/vs/base/parts/tree/browser/tree.ts
index 5d5899bac2e1a..82fe76a9ec6c5 100644
--- a/src/vs/base/parts/tree/browser/tree.ts
+++ b/src/vs/base/parts/tree/browser/tree.ts
@@ -10,11 +10,11 @@ import Events = require('vs/base/common/eventEmitter');
 import Mouse = require('vs/base/browser/mouseEvent');
 import Keyboard = require('vs/base/browser/keyboardEvent');
 import { INavigator } from 'vs/base/common/iterator';
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
 
 export interface ITree extends Events.IEventEmitter {
 
-	emit(eventType:string, data?:any):void;
+	emit(eventType: string, data?: any): void;
 
 	/**
 	 * Returns the tree's DOM element.
@@ -122,7 +122,7 @@ export interface ITree extends Events.IEventEmitter {
 	 * Reveals an element in the tree. The relativeTop is a value between 0 and 1. The closer to 0 the more the
 	 * element will scroll up to the top.
 	 */
-	reveal(element: any, relativeTop?:number): WinJS.Promise;
+	reveal(element: any, relativeTop?: number): WinJS.Promise;
 
 	/**
 	 * Returns the relative top position of any given element, if visible.
@@ -152,7 +152,7 @@ export interface ITree extends Events.IEventEmitter {
 	 * Sets the tree's highlight to be the given element.
 	 * Provide no arguments and it clears the tree's highlight.
 	 */
-	setHighlight(element?: any, eventPayload?:any): void;
+	setHighlight(element?: any, eventPayload?: any): void;
 
 	/**
 	 * Returns the currently highlighted element.
@@ -167,47 +167,47 @@ export interface ITree extends Events.IEventEmitter {
 	/**
 	 * Clears the highlight.
 	 */
-	clearHighlight(eventPayload?:any): void;
+	clearHighlight(eventPayload?: any): void;
 
 	/**
 	 * Selects an element.
 	 */
-	select(element: any, eventPayload?:any): void;
+	select(element: any, eventPayload?: any): void;
 
 	/**
 	 * Selects a range of elements.
 	 */
-	selectRange(fromElement: any, toElement: any, eventPayload?:any): void;
+	selectRange(fromElement: any, toElement: any, eventPayload?: any): void;
 
 	/**
 	 * Deselects a range of elements.
 	 */
-	deselectRange(fromElement: any, toElement: any, eventPayload?:any): void;
+	deselectRange(fromElement: any, toElement: any, eventPayload?: any): void;
 
 	/**
 	 * Selects several elements.
 	 */
-	selectAll(elements: any[], eventPayload?:any): void;
+	selectAll(elements: any[], eventPayload?: any): void;
 
 	/**
 	 * Deselects an element.
 	 */
-	deselect(element: any, eventPayload?:any): void;
+	deselect(element: any, eventPayload?: any): void;
 
 	/**
 	 * Deselects several elements.
 	 */
-	deselectAll(elements: any[], eventPayload?:any): void;
+	deselectAll(elements: any[], eventPayload?: any): void;
 
 	/**
 	 * Replaces the current selection with the given elements.
 	 */
-	setSelection(elements: any[], eventPayload?:any): void;
+	setSelection(elements: any[], eventPayload?: any): void;
 
 	/**
 	 * Toggles the element's selection.
 	 */
-	toggleSelection(element: any, eventPayload?:any): void;
+	toggleSelection(element: any, eventPayload?: any): void;
 
 	/**
 	 * Returns the currently selected elements.
@@ -222,27 +222,27 @@ export interface ITree extends Events.IEventEmitter {
 	/**
 	 * Selects the next `count`-nth element, in visible order.
 	 */
-	selectNext(count?: number, clearSelection?: boolean, eventPayload?:any): void;
+	selectNext(count?: number, clearSelection?: boolean, eventPayload?: any): void;
 
 	/**
 	 * Selects the previous `count`-nth element, in visible order.
 	 */
-	selectPrevious(count?: number, clearSelection?: boolean, eventPayload?:any): void;
+	selectPrevious(count?: number, clearSelection?: boolean, eventPayload?: any): void;
 
 	/**
 	 * Selects the currently selected element's parent.
 	 */
-	selectParent(clearSelection?: boolean, eventPayload?:any): void;
+	selectParent(clearSelection?: boolean, eventPayload?: any): void;
 
 	/**
 	 * Clears the selection.
 	 */
-	clearSelection(eventPayload?:any): void;
+	clearSelection(eventPayload?: any): void;
 
 	/**
 	 * Sets the focused element.
 	 */
-	setFocus(element?: any, eventPayload?:any): void;
+	setFocus(element?: any, eventPayload?: any): void;
 
 	/**
 	 * Returns whether an element is focused or not.
@@ -257,12 +257,12 @@ export interface ITree extends Events.IEventEmitter {
 	/**
 	 * Focuses the next `count`-nth element, in visible order.
 	 */
-	focusNext(count?: number, eventPayload?:any): void;
+	focusNext(count?: number, eventPayload?: any): void;
 
 	/**
 	 * Focuses the previous `count`-nth element, in visible order.
 	 */
-	focusPrevious(count?: number, eventPayload?:any): void;
+	focusPrevious(count?: number, eventPayload?: any): void;
 
 	/**
 	 * Focuses the currently focused element's parent.
@@ -277,37 +277,37 @@ export interface ITree extends Events.IEventEmitter {
 	/**
 	 * Focuses the second element, in visible order.
 	 */
-	focusFirst(eventPayload?:any): void;
+	focusFirst(eventPayload?: any): void;
 
 	/**
 	 * Focuses the nth element, in visible order.
 	 */
-	focusNth(index:number, eventPayload?:any): void;
+	focusNth(index: number, eventPayload?: any): void;
 
 	/**
 	 * Focuses the last element, in visible order.
 	 */
-	focusLast(eventPayload?:any): void;
+	focusLast(eventPayload?: any): void;
 
 	/**
 	 * Focuses the element at the end of the next page, in visible order.
 	 */
-	focusNextPage(eventPayload?:any): void;
+	focusNextPage(eventPayload?: any): void;
 
 	/**
 	 * Focuses the element at the beginning of the previous page, in visible order.
 	 */
-	focusPreviousPage(eventPayload?:any): void;
+	focusPreviousPage(eventPayload?: any): void;
 
 	/**
 	 * Clears the focus.
 	 */
-	clearFocus(eventPayload?:any): void;
+	clearFocus(eventPayload?: any): void;
 
 	/**
 	 * Adds the trait to elements.
 	 */
-	addTraits(trait:string, elements: any[]): void;
+	addTraits(trait: string, elements: any[]): void;
 
 	/**
 	 * Removes the trait from elements.
@@ -566,18 +566,18 @@ export interface IDragAndDrop {
 	/**
 	 * Sent when the drag operation is starting.
 	 */
-	onDragStart(tree: ITree, data: IDragAndDropData, originalEvent:Mouse.DragMouseEvent): void;
+	onDragStart(tree: ITree, data: IDragAndDropData, originalEvent: Mouse.DragMouseEvent): void;
 
 	/**
 	 * Returns a DragOverReaction indicating whether sources can be
 	 * dropped into target or some parent of the target.
 	 */
-	onDragOver(tree: ITree, data: IDragAndDropData, targetElement: any, originalEvent:Mouse.DragMouseEvent): IDragOverReaction;
+	onDragOver(tree: ITree, data: IDragAndDropData, targetElement: any, originalEvent: Mouse.DragMouseEvent): IDragOverReaction;
 
 	/**
 	 * Handles the action of dropping sources into target.
 	 */
-	drop(tree: ITree, data: IDragAndDropData, targetElement: any, originalEvent:Mouse.DragMouseEvent): void;
+	drop(tree: ITree, data: IDragAndDropData, targetElement: any, originalEvent: Mouse.DragMouseEvent): void;
 }
 
 export interface IFilter {
@@ -592,7 +592,7 @@ export interface IElementCallback {
 	(tree: ITree, element: any): void;
 }
 
-export type ICallback = ()=>void;
+export type ICallback = () => void;
 
 export interface ISorter {
 
@@ -637,9 +637,9 @@ export interface ITreeOptions {
 	verticalScrollMode?: ScrollbarVisibility;
 	alwaysFocused?: boolean;
 	autoExpandSingleChildren?: boolean;
-	useShadows?:boolean;
-	paddingOnRow?:boolean;
-	ariaLabel?:string;
+	useShadows?: boolean;
+	paddingOnRow?: boolean;
+	ariaLabel?: string;
 }
 
 export interface ITreeContext extends ITreeConfiguration {
diff --git a/src/vs/base/parts/tree/browser/treeDefaults.ts b/src/vs/base/parts/tree/browser/treeDefaults.ts
index 3f2550e407b39..11449711b76ee 100644
--- a/src/vs/base/parts/tree/browser/treeDefaults.ts
+++ b/src/vs/base/parts/tree/browser/treeDefaults.ts
@@ -5,16 +5,16 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Action} from 'vs/base/common/actions';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Action } from 'vs/base/common/actions';
 import platform = require('vs/base/common/platform');
 import touch = require('vs/base/browser/touch');
 import errors = require('vs/base/common/errors');
 import dom = require('vs/base/browser/dom');
 import mouse = require('vs/base/browser/mouseEvent');
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
 import _ = require('vs/base/parts/tree/browser/tree');
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 
 export interface ILegacyTemplateData {
 	root: HTMLElement;
@@ -24,7 +24,7 @@ export interface ILegacyTemplateData {
 
 export class LegacyRenderer implements _.IRenderer {
 
-	public getHeight(tree:_.ITree, element:any):number {
+	public getHeight(tree: _.ITree, element: any): number {
 		return 20;
 	}
 
@@ -33,7 +33,7 @@ export class LegacyRenderer implements _.IRenderer {
 	}
 
 	public renderTemplate(tree: _.ITree, templateId: string, container: HTMLElement): any {
-		return <ILegacyTemplateData> {
+		return <ILegacyTemplateData>{
 			root: container,
 			element: null,
 			previousCleanupFn: null
@@ -63,19 +63,19 @@ export class LegacyRenderer implements _.IRenderer {
 		templateData.previousCleanupFn = null;
 	}
 
-	protected render(tree:_.ITree, element:any, container:HTMLElement, previousCleanupFn?: _.IElementCallback):_.IElementCallback {
+	protected render(tree: _.ITree, element: any, container: HTMLElement, previousCleanupFn?: _.IElementCallback): _.IElementCallback {
 		container.textContent = '' + element;
 		return null;
 	}
 }
 
 export interface IKeyBindingCallback {
-	(tree:_.ITree, event:IKeyboardEvent):void;
+	(tree: _.ITree, event: IKeyboardEvent): void;
 }
 
 export interface ICancelableEvent {
-	preventDefault():void;
-	stopPropagation():void;
+	preventDefault(): void;
+	stopPropagation(): void;
 }
 
 export enum ClickBehavior {
@@ -92,7 +92,7 @@ export enum ClickBehavior {
 }
 
 export interface IControllerOptions {
-	clickBehavior?:ClickBehavior;
+	clickBehavior?: ClickBehavior;
 }
 
 interface IKeybindingDispatcherItem {
@@ -108,14 +108,14 @@ export class KeybindingDispatcher {
 		this._arr = [];
 	}
 
-	public set(keybinding:number, callback:IKeyBindingCallback) {
+	public set(keybinding: number, callback: IKeyBindingCallback) {
 		this._arr.push({
 			keybinding: keybinding,
 			callback: callback
 		});
 	}
 
-	public dispatch(keybinding:number): IKeyBindingCallback {
+	public dispatch(keybinding: number): IKeyBindingCallback {
 		// Loop from the last to the first to handle overwrites
 		for (let i = this._arr.length - 1; i >= 0; i--) {
 			let item = this._arr[i];
@@ -132,9 +132,9 @@ export class DefaultController implements _.IController {
 	protected downKeyBindingDispatcher: KeybindingDispatcher;
 	protected upKeyBindingDispatcher: KeybindingDispatcher;
 
-	private options:IControllerOptions;
+	private options: IControllerOptions;
 
-	constructor(options:IControllerOptions = { clickBehavior: ClickBehavior.ON_MOUSE_UP }) {
+	constructor(options: IControllerOptions = { clickBehavior: ClickBehavior.ON_MOUSE_UP }) {
 		this.options = options;
 
 		this.downKeyBindingDispatcher = new KeybindingDispatcher();
@@ -152,7 +152,7 @@ export class DefaultController implements _.IController {
 		this.upKeyBindingDispatcher.set(KeyMod.CtrlCmd | KeyCode.Enter, this.onEnter.bind(this));
 	}
 
-	public onMouseDown(tree:_.ITree, element: any, event:mouse.IMouseEvent, origin: string = 'mouse'):boolean {
+	public onMouseDown(tree: _.ITree, element: any, event: mouse.IMouseEvent, origin: string = 'mouse'): boolean {
 		if (this.options.clickBehavior === ClickBehavior.ON_MOUSE_DOWN && event.leftButton) {
 			if (event.target) {
 				if (event.target.tagName && event.target.tagName.toLowerCase() === 'input') {
@@ -171,7 +171,7 @@ export class DefaultController implements _.IController {
 		return false;
 	}
 
-	public onClick(tree:_.ITree, element: any, event:mouse.IMouseEvent):boolean {
+	public onClick(tree: _.ITree, element: any, event: mouse.IMouseEvent): boolean {
 		var isMac = platform.isMacintosh;
 
 		// A Ctrl click on the Mac is a context menu event
@@ -196,7 +196,7 @@ export class DefaultController implements _.IController {
 		return this.onLeftClick(tree, element, event);
 	}
 
-	protected onLeftClick(tree:_.ITree, element: any, eventish:ICancelableEvent, origin: string = 'mouse'):boolean {
+	protected onLeftClick(tree: _.ITree, element: any, eventish: ICancelableEvent, origin: string = 'mouse'): boolean {
 		var payload = { origin: origin, originalEvent: eventish };
 
 		if (tree.getInput() === element) {
@@ -223,7 +223,7 @@ export class DefaultController implements _.IController {
 		return true;
 	}
 
-	public onContextMenu(tree:_.ITree, element: any, event:_.ContextMenuEvent):boolean {
+	public onContextMenu(tree: _.ITree, element: any, event: _.ContextMenuEvent): boolean {
 		if (event.target && event.target.tagName && event.target.tagName.toLowerCase() === 'input') {
 			return false; // allow context menu on input fields
 		}
@@ -237,8 +237,8 @@ export class DefaultController implements _.IController {
 		return false;
 	}
 
-	public onTap(tree:_.ITree, element: any, event:touch.GestureEvent):boolean {
-		var target = <HTMLElement> event.initialTarget;
+	public onTap(tree: _.ITree, element: any, event: touch.GestureEvent): boolean {
+		var target = <HTMLElement>event.initialTarget;
 
 		if (target && target.tagName && target.tagName.toLowerCase() === 'input') {
 			return false; // Ignore event if target is a form input field (avoids browser specific issues)
@@ -247,15 +247,15 @@ export class DefaultController implements _.IController {
 		return this.onLeftClick(tree, element, event, 'touch');
 	}
 
-	public onKeyDown(tree:_.ITree, event:IKeyboardEvent):boolean {
+	public onKeyDown(tree: _.ITree, event: IKeyboardEvent): boolean {
 		return this.onKey(this.downKeyBindingDispatcher, tree, event);
 	}
 
-	public onKeyUp(tree:_.ITree, event:IKeyboardEvent):boolean {
+	public onKeyUp(tree: _.ITree, event: IKeyboardEvent): boolean {
 		return this.onKey(this.upKeyBindingDispatcher, tree, event);
 	}
 
-	private onKey(bindings:KeybindingDispatcher, tree:_.ITree, event:IKeyboardEvent):boolean {
+	private onKey(bindings: KeybindingDispatcher, tree: _.ITree, event: IKeyboardEvent): boolean {
 		var handler = bindings.dispatch(event.asKeybinding());
 		if (handler) {
 			if (handler(tree, event)) {
@@ -267,7 +267,7 @@ export class DefaultController implements _.IController {
 		return false;
 	}
 
-	protected onUp(tree:_.ITree, event:IKeyboardEvent):boolean {
+	protected onUp(tree: _.ITree, event: IKeyboardEvent): boolean {
 		var payload = { origin: 'keyboard', originalEvent: event };
 
 		if (tree.getHighlight()) {
@@ -279,7 +279,7 @@ export class DefaultController implements _.IController {
 		return true;
 	}
 
-	protected onPageUp(tree:_.ITree, event:IKeyboardEvent):boolean {
+	protected onPageUp(tree: _.ITree, event: IKeyboardEvent): boolean {
 		var payload = { origin: 'keyboard', originalEvent: event };
 
 		if (tree.getHighlight()) {
@@ -291,7 +291,7 @@ export class DefaultController implements _.IController {
 		return true;
 	}
 
-	protected onDown(tree:_.ITree, event:IKeyboardEvent):boolean {
+	protected onDown(tree: _.ITree, event: IKeyboardEvent): boolean {
 		var payload = { origin: 'keyboard', originalEvent: event };
 
 		if (tree.getHighlight()) {
@@ -303,7 +303,7 @@ export class DefaultController implements _.IController {
 		return true;
 	}
 
-	protected onPageDown(tree:_.ITree, event:IKeyboardEvent):boolean {
+	protected onPageDown(tree: _.ITree, event: IKeyboardEvent): boolean {
 		var payload = { origin: 'keyboard', originalEvent: event };
 
 		if (tree.getHighlight()) {
@@ -315,7 +315,7 @@ export class DefaultController implements _.IController {
 		return true;
 	}
 
-	protected onLeft(tree:_.ITree, event:IKeyboardEvent):boolean {
+	protected onLeft(tree: _.ITree, event: IKeyboardEvent): boolean {
 		var payload = { origin: 'keyboard', originalEvent: event };
 
 		if (tree.getHighlight()) {
@@ -332,7 +332,7 @@ export class DefaultController implements _.IController {
 		return true;
 	}
 
-	protected onRight(tree:_.ITree, event:IKeyboardEvent):boolean {
+	protected onRight(tree: _.ITree, event: IKeyboardEvent): boolean {
 		var payload = { origin: 'keyboard', originalEvent: event };
 
 		if (tree.getHighlight()) {
@@ -349,7 +349,7 @@ export class DefaultController implements _.IController {
 		return true;
 	}
 
-	protected onEnter(tree:_.ITree, event:IKeyboardEvent):boolean {
+	protected onEnter(tree: _.ITree, event: IKeyboardEvent): boolean {
 		var payload = { origin: 'keyboard', originalEvent: event };
 
 		if (tree.getHighlight()) {
@@ -362,7 +362,7 @@ export class DefaultController implements _.IController {
 		return true;
 	}
 
-	protected onSpace(tree:_.ITree, event:IKeyboardEvent):boolean {
+	protected onSpace(tree: _.ITree, event: IKeyboardEvent): boolean {
 		if (tree.getHighlight()) {
 			return false;
 		}
@@ -373,7 +373,7 @@ export class DefaultController implements _.IController {
 		return true;
 	}
 
-	protected onEscape(tree:_.ITree, event:IKeyboardEvent):boolean {
+	protected onEscape(tree: _.ITree, event: IKeyboardEvent): boolean {
 		var payload = { origin: 'keyboard', originalEvent: event };
 
 		if (tree.getHighlight()) {
@@ -397,33 +397,33 @@ export class DefaultController implements _.IController {
 
 export class DefaultDragAndDrop implements _.IDragAndDrop {
 
-	public getDragURI(tree :_.ITree, element: any):string {
+	public getDragURI(tree: _.ITree, element: any): string {
 		return null;
 	}
 
-	public onDragStart(tree: _.ITree, data: _.IDragAndDropData, originalEvent: mouse.DragMouseEvent):void {
+	public onDragStart(tree: _.ITree, data: _.IDragAndDropData, originalEvent: mouse.DragMouseEvent): void {
 		return;
 	}
 
-	public onDragOver(tree: _.ITree, data: _.IDragAndDropData, targetElement: any, originalEvent: mouse.DragMouseEvent):_.IDragOverReaction {
+	public onDragOver(tree: _.ITree, data: _.IDragAndDropData, targetElement: any, originalEvent: mouse.DragMouseEvent): _.IDragOverReaction {
 		return null;
 	}
 
-	public drop(tree: _.ITree, data: _.IDragAndDropData, targetElement: any, originalEvent: mouse.DragMouseEvent):void {
+	public drop(tree: _.ITree, data: _.IDragAndDropData, targetElement: any, originalEvent: mouse.DragMouseEvent): void {
 		return;
 	}
 }
 
 export class DefaultFilter implements _.IFilter {
 
-	public isVisible(tree: _.ITree, element: any):boolean {
+	public isVisible(tree: _.ITree, element: any): boolean {
 		return true;
 	}
 }
 
 export class DefaultSorter implements _.ISorter {
 
-	public compare(tree: _.ITree, element: any, otherElement: any):number {
+	public compare(tree: _.ITree, element: any, otherElement: any): number {
 		return 0;
 	}
 }
diff --git a/src/vs/base/parts/tree/browser/treeImpl.ts b/src/vs/base/parts/tree/browser/treeImpl.ts
index 1031efb1a0a81..3ea5c7251b116 100644
--- a/src/vs/base/parts/tree/browser/treeImpl.ts
+++ b/src/vs/base/parts/tree/browser/treeImpl.ts
@@ -15,19 +15,19 @@ import { INavigator, MappedNavigator } from 'vs/base/common/iterator';
 
 export class TreeContext implements _.ITreeContext {
 
-	public tree:_.ITree;
-	public configuration:_.ITreeConfiguration;
-	public options:_.ITreeOptions;
-
-	public dataSource:_.IDataSource;
-	public renderer:_.IRenderer;
-	public controller:_.IController;
-	public dnd:_.IDragAndDrop;
-	public filter:_.IFilter;
-	public sorter:_.ISorter;
-	public accessibilityProvider:_.IAccessibilityProvider;
-
-	constructor(tree:_.ITree, configuration:_.ITreeConfiguration, options:_.ITreeOptions = {}) {
+	public tree: _.ITree;
+	public configuration: _.ITreeConfiguration;
+	public options: _.ITreeOptions;
+
+	public dataSource: _.IDataSource;
+	public renderer: _.IRenderer;
+	public controller: _.IController;
+	public dnd: _.IDragAndDrop;
+	public filter: _.IFilter;
+	public sorter: _.ISorter;
+	public accessibilityProvider: _.IAccessibilityProvider;
+
+	constructor(tree: _.ITree, configuration: _.ITreeConfiguration, options: _.ITreeOptions = {}) {
 		this.tree = tree;
 		this.configuration = configuration;
 		this.options = options;
@@ -48,15 +48,15 @@ export class TreeContext implements _.ITreeContext {
 
 export class Tree extends Events.EventEmitter implements _.ITree {
 
-	private container:HTMLElement;
-	private configuration:_.ITreeConfiguration;
-	private options:_.ITreeOptions;
+	private container: HTMLElement;
+	private configuration: _.ITreeConfiguration;
+	private options: _.ITreeOptions;
 
-	private context:_.ITreeContext;
-	private model:Model.TreeModel;
-	private view:View.TreeView;
+	private context: _.ITreeContext;
+	private model: Model.TreeModel;
+	private view: View.TreeView;
 
-	constructor(container:HTMLElement, configuration:_.ITreeConfiguration, options:_.ITreeOptions = {}) {
+	constructor(container: HTMLElement, configuration: _.ITreeConfiguration, options: _.ITreeOptions = {}) {
 		super();
 
 		this.container = container;
@@ -83,7 +83,7 @@ export class Tree extends Events.EventEmitter implements _.ITree {
 		return this.view.getHTMLElement();
 	}
 
-	public layout(height?:number): void {
+	public layout(height?: number): void {
 		this.view.layout(height);
 	}
 
@@ -107,7 +107,7 @@ export class Tree extends Events.EventEmitter implements _.ITree {
 		this.view.onHidden();
 	}
 
-	public setInput(element:any): WinJS.Promise {
+	public setInput(element: any): WinJS.Promise {
 		return this.model.setInput(element);
 	}
 
@@ -115,39 +115,39 @@ export class Tree extends Events.EventEmitter implements _.ITree {
 		return this.model.getInput();
 	}
 
-	public refresh(element:any = null, recursive = true): WinJS.Promise {
+	public refresh(element: any = null, recursive = true): WinJS.Promise {
 		return this.model.refresh(element, recursive);
 	}
 
-	public refreshAll(elements:any[], recursive = true): WinJS.Promise {
+	public refreshAll(elements: any[], recursive = true): WinJS.Promise {
 		return this.model.refreshAll(elements, recursive);
 	}
 
-	public expand(element:any):WinJS.Promise {
+	public expand(element: any): WinJS.Promise {
 		return this.model.expand(element);
 	}
 
-	public expandAll(elements:any[]):WinJS.Promise {
+	public expandAll(elements: any[]): WinJS.Promise {
 		return this.model.expandAll(elements);
 	}
 
-	public collapse(element:any, recursive:boolean = false):WinJS.Promise {
+	public collapse(element: any, recursive: boolean = false): WinJS.Promise {
 		return this.model.collapse(element);
 	}
 
-	public collapseAll(elements:any[] = null, recursive:boolean = false):WinJS.Promise {
+	public collapseAll(elements: any[] = null, recursive: boolean = false): WinJS.Promise {
 		return this.model.collapseAll(elements, recursive);
 	}
 
-	public toggleExpansion(element:any):WinJS.Promise {
+	public toggleExpansion(element: any): WinJS.Promise {
 		return this.model.toggleExpansion(element);
 	}
 
-	public toggleExpansionAll(elements:any[]):WinJS.Promise {
+	public toggleExpansionAll(elements: any[]): WinJS.Promise {
 		return this.model.toggleExpansionAll(elements);
 	}
 
-	public isExpanded(element:any):boolean {
+	public isExpanded(element: any): boolean {
 		return this.model.isExpanded(element);
 	}
 
@@ -155,7 +155,7 @@ export class Tree extends Events.EventEmitter implements _.ITree {
 		return this.model.getExpandedElements();
 	}
 
-	public reveal(element:any, relativeTop:number = null): WinJS.Promise {
+	public reveal(element: any, relativeTop: number = null): WinJS.Promise {
 		return this.model.reveal(element, relativeTop);
 	}
 
@@ -176,55 +176,55 @@ export class Tree extends Events.EventEmitter implements _.ITree {
 		return this.view.getTotalHeight();
 	}
 
-	public setHighlight(element?:any, eventPayload?:any):void {
+	public setHighlight(element?: any, eventPayload?: any): void {
 		this.model.setHighlight(element, eventPayload);
 	}
 
-	public getHighlight():any {
+	public getHighlight(): any {
 		return this.model.getHighlight();
 	}
 
-	public isHighlighted(element:any):boolean {
+	public isHighlighted(element: any): boolean {
 		return this.model.isFocused(element);
 	}
 
-	public clearHighlight(eventPayload?:any): void {
+	public clearHighlight(eventPayload?: any): void {
 		this.model.setHighlight(null, eventPayload);
 	}
 
-	public select(element:any, eventPayload?:any): void {
+	public select(element: any, eventPayload?: any): void {
 		this.model.select(element, eventPayload);
 	}
 
-	public selectRange(fromElement: any, toElement: any, eventPayload?:any): void {
+	public selectRange(fromElement: any, toElement: any, eventPayload?: any): void {
 		this.model.selectRange(fromElement, toElement, eventPayload);
 	}
 
-	public deselectRange(fromElement: any, toElement: any, eventPayload?:any): void {
+	public deselectRange(fromElement: any, toElement: any, eventPayload?: any): void {
 		this.model.deselectRange(fromElement, toElement, eventPayload);
 	}
 
-	public selectAll(elements:any[], eventPayload?:any): void {
+	public selectAll(elements: any[], eventPayload?: any): void {
 		this.model.selectAll(elements, eventPayload);
 	}
 
-	public deselect(element:any, eventPayload?:any): void {
+	public deselect(element: any, eventPayload?: any): void {
 		this.model.deselect(element, eventPayload);
 	}
 
-	public deselectAll(elements:any[], eventPayload?:any): void {
+	public deselectAll(elements: any[], eventPayload?: any): void {
 		this.model.deselectAll(elements, eventPayload);
 	}
 
-	public setSelection(elements:any[], eventPayload?:any): void {
+	public setSelection(elements: any[], eventPayload?: any): void {
 		this.model.setSelection(elements, eventPayload);
 	}
 
-	public toggleSelection(element:any, eventPayload?:any): void {
+	public toggleSelection(element: any, eventPayload?: any): void {
 		this.model.toggleSelection(element, eventPayload);
 	}
 
-	public isSelected(element:any):boolean {
+	public isSelected(element: any): boolean {
 		return this.model.isSelected(element);
 	}
 
@@ -232,27 +232,27 @@ export class Tree extends Events.EventEmitter implements _.ITree {
 		return this.model.getSelection();
 	}
 
-	public clearSelection(eventPayload?:any): void {
+	public clearSelection(eventPayload?: any): void {
 		this.model.setSelection([], eventPayload);
 	}
 
-	public selectNext(count?:number, clearSelection?: boolean, eventPayload?:any): void {
+	public selectNext(count?: number, clearSelection?: boolean, eventPayload?: any): void {
 		this.model.selectNext(count, clearSelection, eventPayload);
 	}
 
-	public selectPrevious(count?:number, clearSelection?: boolean, eventPayload?:any): void {
+	public selectPrevious(count?: number, clearSelection?: boolean, eventPayload?: any): void {
 		this.model.selectPrevious(count, clearSelection, eventPayload);
 	}
 
-	public selectParent(clearSelection?: boolean, eventPayload?:any): void {
+	public selectParent(clearSelection?: boolean, eventPayload?: any): void {
 		this.model.selectParent(clearSelection, eventPayload);
 	}
 
-	public setFocus(element?:any, eventPayload?:any): void {
+	public setFocus(element?: any, eventPayload?: any): void {
 		this.model.setFocus(element, eventPayload);
 	}
 
-	public isFocused(element:any):boolean {
+	public isFocused(element: any): boolean {
 		return this.model.isFocused(element);
 	}
 
@@ -260,47 +260,47 @@ export class Tree extends Events.EventEmitter implements _.ITree {
 		return this.model.getFocus();
 	}
 
-	public focusNext(count?:number, eventPayload?:any): void {
+	public focusNext(count?: number, eventPayload?: any): void {
 		this.model.focusNext(count, eventPayload);
 	}
 
-	public focusPrevious(count?:number, eventPayload?:any): void {
+	public focusPrevious(count?: number, eventPayload?: any): void {
 		this.model.focusPrevious(count, eventPayload);
 	}
 
-	public focusParent(eventPayload?:any): void {
+	public focusParent(eventPayload?: any): void {
 		this.model.focusParent(eventPayload);
 	}
 
-	public focusFirstChild(eventPayload?:any): void {
+	public focusFirstChild(eventPayload?: any): void {
 		this.model.focusFirstChild(eventPayload);
 	}
 
-	public focusFirst(eventPayload?:any): void {
+	public focusFirst(eventPayload?: any): void {
 		this.model.focusFirst(eventPayload);
 	}
 
-	public focusNth(index:number, eventPayload?:any): void {
+	public focusNth(index: number, eventPayload?: any): void {
 		this.model.focusNth(index, eventPayload);
 	}
 
-	public focusLast(eventPayload?:any): void {
+	public focusLast(eventPayload?: any): void {
 		this.model.focusLast(eventPayload);
 	}
 
-	public focusNextPage(eventPayload?:any): void {
+	public focusNextPage(eventPayload?: any): void {
 		this.view.focusNextPage(eventPayload);
 	}
 
-	public focusPreviousPage(eventPayload?:any): void {
+	public focusPreviousPage(eventPayload?: any): void {
 		this.view.focusPreviousPage(eventPayload);
 	}
 
-	public clearFocus(eventPayload?:any): void {
+	public clearFocus(eventPayload?: any): void {
 		this.model.setFocus(null, eventPayload);
 	}
 
-	public addTraits(trait:string, elements: any[]): void {
+	public addTraits(trait: string, elements: any[]): void {
 		this.model.addTraits(trait, elements);
 	}
 
diff --git a/src/vs/base/parts/tree/browser/treeModel.ts b/src/vs/base/parts/tree/browser/treeModel.ts
index 68823423a5330..7bc735867baf0 100644
--- a/src/vs/base/parts/tree/browser/treeModel.ts
+++ b/src/vs/base/parts/tree/browser/treeModel.ts
@@ -14,8 +14,8 @@ import WinJS = require('vs/base/common/winjs.base');
 import _ = require('./tree');
 
 interface IMap<T> { [id: string]: T; }
-interface IItemMap extends IMap<Item> {}
-interface ITraitMap extends IMap<IItemMap> {}
+interface IItemMap extends IMap<Item> { }
+interface ITraitMap extends IMap<IItemMap> { }
 
 export class LockData extends Events.EventEmitter {
 
@@ -1250,7 +1250,7 @@ export class TreeModel extends Events.EventEmitter {
 	}
 
 	public addTraits(trait: string, elements: any[]): void {
-		var items: IItemMap = this.traitsToItems[trait] || <IItemMap> {};
+		var items: IItemMap = this.traitsToItems[trait] || <IItemMap>{};
 		var item: Item;
 		for (var i = 0, len = elements.length; i < len; i++) {
 			item = this.getItem(elements[i]);
@@ -1264,7 +1264,7 @@ export class TreeModel extends Events.EventEmitter {
 	}
 
 	public removeTraits(trait: string, elements: any[]): void {
-		var items: IItemMap = this.traitsToItems[trait] || <IItemMap> {};
+		var items: IItemMap = this.traitsToItems[trait] || <IItemMap>{};
 		var item: Item;
 		var id: string;
 
@@ -1324,7 +1324,7 @@ export class TreeModel extends Events.EventEmitter {
 				}
 			}
 
-			var traitItems: IItemMap = this.traitsToItems[trait] || <IItemMap> {};
+			var traitItems: IItemMap = this.traitsToItems[trait] || <IItemMap>{};
 			var itemsToRemoveTrait: Item[] = [];
 			var id: string;
 
diff --git a/src/vs/base/parts/tree/browser/treeView.ts b/src/vs/base/parts/tree/browser/treeView.ts
index 689255f097ef0..7f0572ad9d336 100644
--- a/src/vs/base/parts/tree/browser/treeView.ts
+++ b/src/vs/base/parts/tree/browser/treeView.ts
@@ -18,11 +18,11 @@ import Model = require('vs/base/parts/tree/browser/treeModel');
 import dnd = require('./treeDnd');
 import { ArrayIterator, MappedIterator } from 'vs/base/common/iterator';
 import { ScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
 import { HeightMap } from 'vs/base/parts/tree/browser/treeViewModel';
 import _ = require('vs/base/parts/tree/browser/tree');
 import { IViewItem } from 'vs/base/parts/tree/browser/treeViewModel';
-import {KeyCode} from 'vs/base/common/keyCodes';
+import { KeyCode } from 'vs/base/common/keyCodes';
 
 export interface IRow {
 	element: HTMLElement;
@@ -45,7 +45,7 @@ function removeFromParent(element: HTMLElement): void {
 
 export class RowCache implements Lifecycle.IDisposable {
 
-	private _cache: { [templateId:string]: IRow[]; };
+	private _cache: { [templateId: string]: IRow[]; };
 	private scrollingRow: IRow;
 
 	constructor(private context: _.ITreeContext) {
@@ -57,7 +57,7 @@ export class RowCache implements Lifecycle.IDisposable {
 		var result = this.cache(templateId).pop();
 
 		if (!result) {
-			var content =  document.createElement('div');
+			var content = document.createElement('div');
 			content.className = 'content';
 
 			var row = document.createElement('div');
@@ -146,7 +146,7 @@ export class ViewItem implements IViewItem {
 
 	public top: number;
 	public height: number;
-	public onDragStart: (e: DragEvent)=>void;
+	public onDragStart: (e: DragEvent) => void;
 
 	public needsRender: boolean;
 	public uri: string;
@@ -260,7 +260,7 @@ export class ViewItem implements IViewItem {
 			this.element.style.paddingLeft = this.context.options.twistiePixels + ((this.model.getDepth() - 1) * this.context.options.indentPixels) + 'px';
 		} else {
 			this.element.style.paddingLeft = ((this.model.getDepth() - 1) * this.context.options.indentPixels) + 'px';
-			(<HTMLElement> this.row.element.firstElementChild).style.paddingLeft = this.context.options.twistiePixels + 'px';
+			(<HTMLElement>this.row.element.firstElementChild).style.paddingLeft = this.context.options.twistiePixels + 'px';
 		}
 
 		var uri = this.context.dnd.getDragURI(this.context.tree, this.model.getElement());
@@ -292,7 +292,7 @@ export class ViewItem implements IViewItem {
 			this.row = this.context.cache.alloc(this.templateId);
 
 			// used in reverse lookup from HTMLElement to Item
-			(<any> this.element)[TreeView.BINDING] = this;
+			(<any>this.element)[TreeView.BINDING] = this;
 		}
 
 		if (this.element.parentElement) {
@@ -325,7 +325,7 @@ export class ViewItem implements IViewItem {
 
 		this.uri = null;
 
-		(<any> this.element)[TreeView.BINDING] = null;
+		(<any>this.element)[TreeView.BINDING] = null;
 		this.context.cache.release(this.templateId, this.row);
 		this.row = null;
 	}
@@ -411,7 +411,7 @@ export class TreeView extends HeightMap {
 	private scrollableElement: ScrollableElement;
 	private wrapperGesture: Touch.Gesture;
 	private msGesture: MSGesture;
-	private lastPointerType:string;
+	private lastPointerType: string;
 	private lastClickTimeStamp: number = 0;
 
 	private lastRenderTop: number;
@@ -421,7 +421,7 @@ export class TreeView extends HeightMap {
 	private items: { [id: string]: ViewItem; };
 
 	private isRefreshing = false;
-	private refreshingPreviousChildrenIds: { [id:string]:string[] } = {};
+	private refreshingPreviousChildrenIds: { [id: string]: string[] } = {};
 
 	private dragAndDropListeners: { (): void; }[];
 	private currentDragAndDropData: _.IDragAndDropData;
@@ -496,7 +496,7 @@ export class TreeView extends HeightMap {
 			this.emit('scroll', e); // TODO@Joao: is anyone interested in this event?
 		});
 
-		if(Browser.isIE11orEarlier) {
+		if (Browser.isIE11orEarlier) {
 			this.wrapper.style.msTouchAction = 'none';
 			this.wrapper.style.msContentZooming = 'none';
 		} else {
@@ -520,12 +520,12 @@ export class TreeView extends HeightMap {
 		this.viewListeners.push(DOM.addDisposableListener(this.wrapper, Touch.EventType.Tap, (e) => this.onTap(e)));
 		this.viewListeners.push(DOM.addDisposableListener(this.wrapper, Touch.EventType.Change, (e) => this.onTouchChange(e)));
 
-		if(Browser.isIE11orEarlier) {
+		if (Browser.isIE11orEarlier) {
 			this.viewListeners.push(DOM.addDisposableListener(this.wrapper, 'MSPointerDown', (e) => this.onMsPointerDown(e)));
 			this.viewListeners.push(DOM.addDisposableListener(this.wrapper, 'MSGestureTap', (e) => this.onMsGestureTap(e)));
 
 			// these events come too fast, we throttle them
-			this.viewListeners.push(DOM.addDisposableThrottledListener<IThrottledGestureEvent>(this.wrapper, 'MSGestureChange', (e) => this.onThrottledMsGestureChange(e), (lastEvent:IThrottledGestureEvent, event:MSGestureEvent): IThrottledGestureEvent => {
+			this.viewListeners.push(DOM.addDisposableThrottledListener<IThrottledGestureEvent>(this.wrapper, 'MSGestureChange', (e) => this.onThrottledMsGestureChange(e), (lastEvent: IThrottledGestureEvent, event: MSGestureEvent): IThrottledGestureEvent => {
 				event.stopPropagation();
 				event.preventDefault();
 
@@ -596,7 +596,7 @@ export class TreeView extends HeightMap {
 	}
 
 	private setupMSGesture(): void {
-		if((<any>window).MSGesture) {
+		if ((<any>window).MSGesture) {
 			this.msGesture = new MSGesture();
 			setTimeout(() => this.msGesture.target = this.wrapper, 100); // TODO@joh, TODO@IETeam
 		}
@@ -628,22 +628,22 @@ export class TreeView extends HeightMap {
 
 		// when view scrolls down, start rendering from the renderBottom
 		for (i = this.indexAfter(renderBottom) - 1, stop = this.indexAt(Math.max(thisRenderBottom, renderTop)); i >= stop; i--) {
-			this.insertItemInDOM(<ViewItem> this.itemAtIndex(i));
+			this.insertItemInDOM(<ViewItem>this.itemAtIndex(i));
 		}
 
 		// when view scrolls up, start rendering from either this.renderTop or renderBottom
 		for (i = Math.min(this.indexAt(this.lastRenderTop), this.indexAfter(renderBottom)) - 1, stop = this.indexAt(renderTop); i >= stop; i--) {
-			this.insertItemInDOM(<ViewItem> this.itemAtIndex(i));
+			this.insertItemInDOM(<ViewItem>this.itemAtIndex(i));
 		}
 
 		// when view scrolls down, start unrendering from renderTop
 		for (i = this.indexAt(this.lastRenderTop), stop = Math.min(this.indexAt(renderTop), this.indexAfter(thisRenderBottom)); i < stop; i++) {
-			this.removeItemFromDOM(<ViewItem> this.itemAtIndex(i));
+			this.removeItemFromDOM(<ViewItem>this.itemAtIndex(i));
 		}
 
 		// when view scrolls up, start unrendering from either renderBottom this.renderTop
 		for (i = Math.max(this.indexAfter(renderBottom), this.indexAt(this.lastRenderTop)), stop = this.indexAfter(thisRenderBottom); i < stop; i++) {
-			this.removeItemFromDOM(<ViewItem> this.itemAtIndex(i));
+			this.removeItemFromDOM(<ViewItem>this.itemAtIndex(i));
 		}
 
 		var topItem = this.itemAtIndex(this.indexAt(renderTop));
@@ -663,7 +663,7 @@ export class TreeView extends HeightMap {
 		this.modelListeners.push(this.model.addBulkListener2((e) => this.onModelEvents(e)));
 	}
 
-	private onModelEvents(events:any[]): void {
+	private onModelEvents(events: any[]): void {
 		var elementsToRefresh: Model.Item[] = [];
 
 		for (var i = 0, len = events.length; i < len; i++) {
@@ -738,7 +738,7 @@ export class TreeView extends HeightMap {
 		this.scrollTop = scrollTop;
 	}
 
-	public focusNextPage(eventPayload?:any): void {
+	public focusNextPage(eventPayload?: any): void {
 		var lastPageIndex = this.indexAt(this.scrollTop + this.viewHeight);
 		lastPageIndex = lastPageIndex === 0 ? 0 : lastPageIndex - 1;
 		var lastPageElement = this.itemAtIndex(lastPageIndex).model.getElement();
@@ -760,8 +760,8 @@ export class TreeView extends HeightMap {
 		}
 	}
 
-	public focusPreviousPage(eventPayload?:any): void {
-		var firstPageIndex:number;
+	public focusPreviousPage(eventPayload?: any): void {
+		var firstPageIndex: number;
 
 		if (this.scrollTop === 0) {
 			firstPageIndex = this.indexAt(this.scrollTop);
@@ -811,33 +811,33 @@ export class TreeView extends HeightMap {
 	}
 
 	public getScrollPosition(): number {
-		const height =  this.getTotalHeight() - this.viewHeight;
+		const height = this.getTotalHeight() - this.viewHeight;
 		return height <= 0 ? 0 : this.scrollTop / height;
 	}
 
 	public setScrollPosition(pos: number): void {
-		const height =  this.getTotalHeight() - this.viewHeight;
+		const height = this.getTotalHeight() - this.viewHeight;
 		this.scrollTop = height * pos;
 	}
 
 	// Events
 
-	private onClearingInput(e:Model.IInputEvent): void {
-		var item = <Model.Item> e.item;
+	private onClearingInput(e: Model.IInputEvent): void {
+		var item = <Model.Item>e.item;
 		if (item) {
 			this.onRemoveItems(new MappedIterator(item.getNavigator(), item => item && item.id));
 			this.onRowsChanged();
 		}
 	}
 
-	private onSetInput(e:Model.IInputEvent): void {
+	private onSetInput(e: Model.IInputEvent): void {
 		this.context.cache.garbageCollect();
-		this.inputItem = new RootViewItem(this.context, <Model.Item> e.item, this.wrapper);
+		this.inputItem = new RootViewItem(this.context, <Model.Item>e.item, this.wrapper);
 		this.emit('viewItem:create', { item: this.inputItem.model });
 	}
 
-	private onItemChildrenRefreshing(e:Model.IItemChildrenRefreshEvent): void {
-		var item = <Model.Item> e.item;
+	private onItemChildrenRefreshing(e: Model.IItemChildrenRefreshEvent): void {
+		var item = <Model.Item>e.item;
 		var viewItem = this.items[item.id];
 
 		if (viewItem) {
@@ -860,8 +860,8 @@ export class TreeView extends HeightMap {
 		}
 	}
 
-	private onItemChildrenRefreshed(e:Model.IItemChildrenRefreshEvent): void {
-		var item = <Model.Item> e.item;
+	private onItemChildrenRefreshed(e: Model.IItemChildrenRefreshEvent): void {
+		var item = <Model.Item>e.item;
 		var viewItem = this.items[item.id];
 
 		if (viewItem) {
@@ -890,11 +890,11 @@ export class TreeView extends HeightMap {
 			if (!skipDiff) {
 				const lcs = new Diff.LcsDiff({
 					getLength: () => previousChildrenIds.length,
-					getElementHash: (i:number) => previousChildrenIds[i]
+					getElementHash: (i: number) => previousChildrenIds[i]
 				}, {
-					getLength: () => afterModelItems.length,
-					getElementHash: (i:number) => afterModelItems[i].id
-				}, null);
+						getLength: () => afterModelItems.length,
+						getElementHash: (i: number) => afterModelItems[i].id
+					}, null);
 
 				diff = lcs.ComputeDiff();
 
@@ -943,20 +943,20 @@ export class TreeView extends HeightMap {
 		}
 	}
 
-	private onItemsRefresh(items:Model.Item[]): void {
+	private onItemsRefresh(items: Model.Item[]): void {
 		this.onRefreshItemSet(items.filter(item => this.items.hasOwnProperty(item.id)));
 		this.onRowsChanged();
 	}
 
-	private onItemExpanding(e:Model.IItemExpandEvent): void {
+	private onItemExpanding(e: Model.IItemExpandEvent): void {
 		var viewItem = this.items[e.item.id];
 		if (viewItem) {
 			viewItem.expanded = true;
 		}
 	}
 
-	private onItemExpanded(e:Model.IItemExpandEvent): void {
-		var item = <Model.Item> e.item;
+	private onItemExpanded(e: Model.IItemExpandEvent): void {
+		var item = <Model.Item>e.item;
 		var viewItem = this.items[item.id];
 		if (viewItem) {
 			viewItem.expanded = true;
@@ -972,8 +972,8 @@ export class TreeView extends HeightMap {
 		}
 	}
 
-	private onItemCollapsing(e:Model.IItemCollapseEvent): void {
-		var item = <Model.Item> e.item;
+	private onItemCollapsing(e: Model.IItemCollapseEvent): void {
+		var item = <Model.Item>e.item;
 		var viewItem = this.items[item.id];
 		if (viewItem) {
 			viewItem.expanded = false;
@@ -992,9 +992,9 @@ export class TreeView extends HeightMap {
 		return -1;
 	}
 
-	private onItemReveal(e:Model.IItemRevealEvent): void {
-		var item = <Model.Item> e.item;
-		var relativeTop = <number> e.relativeTop;
+	private onItemReveal(e: Model.IItemRevealEvent): void {
+		var item = <Model.Item>e.item;
+		var relativeTop = <number>e.relativeTop;
 		var viewItem = this.items[item.id];
 		if (viewItem) {
 			if (relativeTop !== null) {
@@ -1017,9 +1017,9 @@ export class TreeView extends HeightMap {
 		}
 	}
 
-	private onItemAddTrait(e:Model.IItemTraitEvent): void {
-		var item = <Model.Item> e.item;
-		var trait = <string> e.trait;
+	private onItemAddTrait(e: Model.IItemTraitEvent): void {
+		var item = <Model.Item>e.item;
+		var trait = <string>e.trait;
 		var viewItem = this.items[item.id];
 		if (viewItem) {
 			viewItem.addClass(trait);
@@ -1037,9 +1037,9 @@ export class TreeView extends HeightMap {
 		}
 	}
 
-	private onItemRemoveTrait(e:Model.IItemTraitEvent): void {
-		var item = <Model.Item> e.item;
-		var trait = <string> e.trait;
+	private onItemRemoveTrait(e: Model.IItemTraitEvent): void {
+		var item = <Model.Item>e.item;
+		var trait = <string>e.trait;
 		var viewItem = this.items[item.id];
 		if (viewItem) {
 			viewItem.removeClass(trait);
@@ -1077,7 +1077,7 @@ export class TreeView extends HeightMap {
 		this.items[item.id] = item;
 	}
 
-	public onRefreshItem(item: ViewItem, needsRender= false): void {
+	public onRefreshItem(item: ViewItem, needsRender = false): void {
 		item.needsRender = item.needsRender || needsRender;
 		this.refreshViewItem(item);
 	}
@@ -1105,7 +1105,7 @@ export class TreeView extends HeightMap {
 
 	// DOM Events
 
-	private onClick(e:MouseEvent): void {
+	private onClick(e: MouseEvent): void {
 		if (this.lastPointerType && this.lastPointerType !== 'mouse') {
 			return;
 		}
@@ -1117,7 +1117,7 @@ export class TreeView extends HeightMap {
 			return;
 		}
 
-		if(Browser.isIE10orLater && Date.now() - this.lastClickTimeStamp < 300) {
+		if (Browser.isIE10orLater && Date.now() - this.lastClickTimeStamp < 300) {
 			// IE10+ doesn't set the detail property correctly. While IE10 simply
 			// counts the number of clicks, IE11 reports always 1. To align with
 			// other browser, we set the value to 2 if clicks events come in a 300ms
@@ -1129,7 +1129,7 @@ export class TreeView extends HeightMap {
 		this.context.controller.onClick(this.context.tree, item.model.getElement(), event);
 	}
 
-	private onMouseDown(e:MouseEvent): void {
+	private onMouseDown(e: MouseEvent): void {
 		this.didJustPressContextMenuKey = false;
 
 		if (!this.context.controller.onMouseDown) {
@@ -1155,7 +1155,7 @@ export class TreeView extends HeightMap {
 		this.context.controller.onMouseDown(this.context.tree, item.model.getElement(), event);
 	}
 
-	private onMouseUp(e:MouseEvent): void {
+	private onMouseUp(e: MouseEvent): void {
 		if (!this.context.controller.onMouseUp) {
 			return;
 		}
@@ -1179,8 +1179,8 @@ export class TreeView extends HeightMap {
 		this.context.controller.onMouseUp(this.context.tree, item.model.getElement(), event);
 	}
 
-	private onTap(e:Touch.GestureEvent): void {
-		var item = this.getItemAround(<HTMLElement> e.initialTarget);
+	private onTap(e: Touch.GestureEvent): void {
+		var item = this.getItemAround(<HTMLElement>e.initialTarget);
 
 		if (!item) {
 			return;
@@ -1189,7 +1189,7 @@ export class TreeView extends HeightMap {
 		this.context.controller.onTap(this.context.tree, item.model.getElement(), e);
 	}
 
-	private onTouchChange(event:Touch.GestureEvent): void {
+	private onTouchChange(event: Touch.GestureEvent): void {
 		event.preventDefault();
 		event.stopPropagation();
 
@@ -1218,8 +1218,8 @@ export class TreeView extends HeightMap {
 
 			resultEvent = new _.KeyboardContextMenuEvent(position.left + position.width, position.top, keyboardEvent);
 
-		} else  {
-			var mouseEvent = new Mouse.StandardMouseEvent(<MouseEvent> event);
+		} else {
+			var mouseEvent = new Mouse.StandardMouseEvent(<MouseEvent>event);
 			var item = this.getItemAround(mouseEvent.target);
 
 			if (!item) {
@@ -1233,7 +1233,7 @@ export class TreeView extends HeightMap {
 		this.context.controller.onContextMenu(this.context.tree, element, resultEvent);
 	}
 
-	private onKeyDown(e:KeyboardEvent): void {
+	private onKeyDown(e: KeyboardEvent): void {
 		var event = new Keyboard.StandardKeyboardEvent(e);
 
 		this.didJustPressContextMenuKey = event.keyCode === KeyCode.ContextMenu || (event.shiftKey && event.keyCode === KeyCode.F10);
@@ -1250,7 +1250,7 @@ export class TreeView extends HeightMap {
 		this.context.controller.onKeyDown(this.context.tree, event);
 	}
 
-	private onKeyUp(e:KeyboardEvent): void {
+	private onKeyUp(e: KeyboardEvent): void {
 		if (this.didJustPressContextMenuKey) {
 			this.onContextMenu(e);
 		}
@@ -1259,7 +1259,7 @@ export class TreeView extends HeightMap {
 		this.context.controller.onKeyUp(this.context.tree, new Keyboard.StandardKeyboardEvent(e));
 	}
 
-	private onDragStart(item: ViewItem, e:any): void {
+	private onDragStart(item: ViewItem, e: any): void {
 		if (this.model.getHighlight()) {
 			return;
 		}
@@ -1276,7 +1276,7 @@ export class TreeView extends HeightMap {
 
 		e.dataTransfer.effectAllowed = 'copyMove';
 		e.dataTransfer.setData('URL', item.uri);
-		if(e.dataTransfer.setDragImage) {
+		if (e.dataTransfer.setDragImage) {
 			let label: string;
 
 			if (this.context.dnd.getDragLabel) {
@@ -1346,7 +1346,7 @@ export class TreeView extends HeightMap {
 		}
 	}
 
-	private onDragOver(e:DragEvent): boolean {
+	private onDragOver(e: DragEvent): boolean {
 		var event = new Mouse.DragMouseEvent(e);
 
 		var viewItem = this.getItemAround(event.target);
@@ -1477,7 +1477,7 @@ export class TreeView extends HeightMap {
 		return true;
 	}
 
-	private onDrop(e:DragEvent): void {
+	private onDrop(e: DragEvent): void {
 		if (this.currentDropElement) {
 			var event = new Mouse.DragMouseEvent(e);
 			event.preventDefault();
@@ -1488,7 +1488,7 @@ export class TreeView extends HeightMap {
 		this.cancelDragAndDropScrollInterval();
 	}
 
-	private onDragEnd(e:DragEvent): void {
+	private onDragEnd(e: DragEvent): void {
 		if (this.currentDropTarget) {
 			this.currentDropTargets.forEach(i => i.dropTarget = false);
 			this.currentDropTargets = [];
@@ -1523,7 +1523,7 @@ export class TreeView extends HeightMap {
 
 	// MS specific DOM Events
 
-	private onMsPointerDown(event: MSPointerEvent):void {
+	private onMsPointerDown(event: MSPointerEvent): void {
 		if (!this.msGesture) {
 			return;
 		}
@@ -1545,20 +1545,20 @@ export class TreeView extends HeightMap {
 		this.msGesture.addPointer(event.pointerId);
 	}
 
-	private onThrottledMsGestureChange(event: IThrottledGestureEvent):void {
+	private onThrottledMsGestureChange(event: IThrottledGestureEvent): void {
 		this.scrollTop -= event.translationY;
 	}
 
-	private onMsGestureTap(event:MSGestureEvent):void {
-		(<any> event).initialTarget = document.elementFromPoint(event.clientX, event.clientY);
-		this.onTap(<any> event);
+	private onMsGestureTap(event: MSGestureEvent): void {
+		(<any>event).initialTarget = document.elementFromPoint(event.clientX, event.clientY);
+		this.onTap(<any>event);
 	}
 
 	// DOM changes
 
 	private insertItemInDOM(item: ViewItem): void {
 		var elementAfter: HTMLElement = null;
-		var itemAfter = <ViewItem> this.itemAfter(item);
+		var itemAfter = <ViewItem>this.itemAfter(item);
 
 		if (itemAfter && itemAfter.element) {
 			elementAfter = itemAfter.element;
@@ -1578,10 +1578,10 @@ export class TreeView extends HeightMap {
 	}
 
 	private getItemAround(element: HTMLElement): ViewItem {
-		var candidate:ViewItem = this.inputItem;
+		var candidate: ViewItem = this.inputItem;
 		do {
-			if ((<any> element)[TreeView.BINDING]) {
-				candidate = (<any> element)[TreeView.BINDING];
+			if ((<any>element)[TreeView.BINDING]) {
+				candidate = (<any>element)[TreeView.BINDING];
 			}
 
 			if (element === this.wrapper || element === this.domNode) {
diff --git a/src/vs/base/parts/tree/browser/treeViewModel.ts b/src/vs/base/parts/tree/browser/treeViewModel.ts
index e950653ef6338..e3121cc2837a3 100644
--- a/src/vs/base/parts/tree/browser/treeViewModel.ts
+++ b/src/vs/base/parts/tree/browser/treeViewModel.ts
@@ -143,7 +143,7 @@ export class HeightMap extends EventEmitter {
 		var item: Item;
 		var viewItem: IViewItem;
 		var newHeight: number;
-		var i: number, j:number = null;
+		var i: number, j: number = null;
 		var cummDiff = 0;
 
 		while (item = iterator.next()) {
@@ -174,7 +174,7 @@ export class HeightMap extends EventEmitter {
 		}
 	}
 
-	public onRefreshItem(item:IViewItem, needsRender:boolean=false): void {
+	public onRefreshItem(item: IViewItem, needsRender: boolean = false): void {
 		// noop
 	}
 
@@ -186,7 +186,7 @@ export class HeightMap extends EventEmitter {
 		return this.heightMap[this.indexAt(position)].model.id;
 	}
 
-	public withItemsInRange(start: number, end: number, fn: (item: string) =>void ): void {
+	public withItemsInRange(start: number, end: number, fn: (item: string) => void): void {
 		start = this.indexAt(start);
 		end = this.indexAt(end);
 		for (var i = start; i <= end; i++) {
diff --git a/src/vs/base/parts/tree/test/browser/treeModel.test.ts b/src/vs/base/parts/tree/test/browser/treeModel.test.ts
index de245ea490ad0..aad5d56d60bd3 100644
--- a/src/vs/base/parts/tree/test/browser/treeModel.test.ts
+++ b/src/vs/base/parts/tree/test/browser/treeModel.test.ts
@@ -16,7 +16,7 @@ import TreeDefaults = require('vs/base/parts/tree/browser/treeDefaults');
 
 export class FakeRenderer {
 
-	public getHeight(tree:_.ITree, element:any):number {
+	public getHeight(tree: _.ITree, element: any): number {
 		return 20;
 	}
 
@@ -39,16 +39,16 @@ export class FakeRenderer {
 
 class TreeContext implements _.ITreeContext {
 
-	public tree:_.ITree = null;
-	public options:_.ITreeOptions = { autoExpandSingleChildren: true };
-	public dataSource:_.IDataSource;
-	public renderer:_.IRenderer;
-	public controller:_.IController;
-	public dnd:_.IDragAndDrop;
-	public filter:_.IFilter;
-	public sorter:_.ISorter;
+	public tree: _.ITree = null;
+	public options: _.ITreeOptions = { autoExpandSingleChildren: true };
+	public dataSource: _.IDataSource;
+	public renderer: _.IRenderer;
+	public controller: _.IController;
+	public dnd: _.IDragAndDrop;
+	public filter: _.IFilter;
+	public sorter: _.ISorter;
 
-	constructor(public configuration:_.ITreeConfiguration) {
+	constructor(public configuration: _.ITreeConfiguration) {
 		this.dataSource = configuration.dataSource;
 		this.renderer = configuration.renderer || new FakeRenderer();
 		this.controller = configuration.controller;
@@ -60,7 +60,7 @@ class TreeContext implements _.ITreeContext {
 
 class TreeModel extends model.TreeModel {
 
-	constructor(configuration:_.ITreeConfiguration) {
+	constructor(configuration: _.ITreeConfiguration) {
 		super(new TreeContext(configuration));
 	}
 }
@@ -75,7 +75,7 @@ class EventCounter {
 		this._count = 0;
 	}
 
-	public listen(emitter: ee.IEventEmitter, event: string, fn:(e)=>void = null): ()=>void {
+	public listen(emitter: ee.IEventEmitter, event: string, fn: (e) => void = null): () => void {
 		let r = emitter.addListener2(event, (e) => {
 			this._count++;
 			fn && fn(e);
@@ -106,64 +106,82 @@ class EventCounter {
 	}
 }
 
-var SAMPLE:any = {
+var SAMPLE: any = {
 	ONE: { id: 'one' },
 
-	AB:{ id: 'ROOT', children: [
-		{ id: 'a', children: [
-			{ id: 'aa' },
-			{ id: 'ab' }
-		]},
-		{ id: 'b' },
-		{ id: 'c', children: [
-			{ id: 'ca' },
-			{ id: 'cb' }
-		] }
-	]},
-
-	DEEP: { id: 'ROOT', children: [
-		{ id: 'a', children: [
-			{ id: 'x', children: [
-				{ id: 'xa' },
-				{ id: 'xb' },
-			]}
-		]},
-		{ id: 'b' }
-	]},
-
-	DEEP2: { id: 'ROOT', children: [
-		{ id: 'a', children: [
-			{ id: 'x', children: [
-				{ id: 'xa' },
-				{ id: 'xb' },
-			]},
-			{ id: 'y' }
-		]},
-		{ id: 'b' }
-	]}
+	AB: {
+		id: 'ROOT', children: [
+			{
+				id: 'a', children: [
+					{ id: 'aa' },
+					{ id: 'ab' }
+				]
+			},
+			{ id: 'b' },
+			{
+				id: 'c', children: [
+					{ id: 'ca' },
+					{ id: 'cb' }
+				]
+			}
+		]
+	},
+
+	DEEP: {
+		id: 'ROOT', children: [
+			{
+				id: 'a', children: [
+					{
+						id: 'x', children: [
+							{ id: 'xa' },
+							{ id: 'xb' },
+						]
+					}
+				]
+			},
+			{ id: 'b' }
+		]
+	},
+
+	DEEP2: {
+		id: 'ROOT', children: [
+			{
+				id: 'a', children: [
+					{
+						id: 'x', children: [
+							{ id: 'xa' },
+							{ id: 'xb' },
+						]
+					},
+					{ id: 'y' }
+				]
+			},
+			{ id: 'b' }
+		]
+	}
 };
 
 class TestDataSource implements _.IDataSource {
-	public getId(tree, element):string {
+	public getId(tree, element): string {
 		return element.id;
 	}
 
-	public hasChildren(tree, element):boolean {
+	public hasChildren(tree, element): boolean {
 		return !!element.children;
 	}
 
-	public getChildren(tree, element):WinJS.Promise {
+	public getChildren(tree, element): WinJS.Promise {
 		return WinJS.TPromise.as(element.children);
 	}
 
-	public getParent(tree, element):WinJS.Promise {
+	public getParent(tree, element): WinJS.Promise {
 		throw new Error('Not implemented');
 	}
 }
 
 suite('TreeModel', () => {
-	var model:model.TreeModel;
-	var counter:EventCounter;
+	var model: model.TreeModel;
+	var counter: EventCounter;
 
 	setup(() => {
 		counter = new EventCounter();
@@ -190,7 +208,7 @@ suite('TreeModel', () => {
 			counter.listen(model, 'item:childrenRefreshing'); // 1
 			counter.listen(model, 'item:childrenRefreshed'); // 1
 			return model.refresh(null);
-		}).done(() =>{
+		}).done(() => {
 			assert.equal(counter.count, 8);
 			done();
 		});
@@ -204,7 +222,7 @@ suite('TreeModel', () => {
 			counter.listen(model, 'item:childrenRefreshing'); // 1
 			counter.listen(model, 'item:childrenRefreshed'); // 1
 			return model.refresh(SAMPLE.AB);
-		}).done(() =>{
+		}).done(() => {
 			assert.equal(counter.count, 8);
 			done();
 		});
@@ -218,7 +236,7 @@ suite('TreeModel', () => {
 			counter.listen(model, 'item:childrenRefreshing'); // 1
 			counter.listen(model, 'item:childrenRefreshed'); // 1
 			return model.refresh(SAMPLE.AB, false);
-		}).done(() =>{
+		}).done(() => {
 			assert.equal(counter.count, 5);
 			done();
 		});
@@ -232,7 +250,7 @@ suite('TreeModel', () => {
 			counter.listen(model, 'item:childrenRefreshing'); // 0
 			counter.listen(model, 'item:childrenRefreshed'); // 0
 			return model.refresh(SAMPLE.AB.children[0]);
-		}).done(() =>{
+		}).done(() => {
 			assert.equal(counter.count, 3);
 			done();
 		});
@@ -248,7 +266,7 @@ suite('TreeModel', () => {
 			counter.listen(model, 'item:childrenRefreshing'); // 1
 			counter.listen(model, 'item:childrenRefreshed'); // 1
 			return model.refresh(SAMPLE.AB.children[0]);
-		}).done(() =>{
+		}).done(() => {
 			assert.equal(counter.count, 7);
 			done();
 		});
@@ -267,7 +285,7 @@ suite('TreeModel', () => {
 			counter.listen(model, 'item:childrenRefreshing'); // 1
 			counter.listen(model, 'item:childrenRefreshed'); // 1
 			return model.refresh(SAMPLE.AB.children[0], false);
-		}).done(() =>{
+		}).done(() => {
 			assert.equal(counter.count, 6);
 			done();
 		});
@@ -285,7 +303,7 @@ suite('TreeModel', () => {
 			counter.listen(model, 'item:childrenRefreshed'); // 2
 
 			return model.refreshAll([SAMPLE.AB.children[0], SAMPLE.AB.children[1], SAMPLE.AB.children[2]]);
-		}).done(() =>{
+		}).done(() => {
 			assert.equal(counter.count, 17);
 			done();
 		});
@@ -303,7 +321,7 @@ suite('TreeModel', () => {
 			counter.listen(model, 'item:childrenRefreshed'); // 2
 
 			return model.refreshAll([SAMPLE.AB.children[0], SAMPLE.AB.children[1], SAMPLE.AB.children[2]], false);
-		}).done(() =>{
+		}).done(() => {
 			assert.equal(counter.count, 13);
 			done();
 		});
@@ -329,7 +347,7 @@ suite('TreeModel', () => {
 			});
 
 			return model.refresh();
-		}).done(() =>{
+		}).done(() => {
 			assert.equal(counter.count, 16);
 			done();
 		});
@@ -340,7 +358,7 @@ suite('TreeModel', () => {
 			model.expandAll(['a', 'c']);
 
 			// going internals
-			var r = (<any> model).registry;
+			var r = (<any>model).registry;
 
 			assert(r.getItem('a').intersects(r.getItem('a')));
 			assert(r.getItem('a').intersects(r.getItem('aa')));
@@ -359,8 +377,8 @@ suite('TreeModel', () => {
 });
 
 suite('TreeModel - TreeNavigator', () => {
-	var model:model.TreeModel;
-	var counter:EventCounter;
+	var model: model.TreeModel;
+	var counter: EventCounter;
 
 	setup(() => {
 		counter = new EventCounter();
@@ -539,8 +557,8 @@ suite('TreeModel - TreeNavigator', () => {
 });
 
 suite('TreeModel - Expansion', () => {
-	var model:model.TreeModel;
-	var counter:EventCounter;
+	var model: model.TreeModel;
+	var counter: EventCounter;
 
 	setup(() => {
 		counter = new EventCounter();
@@ -665,12 +683,12 @@ suite('TreeModel - Expansion', () => {
 			assert.equal(nav.next().id, 'c');
 			assert.equal(nav.next() && false, null);
 
-			var f:()=>void = counter.listen(model, 'item:childrenRefreshing', (e) => {
+			var f: () => void = counter.listen(model, 'item:childrenRefreshing', (e) => {
 				assert.equal(e.item.id, 'a');
 				f();
 			});
 
-			var g:()=>void = counter.listen(model, 'item:childrenRefreshed', (e) => {
+			var g: () => void = counter.listen(model, 'item:childrenRefreshed', (e) => {
 				assert.equal(e.item.id, 'a');
 				g();
 			});
@@ -711,21 +729,21 @@ suite('TreeModel - Expansion', () => {
 
 class TestFilter implements _.IFilter {
 
-	public fn:(any)=>boolean;
+	public fn: (any) => boolean;
 
 	constructor() {
 		this.fn = () => true;
 	}
 
-	public isVisible(tree, element):boolean {
+	public isVisible(tree, element): boolean {
 		return this.fn(element);
 	}
 }
 
 suite('TreeModel - Filter', () => {
-	var model:model.TreeModel;
-	var counter:EventCounter;
-	var filter:TestFilter;
+	var model: model.TreeModel;
+	var counter: EventCounter;
+	var filter: TestFilter;
 
 	setup(() => {
 		counter = new EventCounter();
@@ -872,8 +890,8 @@ suite('TreeModel - Filter', () => {
 });
 
 suite('TreeModel - Traits', () => {
-	var model:model.TreeModel;
-	var counter:EventCounter;
+	var model: model.TreeModel;
+	var counter: EventCounter;
 
 	setup(() => {
 		counter = new EventCounter();
@@ -1104,8 +1122,8 @@ suite('TreeModel - Traits', () => {
 
 class DynamicModel extends Events.EventEmitter implements _.IDataSource {
 
-	private data:any;
-	public promiseFactory:{ ():WinJS.Promise; };
+	private data: any;
+	public promiseFactory: { (): WinJS.Promise; };
 
 	constructor() {
 		super();
@@ -1137,15 +1155,15 @@ class DynamicModel extends Events.EventEmitter implements _.IDataSource {
 		this.addChild(parent, newName);
 	}
 
-	public getId(tree, element):string {
+	public getId(tree, element): string {
 		return element;
 	}
 
-	public hasChildren(tree, element):boolean {
+	public hasChildren(tree, element): boolean {
 		return !!this.data[element];
 	}
 
-	public getChildren(tree, element):WinJS.Promise {
+	public getChildren(tree, element): WinJS.Promise {
 		this.emit('getChildren', element);
 		var result = this.promiseFactory ? this.promiseFactory() : WinJS.TPromise.as(null);
 		return result.then(() => {
@@ -1154,15 +1172,15 @@ class DynamicModel extends Events.EventEmitter implements _.IDataSource {
 		});
 	}
 
-	public getParent(tree, element):WinJS.Promise {
+	public getParent(tree, element): WinJS.Promise {
 		throw new Error('Not implemented');
 	}
 }
 
 suite('TreeModel - Dynamic data model', () => {
-	var model:model.TreeModel;
-	var dataModel:DynamicModel;
-	var counter:EventCounter;
+	var model: model.TreeModel;
+	var dataModel: DynamicModel;
+	var counter: EventCounter;
 
 	setup(() => {
 		counter = new EventCounter();
@@ -1640,7 +1658,7 @@ suite('TreeModel - Dynamic data model', () => {
 });
 
 suite('TreeModel - bugs', () => {
-	var counter:EventCounter;
+	var counter: EventCounter;
 
 	setup(() => {
 		counter = new EventCounter();
@@ -1668,7 +1686,7 @@ suite('TreeModel - bugs', () => {
 			}
 		});
 
-		let listeners = <any> [];
+		let listeners = <any>[];
 
 		// helpers
 		var getGetRootChildren = (children: string[], timeout = 0) => () => WinJS.TPromise.timeout(timeout).then(() => children);
diff --git a/src/vs/base/parts/tree/test/browser/treeViewModel.test.ts b/src/vs/base/parts/tree/test/browser/treeViewModel.test.ts
index 311ff2b38d506..b7a6d37fcb095 100644
--- a/src/vs/base/parts/tree/test/browser/treeViewModel.test.ts
+++ b/src/vs/base/parts/tree/test/browser/treeViewModel.test.ts
@@ -12,7 +12,7 @@ import Tree = require('vs/base/parts/tree/browser/treeImpl');
 import { ArrayIterator } from 'vs/base/common/iterator';
 import { HeightMap, IViewItem } from 'vs/base/parts/tree/browser/treeViewModel';
 
-function makeItem(id, height):any {
+function makeItem(id, height): any {
 	return {
 		id: id,
 		getHeight: function () { return height; },
@@ -21,7 +21,7 @@ function makeItem(id, height):any {
 	};
 }
 
-function makeItems(...args:any[]) {
+function makeItems(...args: any[]) {
 	var r = [];
 
 	for (var i = 0; i < args.length; i += 2) {
@@ -31,7 +31,7 @@ function makeItems(...args:any[]) {
 	return r;
 }
 
-function makeNavigator(...args:any[]):any {
+function makeNavigator(...args: any[]): any {
 	var items = makeItems.apply(null, args);
 	var i = 0;
 
diff --git a/src/vs/base/test/browser/dom.test.ts b/src/vs/base/test/browser/dom.test.ts
index 5bb93a8a14f23..ea9d1d809efb2 100644
--- a/src/vs/base/test/browser/dom.test.ts
+++ b/src/vs/base/test/browser/dom.test.ts
@@ -83,7 +83,7 @@ suite('dom', () => {
 	//	}
 	//});
 
-	test('safeStringify', function() {
+	test('safeStringify', function () {
 		var obj1 = {
 			friend: null
 		};
@@ -95,7 +95,7 @@ suite('dom', () => {
 		obj1.friend = obj2;
 		obj2.friend = obj1;
 
-		var arr:any = [1];
+		var arr: any = [1];
 		arr.push(arr);
 
 		var circular = {
@@ -117,17 +117,19 @@ suite('dom', () => {
 			a: 42,
 			b: '[Circular]',
 			c: [
-				{friend: {
-					friend: '[Circular]'
-				}},
+				{
+					friend: {
+						friend: '[Circular]'
+					}
+				},
 				'[Circular]'
 			],
 			d: [1, '[Circular]', '[Circular]']
 		});
 	});
 
-	test('safeStringify2', function() {
-		var obj:any = {
+	test('safeStringify2', function () {
+		var obj: any = {
 			a: null,
 			b: document.createElement('div'),
 			c: null,
diff --git a/src/vs/base/test/browser/highlightedLabel.test.ts b/src/vs/base/test/browser/highlightedLabel.test.ts
index 2916bd550522e..b9842e43499f7 100644
--- a/src/vs/base/test/browser/highlightedLabel.test.ts
+++ b/src/vs/base/test/browser/highlightedLabel.test.ts
@@ -19,37 +19,37 @@ suite('HighlightedLabel', () => {
 		label = null;
 	});
 
-	test('empty label', function() {
+	test('empty label', function () {
 		assert.equal(label.element.innerHTML, '');
 	});
 
-	test('no decorations', function() {
+	test('no decorations', function () {
 		label.set('hello');
 		assert.equal(label.element.innerHTML, '<span>hello</span>');
 	});
 
-	test('escape html', function() {
+	test('escape html', function () {
 		label.set('hel<lo');
 		assert.equal(label.element.innerHTML, '<span>hel&lt;lo</span>');
 	});
 
-	test('everything highlighted', function() {
-		label.set('hello', [ { start: 0, end: 5 } ]);
+	test('everything highlighted', function () {
+		label.set('hello', [{ start: 0, end: 5 }]);
 		assert.equal(label.element.innerHTML, '<span class="highlight">hello</span>');
 	});
 
-	test('beginning highlighted', function() {
-		label.set('hellothere', [ { start: 0, end: 5 } ]);
+	test('beginning highlighted', function () {
+		label.set('hellothere', [{ start: 0, end: 5 }]);
 		assert.equal(label.element.innerHTML, '<span class="highlight">hello</span><span>there</span>');
 	});
 
-	test('ending highlighted', function() {
-		label.set('goodbye', [ { start: 4, end: 7 } ]);
+	test('ending highlighted', function () {
+		label.set('goodbye', [{ start: 4, end: 7 }]);
 		assert.equal(label.element.innerHTML, '<span>good</span><span class="highlight">bye</span>');
 	});
 
-	test('middle highlighted', function() {
-		label.set('foobarfoo', [ { start: 3, end: 6 } ]);
+	test('middle highlighted', function () {
+		label.set('foobarfoo', [{ start: 3, end: 6 }]);
 		assert.equal(label.element.innerHTML, '<span>foo</span><span class="highlight">bar</span><span>foo</span>');
 	});
 });
\ No newline at end of file
diff --git a/src/vs/base/test/browser/htmlContent.test.ts b/src/vs/base/test/browser/htmlContent.test.ts
index acf8efe3edf79..02fcab1106871 100644
--- a/src/vs/base/test/browser/htmlContent.test.ts
+++ b/src/vs/base/test/browser/htmlContent.test.ts
@@ -10,7 +10,7 @@ import { renderHtml } from 'vs/base/browser/htmlContentRenderer';
 suite('HtmlContent', () => {
 	test('render text', () => {
 		var result = renderHtml({
-			text:'testing',
+			text: 'testing',
 			isText: true
 		});
 		assert.strictEqual(result.nodeType, document.TEXT_NODE);
@@ -29,8 +29,8 @@ suite('HtmlContent', () => {
 
 
 	test('render simple element', () => {
-		var result:HTMLElement = <any>renderHtml({
-			text:'testing'
+		var result: HTMLElement = <any>renderHtml({
+			text: 'testing'
 		});
 		assert.strictEqual(result.nodeType, document.ELEMENT_NODE);
 		assert.strictEqual(result.textContent, 'testing');
@@ -38,8 +38,8 @@ suite('HtmlContent', () => {
 	});
 
 	test('render element with class', () => {
-		var result:HTMLElement = <any> renderHtml({
-			text:'testing',
+		var result: HTMLElement = <any>renderHtml({
+			text: 'testing',
 			className: 'testClass'
 		});
 		assert.strictEqual(result.nodeType, document.ELEMENT_NODE);
@@ -47,25 +47,25 @@ suite('HtmlContent', () => {
 	});
 
 	test('render element with style', () => {
-		var result:HTMLElement = <any> renderHtml({
-			text:'testing',
+		var result: HTMLElement = <any>renderHtml({
+			text: 'testing',
 			style: 'width: 100px;'
 		});
 		assert.strictEqual(result.getAttribute('style'), 'width: 100px;');
 	});
 
 	test('render element with custom style', () => {
-		var result:HTMLElement = <any> renderHtml({
-			text:'testing',
+		var result: HTMLElement = <any>renderHtml({
+			text: 'testing',
 			customStyle: {
-				'width':'100px'
+				'width': '100px'
 			}
 		});
 		assert.strictEqual(result.style.width, '100px');
 	});
 
 	test('render element with children', () => {
-		var result:HTMLElement = <any> renderHtml({
+		var result: HTMLElement = <any>renderHtml({
 			className: 'parent',
 			children: [{
 				text: 'child'
@@ -77,7 +77,7 @@ suite('HtmlContent', () => {
 	});
 
 	test('simple formatting', () => {
-		var result:HTMLElement = <any> renderHtml({
+		var result: HTMLElement = <any>renderHtml({
 			formattedText: '**bold**'
 		});
 		assert.strictEqual(result.children.length, 1);
@@ -85,13 +85,13 @@ suite('HtmlContent', () => {
 		assert.strictEqual((<HTMLElement>result.firstChild).tagName, 'B');
 		assert.strictEqual(result.innerHTML, '<b>bold</b>');
 
-		result = <any> renderHtml({
+		result = <any>renderHtml({
 			formattedText: '__italics__'
 		});
 
 		assert.strictEqual(result.innerHTML, '<i>italics</i>');
 
-		result = <any> renderHtml({
+		result = <any>renderHtml({
 			formattedText: 'this string has **bold** and __italics__'
 		});
 
@@ -99,14 +99,14 @@ suite('HtmlContent', () => {
 	});
 
 	test('no formatting', () => {
-		var result:HTMLElement = <any> renderHtml({
+		var result: HTMLElement = <any>renderHtml({
 			formattedText: 'this is just a string'
 		});
 		assert.strictEqual(result.innerHTML, 'this is just a string');
 	});
 
 	test('preserve newlines', () => {
-		var result:HTMLElement = <any> renderHtml({
+		var result: HTMLElement = <any>renderHtml({
 			formattedText: 'line one\nline two'
 		});
 		assert.strictEqual(result.innerHTML, 'line one<br>line two');
@@ -114,17 +114,17 @@ suite('HtmlContent', () => {
 
 	test('action', () => {
 		var callbackCalled = false;
-		var result:HTMLElement = <any> renderHtml({
+		var result: HTMLElement = <any>renderHtml({
 			formattedText: '[[action]]'
 		}, {
-			actionCallback(content) {
-				assert.strictEqual(content, '0');
-				callbackCalled = true;
-			}
-		});
+				actionCallback(content) {
+					assert.strictEqual(content, '0');
+					callbackCalled = true;
+				}
+			});
 		assert.strictEqual(result.innerHTML, '<a href="#">action</a>');
 
-		var event:MouseEvent = <any>document.createEvent('MouseEvent');
+		var event: MouseEvent = <any>document.createEvent('MouseEvent');
 		event.initEvent('click', true, true);
 		result.firstChild.dispatchEvent(event);
 		assert.strictEqual(callbackCalled, true);
@@ -132,24 +132,24 @@ suite('HtmlContent', () => {
 
 	test('fancy action', () => {
 		var callbackCalled = false;
-		var result:HTMLElement = <any> renderHtml({
+		var result: HTMLElement = <any>renderHtml({
 			formattedText: '__**[[action]]**__'
 		}, {
-			actionCallback(content) {
-				assert.strictEqual(content, '0');
-				callbackCalled = true;
-			}
-		});
+				actionCallback(content) {
+					assert.strictEqual(content, '0');
+					callbackCalled = true;
+				}
+			});
 		assert.strictEqual(result.innerHTML, '<i><b><a href="#">action</a></b></i>');
 
-		var event:MouseEvent = <any>document.createEvent('MouseEvent');
+		var event: MouseEvent = <any>document.createEvent('MouseEvent');
 		event.initEvent('click', true, true);
 		result.firstChild.firstChild.firstChild.dispatchEvent(event);
 		assert.strictEqual(callbackCalled, true);
 	});
 
 	test('escaped formatting', () => {
-		var result:HTMLElement = <any> renderHtml({
+		var result: HTMLElement = <any>renderHtml({
 			formattedText: '\\*\\*bold\\*\\*'
 		});
 		assert.strictEqual(result.children.length, 0);
diff --git a/src/vs/base/test/common/actions.test.ts b/src/vs/base/test/common/actions.test.ts
index 92676e49de9c0..5ad63777aac8c 100644
--- a/src/vs/base/test/common/actions.test.ts
+++ b/src/vs/base/test/common/actions.test.ts
@@ -8,24 +8,24 @@ import * as assert from 'assert';
 import { Action, IAction, isAction } from 'vs/base/common/actions';
 
 suite('Actions', () => {
-	test('isAction', function() {
-		assert(isAction(new Action('id', 'label', 'style', true, function() { return null; })));
-		assert(isAction(<IAction> {
+	test('isAction', function () {
+		assert(isAction(new Action('id', 'label', 'style', true, function () { return null; })));
+		assert(isAction(<IAction>{
 			id: 'id',
 			label: 'label',
 			class: 'style',
 			checked: true,
 			enabled: true,
-			run: function() { return null; }
+			run: function () { return null; }
 		}));
 
 		assert(!isAction({
-	//		id: 'id',
+			//		id: 'id',
 			label: 'label',
 			class: 'style',
 			checked: true,
 			enabled: true,
-			run: function() { return null; }
+			run: function () { return null; }
 		}));
 		assert(!isAction({
 			id: 1234,
@@ -33,7 +33,7 @@ suite('Actions', () => {
 			class: 'style',
 			checked: true,
 			enabled: true,
-			run: function() { return null; }
+			run: function () { return null; }
 		}));
 		assert(!isAction({
 			id: 'id',
@@ -41,16 +41,16 @@ suite('Actions', () => {
 			class: 'style',
 			checked: 1,
 			enabled: 1,
-			run: function() { return null; }
+			run: function () { return null; }
 		}));
 		assert(!isAction(null));
 		assert(!isAction({
 			id: 'id',
 			label: 'label',
-	//		class: 'style',
+			//		class: 'style',
 			checked: true,
 			enabled: true,
-	//		run: function() { return null; }
+			//		run: function() { return null; }
 		}));
 	});
 });
diff --git a/src/vs/base/test/common/arrays.test.ts b/src/vs/base/test/common/arrays.test.ts
index cbf0694327f6e..ab56d3deabed3 100644
--- a/src/vs/base/test/common/arrays.test.ts
+++ b/src/vs/base/test/common/arrays.test.ts
@@ -33,7 +33,7 @@ suite('Arrays', () => {
 		assert.equal(array[idx], 1);
 	});
 
-	test('binarySearch', function() {
+	test('binarySearch', function () {
 		function compare(a: number, b: number): number {
 			return a - b;
 		}
@@ -49,7 +49,7 @@ suite('Arrays', () => {
 
 	});
 
-	test('distinct', function() {
+	test('distinct', function () {
 		function compare(a: string): string {
 			return a;
 		}
diff --git a/src/vs/base/test/common/async.test.ts b/src/vs/base/test/common/async.test.ts
index 634b5ae9bc63d..206057a567cc5 100644
--- a/src/vs/base/test/common/async.test.ts
+++ b/src/vs/base/test/common/async.test.ts
@@ -9,7 +9,7 @@ import { Promise, TPromise } from 'vs/base/common/winjs.base';
 import Async = require('vs/base/common/async');
 
 suite('Async', () => {
-	test('Throttler - non async', function(done) {
+	test('Throttler - non async', function (done) {
 		var count = 0;
 		var factory = () => {
 			return TPromise.as(++count);
@@ -26,7 +26,7 @@ suite('Async', () => {
 		]).done(() => done());
 	});
 
-	test('Throttler', function(done) {
+	test('Throttler', function (done) {
 		var count = 0;
 		var factory = () => {
 			return TPromise.timeout(0).then(() => {
@@ -53,7 +53,7 @@ suite('Async', () => {
 		});
 	});
 
-	test('Throttler - cancel should not cancel other promises', function(done) {
+	test('Throttler - cancel should not cancel other promises', function (done) {
 		var count = 0;
 		var factory = () => {
 			return TPromise.timeout(0).then(() => {
@@ -74,7 +74,7 @@ suite('Async', () => {
 		p1.cancel();
 	});
 
-	test('Throttler - cancel the first queued promise should not cancel other promises', function(done) {
+	test('Throttler - cancel the first queued promise should not cancel other promises', function (done) {
 		var count = 0;
 		var factory = () => {
 			return TPromise.timeout(0).then(() => {
@@ -95,7 +95,7 @@ suite('Async', () => {
 		p2.cancel();
 	});
 
-	test('Throttler - cancel in the middle should not cancel other promises', function(done) {
+	test('Throttler - cancel in the middle should not cancel other promises', function (done) {
 		var count = 0;
 		var factory = () => {
 			return TPromise.timeout(0).then(() => {
@@ -116,7 +116,7 @@ suite('Async', () => {
 		p3.cancel();
 	});
 
-	test('Throttler - last factory should be the one getting called', function(done) {
+	test('Throttler - last factory should be the one getting called', function (done) {
 		var factoryFactory = (n: number) => () => {
 			return TPromise.timeout(0).then(() => n);
 		};
@@ -132,7 +132,7 @@ suite('Async', () => {
 		Promise.join(promises).done(() => done());
 	});
 
-	test('Throttler - progress should work', function(done) {
+	test('Throttler - progress should work', function (done) {
 		var order = 0;
 		var factory = () => new Promise((c, e, p) => {
 			TPromise.timeout(0).done(() => {
@@ -157,7 +157,7 @@ suite('Async', () => {
 		});
 	});
 
-	test('Delayer', function(done) {
+	test('Delayer', function (done) {
 		var count = 0;
 		var factory = () => {
 			return TPromise.as(++count);
@@ -183,7 +183,7 @@ suite('Async', () => {
 		});
 	});
 
-	test('Delayer - simple cancel', function(done) {
+	test('Delayer - simple cancel', function (done) {
 		var count = 0;
 		var factory = () => {
 			return TPromise.as(++count);
@@ -204,7 +204,7 @@ suite('Async', () => {
 		assert(!delayer.isTriggered());
 	});
 
-	test('Delayer - cancel should cancel all calls to trigger', function(done) {
+	test('Delayer - cancel should cancel all calls to trigger', function (done) {
 		var count = 0;
 		var factory = () => {
 			return TPromise.as(++count);
@@ -232,7 +232,7 @@ suite('Async', () => {
 		});
 	});
 
-	test('Delayer - trigger, cancel, then trigger again', function(done) {
+	test('Delayer - trigger, cancel, then trigger again', function (done) {
 		var count = 0;
 		var factory = () => {
 			return TPromise.as(++count);
@@ -282,7 +282,7 @@ suite('Async', () => {
 		assert(delayer.isTriggered());
 	});
 
-	test('Delayer - last task should be the one getting called', function(done) {
+	test('Delayer - last task should be the one getting called', function (done) {
 		var factoryFactory = (n: number) => () => {
 			return TPromise.as(n);
 		};
@@ -304,7 +304,7 @@ suite('Async', () => {
 		assert(delayer.isTriggered());
 	});
 
-	test('Delayer - progress should work', function(done) {
+	test('Delayer - progress should work', function (done) {
 		var order = 0;
 		var factory = () => new Promise((c, e, p) => {
 			TPromise.timeout(0).done(() => {
@@ -329,7 +329,7 @@ suite('Async', () => {
 		});
 	});
 
-	test('ThrottledDelayer - progress should work', function(done) {
+	test('ThrottledDelayer - progress should work', function (done) {
 		var order = 0;
 		var factory = () => new Promise((c, e, p) => {
 			TPromise.timeout(0).done(() => {
@@ -354,7 +354,7 @@ suite('Async', () => {
 		});
 	});
 
-	test('Sequence', function(done) {
+	test('Sequence', function (done) {
 		var factoryFactory = (n: number) => () => {
 			return TPromise.as(n);
 		};
@@ -365,7 +365,7 @@ suite('Async', () => {
 			factoryFactory(3),
 			factoryFactory(4),
 			factoryFactory(5),
-		]).then((result)=>{
+		]).then((result) => {
 			assert.equal(5, result.length);
 			assert.equal(1, result[0]);
 			assert.equal(2, result[1]);
@@ -376,14 +376,14 @@ suite('Async', () => {
 		});
 	});
 
-	test('Limiter - sync', function(done) {
+	test('Limiter - sync', function (done) {
 		var factoryFactory = (n: number) => () => {
 			return TPromise.as(n);
 		};
 
 		var limiter = new Async.Limiter(1);
 
-		var promises:Promise[] = [];
+		var promises: Promise[] = [];
 		[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].forEach(n => promises.push(limiter.queue(factoryFactory(n))));
 
 		Promise.join(promises).then((res) => {
@@ -400,13 +400,13 @@ suite('Async', () => {
 		}).done(() => done());
 	});
 
-	test('Limiter - async', function(done) {
+	test('Limiter - async', function (done) {
 		var factoryFactory = (n: number) => () => {
 			return TPromise.timeout(0).then(() => n);
 		};
 
 		var limiter = new Async.Limiter(1);
-		var promises:Promise[] = [];
+		var promises: Promise[] = [];
 		[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].forEach(n => promises.push(limiter.queue(factoryFactory(n))));
 
 		Promise.join(promises).then((res) => {
@@ -423,7 +423,7 @@ suite('Async', () => {
 		}).done(() => done());
 	});
 
-	test('Limiter - assert degree of paralellism', function(done) {
+	test('Limiter - assert degree of paralellism', function (done) {
 		var activePromises = 0;
 		var factoryFactory = (n: number) => () => {
 			activePromises++;
@@ -433,7 +433,7 @@ suite('Async', () => {
 
 		var limiter = new Async.Limiter(5);
 
-		var promises:Promise[] = [];
+		var promises: Promise[] = [];
 		[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].forEach(n => promises.push(limiter.queue(factoryFactory(n))));
 
 		Promise.join(promises).then((res) => {
diff --git a/src/vs/base/test/common/cancellation.test.ts b/src/vs/base/test/common/cancellation.test.ts
index 007b33b83a41f..760079da5b7cf 100644
--- a/src/vs/base/test/common/cancellation.test.ts
+++ b/src/vs/base/test/common/cancellation.test.ts
@@ -5,11 +5,11 @@
 'use strict';
 
 import * as assert from 'assert';
-import {CancellationTokenSource, CancellationToken} from 'vs/base/common/cancellation';
+import { CancellationTokenSource, CancellationToken } from 'vs/base/common/cancellation';
 
-suite('CancellationToken', function() {
+suite('CancellationToken', function () {
 
-	test('None', function() {
+	test('None', function () {
 		assert.equal(CancellationToken.None.isCancellationRequested, false);
 		assert.equal(typeof CancellationToken.None.onCancellationRequested, 'function');
 	});
@@ -48,7 +48,7 @@ suite('CancellationToken', function() {
 		});
 	});
 
-	test('cancel happens only once', function() {
+	test('cancel happens only once', function () {
 
 		let source = new CancellationTokenSource();
 		assert.equal(source.token.isCancellationRequested, false);
@@ -85,7 +85,7 @@ suite('CancellationToken', function() {
 		assert.equal(count, 3);
 	});
 
-	test('token stays the same', function(){
+	test('token stays the same', function () {
 
 		let source = new CancellationTokenSource();
 		let token = source.token;
diff --git a/src/vs/base/test/common/charCode.test.ts b/src/vs/base/test/common/charCode.test.ts
index 89a7766b07942..903d6cee53594 100644
--- a/src/vs/base/test/common/charCode.test.ts
+++ b/src/vs/base/test/common/charCode.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {CharCode} from 'vs/base/common/charCode';
+import { CharCode } from 'vs/base/common/charCode';
 
 suite('CharCode', () => {
 	test('has good values', () => {
 
-		function assertValue(actual:CharCode, expected:string): void {
+		function assertValue(actual: CharCode, expected: string): void {
 			assert.equal(actual, expected.charCodeAt(0), 'char code ok for <<' + expected + '>>');
 		}
 
diff --git a/src/vs/base/test/common/color.test.ts b/src/vs/base/test/common/color.test.ts
index 67d2469f11ec3..e763e915b869c 100644
--- a/src/vs/base/test/common/color.test.ts
+++ b/src/vs/base/test/common/color.test.ts
@@ -5,7 +5,7 @@
 
 'use strict';
 
-import {Color} from 'vs/base/common/color';
+import { Color } from 'vs/base/common/color';
 import * as assert from 'assert';
 
 suite('Color', () => {
diff --git a/src/vs/base/test/common/decorators.test.ts b/src/vs/base/test/common/decorators.test.ts
index 4c082ada84305..9d6c1c5e434e9 100644
--- a/src/vs/base/test/common/decorators.test.ts
+++ b/src/vs/base/test/common/decorators.test.ts
@@ -6,14 +6,14 @@
 'use strict';
 
 import * as assert from 'assert';
-import { memoize } from 'vs/base/common/decorators';
+import { memoize  } from 'vs/base/common/decorators';
 
 suite('Decorators', () => {
 	test('memoize should memoize methods', () => {
 		class Foo {
 			count = 0;
 
-			constructor(private _answer: number) {}
+			constructor(private _answer: number) { }
 
 			@memoize
 			answer() {
@@ -58,7 +58,7 @@ suite('Decorators', () => {
 		class Foo {
 			count = 0;
 
-			constructor(private _answer: number) {}
+			constructor(private _answer: number) { }
 
 			@memoize
 			get answer() {
diff --git a/src/vs/base/test/common/diff/diff.test.ts b/src/vs/base/test/common/diff/diff.test.ts
index c03e0b0e96423..3e0c8b710d055 100644
--- a/src/vs/base/test/common/diff/diff.test.ts
+++ b/src/vs/base/test/common/diff/diff.test.ts
@@ -92,7 +92,7 @@ function stringPower(str: string, power: number): string {
 function lcsTest(Algorithm: any, originalStr: string, modifiedStr: string, answerStr: string) {
 	lcsInnerTest(Algorithm, originalStr, modifiedStr, answerStr);
 	for (var i = 2; i <= 5; i++) {
-		lcsInnerTest(Algorithm, stringPower(originalStr,i), stringPower(modifiedStr,i), stringPower(answerStr,i), true);
+		lcsInnerTest(Algorithm, stringPower(originalStr, i), stringPower(modifiedStr, i), stringPower(answerStr, i), true);
 	}
 }
 
diff --git a/src/vs/base/test/common/event.test.ts b/src/vs/base/test/common/event.test.ts
index 7faccca0e84c3..bced04f77c433 100644
--- a/src/vs/base/test/common/event.test.ts
+++ b/src/vs/base/test/common/event.test.ts
@@ -5,11 +5,11 @@
 'use strict';
 
 import * as assert from 'assert';
-import Event, {Emitter, fromEventEmitter, debounceEvent, EventBufferer, once, fromPromise, stopwatch, buffer} from 'vs/base/common/event';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
+import Event, { Emitter, fromEventEmitter, debounceEvent, EventBufferer, once, fromPromise, stopwatch, buffer } from 'vs/base/common/event';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
 import Errors = require('vs/base/common/errors');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 
 namespace Samples {
 
@@ -32,7 +32,7 @@ namespace Samples {
 
 		onDidChange: Event<string> = this._onDidChange.event;
 
-		setText(value:string) {
+		setText(value: string) {
 			//...
 			this._onDidChange.fire(value);
 		}
@@ -48,14 +48,14 @@ namespace Samples {
 
 		onDidChange = fromEventEmitter<string>(this._eventBus, Document3b._didChange);
 
-		setText(value:string) {
+		setText(value: string) {
 			//...
 			this._eventBus.emit(Document3b._didChange, value);
 		}
 	}
 }
 
-suite('Event',function(){
+suite('Event', function () {
 
 	const counter = new Samples.EventCounter();
 
@@ -91,9 +91,9 @@ suite('Event',function(){
 		assert.equal(counter.count, 2);
 	});
 
-	test('Emitter, bucket', function(){
+	test('Emitter, bucket', function () {
 
-		let bucket:IDisposable[] = [];
+		let bucket: IDisposable[] = [];
 		let doc = new Samples.Document3();
 		let subscription = doc.onDidChange(counter.onEvent, counter, bucket);
 
@@ -101,7 +101,7 @@ suite('Event',function(){
 		doc.setText('boo');
 
 		// unhook listener
-		while(bucket.length) {
+		while (bucket.length) {
 			bucket.pop().dispose();
 		}
 
@@ -112,9 +112,9 @@ suite('Event',function(){
 		assert.equal(counter.count, 2);
 	});
 
-	test('wrapEventEmitter, bucket', function(){
+	test('wrapEventEmitter, bucket', function () {
 
-		let bucket:IDisposable[] = [];
+		let bucket: IDisposable[] = [];
 		let doc = new Samples.Document3b();
 		let subscription = doc.onDidChange(counter.onEvent, counter, bucket);
 
@@ -122,7 +122,7 @@ suite('Event',function(){
 		doc.setText('boo');
 
 		// unhook listener
-		while(bucket.length) {
+		while (bucket.length) {
 			bucket.pop().dispose();
 		}
 
@@ -133,7 +133,7 @@ suite('Event',function(){
 		assert.equal(counter.count, 2);
 	});
 
-	test('onFirstAdd|onLastRemove', function(){
+	test('onFirstAdd|onLastRemove', function () {
 
 		let firstCount = 0;
 		let lastCount = 0;
@@ -158,17 +158,17 @@ suite('Event',function(){
 		assert.equal(lastCount, 1);
 	});
 
-	test('throwingListener', function() {
+	test('throwingListener', function () {
 		var origErrorHandler = Errors.errorHandler.getUnexpectedErrorHandler();
 		Errors.setUnexpectedErrorHandler(() => null);
 
 		try {
 			let a = new Emitter();
 			let hit = false;
-			a.event(function() {
+			a.event(function () {
 				throw 9;
 			});
-			a.event(function() {
+			a.event(function () {
 				hit = true;
 			});
 			a.fire(undefined);
@@ -199,7 +199,7 @@ suite('Event',function(){
 			if (count === 1) {
 				doc.setText('4');
 				assert.deepEqual(keys, ['1', '2', '3']);
-			} else if (count === 2){
+			} else if (count === 2) {
 				assert.deepEqual(keys, ['4']);
 				done();
 			}
@@ -369,14 +369,14 @@ suite('Event utils', () => {
 			assert.deepEqual(result, []);
 
 			const listener = bufferedEvent(num => result.push(num));
-			assert.deepEqual(result, [1,2,3]);
+			assert.deepEqual(result, [1, 2, 3]);
 
 			emitter.fire(4);
-			assert.deepEqual(result, [1,2,3,4]);
+			assert.deepEqual(result, [1, 2, 3, 4]);
 
 			listener.dispose();
 			emitter.fire(5);
-			assert.deepEqual(result, [1,2,3,4]);
+			assert.deepEqual(result, [1, 2, 3, 4]);
 		});
 
 		test('should buffer events on next tick', () => {
@@ -395,11 +395,11 @@ suite('Event utils', () => {
 
 			return TPromise.timeout(10).then(() => {
 				emitter.fire(4);
-				assert.deepEqual(result, [1,2,3,4]);
+				assert.deepEqual(result, [1, 2, 3, 4]);
 
 				listener.dispose();
 				emitter.fire(5);
-				assert.deepEqual(result, [1,2,3,4]);
+				assert.deepEqual(result, [1, 2, 3, 4]);
 			});
 		});
 
@@ -415,7 +415,7 @@ suite('Event utils', () => {
 			assert.deepEqual(result, []);
 
 			bufferedEvent(num => result.push(num));
-			assert.deepEqual(result, [-2,-1,0,1,2,3]);
+			assert.deepEqual(result, [-2, -1, 0, 1, 2, 3]);
 		});
 	});
 
diff --git a/src/vs/base/test/common/eventEmitter.test.ts b/src/vs/base/test/common/eventEmitter.test.ts
index ff206fbc94aaa..e02e77d9f8cfc 100644
--- a/src/vs/base/test/common/eventEmitter.test.ts
+++ b/src/vs/base/test/common/eventEmitter.test.ts
@@ -209,16 +209,16 @@ suite('EventEmitter', () => {
 		var emitter = new EventEmitter();
 		var actualCallOrder: string[] = [];
 
-		emitter.addListener2('foo', function() {
+		emitter.addListener2('foo', function () {
 			actualCallOrder.push('listener1-foo');
 			emitter.emit('bar');
 		});
 
 
-		emitter.addListener2('foo', function() {
+		emitter.addListener2('foo', function () {
 			actualCallOrder.push('listener2-foo');
 		});
-		emitter.addListener2('bar', function() {
+		emitter.addListener2('bar', function () {
 			actualCallOrder.push('listener2-bar');
 		});
 
@@ -235,7 +235,7 @@ suite('EventEmitter', () => {
 		var emitter = new EventEmitter();
 		var actualCallOrder: string[] = [];
 
-		emitter.addListener2('foo', function() {
+		emitter.addListener2('foo', function () {
 			actualCallOrder.push('listener1-foo');
 			emitter.deferredEmit(() => {
 				emitter.emit('bar');
@@ -243,10 +243,10 @@ suite('EventEmitter', () => {
 		});
 
 
-		emitter.addListener2('foo', function() {
+		emitter.addListener2('foo', function () {
 			actualCallOrder.push('listener2-foo');
 		});
-		emitter.addListener2('bar', function() {
+		emitter.addListener2('bar', function () {
 			actualCallOrder.push('listener2-bar');
 		});
 
@@ -265,16 +265,16 @@ suite('EventEmitter', () => {
 		var emitter = new OrderGuaranteeEventEmitter();
 		var actualCallOrder: string[] = [];
 
-		emitter.addListener2('foo', function() {
+		emitter.addListener2('foo', function () {
 			actualCallOrder.push('listener1-foo');
 			emitter.emit('bar');
 		});
 
 
-		emitter.addListener2('foo', function() {
+		emitter.addListener2('foo', function () {
 			actualCallOrder.push('listener2-foo');
 		});
-		emitter.addListener2('bar', function() {
+		emitter.addListener2('bar', function () {
 			actualCallOrder.push('listener2-bar');
 		});
 
@@ -291,7 +291,7 @@ suite('EventEmitter', () => {
 		var emitter = new OrderGuaranteeEventEmitter();
 		var actualCallOrder: string[] = [];
 
-		emitter.addListener2('foo', function() {
+		emitter.addListener2('foo', function () {
 			actualCallOrder.push('listener1-foo');
 			emitter.deferredEmit(() => {
 				emitter.emit('bar');
@@ -299,10 +299,10 @@ suite('EventEmitter', () => {
 		});
 
 
-		emitter.addListener2('foo', function() {
+		emitter.addListener2('foo', function () {
 			actualCallOrder.push('listener2-foo');
 		});
-		emitter.addListener2('bar', function() {
+		emitter.addListener2('bar', function () {
 			actualCallOrder.push('listener2-bar');
 		});
 
diff --git a/src/vs/base/test/common/filters.test.ts b/src/vs/base/test/common/filters.test.ts
index 1a8159a225fbf..ff2c5c463ba02 100644
--- a/src/vs/base/test/common/filters.test.ts
+++ b/src/vs/base/test/common/filters.test.ts
@@ -26,25 +26,25 @@ suite('Filters', () => {
 			return function () { counters[i]++; return r; };
 		};
 
-		counters = [0,0];
+		counters = [0, 0];
 		filter = or(newFilter(0, false), newFilter(1, false));
 		filterNotOk(filter, 'anything', 'anything');
-		assert.deepEqual(counters, [1,1]);
+		assert.deepEqual(counters, [1, 1]);
 
-		counters = [0,0];
+		counters = [0, 0];
 		filter = or(newFilter(0, true), newFilter(1, false));
 		filterOk(filter, 'anything', 'anything');
-		assert.deepEqual(counters, [1,0]);
+		assert.deepEqual(counters, [1, 0]);
 
-		counters = [0,0];
+		counters = [0, 0];
 		filter = or(newFilter(0, true), newFilter(1, true));
 		filterOk(filter, 'anything', 'anything');
-		assert.deepEqual(counters, [1,0]);
+		assert.deepEqual(counters, [1, 0]);
 
-		counters = [0,0];
+		counters = [0, 0];
 		filter = or(newFilter(0, false), newFilter(1, true));
 		filterOk(filter, 'anything', 'anything');
-		assert.deepEqual(counters, [1,1]);
+		assert.deepEqual(counters, [1, 1]);
 	});
 
 	test('PrefixFilter - case sensitive', function () {
@@ -171,19 +171,19 @@ suite('Filters', () => {
 		filterOk(matchesWords, 'AlPh', 'alPHA', [{ start: 0, end: 4 }]);
 		assert(matchesWords('Debug Console', 'Open: Debug Console'));
 
-		filterOk(matchesWords, 'gp', 'Git: Pull', [{ start: 0, end: 1 }, { start: 5, end: 6}]);
-		filterOk(matchesWords, 'g p', 'Git: Pull', [{ start: 0, end: 1 }, { start: 4, end: 6}]);
-		filterOk(matchesWords, 'gipu', 'Git: Pull', [{ start: 0, end: 2 }, { start: 5, end: 7}]);
+		filterOk(matchesWords, 'gp', 'Git: Pull', [{ start: 0, end: 1 }, { start: 5, end: 6 }]);
+		filterOk(matchesWords, 'g p', 'Git: Pull', [{ start: 0, end: 1 }, { start: 4, end: 6 }]);
+		filterOk(matchesWords, 'gipu', 'Git: Pull', [{ start: 0, end: 2 }, { start: 5, end: 7 }]);
 
-		filterOk(matchesWords, 'gp', 'Category: Git: Pull', [{ start: 10, end: 11 }, { start: 15, end: 16}]);
-		filterOk(matchesWords, 'g p', 'Category: Git: Pull', [{ start: 10, end: 11 }, { start: 14, end: 16}]);
-		filterOk(matchesWords, 'gipu', 'Category: Git: Pull', [{ start: 10, end: 12 }, { start: 15, end: 17}]);
+		filterOk(matchesWords, 'gp', 'Category: Git: Pull', [{ start: 10, end: 11 }, { start: 15, end: 16 }]);
+		filterOk(matchesWords, 'g p', 'Category: Git: Pull', [{ start: 10, end: 11 }, { start: 14, end: 16 }]);
+		filterOk(matchesWords, 'gipu', 'Category: Git: Pull', [{ start: 10, end: 12 }, { start: 15, end: 17 }]);
 
 		filterNotOk(matchesWords, 'it', 'Git: Pull');
 		filterNotOk(matchesWords, 'll', 'Git: Pull');
 
 		filterOk(matchesWords, 'git: プル', 'git: プル', [{ start: 0, end: 7 }]);
-		filterOk(matchesWords, 'git プル', 'git: プル', [{ start: 0, end: 3 }, { start: 4, end: 7}]);
+		filterOk(matchesWords, 'git プル', 'git: プル', [{ start: 0, end: 3 }, { start: 4, end: 7 }]);
 
 		filterOk(matchesWords, 'öäk', 'Öhm: Älles Klar', [{ start: 0, end: 1 }, { start: 5, end: 6 }, { start: 11, end: 12 }]);
 	});
diff --git a/src/vs/base/test/common/glob.test.ts b/src/vs/base/test/common/glob.test.ts
index c587290e23684..20a24e8a39282 100644
--- a/src/vs/base/test/common/glob.test.ts
+++ b/src/vs/base/test/common/glob.test.ts
@@ -637,7 +637,7 @@ suite('Glob', () => {
 			'**/*.js': { when: '$(basename).ts' }
 		};
 
-		var sibilings = () => [ 'foo.ts', 'foo.js', 'foo', 'bar' ];
+		var sibilings = () => ['foo.ts', 'foo.js', 'foo', 'bar'];
 
 		assert.strictEqual(glob.match(expr, 'bar', sibilings), '**/bar');
 		assert.strictEqual(glob.match(expr, 'foo', sibilings), null);
@@ -690,7 +690,7 @@ suite('Glob', () => {
 		assert.strictEqual(glob.parse('{**/baz,**/foo}')('baz/foo', 'foo'), true);
 
 		var expr = { '**/*.js': { when: '$(basename).ts' } };
-		var sibilings = () => [ 'foo.ts', 'foo.js' ];
+		var sibilings = () => ['foo.ts', 'foo.js'];
 
 		assert.strictEqual(glob.parse(expr)('bar/baz.js', 'baz.js', sibilings), null);
 		assert.strictEqual(glob.parse(expr)('bar/foo.js', 'foo.js', sibilings), '**/*.js');
@@ -728,28 +728,28 @@ suite('Glob', () => {
 			'{**/bar/**,**/baz/**}': true,
 			'**/bulb/**': false
 		}, ['foo', 'bar', 'baz'], [
-			['bar/foo', '**/foo/**'],
-			['foo/bar', '{**/bar/**,**/baz/**}'],
-			['bar/nope', null]
-		]);
+				['bar/foo', '**/foo/**'],
+				['foo/bar', '{**/bar/**,**/baz/**}'],
+				['bar/nope', null]
+			]);
 
 		const siblingsFn = () => ['baz', 'baz.zip', 'nope'];
 		testOptimizationForBasenames({
 			'**/foo/**': { when: '$(basename).zip' },
 			'**/bar/**': true
 		}, ['bar'], [
-			['bar/foo', null],
-			['bar/foo/baz', null],
-			['bar/foo/nope', null],
-			['foo/bar', '**/bar/**'],
-		], [
-			null,
-			siblingsFn,
-			siblingsFn
-		]);
+				['bar/foo', null],
+				['bar/foo/baz', null],
+				['bar/foo/nope', null],
+				['foo/bar', '**/bar/**'],
+			], [
+				null,
+				siblingsFn,
+				siblingsFn
+			]);
 	});
 
-	function testOptimizationForBasenames(pattern: string|glob.IExpression, basenameTerms: string[], matches: [string, string|boolean][], siblingsFns: (() => string[])[] = []) {
+	function testOptimizationForBasenames(pattern: string | glob.IExpression, basenameTerms: string[], matches: [string, string | boolean][], siblingsFns: (() => string[])[] = []) {
 		const parsed = glob.parse(<glob.IExpression>pattern, { trimForExclusions: true });
 		assert.deepStrictEqual(glob.getBasenameTerms(parsed), basenameTerms);
 		matches.forEach(([text, result], i) => {
@@ -831,29 +831,29 @@ suite('Glob', () => {
 			// '{**/bar/bar/**,**/baz/bar/**}': true,
 			'**/bulb/bar/**': false
 		}, ['*/foo/bar'], [
-			['bar/foo/bar', '**/foo/bar/**'],
-			// Not supported
-			// ['foo/bar/bar', '{**/bar/bar/**,**/baz/bar/**}'],
-			['/foo/bar/nope', null]
-		]);
+				['bar/foo/bar', '**/foo/bar/**'],
+				// Not supported
+				// ['foo/bar/bar', '{**/bar/bar/**,**/baz/bar/**}'],
+				['/foo/bar/nope', null]
+			]);
 
 		const siblingsFn = () => ['baz', 'baz.zip', 'nope'];
 		testOptimizationForPaths({
 			'**/foo/123/**': { when: '$(basename).zip' },
 			'**/bar/123/**': true
 		}, ['*/bar/123'], [
-			['bar/foo/123', null],
-			['bar/foo/123/baz', null],
-			['bar/foo/123/nope', null],
-			['foo/bar/123', '**/bar/123/**'],
-		], [
-			null,
-			siblingsFn,
-			siblingsFn
-		]);
+				['bar/foo/123', null],
+				['bar/foo/123/baz', null],
+				['bar/foo/123/nope', null],
+				['foo/bar/123', '**/bar/123/**'],
+			], [
+				null,
+				siblingsFn,
+				siblingsFn
+			]);
 	});
 
-	function testOptimizationForPaths(pattern: string|glob.IExpression, pathTerms: string[], matches: [string, string|boolean][], siblingsFns: (() => string[])[] = []) {
+	function testOptimizationForPaths(pattern: string | glob.IExpression, pathTerms: string[], matches: [string, string | boolean][], siblingsFns: (() => string[])[] = []) {
 		const parsed = glob.parse(<glob.IExpression>pattern, { trimForExclusions: true });
 		assert.deepStrictEqual(glob.getPathTerms(parsed), pathTerms);
 		matches.forEach(([text, result], i) => {
diff --git a/src/vs/base/test/common/graph.test.ts b/src/vs/base/test/common/graph.test.ts
index fd4a59817205d..4ff83d5186945 100644
--- a/src/vs/base/test/common/graph.test.ts
+++ b/src/vs/base/test/common/graph.test.ts
@@ -14,23 +14,23 @@ suite('Graph', () => {
 		graph = new Graph<string>(s => s);
 	});
 
-	test('cannot be traversed when empty', function() {
+	test('cannot be traversed when empty', function () {
 		graph.traverse('foo', true, () => assert(false));
 		graph.traverse('foo', false, () => assert(false));
 		assert(true);
 	});
 
-	test('is possible to lookup nodes that don\'t exist', function() {
+	test('is possible to lookup nodes that don\'t exist', function () {
 		assert.deepEqual(graph.lookup('ddd'), null);
 	});
 
-	test('inserts nodes when not there yet', function() {
+	test('inserts nodes when not there yet', function () {
 		assert.deepEqual(graph.lookup('ddd'), null);
 		assert.deepEqual(graph.lookupOrInsertNode('ddd').data, 'ddd');
 		assert.deepEqual(graph.lookup('ddd').data, 'ddd');
 	});
 
-	test('can remove nodes and get length', function() {
+	test('can remove nodes and get length', function () {
 		assert.equal(graph.length, 0);
 		assert.deepEqual(graph.lookup('ddd'), null);
 		assert.deepEqual(graph.lookupOrInsertNode('ddd').data, 'ddd');
@@ -40,14 +40,14 @@ suite('Graph', () => {
 		assert.equal(graph.length, 0);
 	});
 
-	test('traverse from leaf', function() {
+	test('traverse from leaf', function () {
 		graph.insertEdge('foo', 'bar');
 		graph.traverse('bar', true, (node) => assert.equal(node, 'bar'));
 		var items = ['bar', 'foo'];
 		graph.traverse('bar', false, (node) => assert.equal(node, items.shift()));
 	});
 
-	test('traverse from center', function() {
+	test('traverse from center', function () {
 		graph.insertEdge('1', '3');
 		graph.insertEdge('2', '3');
 		graph.insertEdge('3', '4');
@@ -60,7 +60,7 @@ suite('Graph', () => {
 		graph.traverse('3', false, (node) => assert.equal(node, items.shift()));
 	});
 
-	test('traverse a chain', function() {
+	test('traverse a chain', function () {
 		graph.insertEdge('1', '2');
 		graph.insertEdge('2', '3');
 		graph.insertEdge('3', '4');
@@ -73,7 +73,7 @@ suite('Graph', () => {
 		graph.traverse('5', false, (node) => assert.equal(node, items.shift()));
 	});
 
-	test('root', function() {
+	test('root', function () {
 		graph.insertEdge('1', '2');
 		var roots = graph.roots();
 		assert.equal(roots.length, 1);
@@ -84,7 +84,7 @@ suite('Graph', () => {
 		assert.equal(roots.length, 0);
 	});
 
-	test('root complex', function() {
+	test('root complex', function () {
 		graph.insertEdge('1', '2');
 		graph.insertEdge('1', '3');
 		graph.insertEdge('3', '4');
diff --git a/src/vs/base/test/common/hash.test.ts b/src/vs/base/test/common/hash.test.ts
index 7595ea8da5c27..7eb6326ddff6f 100644
--- a/src/vs/base/test/common/hash.test.ts
+++ b/src/vs/base/test/common/hash.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {hash} from 'vs/base/common/hash';
+import { hash } from 'vs/base/common/hash';
 
 suite('Hash', () => {
 	test('string', () => {
@@ -40,9 +40,9 @@ suite('Hash', () => {
 
 	test('object', () => {
 		assert.equal(hash({}), hash({}));
-		assert.equal(hash({'foo': 'bar'}), hash({'foo': 'bar'}));
-		assert.equal(hash({'foo': 'bar', 'foo2': void 0}), hash({'foo2': void 0, 'foo': 'bar'}));
-		assert.notEqual(hash({'foo': 'bar'}), hash({'foo': 'bar2'}));
+		assert.equal(hash({ 'foo': 'bar' }), hash({ 'foo': 'bar' }));
+		assert.equal(hash({ 'foo': 'bar', 'foo2': void 0 }), hash({ 'foo2': void 0, 'foo': 'bar' }));
+		assert.notEqual(hash({ 'foo': 'bar' }), hash({ 'foo': 'bar2' }));
 		assert.notEqual(hash({}), hash([]));
 	});
 });
\ No newline at end of file
diff --git a/src/vs/base/test/common/history.test.ts b/src/vs/base/test/common/history.test.ts
index f668270211b6e..2c55c1cd05fe0 100644
--- a/src/vs/base/test/common/history.test.ts
+++ b/src/vs/base/test/common/history.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {HistoryNavigator} from 'vs/base/common/history';
+import { HistoryNavigator } from 'vs/base/common/history';
 
 suite('History Navigator', () => {
 
diff --git a/src/vs/base/test/common/json.test.ts b/src/vs/base/test/common/json.test.ts
index a84fc71f4112a..784434e677c8f 100644
--- a/src/vs/base/test/common/json.test.ts
+++ b/src/vs/base/test/common/json.test.ts
@@ -5,21 +5,23 @@
 'use strict';
 
 import * as assert from 'assert';
-import { SyntaxKind, createScanner, parse, getLocation, Node, ParseError, parseTree, ParseErrorCode,
-	getParseErrorMessage, ParseOptions, Segment, findNodeAtLocation, getNodeValue } from 'vs/base/common/json';
+import {
+	SyntaxKind, createScanner, parse, getLocation, Node, ParseError, parseTree, ParseErrorCode,
+	getParseErrorMessage, ParseOptions, Segment, findNodeAtLocation, getNodeValue
+} from 'vs/base/common/json';
 
-function assertKinds(text:string, ...kinds:SyntaxKind[]):void {
+function assertKinds(text: string, ...kinds: SyntaxKind[]): void {
 	var _json = createScanner(text);
 	var kind: SyntaxKind;
-	while((kind = _json.scan()) !== SyntaxKind.EOF) {
+	while ((kind = _json.scan()) !== SyntaxKind.EOF) {
 		assert.equal(kind, kinds.shift());
 	}
 	assert.equal(kinds.length, 0);
 }
 
 
-function assertValidParse(input:string, expected:any, options?: ParseOptions) : void {
-	var errors : {error: ParseErrorCode}[] = [];
+function assertValidParse(input: string, expected: any, options?: ParseOptions): void {
+	var errors: { error: ParseErrorCode }[] = [];
 	var actual = parse(input, errors, options);
 
 	if (errors.length !== 0) {
@@ -28,16 +30,16 @@ function assertValidParse(input:string, expected:any, options?: ParseOptions) :
 	assert.deepEqual(actual, expected);
 }
 
-function assertInvalidParse(input:string, expected:any, options?: ParseOptions) : void {
-	var errors : {error: ParseErrorCode}[] = [];
+function assertInvalidParse(input: string, expected: any, options?: ParseOptions): void {
+	var errors: { error: ParseErrorCode }[] = [];
 	var actual = parse(input, errors, options);
 
 	assert(errors.length > 0);
 	assert.deepEqual(actual, expected);
 }
 
-function assertTree(input:string, expected:any) : void {
-	var errors : ParseError[] = [];
+function assertTree(input: string, expected: any): void {
+	var errors: ParseError[] = [];
 	var actual = parseTree(input, errors);
 
 	assert.equal(errors.length, 0);
@@ -55,16 +57,16 @@ function assertTree(input:string, expected:any) : void {
 	assert.deepEqual(actual, expected);
 }
 
-function assertNodeAtLocation(input:Node, segments: Segment[], expected: any) {
+function assertNodeAtLocation(input: Node, segments: Segment[], expected: any) {
 	let actual = findNodeAtLocation(input, segments);
 	assert.deepEqual(actual ? getNodeValue(actual) : void 0, expected);
 }
 
 
-function assertLocation(input:string, expectedSegments: Segment[], expectedNodeType: string, expectedCompleteProperty: boolean) : void {
-	var errors : {error: ParseErrorCode}[] = [];
+function assertLocation(input: string, expectedSegments: Segment[], expectedNodeType: string, expectedCompleteProperty: boolean): void {
+	var errors: { error: ParseErrorCode }[] = [];
 	var offset = input.indexOf('|');
-	input = input.substring(0, offset) + input.substring(offset+1, input.length);
+	input = input.substring(0, offset) + input.substring(offset + 1, input.length);
 	var actual = getLocation(input, offset);
 	assert(actual);
 	assert.deepEqual(actual.path, expectedSegments, input);
@@ -192,18 +194,18 @@ suite('JSON', () => {
 		assertValidParse('{ "foo": true }', { foo: true });
 		assertValidParse('{ "bar": 8, "xoo": "foo" }', { bar: 8, xoo: 'foo' });
 		assertValidParse('{ "hello": [], "world": {} }', { hello: [], world: {} });
-		assertValidParse('{ "a": false, "b": true, "c": [ 7.4 ] }', { a: false, b: true, c: [ 7.4 ]});
-		assertValidParse('{ "lineComment": "//", "blockComment": ["/*", "*/"], "brackets": [ ["{", "}"], ["[", "]"], ["(", ")"] ] }', { lineComment: '//', blockComment: ["/*", "*/"], brackets: [ ["{", "}"], ["[", "]"], ["(", ")"] ] });
+		assertValidParse('{ "a": false, "b": true, "c": [ 7.4 ] }', { a: false, b: true, c: [7.4] });
+		assertValidParse('{ "lineComment": "//", "blockComment": ["/*", "*/"], "brackets": [ ["{", "}"], ["[", "]"], ["(", ")"] ] }', { lineComment: '//', blockComment: ["/*", "*/"], brackets: [["{", "}"], ["[", "]"], ["(", ")"]] });
 		assertValidParse('{ "hello": [], "world": {} }', { hello: [], world: {} });
-		assertValidParse('{ "hello": { "again": { "inside": 5 }, "world": 1 }}', { hello: { again: { inside: 5 }, world: 1 }});
+		assertValidParse('{ "hello": { "again": { "inside": 5 }, "world": 1 }}', { hello: { again: { inside: 5 }, world: 1 } });
 		assertValidParse('{ "foo": /*hello*/true }', { foo: true });
 	});
 
 	test('parse: arrays', () => {
 		assertValidParse('[]', []);
 		assertValidParse('[ [],  [ [] ]]', [[], [[]]]);
-		assertValidParse('[ 1, 2, 3 ]', [ 1, 2, 3 ]);
-		assertValidParse('[ { "a": null } ]', [ { a: null } ]);
+		assertValidParse('[ 1, 2, 3 ]', [1, 2, 3]);
+		assertValidParse('[ { "a": null } ]', [{ a: null }]);
 	});
 
 	test('parse: objects with errors', () => {
@@ -218,16 +220,16 @@ suite('JSON', () => {
 
 	test('parse: array with errors', () => {
 		assertInvalidParse('[,]', []);
-		assertInvalidParse('[ 1, 2, ]', [ 1, 2]);
-		assertInvalidParse('[ 1 2, 3 ]', [ 1, 2, 3 ]);
-		assertInvalidParse('[ ,1, 2, 3 ]', [ 1, 2, 3 ]);
-		assertInvalidParse('[ ,1, 2, 3, ]', [ 1, 2, 3 ]);
+		assertInvalidParse('[ 1, 2, ]', [1, 2]);
+		assertInvalidParse('[ 1 2, 3 ]', [1, 2, 3]);
+		assertInvalidParse('[ ,1, 2, 3 ]', [1, 2, 3]);
+		assertInvalidParse('[ ,1, 2, 3, ]', [1, 2, 3]);
 	});
 
 	test('parse: disallow commments', () => {
 		let options = { disallowComments: true };
 
-		assertValidParse('[ 1, 2, null, "foo" ]', [ 1, 2, null, "foo"], options);
+		assertValidParse('[ 1, 2, null, "foo" ]', [1, 2, null, "foo"], options);
 		assertValidParse('{ "hello": [], "world": {} }', { hello: [], world: {} }, options);
 
 		assertInvalidParse('{ "foo": /*comment*/ true }', { foo: true }, options);
@@ -236,22 +238,22 @@ suite('JSON', () => {
 	test('location: properties', () => {
 		assertLocation('|{ "foo": "bar" }', [], void 0, false);
 		assertLocation('{| "foo": "bar" }', [], void 0, true);
-		assertLocation('{ |"foo": "bar" }', ["foo" ], "property", true);
-		assertLocation('{ "foo|": "bar" }', [ "foo" ], "property", true);
-		assertLocation('{ "foo"|: "bar" }', ["foo" ], "property", true);
-		assertLocation('{ "foo": "bar"| }', ["foo" ], "string", false);
-		assertLocation('{ "foo":| "bar" }', ["foo" ], void 0, false);
-		assertLocation('{ "foo": {"bar|": 1, "car": 2 } }', ["foo", "bar" ], "property", true);
-		assertLocation('{ "foo": {"bar": 1|, "car": 3 } }', ["foo", "bar" ], "number", false);
+		assertLocation('{ |"foo": "bar" }', ["foo"], "property", true);
+		assertLocation('{ "foo|": "bar" }', ["foo"], "property", true);
+		assertLocation('{ "foo"|: "bar" }', ["foo"], "property", true);
+		assertLocation('{ "foo": "bar"| }', ["foo"], "string", false);
+		assertLocation('{ "foo":| "bar" }', ["foo"], void 0, false);
+		assertLocation('{ "foo": {"bar|": 1, "car": 2 } }', ["foo", "bar"], "property", true);
+		assertLocation('{ "foo": {"bar": 1|, "car": 3 } }', ["foo", "bar"], "number", false);
 		assertLocation('{ "foo": {"bar": 1,| "car": 4 } }', ["foo"], void 0, true);
-		assertLocation('{ "foo": {"bar": 1, "ca|r": 5 } }', ["foo", "car" ], "property", true);
-		assertLocation('{ "foo": {"bar": 1, "car": 6| } }', ["foo", "car" ], "number", false);
+		assertLocation('{ "foo": {"bar": 1, "ca|r": 5 } }', ["foo", "car"], "property", true);
+		assertLocation('{ "foo": {"bar": 1, "car": 6| } }', ["foo", "car"], "number", false);
 		assertLocation('{ "foo": {"bar": 1, "car": 7 }| }', ["foo"], void 0, false);
 		assertLocation('{ "foo": {"bar": 1, "car": 8 },| "goo": {} }', [], void 0, true);
-		assertLocation('{ "foo": {"bar": 1, "car": 9 }, "go|o": {} }', ["goo" ], "property", true);
-		assertLocation('{ "dep": {"bar": 1, "car": |', ["dep", "car" ], void 0, false);
-		assertLocation('{ "dep": {"bar": 1,, "car": |', ["dep", "car" ], void 0, false);
-		assertLocation('{ "dep": {"bar": "na", "dar": "ma", "car": | } }', ["dep", "car" ], void 0, false);
+		assertLocation('{ "foo": {"bar": 1, "car": 9 }, "go|o": {} }', ["goo"], "property", true);
+		assertLocation('{ "dep": {"bar": 1, "car": |', ["dep", "car"], void 0, false);
+		assertLocation('{ "dep": {"bar": 1,, "car": |', ["dep", "car"], void 0, false);
+		assertLocation('{ "dep": {"bar": "na", "dar": "ma", "car": | } }', ["dep", "car"], void 0, false);
 	});
 
 	test('location: arrays', () => {
@@ -277,51 +279,67 @@ suite('JSON', () => {
 	test('tree: arrays', () => {
 		assertTree('[]', { type: 'array', offset: 0, length: 2, children: [] });
 		assertTree('[ 1 ]', { type: 'array', offset: 0, length: 5, children: [{ type: 'number', offset: 2, length: 1, value: 1 }] });
-		assertTree('[ 1,"x"]', { type: 'array', offset: 0, length: 8, children: [
-			{ type: 'number', offset: 2, length: 1, value: 1 },
-			{ type: 'string', offset: 4, length: 3, value: 'x' }
-		]});
-		assertTree('[[]]', { type: 'array', offset: 0, length: 4, children: [
-			{ type: 'array', offset: 1, length: 2, children: []}
-		]});
+		assertTree('[ 1,"x"]', {
+			type: 'array', offset: 0, length: 8, children: [
+				{ type: 'number', offset: 2, length: 1, value: 1 },
+				{ type: 'string', offset: 4, length: 3, value: 'x' }
+			]
+		});
+		assertTree('[[]]', {
+			type: 'array', offset: 0, length: 4, children: [
+				{ type: 'array', offset: 1, length: 2, children: [] }
+			]
+		});
 	});
 
 	test('tree: objects', () => {
 		assertTree('{ }', { type: 'object', offset: 0, length: 3, children: [] });
-		assertTree('{ "val": 1 }', { type: 'object', offset: 0, length: 12, children: [
-			{ type: 'property', offset: 2, length: 8, columnOffset: 7, children: [
-				{ type: 'string', offset: 2, length: 5, value: 'val' },
-				{ type: 'number', offset: 9, length: 1, value: 1 }
-			]}
-		]});
+		assertTree('{ "val": 1 }', {
+			type: 'object', offset: 0, length: 12, children: [
+				{
+					type: 'property', offset: 2, length: 8, columnOffset: 7, children: [
+						{ type: 'string', offset: 2, length: 5, value: 'val' },
+						{ type: 'number', offset: 9, length: 1, value: 1 }
+					]
+				}
+			]
+		});
 		assertTree('{"id": "$", "v": [ null, null] }',
-			{ type: 'object', offset: 0, length: 32, children: [
-				{ type: 'property', offset: 1, length: 9, columnOffset: 5, children: [
-					{ type: 'string', offset: 1, length: 4, value: 'id' },
-					{ type: 'string', offset: 7, length: 3, value: '$' }
-				]},
-				{ type: 'property', offset: 12, length: 19, columnOffset: 15, children: [
-					{ type: 'string', offset: 12, length: 3, value: 'v' },
-					{ type: 'array', offset: 17, length: 13, children: [
-						{ type: 'null', offset: 19, length: 4, value: null },
-						{ type: 'null', offset: 25, length: 4, value: null }
-					]}
-				]}
-			]}
+			{
+				type: 'object', offset: 0, length: 32, children: [
+					{
+						type: 'property', offset: 1, length: 9, columnOffset: 5, children: [
+							{ type: 'string', offset: 1, length: 4, value: 'id' },
+							{ type: 'string', offset: 7, length: 3, value: '$' }
+						]
+					},
+					{
+						type: 'property', offset: 12, length: 19, columnOffset: 15, children: [
+							{ type: 'string', offset: 12, length: 3, value: 'v' },
+							{
+								type: 'array', offset: 17, length: 13, children: [
+									{ type: 'null', offset: 19, length: 4, value: null },
+									{ type: 'null', offset: 25, length: 4, value: null }
+								]
+							}
+						]
+					}
+				]
+			}
 		);
 	});
 
 	test('tree: find location', () => {
 		let root = parseTree('{ "key1": { "key11": [ "val111", "val112" ] }, "key2": [ { "key21": false, "key22": 221 }, null, [{}] ] }');
-		assertNodeAtLocation(root, [ "key1"], { key11: [ 'val111', 'val112' ]});
-		assertNodeAtLocation(root, [ "key1", "key11"], [ 'val111', 'val112' ]);
-		assertNodeAtLocation(root, [ "key1", "key11", 0], 'val111');
-		assertNodeAtLocation(root, [ "key1", "key11", 1], 'val112');
-		assertNodeAtLocation(root, [ "key1", "key11", 2], void 0);
-		assertNodeAtLocation(root, [ "key2", 0, "key21"], false);
-		assertNodeAtLocation(root, [ "key2", 0, "key22"], 221);
-		assertNodeAtLocation(root, [ "key2", 1], null);
-		assertNodeAtLocation(root, [ "key2", 2], [{}]);
-		assertNodeAtLocation(root, [ "key2", 2, 0], {});
+		assertNodeAtLocation(root, ["key1"], { key11: ['val111', 'val112'] });
+		assertNodeAtLocation(root, ["key1", "key11"], ['val111', 'val112']);
+		assertNodeAtLocation(root, ["key1", "key11", 0], 'val111');
+		assertNodeAtLocation(root, ["key1", "key11", 1], 'val112');
+		assertNodeAtLocation(root, ["key1", "key11", 2], void 0);
+		assertNodeAtLocation(root, ["key2", 0, "key21"], false);
+		assertNodeAtLocation(root, ["key2", 0, "key22"], 221);
+		assertNodeAtLocation(root, ["key2", 1], null);
+		assertNodeAtLocation(root, ["key2", 2], [{}]);
+		assertNodeAtLocation(root, ["key2", 2, 0], {});
 	});
 });
diff --git a/src/vs/base/test/common/jsonEdit.test.ts b/src/vs/base/test/common/jsonEdit.test.ts
index 6593efb4df12d..3eacab846a4ca 100644
--- a/src/vs/base/test/common/jsonEdit.test.ts
+++ b/src/vs/base/test/common/jsonEdit.test.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import json = require('vs/base/common/json');
-import {FormattingOptions, Edit} from 'vs/base/common/jsonFormatter';
-import {setProperty, removeProperty} from 'vs/base/common/jsonEdit';
+import { FormattingOptions, Edit } from 'vs/base/common/jsonFormatter';
+import { setProperty, removeProperty } from 'vs/base/common/jsonEdit';
 import assert = require('assert');
 
 suite('JSON - edits', () => {
@@ -25,7 +25,7 @@ suite('JSON - edits', () => {
 		assert.equal(content, expected);
 	}
 
-	let formatterOptions : FormattingOptions = {
+	let formatterOptions: FormattingOptions = {
 		insertSpaces: true,
 		tabSize: 2,
 		eol: '\n'
diff --git a/src/vs/base/test/common/keyCodes.test.ts b/src/vs/base/test/common/keyCodes.test.ts
index 9ae049b420569..fe3850d4606f2 100644
--- a/src/vs/base/test/common/keyCodes.test.ts
+++ b/src/vs/base/test/common/keyCodes.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {KeyCode, KeyMod, KeyChord, BinaryKeybindings} from 'vs/base/common/keyCodes';
+import { KeyCode, KeyMod, KeyChord, BinaryKeybindings } from 'vs/base/common/keyCodes';
 
 interface ITestKeybinding {
 	ctrlCmd?: boolean;
@@ -18,7 +18,7 @@ interface ITestKeybinding {
 
 suite('keyCodes', () => {
 	test('binary encoding', () => {
-		function test(keybinding:ITestKeybinding, k:number): void {
+		function test(keybinding: ITestKeybinding, k: number): void {
 			keybinding = keybinding || { key: KeyCode.Unknown };
 			assert.equal(BinaryKeybindings.hasCtrlCmd(k), !!keybinding.ctrlCmd);
 			assert.equal(BinaryKeybindings.hasShift(k), !!keybinding.shift);
@@ -41,21 +41,21 @@ suite('keyCodes', () => {
 		test({ key: KeyCode.Enter }, KeyCode.Enter);
 		test({ key: KeyCode.Enter, chord: { key: KeyCode.Tab } }, KeyChord(KeyCode.Enter, KeyCode.Tab));
 		test({ ctrlCmd: false, shift: false, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyCode.Enter);
-		test({ ctrlCmd: false, shift: false, alt: false, winCtrl:  true, key: KeyCode.Enter }, KeyMod.WinCtrl | KeyCode.Enter);
-		test({ ctrlCmd: false, shift: false, alt:  true, winCtrl: false, key: KeyCode.Enter }, KeyMod.Alt | KeyCode.Enter);
-		test({ ctrlCmd: false, shift: false, alt:  true, winCtrl:  true, key: KeyCode.Enter }, KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
-		test({ ctrlCmd: false, shift:  true, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyMod.Shift | KeyCode.Enter);
-		test({ ctrlCmd: false, shift:  true, alt: false, winCtrl:  true, key: KeyCode.Enter }, KeyMod.Shift | KeyMod.WinCtrl | KeyCode.Enter);
-		test({ ctrlCmd: false, shift:  true, alt:  true, winCtrl: false, key: KeyCode.Enter }, KeyMod.Shift | KeyMod.Alt | KeyCode.Enter);
-		test({ ctrlCmd: false, shift:  true, alt:  true, winCtrl:  true, key: KeyCode.Enter }, KeyMod.Shift | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
-		test({ ctrlCmd:  true, shift: false, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyCode.Enter);
-		test({ ctrlCmd:  true, shift: false, alt: false, winCtrl:  true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.Enter);
-		test({ ctrlCmd:  true, shift: false, alt:  true, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Enter);
-		test({ ctrlCmd:  true, shift: false, alt:  true, winCtrl:  true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
-		test({ ctrlCmd:  true, shift:  true, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Enter);
-		test({ ctrlCmd:  true, shift:  true, alt: false, winCtrl:  true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.WinCtrl | KeyCode.Enter);
-		test({ ctrlCmd:  true, shift:  true, alt:  true, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyCode.Enter);
-		test({ ctrlCmd:  true, shift:  true, alt:  true, winCtrl:  true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
+		test({ ctrlCmd: false, shift: false, alt: false, winCtrl: true, key: KeyCode.Enter }, KeyMod.WinCtrl | KeyCode.Enter);
+		test({ ctrlCmd: false, shift: false, alt: true, winCtrl: false, key: KeyCode.Enter }, KeyMod.Alt | KeyCode.Enter);
+		test({ ctrlCmd: false, shift: false, alt: true, winCtrl: true, key: KeyCode.Enter }, KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
+		test({ ctrlCmd: false, shift: true, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyMod.Shift | KeyCode.Enter);
+		test({ ctrlCmd: false, shift: true, alt: false, winCtrl: true, key: KeyCode.Enter }, KeyMod.Shift | KeyMod.WinCtrl | KeyCode.Enter);
+		test({ ctrlCmd: false, shift: true, alt: true, winCtrl: false, key: KeyCode.Enter }, KeyMod.Shift | KeyMod.Alt | KeyCode.Enter);
+		test({ ctrlCmd: false, shift: true, alt: true, winCtrl: true, key: KeyCode.Enter }, KeyMod.Shift | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
+		test({ ctrlCmd: true, shift: false, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyCode.Enter);
+		test({ ctrlCmd: true, shift: false, alt: false, winCtrl: true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.WinCtrl | KeyCode.Enter);
+		test({ ctrlCmd: true, shift: false, alt: true, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Enter);
+		test({ ctrlCmd: true, shift: false, alt: true, winCtrl: true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
+		test({ ctrlCmd: true, shift: true, alt: false, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Enter);
+		test({ ctrlCmd: true, shift: true, alt: false, winCtrl: true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.WinCtrl | KeyCode.Enter);
+		test({ ctrlCmd: true, shift: true, alt: true, winCtrl: false, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyCode.Enter);
+		test({ ctrlCmd: true, shift: true, alt: true, winCtrl: true, key: KeyCode.Enter }, KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyMod.WinCtrl | KeyCode.Enter);
 
 		let encoded = KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_Y, KeyCode.KEY_Z);
 		let encodedFirstPart = BinaryKeybindings.extractFirstPart(encoded);
diff --git a/src/vs/base/test/common/map.test.ts b/src/vs/base/test/common/map.test.ts
index 6c219c8fd8ec8..64d92dcf0ef38 100644
--- a/src/vs/base/test/common/map.test.ts
+++ b/src/vs/base/test/common/map.test.ts
@@ -5,7 +5,7 @@
 
 'use strict';
 
-import {BoundedLinkedMap, LRUCache, LinkedMap} from 'vs/base/common/map';
+import { BoundedLinkedMap, LRUCache, LinkedMap } from 'vs/base/common/map';
 import * as assert from 'assert';
 
 suite('Map', () => {
diff --git a/src/vs/base/test/common/marshalling.test.ts b/src/vs/base/test/common/marshalling.test.ts
index d8894de5699e2..675e9a6759ecb 100644
--- a/src/vs/base/test/common/marshalling.test.ts
+++ b/src/vs/base/test/common/marshalling.test.ts
@@ -6,14 +6,14 @@
 
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
-import {parse, stringify} from 'vs/base/common/marshalling';
+import { parse, stringify } from 'vs/base/common/marshalling';
 
 suite('Marshalling', () => {
 
-	test('RegExp', function() {
+	test('RegExp', function () {
 		let value = /foo/img;
 		let raw = stringify(value);
-		let clone = <RegExp> parse(raw);
+		let clone = <RegExp>parse(raw);
 
 		assert.equal(value.source, clone.source);
 		assert.equal(value.global, clone.global);
@@ -24,7 +24,7 @@ suite('Marshalling', () => {
 	test('URI', function () {
 		let value = URI.from({ scheme: 'file', authority: 'server', path: '/shares/c#files', query: 'q', fragment: 'f' });
 		let raw = stringify(value);
-		let clone = <URI> parse(raw);
+		let clone = <URI>parse(raw);
 
 		assert.equal(value.scheme, clone.scheme);
 		assert.equal(value.authority, clone.authority);
diff --git a/src/vs/base/test/common/network.test.ts b/src/vs/base/test/common/network.test.ts
index 3dfb17aff2f64..e2354ef561408 100644
--- a/src/vs/base/test/common/network.test.ts
+++ b/src/vs/base/test/common/network.test.ts
@@ -7,7 +7,7 @@
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
 
-function assertUrl(raw:string, scheme:string, domain:string, port:string, path:string, queryString:string, fragmentId:string): void {
+function assertUrl(raw: string, scheme: string, domain: string, port: string, path: string, queryString: string, fragmentId: string): void {
 	// check for equivalent behaviour
 	var uri = URI.parse(raw);
 	assert.equal(uri.scheme, scheme);
diff --git a/src/vs/base/test/common/objects.test.ts b/src/vs/base/test/common/objects.test.ts
index 1fd5d9ceb633f..b08748487712c 100644
--- a/src/vs/base/test/common/objects.test.ts
+++ b/src/vs/base/test/common/objects.test.ts
@@ -19,7 +19,7 @@ var checkNot = (one, other, msg) => {
 
 suite('Objects', () => {
 
-	test('equals', function() {
+	test('equals', function () {
 		check(null, null, 'null');
 		check(undefined, undefined, 'undefined');
 		check(1234, 1234, 'numbers');
@@ -27,7 +27,7 @@ suite('Objects', () => {
 		check('1234', '1234', 'strings');
 		check([], [], 'empty arrays');
 		// check(['', 123], ['', 123], 'arrays');
-		check([[1,2,3], [4,5,6]], [[1,2,3], [4,5,6]], 'nested arrays');
+		check([[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]], 'nested arrays');
 		check({}, {}, 'empty objects');
 		check({ a: 1, b: '123' }, { a: 1, b: '123' }, 'objects');
 		check({ a: 1, b: '123' }, { b: '123', a: 1 }, 'objects (key order)');
@@ -51,14 +51,14 @@ suite('Objects', () => {
 
 		checkNot('1234', 1234, 'string !== number');
 
-		checkNot([[1,2,3], [4,5,6]], [[1,2,3], [4,5,6000]], 'arrays');
+		checkNot([[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6000]], 'arrays');
 		checkNot({ a: { b: 1, c: 2 }, b: 3 }, { b: 3, a: { b: 9, c: 2 } }, 'objects');
 	});
 
-	test('mixin - array', function() {
+	test('mixin - array', function () {
 
-		var foo:any = {};
-		objects.mixin(foo, { bar: [1,2,3] });
+		var foo: any = {};
+		objects.mixin(foo, { bar: [1, 2, 3] });
 
 		assert(foo.bar);
 		assert(Array.isArray(foo.bar));
@@ -68,12 +68,12 @@ suite('Objects', () => {
 		assert.equal(foo.bar[2], 3);
 	});
 
-	test('mixin - no overwrite', function() {
-		var foo:any = {
+	test('mixin - no overwrite', function () {
+		var foo: any = {
 			bar: '123'
 		};
 
-		var bar:any = {
+		var bar: any = {
 			bar: '456'
 		};
 
@@ -82,16 +82,16 @@ suite('Objects', () => {
 		assert.equal(foo.bar, '123');
 	});
 
-	test('cloneAndChange',() => {
+	test('cloneAndChange', () => {
 		var o1 = { something: 'hello' };
 		var o = {
 			o1: o1,
 			o2: o1
 		};
-		assert.deepEqual(objects.cloneAndChange(o,() => { }), o);
+		assert.deepEqual(objects.cloneAndChange(o, () => { }), o);
 	});
 
-	test('safeStringify', function() {
+	test('safeStringify', function () {
 		var obj1 = {
 			friend: null
 		};
@@ -103,7 +103,7 @@ suite('Objects', () => {
 		obj1.friend = obj2;
 		obj2.friend = obj1;
 
-		var arr:any = [1];
+		var arr: any = [1];
 		arr.push(arr);
 
 		var circular = {
@@ -127,31 +127,33 @@ suite('Objects', () => {
 			a: 42,
 			b: '[Circular]',
 			c: [
-				{friend: {
-					friend: '[Circular]'
-				}},
+				{
+					friend: {
+						friend: '[Circular]'
+					}
+				},
 				'[Circular]'
 			],
 			d: [1, '[Circular]', '[Circular]']
 		});
 	});
 
-	test('derive', function() {
+	test('derive', function () {
 
 		var someValue = 2;
 
-		function Base():void {
+		function Base(): void {
 			//example
 		}
 		(<any>Base).favoriteColor = 'blue';
-		Base.prototype.test = function() { return 42; };
+		Base.prototype.test = function () { return 42; };
 
-		function Child():void {
+		function Child(): void {
 			//example
 		}
-		Child.prototype.test2 = function() { return 43; };
+		Child.prototype.test2 = function () { return 43; };
 		Object.defineProperty(Child.prototype, 'getter', {
-			get: function() { return someValue; },
+			get: function () { return someValue; },
 			enumerable: true,
 			configurable: true
 		});
diff --git a/src/vs/base/test/common/uri.test.ts b/src/vs/base/test/common/uri.test.ts
index 0fd201af25597..a80a276f70f5e 100644
--- a/src/vs/base/test/common/uri.test.ts
+++ b/src/vs/base/test/common/uri.test.ts
@@ -6,7 +6,7 @@
 
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
-import {normalize} from 'vs/base/common/paths';
+import { normalize } from 'vs/base/common/paths';
 
 suite('URI', () => {
 	test('file#toString', () => {
@@ -368,7 +368,7 @@ suite('URI', () => {
 		test('file://monacotools1/certificates/SSL/', '\\\\monacotools1\\certificates\\SSL\\');
 	});
 
-	test('URI - http, query & toString', function() {
+	test('URI - http, query & toString', function () {
 
 		let uri = URI.parse('https://go.microsoft.com/fwlink/?LinkId=518008');
 		assert.equal(uri.query, 'LinkId=518008');
@@ -404,7 +404,7 @@ suite('URI', () => {
 		// console.profile();
 		// let c = 100000;
 		// while (c-- > 0) {
-		for(let value of values) {
+		for (let value of values) {
 			let data = value.toJSON();
 			let clone = URI.revive(data);
 
diff --git a/src/vs/base/test/node/config.test.ts b/src/vs/base/test/node/config.test.ts
index c338d9a6ba007..ba968101d7616 100644
--- a/src/vs/base/test/node/config.test.ts
+++ b/src/vs/base/test/node/config.test.ts
@@ -12,7 +12,7 @@ import path = require('path');
 import fs = require('fs');
 import extfs = require('vs/base/node/extfs');
 import uuid = require('vs/base/common/uuid');
-import {ConfigWatcher} from 'vs/base/node/config';
+import { ConfigWatcher } from 'vs/base/node/config';
 
 suite('Config', () => {
 
diff --git a/src/vs/base/test/node/port.test.ts b/src/vs/base/test/node/port.test.ts
index 185501d647401..840cbf97aa0e7 100644
--- a/src/vs/base/test/node/port.test.ts
+++ b/src/vs/base/test/node/port.test.ts
@@ -18,7 +18,7 @@ suite('Ports', () => {
 
 			// create a server to block this port
 			const server = net.createServer();
-			server.listen(initialPort, null, null, () =>  {
+			server.listen(initialPort, null, null, () => {
 
 				// once listening, find another free port and assert that the port is different from the opened one
 				ports.findFreePort(7000, 50, 300000, (freePort) => {
diff --git a/src/vs/base/worker/defaultWorkerFactory.ts b/src/vs/base/worker/defaultWorkerFactory.ts
index 612809e6ef6fc..c9ba5eadbd444 100644
--- a/src/vs/base/worker/defaultWorkerFactory.ts
+++ b/src/vs/base/worker/defaultWorkerFactory.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as flags from 'vs/base/common/flags';
-import {logOnceWebWorkerWarning, IWorker, IWorkerCallback, IWorkerFactory} from 'vs/base/common/worker/simpleWorker';
+import { logOnceWebWorkerWarning, IWorker, IWorkerCallback, IWorkerFactory } from 'vs/base/common/worker/simpleWorker';
 
-function defaultGetWorkerUrl(workerId:string, label:string): string {
+function defaultGetWorkerUrl(workerId: string, label: string): string {
 	return require.toUrl('./' + workerId) + '#' + label;
 }
 var getWorkerUrl = flags.getCrossOriginWorkerScriptUrl || defaultGetWorkerUrl;
@@ -19,14 +19,14 @@ var getWorkerUrl = flags.getCrossOriginWorkerScriptUrl || defaultGetWorkerUrl;
  */
 class WebWorker implements IWorker {
 
-	private id:number;
-	private worker:Worker;
+	private id: number;
+	private worker: Worker;
 
-	constructor(moduleId:string, id:number, label:string, onMessageCallback:IWorkerCallback, onErrorCallback:(err:any)=>void) {
+	constructor(moduleId: string, id: number, label: string, onMessageCallback: IWorkerCallback, onErrorCallback: (err: any) => void) {
 		this.id = id;
 		this.worker = new Worker(getWorkerUrl('workerMain.js', label));
 		this.postMessage(moduleId);
-		this.worker.onmessage = function (ev:any) {
+		this.worker.onmessage = function (ev: any) {
 			onMessageCallback(ev.data);
 		};
 		if (typeof this.worker.addEventListener === 'function') {
@@ -38,7 +38,7 @@ class WebWorker implements IWorker {
 		return this.id;
 	}
 
-	public postMessage(msg:string): void {
+	public postMessage(msg: string): void {
 		if (this.worker) {
 			this.worker.postMessage(msg);
 		}
@@ -55,14 +55,14 @@ export class DefaultWorkerFactory implements IWorkerFactory {
 	private static LAST_WORKER_ID = 0;
 
 	private _label: string;
-	private _webWorkerFailedBeforeError:any;
+	private _webWorkerFailedBeforeError: any;
 
-	constructor(label:string) {
+	constructor(label: string) {
 		this._label = label;
 		this._webWorkerFailedBeforeError = false;
 	}
 
-	public create(moduleId:string, onMessageCallback:IWorkerCallback, onErrorCallback:(err:any)=>void):IWorker {
+	public create(moduleId: string, onMessageCallback: IWorkerCallback, onErrorCallback: (err: any) => void): IWorker {
 		let workerId = (++DefaultWorkerFactory.LAST_WORKER_ID);
 
 		if (this._webWorkerFailedBeforeError) {
diff --git a/src/vs/base/worker/workerMain.ts b/src/vs/base/worker/workerMain.ts
index 97dbf33fb41eb..f80f9d44e16b9 100644
--- a/src/vs/base/worker/workerMain.ts
+++ b/src/vs/base/worker/workerMain.ts
@@ -18,15 +18,15 @@
 		catchError: true
 	});
 
-	let loadCode = function(moduleId) {
-		require([moduleId], function(ws) {
-			setTimeout(function() {
-				let messageHandler = ws.create((msg:any) => {
+	let loadCode = function (moduleId) {
+		require([moduleId], function (ws) {
+			setTimeout(function () {
+				let messageHandler = ws.create((msg: any) => {
 					(<any>self).postMessage(msg);
 				}, null);
 
 				self.onmessage = (e) => messageHandler.onmessage(e.data);
-				while(beforeReadyMessages.length > 0) {
+				while (beforeReadyMessages.length > 0) {
 					self.onmessage(beforeReadyMessages.shift());
 				}
 			}, 0);
@@ -34,7 +34,7 @@
 	};
 
 	let isFirstMessage = true;
-	let beforeReadyMessages:MessageEvent[] = [];
+	let beforeReadyMessages: MessageEvent[] = [];
 	self.onmessage = (message) => {
 		if (!isFirstMessage) {
 			beforeReadyMessages.push(message);
diff --git a/src/vs/code/common/windows.ts b/src/vs/code/common/windows.ts
index 7e268b1945c25..70133a7223369 100644
--- a/src/vs/code/common/windows.ts
+++ b/src/vs/code/common/windows.ts
@@ -21,7 +21,7 @@ export class ActiveWindowManager implements IDisposable {
 	private disposables: IDisposable[] = [];
 	private _activeWindowId: number;
 
-	constructor(@IWindowEventService private windowService: IWindowEventService) {
+	constructor( @IWindowEventService private windowService: IWindowEventService) {
 		this.disposables.push(this.windowService.onNewWindowOpen(windowId => this.setActiveWindow(windowId)));
 		this.disposables.push(this.windowService.onWindowFocus(windowId => this.setActiveWindow(windowId)));
 	}
@@ -31,7 +31,7 @@ export class ActiveWindowManager implements IDisposable {
 	}
 
 	public get activeClientId(): string {
-		return `window:${ this._activeWindowId }`;
+		return `window:${this._activeWindowId}`;
 	}
 
 	public dispose() {
diff --git a/src/vs/code/electron-main/launch.ts b/src/vs/code/electron-main/launch.ts
index 185cd639486e0..ac17f0d6e6600 100644
--- a/src/vs/code/electron-main/launch.ts
+++ b/src/vs/code/electron-main/launch.ts
@@ -65,7 +65,7 @@ export class LaunchService implements ILaunchService {
 		@ILogService private logService: ILogService,
 		@IWindowsService private windowsService: IWindowsService,
 		@IURLService private urlService: IURLService
-	) {}
+	) { }
 
 	start(args: ParsedArgs, userEnv: IProcessEnvironment): TPromise<void> {
 		this.logService.log('Received data from other instance: ', args, userEnv);
diff --git a/src/vs/code/electron-main/lifecycle.ts b/src/vs/code/electron-main/lifecycle.ts
index ec6bbb747023e..cc2b48a12ff34 100644
--- a/src/vs/code/electron-main/lifecycle.ts
+++ b/src/vs/code/electron-main/lifecycle.ts
@@ -7,7 +7,7 @@
 
 import { EventEmitter } from 'events';
 import { ipcMain as ipc, app } from 'electron';
-import { TPromise, TValueCallback } from 'vs/base/common/winjs.base';
+import { TPromise, TValueCallback } from 'vs/base/common/winjs.base';
 import { ReadyState, VSCodeWindow } from 'vs/code/electron-main/window';
 import { IEnvironmentService } from 'vs/platform/environment/common/environment';
 import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
diff --git a/src/vs/code/electron-main/log.ts b/src/vs/code/electron-main/log.ts
index 27285dccdd3d5..caa630d6ad2e5 100644
--- a/src/vs/code/electron-main/log.ts
+++ b/src/vs/code/electron-main/log.ts
@@ -19,7 +19,7 @@ export class MainLogService implements ILogService {
 
 	_serviceBrand: any;
 
-	constructor(@IEnvironmentService private environmentService: IEnvironmentService) {
+	constructor( @IEnvironmentService private environmentService: IEnvironmentService) {
 	}
 
 	log(...args: any[]): void {
diff --git a/src/vs/code/electron-main/main.ts b/src/vs/code/electron-main/main.ts
index fd59d59862400..b08da75351fb0 100644
--- a/src/vs/code/electron-main/main.ts
+++ b/src/vs/code/electron-main/main.ts
@@ -273,7 +273,7 @@ function setupIPC(accessor: ServicesAccessor): TPromise<Server> {
 			promise = service.getMainProcessId()
 				.then(processId => {
 					logService.log('Sending some foreground love to the running instance:', processId);
-					
+
 					try {
 						const { allowSetForegroundWindow } = <any>require.__$__nodeRequire('windows-foreground-love');
 						allowSetForegroundWindow(processId);
diff --git a/src/vs/code/electron-main/storage.ts b/src/vs/code/electron-main/storage.ts
index 3f337a5495d23..d3f1351b6cca4 100644
--- a/src/vs/code/electron-main/storage.ts
+++ b/src/vs/code/electron-main/storage.ts
@@ -26,7 +26,7 @@ export class StorageService implements IStorageService {
 	private dbPath: string;
 	private database: any = null;
 
-	constructor(@IEnvironmentService private environmentService: IEnvironmentService) {
+	constructor( @IEnvironmentService private environmentService: IEnvironmentService) {
 		this.dbPath = path.join(environmentService.userDataPath, 'storage.json');
 	}
 
diff --git a/src/vs/code/electron-main/update-manager.ts b/src/vs/code/electron-main/update-manager.ts
index 36cb3fa03e7ab..d84105e84b7cb 100644
--- a/src/vs/code/electron-main/update-manager.ts
+++ b/src/vs/code/electron-main/update-manager.ts
@@ -251,6 +251,6 @@ export class UpdateManager extends EventEmitter implements IUpdateService {
 
 		const platform = process.platform === 'linux' ? `linux-${process.arch}` : process.platform;
 
-		return `${ product.updateUrl }/api/update/${ platform }/${ channel }/${ product.commit }`;
+		return `${product.updateUrl}/api/update/${platform}/${channel}/${product.commit}`;
 	}
 }
diff --git a/src/vs/code/electron-main/windows.ts b/src/vs/code/electron-main/windows.ts
index d4a9327154ff1..8cdb060be3256 100644
--- a/src/vs/code/electron-main/windows.ts
+++ b/src/vs/code/electron-main/windows.ts
@@ -24,7 +24,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
 import { IUpdateService, IUpdate } from 'vs/code/electron-main/update-manager';
 import { ILogService } from 'vs/code/electron-main/log';
 import { IWindowEventService } from 'vs/code/common/windows';
-import { createDecorator, IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator, IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import CommonEvent, { Emitter } from 'vs/base/common/event';
 import product from 'vs/platform/product';
 import { ParsedArgs } from 'vs/platform/environment/node/argv';
@@ -126,7 +126,7 @@ export class WindowEventService implements IWindowEventService {
 
 	_serviceBrand: any;
 
-	constructor(@IWindowsService private windowsService: IWindowsService) { }
+	constructor( @IWindowsService private windowsService: IWindowsService) { }
 
 	public get onWindowFocus(): CommonEvent<number> {
 		return this.windowsService.onWindowFocus;
@@ -465,7 +465,7 @@ export class WindowsManager implements IWindowsService {
 			const windows = this.getWindows();
 			const window = this.getWindowById(windowId);
 			window.send('vscode:switchWindow', windows.map(w => {
-				return {path: w.openedWorkspacePath, title: w.win.getTitle(), id: w.id};
+				return { path: w.openedWorkspacePath, title: w.win.getTitle(), id: w.id };
 			}));
 		});
 
diff --git a/src/vs/code/node/cli.ts b/src/vs/code/node/cli.ts
index 7097b5db30ed5..0ed40237eacd6 100644
--- a/src/vs/code/node/cli.ts
+++ b/src/vs/code/node/cli.ts
@@ -31,7 +31,7 @@ export function main(argv: string[]): TPromise<void> {
 	if (args.help) {
 		console.log(buildHelpMessage(product.nameLong, product.applicationName, pkg.version));
 	} else if (args.version) {
-		console.log(`${ pkg.version }\n${ product.commit }`);
+		console.log(`${pkg.version}\n${product.commit}`);
 	} else if (shouldSpawnCliProcess(args)) {
 		const mainCli = new TPromise<IMainCli>(c => require(['vs/code/node/cliProcessMain'], c));
 		return mainCli.then(cli => cli.main(args));
diff --git a/src/vs/code/node/cliProcessMain.ts b/src/vs/code/node/cliProcessMain.ts
index 7893453743dca..866122eba7271 100644
--- a/src/vs/code/node/cliProcessMain.ts
+++ b/src/vs/code/node/cliProcessMain.ts
@@ -30,24 +30,24 @@ import { RequestService } from 'vs/platform/request/node/requestService';
 import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
 import { ConfigurationService } from 'vs/platform/configuration/node/configurationService';
 import { AppInsightsAppender } from 'vs/platform/telemetry/node/appInsightsAppender';
-import {mkdirp} from 'vs/base/node/pfs';
+import { mkdirp } from 'vs/base/node/pfs';
 
 const notFound = id => localize('notFound', "Extension '{0}' not found.", id);
 const notInstalled = id => localize('notInstalled', "Extension '{0}' is not installed.", id);
 const useId = localize('useId', "Make sure you use the full extension ID, including the publisher, eg: {0}", 'ms-vscode.csharp');
 
 function getId(manifest: IExtensionManifest): string {
-	return `${ manifest.publisher }.${ manifest.name }`;
+	return `${manifest.publisher}.${manifest.name}`;
 }
 
-type Task = { ():TPromise<void> };
+type Task = { (): TPromise<void> };
 
 class Main {
 
 	constructor(
 		@IExtensionManagementService private extensionManagementService: IExtensionManagementService,
 		@IExtensionGalleryService private extensionGalleryService: IExtensionGalleryService
-	) {}
+	) { }
 
 	run(argv: ParsedArgs): TPromise<any> {
 		// TODO@joao - make this contributable
@@ -110,7 +110,7 @@ class Main {
 							const [extension] = result.firstPage;
 
 							if (!extension) {
-								return TPromise.wrapError(`${ notFound(id) }\n${ useId }`);
+								return TPromise.wrapError(`${notFound(id)}\n${useId}`);
 							}
 
 							console.log(localize('foundExtension', "Found '{0}' in the marketplace.", id));
@@ -131,7 +131,7 @@ class Main {
 				const [extension] = installed.filter(e => getId(e.manifest) === id);
 
 				if (!extension) {
-					return TPromise.wrapError(`${ notInstalled(id) }\n${ useId }`);
+					return TPromise.wrapError(`${notInstalled(id)}\n${useId}`);
 				}
 
 				console.log(localize('uninstalling', "Uninstalling {0}...", id));
diff --git a/src/vs/code/node/sharedProcessMain.ts b/src/vs/code/node/sharedProcessMain.ts
index 6e873db4c3958..86313446bfd94 100644
--- a/src/vs/code/node/sharedProcessMain.ts
+++ b/src/vs/code/node/sharedProcessMain.ts
@@ -30,8 +30,8 @@ import { TelemetryAppenderChannel } from 'vs/platform/telemetry/common/telemetry
 import { TelemetryService, ITelemetryServiceConfig } from 'vs/platform/telemetry/common/telemetryService';
 import { AppInsightsAppender } from 'vs/platform/telemetry/node/appInsightsAppender';
 import { ISharedProcessInitData } from './sharedProcess';
-import {IChoiceService} from 'vs/platform/message/common/message';
-import {ChoiceChannelClient} from 'vs/platform/message/common/messageIpc';
+import { IChoiceService } from 'vs/platform/message/common/message';
+import { ChoiceChannelClient } from 'vs/platform/message/common/messageIpc';
 import { WindowEventChannelClient } from 'vs/code/common/windowsIpc';
 import { IWindowEventService, ActiveWindowManager } from 'vs/code/common/windows';
 
@@ -66,7 +66,7 @@ function main(server: Server, initData: ISharedProcessInitData): void {
 	services.set(IConfigurationService, new SyncDescriptor(ConfigurationService));
 	services.set(IRequestService, new SyncDescriptor(RequestService));
 
-	const windowEventService:IWindowEventService = new WindowEventChannelClient(server.getChannel('windowEvent', {
+	const windowEventService: IWindowEventService = new WindowEventChannelClient(server.getChannel('windowEvent', {
 		routeCall: (command: any, arg: any) => {
 			return 'main';
 		}
diff --git a/src/vs/code/test/node/argv.test.ts b/src/vs/code/test/node/argv.test.ts
index dec7e806bddd2..c322fc5f96f8a 100644
--- a/src/vs/code/test/node/argv.test.ts
+++ b/src/vs/code/test/node/argv.test.ts
@@ -5,11 +5,11 @@
 'use strict';
 
 import assert = require('assert');
-import {formatOptions} from 'vs/platform/environment/node/argv';
+import { formatOptions } from 'vs/platform/environment/node/argv';
 
 suite('formatOptions', () => {
 	test('Text should display small columns correctly', () => {
-		assert.equal(formatOptions({'foo': 'bar'}, 80), '  foo bar');
+		assert.equal(formatOptions({ 'foo': 'bar' }, 80), '  foo bar');
 		assert.equal(
 			formatOptions({
 				'f': 'bar',
diff --git a/src/vs/css.d.ts b/src/vs/css.d.ts
index 4a064bb321eb4..11a10ed5950c1 100644
--- a/src/vs/css.d.ts
+++ b/src/vs/css.d.ts
@@ -2,4 +2,4 @@
  *  Copyright (c) Microsoft Corporation. All rights reserved.
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
-	
+
diff --git a/src/vs/editor/browser/codeEditor.ts b/src/vs/editor/browser/codeEditor.ts
index 9374587ae6cd4..21b25e366e9fc 100644
--- a/src/vs/editor/browser/codeEditor.ts
+++ b/src/vs/editor/browser/codeEditor.ts
@@ -4,21 +4,21 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {IEditorOptions} from 'vs/editor/common/editorCommon';
-import {IEditorContributionCtor} from 'vs/editor/browser/editorBrowser';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {CodeEditorWidget} from 'vs/editor/browser/widget/codeEditorWidget';
-import {EditorAction, CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {EditorBrowserRegistry} from 'vs/editor/browser/editorBrowserExtensions';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { IEditorOptions } from 'vs/editor/common/editorCommon';
+import { IEditorContributionCtor } from 'vs/editor/browser/editorBrowser';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget';
+import { EditorAction, CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { EditorBrowserRegistry } from 'vs/editor/browser/editorBrowserExtensions';
 
 export class CodeEditor extends CodeEditorWidget {
 
 	constructor(
-		domElement:HTMLElement,
-		options:IEditorOptions,
+		domElement: HTMLElement,
+		options: IEditorOptions,
 		@IInstantiationService instantiationService: IInstantiationService,
 		@ICodeEditorService codeEditorService: ICodeEditorService,
 		@ICommandService commandService: ICommandService,
diff --git a/src/vs/editor/browser/config/configuration.ts b/src/vs/editor/browser/config/configuration.ts
index 56cbb755aa4f0..bfafc275e52e0 100644
--- a/src/vs/editor/browser/config/configuration.ts
+++ b/src/vs/editor/browser/config/configuration.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import Event, {Emitter} from 'vs/base/common/event';
-import {Disposable} from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
+import { Disposable } from 'vs/base/common/lifecycle';
 import * as platform from 'vs/base/common/platform';
 import * as browser from 'vs/base/browser/browser';
-import {CommonEditorConfiguration} from 'vs/editor/common/config/commonEditorConfig';
-import {IDimension, FontInfo, BareFontInfo} from 'vs/editor/common/editorCommon';
-import {ElementSizeObserver} from 'vs/editor/browser/config/elementSizeObserver';
-import {FastDomNode} from 'vs/base/browser/styleMutator';
+import { CommonEditorConfiguration } from 'vs/editor/common/config/commonEditorConfig';
+import { IDimension, FontInfo, BareFontInfo } from 'vs/editor/common/editorCommon';
+import { ElementSizeObserver } from 'vs/editor/browser/config/elementSizeObserver';
+import { FastDomNode } from 'vs/base/browser/styleMutator';
 
 class CSSBasedConfigurationCache {
 
@@ -48,12 +48,12 @@ class CharWidthReader {
 
 	public get width(): number { return this._width; }
 
-	constructor(chr:string) {
+	constructor(chr: string) {
 		this._chr = chr;
 		this._width = 0;
 	}
 
-	public render(out:HTMLSpanElement): void {
+	public render(out: HTMLSpanElement): void {
 		if (this._chr === ' ') {
 			let htmlString = '&nbsp;';
 			// Repeat character 256 (2^8) times
@@ -71,7 +71,7 @@ class CharWidthReader {
 		}
 	}
 
-	public read(out:HTMLSpanElement): void {
+	public read(out: HTMLSpanElement): void {
 		this._width = out.offsetWidth / 256;
 	}
 }
@@ -148,11 +148,11 @@ class CSSBasedConfiguration extends Disposable {
 		}
 	}
 
-	private static _testElementId(index:number): string {
+	private static _testElementId(index: number): string {
 		return 'editorSizeProvider' + index;
 	}
 
-	private static _createTestElements(bareFontInfo: BareFontInfo, readers:CharWidthReader[]): HTMLElement {
+	private static _createTestElements(bareFontInfo: BareFontInfo, readers: CharWidthReader[]): HTMLElement {
 		let container = document.createElement('div');
 		Configuration.applyFontInfoSlow(container, bareFontInfo);
 		container.style.position = 'absolute';
@@ -174,13 +174,13 @@ class CSSBasedConfiguration extends Disposable {
 		return container;
 	}
 
-	private static _readFromTestElements(readers:CharWidthReader[]): void {
+	private static _readFromTestElements(readers: CharWidthReader[]): void {
 		for (let i = 0, len = readers.length; i < len; i++) {
 			readers[i].read(document.getElementById(this._testElementId(i)));
 		}
 	}
 
-	private static _runReaders(bareFontInfo: BareFontInfo, readers:CharWidthReader[]): void {
+	private static _runReaders(bareFontInfo: BareFontInfo, readers: CharWidthReader[]): void {
 		// Create a test container with all these test elements
 		let testContainer = this._createTestElements(bareFontInfo, readers);
 
@@ -236,7 +236,7 @@ export class Configuration extends CommonEditorConfiguration {
 		domNode.setLineHeight(fontInfo.lineHeight);
 	}
 
-	constructor(options:any, referenceDomElement:HTMLElement = null) {
+	constructor(options: any, referenceDomElement: HTMLElement = null) {
 		super(options, new ElementSizeObserver(referenceDomElement, () => this._onReferenceDomElementSizeChanged()));
 
 		this._register(CSSBasedConfiguration.INSTANCE.onDidChange(() => () => this._onCSSBasedConfigurationChanged()));
@@ -256,7 +256,7 @@ export class Configuration extends CommonEditorConfiguration {
 		this._recomputeOptions();
 	}
 
-	public observeReferenceElement(dimension?:IDimension): void {
+	public observeReferenceElement(dimension?: IDimension): void {
 		this._elementSizeObserver.observe(dimension);
 	}
 
@@ -265,7 +265,7 @@ export class Configuration extends CommonEditorConfiguration {
 		super.dispose();
 	}
 
-	protected _getEditorClassName(theme:string, fontLigatures:boolean): string {
+	protected _getEditorClassName(theme: string, fontLigatures: boolean): string {
 		let extra = '';
 		if (browser.isIE11orEarlier) {
 			extra += 'ie ';
@@ -298,7 +298,7 @@ export class Configuration extends CommonEditorConfiguration {
 		return browser.canUseTranslate3d && browser.getZoomLevel() === 0;
 	}
 
-	protected readConfiguration(bareFontInfo:BareFontInfo): FontInfo {
+	protected readConfiguration(bareFontInfo: BareFontInfo): FontInfo {
 		return CSSBasedConfiguration.INSTANCE.readConfiguration(bareFontInfo);
 	}
 }
diff --git a/src/vs/editor/browser/config/elementSizeObserver.ts b/src/vs/editor/browser/config/elementSizeObserver.ts
index f7e25066845d5..2860d2caca9c0 100644
--- a/src/vs/editor/browser/config/elementSizeObserver.ts
+++ b/src/vs/editor/browser/config/elementSizeObserver.ts
@@ -4,19 +4,19 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Disposable} from 'vs/base/common/lifecycle';
-import {IDimension} from 'vs/editor/common/editorCommon';
-import {IElementSizeObserver} from 'vs/editor/common/config/commonEditorConfig';
+import { Disposable } from 'vs/base/common/lifecycle';
+import { IDimension } from 'vs/editor/common/editorCommon';
+import { IElementSizeObserver } from 'vs/editor/common/config/commonEditorConfig';
 
 export class ElementSizeObserver extends Disposable implements IElementSizeObserver {
 
-	private referenceDomElement:HTMLElement;
-	private measureReferenceDomElementToken:number;
-	private changeCallback:()=>void;
-	private width:number;
-	private height:number;
+	private referenceDomElement: HTMLElement;
+	private measureReferenceDomElementToken: number;
+	private changeCallback: () => void;
+	private width: number;
+	private height: number;
 
-	constructor(referenceDomElement:HTMLElement, changeCallback:()=>void) {
+	constructor(referenceDomElement: HTMLElement, changeCallback: () => void) {
 		super();
 		this.referenceDomElement = referenceDomElement;
 		this.changeCallback = changeCallback;
@@ -52,11 +52,11 @@ export class ElementSizeObserver extends Disposable implements IElementSizeObser
 		}
 	}
 
-	public observe(dimension?:IDimension): void {
+	public observe(dimension?: IDimension): void {
 		this.measureReferenceDomElement(true, dimension);
 	}
 
-	private measureReferenceDomElement(callChangeCallback:boolean, dimension?:IDimension): void {
+	private measureReferenceDomElement(callChangeCallback: boolean, dimension?: IDimension): void {
 		var observedWidth = 0;
 		var observedHeight = 0;
 		if (dimension) {
diff --git a/src/vs/editor/browser/controller/input/textAreaWrapper.ts b/src/vs/editor/browser/controller/input/textAreaWrapper.ts
index 3037fc23a0da9..86c22c5d88a6f 100644
--- a/src/vs/editor/browser/controller/input/textAreaWrapper.ts
+++ b/src/vs/editor/browser/controller/input/textAreaWrapper.ts
@@ -4,18 +4,18 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import Event, {Emitter} from 'vs/base/common/event';
-import {Disposable} from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
+import { Disposable } from 'vs/base/common/lifecycle';
 import * as browser from 'vs/base/browser/browser';
 import * as dom from 'vs/base/browser/dom';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {IClipboardEvent, ICompositionEvent, IKeyboardEventWrapper, ITextAreaWrapper} from 'vs/editor/common/controller/textAreaState';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { IClipboardEvent, ICompositionEvent, IKeyboardEventWrapper, ITextAreaWrapper } from 'vs/editor/common/controller/textAreaState';
 
 class ClipboardEventWrapper implements IClipboardEvent {
 
-	private _event:ClipboardEvent;
+	private _event: ClipboardEvent;
 
-	constructor(event:ClipboardEvent) {
+	constructor(event: ClipboardEvent) {
 		this._event = event;
 	}
 
@@ -29,7 +29,7 @@ class ClipboardEventWrapper implements IClipboardEvent {
 		return false;
 	}
 
-	public setTextData(text:string): void {
+	public setTextData(text: string): void {
 		if (this._event.clipboardData) {
 			this._event.clipboardData.setData('text/plain', text);
 			this._event.preventDefault();
@@ -64,11 +64,11 @@ class KeyboardEventWrapper implements IKeyboardEventWrapper {
 
 	public _actual: IKeyboardEvent;
 
-	constructor(actual:IKeyboardEvent) {
+	constructor(actual: IKeyboardEvent) {
 		this._actual = actual;
 	}
 
-	public equals(keybinding:number): boolean {
+	public equals(keybinding: number): boolean {
 		return this._actual.equals(keybinding);
 	}
 
@@ -129,9 +129,9 @@ export class TextAreaWrapper extends Disposable implements ITextAreaWrapper {
 		this._register(dom.addDisposableListener(this._textArea, 'compositionupdate', (e) => this._onCompositionUpdate.fire(e)));
 		this._register(dom.addDisposableListener(this._textArea, 'compositionend', (e) => this._onCompositionEnd.fire(e)));
 		this._register(dom.addDisposableListener(this._textArea, 'input', (e) => this._onInput.fire()));
-		this._register(dom.addDisposableListener(this._textArea, 'cut', (e:ClipboardEvent) => this._onCut.fire(new ClipboardEventWrapper(e))));
-		this._register(dom.addDisposableListener(this._textArea, 'copy', (e:ClipboardEvent) => this._onCopy.fire(new ClipboardEventWrapper(e))));
-		this._register(dom.addDisposableListener(this._textArea, 'paste', (e:ClipboardEvent) => this._onPaste.fire(new ClipboardEventWrapper(e))));
+		this._register(dom.addDisposableListener(this._textArea, 'cut', (e: ClipboardEvent) => this._onCut.fire(new ClipboardEventWrapper(e))));
+		this._register(dom.addDisposableListener(this._textArea, 'copy', (e: ClipboardEvent) => this._onCopy.fire(new ClipboardEventWrapper(e))));
+		this._register(dom.addDisposableListener(this._textArea, 'paste', (e: ClipboardEvent) => this._onPaste.fire(new ClipboardEventWrapper(e))));
 	}
 
 	public get actual(): HTMLTextAreaElement {
@@ -143,7 +143,7 @@ export class TextAreaWrapper extends Disposable implements ITextAreaWrapper {
 		return this._textArea.value;
 	}
 
-	public setValue(reason:string, value:string): void {
+	public setValue(reason: string, value: string): void {
 		// console.log('reason: ' + reason + ', current value: ' + this._textArea.value + ' => new value: ' + value);
 		this._textArea.value = value;
 	}
@@ -156,7 +156,7 @@ export class TextAreaWrapper extends Disposable implements ITextAreaWrapper {
 		return this._textArea.selectionEnd;
 	}
 
-	public setSelectionRange(selectionStart:number, selectionEnd:number): void {
+	public setSelectionRange(selectionStart: number, selectionEnd: number): void {
 		let activeElement = document.activeElement;
 		if (activeElement === this._textArea) {
 			this._textArea.setSelectionRange(selectionStart, selectionEnd);
@@ -165,13 +165,13 @@ export class TextAreaWrapper extends Disposable implements ITextAreaWrapper {
 		}
 	}
 
-	private _setSelectionRangeJumpy(selectionStart:number, selectionEnd:number): void {
+	private _setSelectionRangeJumpy(selectionStart: number, selectionEnd: number): void {
 		try {
 			let scrollState = dom.saveParentsScrollTop(this._textArea);
 			this._textArea.focus();
 			this._textArea.setSelectionRange(selectionStart, selectionEnd);
 			dom.restoreParentsScrollTop(this._textArea, scrollState);
-		} catch(e) {
+		} catch (e) {
 			// Sometimes IE throws when setting selection (e.g. textarea is off-DOM)
 			console.log('an error has been thrown!');
 		}
diff --git a/src/vs/editor/browser/controller/keyboardHandler.ts b/src/vs/editor/browser/controller/keyboardHandler.ts
index a8040a835af69..070e69cb887ac 100644
--- a/src/vs/editor/browser/controller/keyboardHandler.ts
+++ b/src/vs/editor/browser/controller/keyboardHandler.ts
@@ -4,46 +4,46 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import * as browser from 'vs/base/browser/browser';
 import * as dom from 'vs/base/browser/dom';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
-import {GlobalScreenReaderNVDA} from 'vs/editor/common/config/commonEditorConfig';
-import {TextAreaHandler} from 'vs/editor/common/controller/textAreaHandler';
-import {TextAreaStrategy} from 'vs/editor/common/controller/textAreaState';
-import {Range} from 'vs/editor/common/core/range';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
+import { GlobalScreenReaderNVDA } from 'vs/editor/common/config/commonEditorConfig';
+import { TextAreaHandler } from 'vs/editor/common/controller/textAreaHandler';
+import { TextAreaStrategy } from 'vs/editor/common/controller/textAreaState';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ViewEventHandler} from 'vs/editor/common/viewModel/viewEventHandler';
-import {IViewController} from 'vs/editor/browser/editorBrowser';
-import {Configuration} from 'vs/editor/browser/config/configuration';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {VisibleRange} from 'vs/editor/common/view/renderingContext';
-import {TextAreaWrapper} from 'vs/editor/browser/controller/input/textAreaWrapper';
+import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
+import { IViewController } from 'vs/editor/browser/editorBrowser';
+import { Configuration } from 'vs/editor/browser/config/configuration';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { VisibleRange } from 'vs/editor/common/view/renderingContext';
+import { TextAreaWrapper } from 'vs/editor/browser/controller/input/textAreaWrapper';
 
 export interface IKeyboardHandlerHelper {
-	viewDomNode:HTMLElement;
-	textArea:HTMLTextAreaElement;
-	visibleRangeForPositionRelativeToEditor(lineNumber:number, column:number): VisibleRange;
+	viewDomNode: HTMLElement;
+	textArea: HTMLTextAreaElement;
+	visibleRangeForPositionRelativeToEditor(lineNumber: number, column: number): VisibleRange;
 	flushAnyAccumulatedEvents(): void;
 }
 
 export class KeyboardHandler extends ViewEventHandler implements IDisposable {
 
-	private _context:ViewContext;
-	private viewController:IViewController;
-	private viewHelper:IKeyboardHandlerHelper;
-	private textArea:TextAreaWrapper;
-	private textAreaHandler:TextAreaHandler;
-	private _toDispose:IDisposable[];
+	private _context: ViewContext;
+	private viewController: IViewController;
+	private viewHelper: IKeyboardHandlerHelper;
+	private textArea: TextAreaWrapper;
+	private textAreaHandler: TextAreaHandler;
+	private _toDispose: IDisposable[];
 
-	private contentLeft:number;
-	private contentWidth:number;
-	private scrollLeft:number;
+	private contentLeft: number;
+	private contentWidth: number;
+	private scrollLeft: number;
 
-	private visibleRange:VisibleRange;
+	private visibleRange: VisibleRange;
 
-	constructor(context:ViewContext, viewController:IViewController, viewHelper:IKeyboardHandlerHelper) {
+	constructor(context: ViewContext, viewController: IViewController, viewHelper: IKeyboardHandlerHelper) {
 		super();
 
 		this._context = context;
@@ -74,7 +74,7 @@ export class KeyboardHandler extends ViewEventHandler implements IDisposable {
 			let lineNumber = e.showAtLineNumber;
 			let column = e.showAtColumn;
 
-			let revealPositionEvent:editorCommon.IViewRevealRangeEvent = {
+			let revealPositionEvent: editorCommon.IViewRevealRangeEvent = {
 				range: new Range(lineNumber, column, lineNumber, column),
 				verticalType: editorCommon.VerticalRevealType.Simple,
 				revealHorizontal: true,
@@ -171,7 +171,7 @@ export class KeyboardHandler extends ViewEventHandler implements IDisposable {
 		return false;
 	}
 
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		this.scrollLeft = e.scrollLeft;
 		if (this.visibleRange) {
 			StyleMutator.setTop(this.textArea.actual, this.visibleRange.top);
@@ -180,18 +180,18 @@ export class KeyboardHandler extends ViewEventHandler implements IDisposable {
 		return false;
 	}
 
-	public onViewFocusChanged(isFocused:boolean): boolean {
+	public onViewFocusChanged(isFocused: boolean): boolean {
 		this.textAreaHandler.setHasFocus(isFocused);
 		return false;
 	}
 
-	private _lastCursorSelectionChanged:editorCommon.IViewCursorSelectionChangedEvent = null;
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): boolean {
+	private _lastCursorSelectionChanged: editorCommon.IViewCursorSelectionChangedEvent = null;
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
 		this._lastCursorSelectionChanged = e;
 		return false;
 	}
 
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		this.contentLeft = layoutInfo.contentLeft;
 		this.contentWidth = layoutInfo.contentWidth;
 		return false;
diff --git a/src/vs/editor/browser/controller/mouseHandler.ts b/src/vs/editor/browser/controller/mouseHandler.ts
index 6b33bc0c8efc3..4816b4a61299c 100644
--- a/src/vs/editor/browser/controller/mouseHandler.ts
+++ b/src/vs/editor/browser/controller/mouseHandler.ts
@@ -4,29 +4,29 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable, dispose, Disposable} from 'vs/base/common/lifecycle';
+import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle';
 import * as platform from 'vs/base/common/platform';
 import * as browser from 'vs/base/browser/browser';
 import * as dom from 'vs/base/browser/dom';
-import {Position} from 'vs/editor/common/core/position';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Position } from 'vs/editor/common/core/position';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ViewEventHandler} from 'vs/editor/common/viewModel/viewEventHandler';
-import {MouseTargetFactory} from 'vs/editor/browser/controller/mouseTarget';
+import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
+import { MouseTargetFactory } from 'vs/editor/browser/controller/mouseTarget';
 import * as editorBrowser from 'vs/editor/browser/editorBrowser';
-import {TimeoutTimer, RunOnceScheduler} from 'vs/base/common/async';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {VisibleRange} from 'vs/editor/common/view/renderingContext';
-import {EditorMouseEventFactory, GlobalEditorMouseMoveMonitor, EditorMouseEvent} from 'vs/editor/browser/editorDom';
-import {StandardMouseWheelEvent} from 'vs/base/browser/mouseEvent';
-import {EditorZoom} from 'vs/editor/common/config/commonEditorConfig';
-import {IViewCursorRenderData} from 'vs/editor/browser/viewParts/viewCursors/viewCursor';
+import { TimeoutTimer, RunOnceScheduler } from 'vs/base/common/async';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { VisibleRange } from 'vs/editor/common/view/renderingContext';
+import { EditorMouseEventFactory, GlobalEditorMouseMoveMonitor, EditorMouseEvent } from 'vs/editor/browser/editorDom';
+import { StandardMouseWheelEvent } from 'vs/base/browser/mouseEvent';
+import { EditorZoom } from 'vs/editor/common/config/commonEditorConfig';
+import { IViewCursorRenderData } from 'vs/editor/browser/viewParts/viewCursors/viewCursor';
 
 /**
  * Merges mouse events when mouse move events are throttled
  */
-function createMouseMoveEventMerger(mouseTargetFactory:MouseTargetFactory) {
-	return function(lastEvent:EditorMouseEvent, currentEvent:EditorMouseEvent): EditorMouseEvent {
+function createMouseMoveEventMerger(mouseTargetFactory: MouseTargetFactory) {
+	return function (lastEvent: EditorMouseEvent, currentEvent: EditorMouseEvent): EditorMouseEvent {
 		let targetIsWidget = false;
 		if (mouseTargetFactory) {
 			targetIsWidget = mouseTargetFactory.mouseTargetIsWidget(currentEvent);
@@ -40,20 +40,20 @@ function createMouseMoveEventMerger(mouseTargetFactory:MouseTargetFactory) {
 
 class EventGateKeeper<T> extends Disposable {
 
-	public handler: (value:T)=>void;
+	public handler: (value: T) => void;
 
-	private _destination: (value:T)=>void;
-	private _condition: ()=>boolean;
+	private _destination: (value: T) => void;
+	private _condition: () => boolean;
 
 	private _retryTimer: TimeoutTimer;
 	private _retryValue: T;
 
-	constructor(destination:(value:T)=>void, condition:()=>boolean) {
+	constructor(destination: (value: T) => void, condition: () => boolean) {
 		super();
 		this._destination = destination;
 		this._condition = condition;
 		this._retryTimer = this._register(new TimeoutTimer());
-		this.handler = (value:T) => this._handle(value);
+		this.handler = (value: T) => this._handle(value);
 	}
 
 	public dispose(): void {
@@ -61,7 +61,7 @@ class EventGateKeeper<T> extends Disposable {
 		super.dispose();
 	}
 
-	private _handle(value:T): void {
+	private _handle(value: T): void {
 		if (this._condition()) {
 			this._retryTimer.cancel();
 			this._retryValue = null;
@@ -81,15 +81,15 @@ class MousePosition {
 	public position: Position;
 	public mouseColumn: number;
 
-	constructor(position:Position, mouseColumn:number) {
+	constructor(position: Position, mouseColumn: number) {
 		this.position = position;
 		this.mouseColumn = mouseColumn;
 	}
 }
 
 export interface IPointerHandlerHelper {
-	viewDomNode:HTMLElement;
-	linesContentDomNode:HTMLElement;
+	viewDomNode: HTMLElement;
+	linesContentDomNode: HTMLElement;
 
 	focusTextArea(): void;
 	isDirty(): boolean;
@@ -97,12 +97,12 @@ export interface IPointerHandlerHelper {
 	getScrollLeft(): number;
 	getScrollTop(): number;
 
-	setScrollPosition(position:editorCommon.INewScrollPosition): void;
+	setScrollPosition(position: editorCommon.INewScrollPosition): void;
 
-	isAfterLines(verticalOffset:number): boolean;
+	isAfterLines(verticalOffset: number): boolean;
 	getLineNumberAtVerticalOffset(verticalOffset: number): number;
 	getVerticalOffsetForLineNumber(lineNumber: number): number;
-	getWhitespaceAtVerticalOffset(verticalOffset:number): editorCommon.IViewWhitespaceViewportData;
+	getWhitespaceAtVerticalOffset(verticalOffset: number): editorCommon.IViewWhitespaceViewportData;
 
 	/**
 	 * Get the last rendered information of the cursors.
@@ -115,30 +115,30 @@ export interface IPointerHandlerHelper {
 	/**
 	 * Decode an Editor.IPosition from a rendered dom node
 	 */
-	getPositionFromDOMInfo(spanNode:HTMLElement, offset:number): editorCommon.IPosition;
+	getPositionFromDOMInfo(spanNode: HTMLElement, offset: number): editorCommon.IPosition;
 
-	visibleRangeForPosition2(lineNumber:number, column:number): VisibleRange;
-	getLineWidth(lineNumber:number): number;
+	visibleRangeForPosition2(lineNumber: number, column: number): VisibleRange;
+	getLineWidth(lineNumber: number): number;
 }
 
 export class MouseHandler extends ViewEventHandler implements IDisposable {
 
 	static MOUSE_MOVE_MINIMUM_TIME = 100; // ms
 
-	protected _context:ViewContext;
-	protected viewController:editorBrowser.IViewController;
-	protected viewHelper:IPointerHandlerHelper;
+	protected _context: ViewContext;
+	protected viewController: editorBrowser.IViewController;
+	protected viewHelper: IPointerHandlerHelper;
 	protected mouseTargetFactory: MouseTargetFactory;
-	protected listenersToRemove:IDisposable[];
-	private toDispose:IDisposable[];
+	protected listenersToRemove: IDisposable[];
+	private toDispose: IDisposable[];
 	private _asyncFocus: RunOnceScheduler;
 
 	private _mouseDownOperation: MouseDownOperation;
-	private lastMouseLeaveTime:number;
+	private lastMouseLeaveTime: number;
 
 	private _mouseMoveEventHandler: EventGateKeeper<EditorMouseEvent>;
 
-	constructor(context:ViewContext, viewController:editorBrowser.IViewController, viewHelper:IPointerHandlerHelper) {
+	constructor(context: ViewContext, viewController: editorBrowser.IViewController, viewHelper: IPointerHandlerHelper) {
 		super();
 
 		this._context = context;
@@ -183,7 +183,7 @@ export class MouseHandler extends ViewEventHandler implements IDisposable {
 			}
 			let e = new StandardMouseWheelEvent(browserEvent);
 			if (e.browserEvent.ctrlKey || e.browserEvent.metaKey) {
-				let zoomLevel:number = EditorZoom.getZoomLevel();
+				let zoomLevel: number = EditorZoom.getZoomLevel();
 				let delta = e.deltaY > 0 ? 1 : -1;
 				EditorZoom.setZoomLevel(zoomLevel + delta);
 				e.preventDefault();
@@ -204,36 +204,36 @@ export class MouseHandler extends ViewEventHandler implements IDisposable {
 	}
 
 	// --- begin event handlers
-	_layoutInfo:editorCommon.EditorLayoutInfo;
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	_layoutInfo: editorCommon.EditorLayoutInfo;
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		this._layoutInfo = layoutInfo;
 		return false;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		this._mouseDownOperation.onScrollChanged();
 		return false;
 	}
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): boolean {
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
 		this._mouseDownOperation.onCursorSelectionChanged(e);
 		return false;
 	}
 	private _isFocused = false;
-	public onViewFocusChanged(isFocused:boolean): boolean {
+	public onViewFocusChanged(isFocused: boolean): boolean {
 		this._isFocused = isFocused;
 		return false;
 	}
 	// --- end event handlers
 
-	protected _createMouseTarget(e:EditorMouseEvent, testEventTarget:boolean): editorBrowser.IMouseTarget {
+	protected _createMouseTarget(e: EditorMouseEvent, testEventTarget: boolean): editorBrowser.IMouseTarget {
 		let lastViewCursorsRenderData = this.viewHelper.getLastViewCursorsRenderData();
 		return this.mouseTargetFactory.createMouseTarget(this._layoutInfo, lastViewCursorsRenderData, e, testEventTarget);
 	}
 
-	private _getMouseColumn(e:EditorMouseEvent): number {
+	private _getMouseColumn(e: EditorMouseEvent): number {
 		return this.mouseTargetFactory.getMouseColumn(this._layoutInfo, e);
 	}
 
-	protected _onContextMenu(e: EditorMouseEvent, testEventTarget:boolean): void {
+	protected _onContextMenu(e: EditorMouseEvent, testEventTarget: boolean): void {
 		this.viewController.emitContextMenu({
 			event: e,
 			target: this._createMouseTarget(e, testEventTarget)
@@ -327,11 +327,11 @@ export class MouseHandler extends ViewEventHandler implements IDisposable {
 
 class MouseDownOperation extends Disposable {
 
-	private _context:ViewContext;
-	private _viewController:editorBrowser.IViewController;
-	private _viewHelper:IPointerHandlerHelper;
-	private _createMouseTarget:(e:EditorMouseEvent, testEventTarget:boolean)=>editorBrowser.IMouseTarget;
-	private _getMouseColumn:(e:EditorMouseEvent)=>number;
+	private _context: ViewContext;
+	private _viewController: editorBrowser.IViewController;
+	private _viewHelper: IPointerHandlerHelper;
+	private _createMouseTarget: (e: EditorMouseEvent, testEventTarget: boolean) => editorBrowser.IMouseTarget;
+	private _getMouseColumn: (e: EditorMouseEvent) => number;
 
 	private _mouseMoveMonitor: GlobalEditorMouseMoveMonitor;
 	private _mouseDownThenMoveEventHandler: EventGateKeeper<EditorMouseEvent>;
@@ -345,11 +345,11 @@ class MouseDownOperation extends Disposable {
 	private _lastMouseEvent: EditorMouseEvent;
 
 	constructor(
-		context:ViewContext,
-		viewController:editorBrowser.IViewController,
-		viewHelper:IPointerHandlerHelper,
-		createMouseTarget:(e:EditorMouseEvent, testEventTarget:boolean)=>editorBrowser.IMouseTarget,
-		getMouseColumn:(e:EditorMouseEvent)=>number
+		context: ViewContext,
+		viewController: editorBrowser.IViewController,
+		viewHelper: IPointerHandlerHelper,
+		createMouseTarget: (e: EditorMouseEvent, testEventTarget: boolean) => editorBrowser.IMouseTarget,
+		getMouseColumn: (e: EditorMouseEvent) => number
 	) {
 		super();
 		this._context = context;
@@ -383,7 +383,7 @@ class MouseDownOperation extends Disposable {
 		return this._isActive;
 	}
 
-	private _onMouseDownThenMove(e:EditorMouseEvent): void {
+	private _onMouseDownThenMove(e: EditorMouseEvent): void {
 		this._lastMouseEvent = e;
 		this._mouseState.setModifiers(e);
 
@@ -396,7 +396,7 @@ class MouseDownOperation extends Disposable {
 		this._dispatchMouse(position, true);
 	}
 
-	public start(targetType:editorCommon.MouseTargetType, e:EditorMouseEvent): void {
+	public start(targetType: editorCommon.MouseTargetType, e: EditorMouseEvent): void {
 		this._lastMouseEvent = e;
 
 		this._mouseState.setStartedOnLineNumbers(targetType === editorCommon.MouseTargetType.GUTTER_LINE_NUMBERS);
@@ -444,11 +444,11 @@ class MouseDownOperation extends Disposable {
 		}, 10);
 	}
 
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): void {
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): void {
 		this._currentSelection = e.selection;
 	}
 
-	private _getPositionOutsideEditor(e:EditorMouseEvent): MousePosition {
+	private _getPositionOutsideEditor(e: EditorMouseEvent): MousePosition {
 		const editorContent = e.editorPos;
 
 		let mouseColumn = this._getMouseColumn(e);
@@ -476,7 +476,7 @@ class MouseDownOperation extends Disposable {
 		return null;
 	}
 
-	private _findMousePosition(e:EditorMouseEvent, testEventTarget:boolean): MousePosition {
+	private _findMousePosition(e: EditorMouseEvent, testEventTarget: boolean): MousePosition {
 		let positionOutsideEditor = this._getPositionOutsideEditor(e);
 		if (positionOutsideEditor) {
 			return positionOutsideEditor;
@@ -507,7 +507,7 @@ class MouseDownOperation extends Disposable {
 		return new MousePosition(hintedPosition, t.mouseColumn);
 	}
 
-	private _dispatchMouse(position: MousePosition, inSelectionMode:boolean): void {
+	private _dispatchMouse(position: MousePosition, inSelectionMode: boolean): void {
 		this._viewController.dispatchMouse({
 			position: position.position,
 			mouseColumn: position.mouseColumn,
@@ -563,18 +563,18 @@ class MouseDownState {
 		return this._lastMouseDownCount;
 	}
 
-	public setModifiers(source:EditorMouseEvent) {
+	public setModifiers(source: EditorMouseEvent) {
 		this._altKey = source.altKey;
 		this._ctrlKey = source.ctrlKey;
 		this._metaKey = source.metaKey;
 		this._shiftKey = source.shiftKey;
 	}
 
-	public setStartedOnLineNumbers(startedOnLineNumbers:boolean): void {
+	public setStartedOnLineNumbers(startedOnLineNumbers: boolean): void {
 		this._startedOnLineNumbers = startedOnLineNumbers;
 	}
 
-	public trySetCount(setMouseDownCount:number, newMouseDownPosition:Position): void {
+	public trySetCount(setMouseDownCount: number, newMouseDownPosition: Position): void {
 		// a. Invalidate multiple clicking if too much time has passed (will be hit by IE because the detail field of mouse events contains garbage in IE10)
 		let currentTime = (new Date()).getTime();
 		if (currentTime - this._lastSetMouseDownCountTime > MouseDownState.CLEAR_MOUSE_DOWN_COUNT_TIME) {
diff --git a/src/vs/editor/browser/controller/mouseTarget.ts b/src/vs/editor/browser/controller/mouseTarget.ts
index ba5376fde9963..19e3592479482 100644
--- a/src/vs/editor/browser/controller/mouseTarget.ts
+++ b/src/vs/editor/browser/controller/mouseTarget.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Position} from 'vs/editor/common/core/position';
-import {Range as EditorRange} from 'vs/editor/common/core/range';
-import {EditorLayoutInfo, IPosition, MouseTargetType} from 'vs/editor/common/editorCommon';
-import {ClassNames, IMouseTarget, IViewZoneData} from 'vs/editor/browser/editorBrowser';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IPointerHandlerHelper} from 'vs/editor/browser/controller/mouseHandler';
-import {EditorMouseEvent} from 'vs/editor/browser/editorDom';
+import { Position } from 'vs/editor/common/core/position';
+import { Range as EditorRange } from 'vs/editor/common/core/range';
+import { EditorLayoutInfo, IPosition, MouseTargetType } from 'vs/editor/common/editorCommon';
+import { ClassNames, IMouseTarget, IViewZoneData } from 'vs/editor/browser/editorBrowser';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IPointerHandlerHelper } from 'vs/editor/browser/controller/mouseHandler';
+import { EditorMouseEvent } from 'vs/editor/browser/editorDom';
 import * as dom from 'vs/base/browser/dom';
 import * as browser from 'vs/base/browser/browser';
-import {IViewCursorRenderData} from 'vs/editor/browser/viewParts/viewCursors/viewCursor';
+import { IViewCursorRenderData } from 'vs/editor/browser/viewParts/viewCursors/viewCursor';
 
 interface IETextRange {
 	boundingHeight: number;
@@ -57,7 +57,7 @@ interface IETextRange {
 
 declare var IETextRange: {
 	prototype: IETextRange;
-	new(): IETextRange;
+	new (): IETextRange;
 };
 
 interface IHitTestResult {
@@ -74,7 +74,7 @@ class MouseTarget implements IMouseTarget {
 	public range: EditorRange;
 	public detail: any;
 
-	constructor(element: Element, type: MouseTargetType, mouseColumn:number = 0, position:Position = null, range: EditorRange = null, detail: any = null) {
+	constructor(element: Element, type: MouseTargetType, mouseColumn: number = 0, position: Position = null, range: EditorRange = null, detail: any = null) {
 		this.element = element;
 		this.type = type;
 		this.mouseColumn = mouseColumn;
@@ -136,9 +136,9 @@ class MouseTarget implements IMouseTarget {
 // - overflow-guard/monaco-scrollable-element editor-scrollable vs/lines-content/view-lines/view-line
 // - overflow-guard/monaco-scrollable-element editor-scrollable vs/lines-content/view-lines/view-line/token comment js
 // etc.
-let REGEX = (function() {
+let REGEX = (function () {
 
-	function nodeWithClass(className:string): string {
+	function nodeWithClass(className: string): string {
 		return '[^/]*' + className + '[^/]*';
 	}
 
@@ -148,7 +148,7 @@ let REGEX = (function() {
 
 	let ANCHOR = '^' + ClassNames.OVERFLOW_GUARD + '\\/';
 
-	function createRegExp(...pieces:string[]): RegExp {
+	function createRegExp(...pieces: string[]): RegExp {
 		let forceEndMatch = false;
 		if (pieces[pieces.length - 1] === '$') {
 			forceEndMatch = true;
@@ -177,13 +177,13 @@ export class MouseTargetFactory {
 	private _context: ViewContext;
 	private _viewHelper: IPointerHandlerHelper;
 
-	constructor(context:ViewContext, viewHelper:IPointerHandlerHelper) {
+	constructor(context: ViewContext, viewHelper: IPointerHandlerHelper) {
 		this._context = context;
 		this._viewHelper = viewHelper;
 	}
 
-	private getClassNamePathTo(child:Node, stopAt:Node): string {
-		let path:string[] = [],
+	private getClassNamePathTo(child: Node, stopAt: Node): string {
+		let path: string[] = [],
 			className: string;
 
 		while (child && child !== document.body) {
@@ -202,7 +202,7 @@ export class MouseTargetFactory {
 		return path.join('/');
 	}
 
-	public mouseTargetIsWidget(e:EditorMouseEvent): boolean {
+	public mouseTargetIsWidget(e: EditorMouseEvent): boolean {
 		let t = <Element>e.target;
 		let path = this.getClassNamePathTo(t, this._viewHelper.viewDomNode);
 
@@ -219,7 +219,7 @@ export class MouseTargetFactory {
 		return false;
 	}
 
-	public createMouseTarget(layoutInfo:EditorLayoutInfo, lastViewCursorsRenderData:IViewCursorRenderData[], e:EditorMouseEvent, testEventTarget:boolean): IMouseTarget {
+	public createMouseTarget(layoutInfo: EditorLayoutInfo, lastViewCursorsRenderData: IViewCursorRenderData[], e: EditorMouseEvent, testEventTarget: boolean): IMouseTarget {
 		try {
 			let r = this._unsafeCreateMouseTarget(layoutInfo, lastViewCursorsRenderData, e, testEventTarget);
 			return r;
@@ -228,7 +228,7 @@ export class MouseTargetFactory {
 		}
 	}
 
-	private _unsafeCreateMouseTarget(layoutInfo:EditorLayoutInfo, lastViewCursorsRenderData:IViewCursorRenderData[], e:EditorMouseEvent, testEventTarget:boolean): IMouseTarget {
+	private _unsafeCreateMouseTarget(layoutInfo: EditorLayoutInfo, lastViewCursorsRenderData: IViewCursorRenderData[], e: EditorMouseEvent, testEventTarget: boolean): IMouseTarget {
 		let mouseVerticalOffset = Math.max(0, this._viewHelper.getScrollTop() + (e.posy - e.editorPos.top));
 		let mouseContentHorizontalOffset = this._viewHelper.getScrollLeft() + (e.posx - e.editorPos.left) - layoutInfo.contentLeft;
 		let mouseColumn = this._getMouseColumn(mouseContentHorizontalOffset);
@@ -383,7 +383,7 @@ export class MouseTargetFactory {
 		return this.createMouseTargetFromUnknownTarget(t);
 	}
 
-	private _isChild(testChild:Node, testAncestor:Node, stopAt:Node): boolean {
+	private _isChild(testChild: Node, testAncestor: Node, stopAt: Node): boolean {
 		while (testChild && testChild !== document.body) {
 			if (testChild === testAncestor) {
 				return true;
@@ -396,7 +396,7 @@ export class MouseTargetFactory {
 		return false;
 	}
 
-	private _findAttribute(element:Element, attr:string, stopAt:Element): string {
+	private _findAttribute(element: Element, attr: string, stopAt: Element): string {
 		while (element && element !== document.body) {
 			if (element.hasAttribute && element.hasAttribute(attr)) {
 				return element.getAttribute(attr);
@@ -437,9 +437,9 @@ export class MouseTargetFactory {
 		return this._actualDoHitTestWithCaretRangeFromPoint(e.viewportx, e.viewporty);
 	}
 
-	private _actualDoHitTestWithCaretRangeFromPoint(hitx:number, hity:number): IHitTestResult {
+	private _actualDoHitTestWithCaretRangeFromPoint(hitx: number, hity: number): IHitTestResult {
 
-		let range:Range = (<any>document).caretRangeFromPoint(hitx, hity);
+		let range: Range = (<any>document).caretRangeFromPoint(hitx, hity);
 
 		if (!range || !range.startContainer) {
 			return {
@@ -495,7 +495,7 @@ export class MouseTargetFactory {
 	 * Most probably Gecko
 	 */
 	private _doHitTestWithCaretPositionFromPoint(e: EditorMouseEvent): IHitTestResult {
-		let hitResult:{ offsetNode: Node; offset: number; } = (<any>document).caretPositionFromPoint(e.viewportx, e.viewporty);
+		let hitResult: { offsetNode: Node; offset: number; } = (<any>document).caretPositionFromPoint(e.viewportx, e.viewporty);
 
 		let range = document.createRange();
 		range.setStart(hitResult.offsetNode, hitResult.offset);
@@ -559,7 +559,7 @@ export class MouseTargetFactory {
 		};
 	}
 
-	private _doHitTest(e:EditorMouseEvent, mouseVerticalOffset: number): IHitTestResult {
+	private _doHitTest(e: EditorMouseEvent, mouseVerticalOffset: number): IHitTestResult {
 		// State of the art (18.10.2012):
 		// The spec says browsers should support document.caretPositionFromPoint, but nobody implemented it (http://dev.w3.org/csswg/cssom-view/)
 		// Gecko:
@@ -657,12 +657,12 @@ export class MouseTargetFactory {
 		};
 	}
 
-	public getMouseColumn(layoutInfo:EditorLayoutInfo, e:EditorMouseEvent): number {
+	public getMouseColumn(layoutInfo: EditorLayoutInfo, e: EditorMouseEvent): number {
 		let mouseContentHorizontalOffset = this._viewHelper.getScrollLeft() + (e.posx - e.editorPos.left) - layoutInfo.contentLeft;
 		return this._getMouseColumn(mouseContentHorizontalOffset);
 	}
 
-	private _getMouseColumn(mouseContentHorizontalOffset:number): number {
+	private _getMouseColumn(mouseContentHorizontalOffset: number): number {
 		if (mouseContentHorizontalOffset < 0) {
 			return 1;
 		}
@@ -671,18 +671,18 @@ export class MouseTargetFactory {
 		return (chars + 1);
 	}
 
-	private createMouseTargetFromViewCursor(target:Element, lineNumber: number, column: number, mouseColumn:number): MouseTarget {
+	private createMouseTargetFromViewCursor(target: Element, lineNumber: number, column: number, mouseColumn: number): MouseTarget {
 		return new MouseTarget(target, MouseTargetType.CONTENT_TEXT, mouseColumn, new Position(lineNumber, column));
 	}
 
-	private createMouseTargetFromViewLines(target:Element, mouseVerticalOffset: number, mouseColumn:number): MouseTarget {
+	private createMouseTargetFromViewLines(target: Element, mouseVerticalOffset: number, mouseColumn: number): MouseTarget {
 		// This most likely indicates it happened after the last view-line
 		let lineCount = this._context.model.getLineCount();
 		let maxLineColumn = this._context.model.getLineMaxColumn(lineCount);
 		return new MouseTarget(target, MouseTargetType.CONTENT_EMPTY, mouseColumn, new Position(lineCount, maxLineColumn));
 	}
 
-	private createMouseTargetFromHitTestPosition(target:Element, lineNumber: number, column: number, mouseHorizontalOffset: number, mouseColumn:number): MouseTarget {
+	private createMouseTargetFromHitTestPosition(target: Element, lineNumber: number, column: number, mouseHorizontalOffset: number, mouseColumn: number): MouseTarget {
 		let pos = new Position(lineNumber, column);
 
 		let lineWidth = this._viewHelper.getLineWidth(lineNumber);
@@ -737,7 +737,7 @@ export class MouseTargetFactory {
 		return new MouseTarget(target, MouseTargetType.CONTENT_TEXT, mouseColumn, pos);
 	}
 
-	private createMouseTargetFromContentWidgetsChild(target: Element, mouseColumn:number): MouseTarget {
+	private createMouseTargetFromContentWidgetsChild(target: Element, mouseColumn: number): MouseTarget {
 		let widgetId = this._findAttribute(target, 'widgetId', this._viewHelper.viewDomNode);
 
 		if (widgetId) {
@@ -747,7 +747,7 @@ export class MouseTargetFactory {
 		}
 	}
 
-	private createMouseTargetFromOverlayWidgetsChild(target: Element, mouseColumn:number): MouseTarget {
+	private createMouseTargetFromOverlayWidgetsChild(target: Element, mouseColumn: number): MouseTarget {
 		let widgetId = this._findAttribute(target, 'widgetId', this._viewHelper.viewDomNode);
 
 		if (widgetId) {
@@ -757,7 +757,7 @@ export class MouseTargetFactory {
 		}
 	}
 
-	private createMouseTargetFromLinesDecorationsChild(target: Element, mouseVerticalOffset: number, mouseColumn:number): MouseTarget {
+	private createMouseTargetFromLinesDecorationsChild(target: Element, mouseVerticalOffset: number, mouseColumn: number): MouseTarget {
 		let viewZoneData = this._getZoneAtCoord(mouseVerticalOffset);
 		if (viewZoneData) {
 			return new MouseTarget(target, MouseTargetType.GUTTER_VIEW_ZONE, mouseColumn, viewZoneData.position, null, viewZoneData);
@@ -767,7 +767,7 @@ export class MouseTargetFactory {
 		return new MouseTarget(target, MouseTargetType.GUTTER_LINE_DECORATIONS, mouseColumn, new Position(res.range.startLineNumber, res.range.startColumn), res.range, res.isAfterLines);
 	}
 
-	private createMouseTargetFromLineNumbers(target: Element, mouseVerticalOffset: number, mouseColumn:number): MouseTarget {
+	private createMouseTargetFromLineNumbers(target: Element, mouseVerticalOffset: number, mouseColumn: number): MouseTarget {
 		let viewZoneData = this._getZoneAtCoord(mouseVerticalOffset);
 		if (viewZoneData) {
 			return new MouseTarget(target, MouseTargetType.GUTTER_VIEW_ZONE, mouseColumn, viewZoneData.position, null, viewZoneData);
@@ -777,7 +777,7 @@ export class MouseTargetFactory {
 		return new MouseTarget(target, MouseTargetType.GUTTER_LINE_NUMBERS, mouseColumn, new Position(res.range.startLineNumber, res.range.startColumn), res.range, res.isAfterLines);
 	}
 
-	private createMouseTargetFromGlyphMargin(target: Element, mouseVerticalOffset: number, mouseColumn:number): MouseTarget {
+	private createMouseTargetFromGlyphMargin(target: Element, mouseVerticalOffset: number, mouseColumn: number): MouseTarget {
 		let viewZoneData = this._getZoneAtCoord(mouseVerticalOffset);
 		if (viewZoneData) {
 			return new MouseTarget(target, MouseTargetType.GUTTER_VIEW_ZONE, mouseColumn, viewZoneData.position, null, viewZoneData);
@@ -787,7 +787,7 @@ export class MouseTargetFactory {
 		return new MouseTarget(target, MouseTargetType.GUTTER_GLYPH_MARGIN, mouseColumn, new Position(res.range.startLineNumber, res.range.startColumn), res.range, res.isAfterLines);
 	}
 
-	private createMouseTargetFromScrollbar(target: Element, mouseVerticalOffset: number, mouseColumn:number): MouseTarget {
+	private createMouseTargetFromScrollbar(target: Element, mouseVerticalOffset: number, mouseColumn: number): MouseTarget {
 		let possibleLineNumber = this._viewHelper.getLineNumberAtVerticalOffset(mouseVerticalOffset);
 		let maxColumn = this._context.model.getLineMaxColumn(possibleLineNumber);
 		return new MouseTarget(target, MouseTargetType.SCROLLBAR, mouseColumn, new Position(possibleLineNumber, maxColumn));
diff --git a/src/vs/editor/browser/controller/pointerHandler.ts b/src/vs/editor/browser/controller/pointerHandler.ts
index fb673bcedf6ce..7af7007e0c407 100644
--- a/src/vs/editor/browser/controller/pointerHandler.ts
+++ b/src/vs/editor/browser/controller/pointerHandler.ts
@@ -4,21 +4,21 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import * as dom from 'vs/base/browser/dom';
-import {EventType, Gesture, GestureEvent} from 'vs/base/browser/touch';
-import {IScrollEvent} from 'vs/editor/common/editorCommon';
-import {MouseHandler, IPointerHandlerHelper} from 'vs/editor/browser/controller/mouseHandler';
-import {IViewController} from 'vs/editor/browser/editorBrowser';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {EditorMouseEvent} from 'vs/editor/browser/editorDom';
+import { EventType, Gesture, GestureEvent } from 'vs/base/browser/touch';
+import { IScrollEvent } from 'vs/editor/common/editorCommon';
+import { MouseHandler, IPointerHandlerHelper } from 'vs/editor/browser/controller/mouseHandler';
+import { IViewController } from 'vs/editor/browser/editorBrowser';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { EditorMouseEvent } from 'vs/editor/browser/editorDom';
 
 interface IThrottledGestureEvent {
 	translationX: number;
 	translationY: number;
 }
 
-var gestureChangeEventMerger = (lastEvent:IThrottledGestureEvent, currentEvent:MSGestureEvent): IThrottledGestureEvent => {
+var gestureChangeEventMerger = (lastEvent: IThrottledGestureEvent, currentEvent: MSGestureEvent): IThrottledGestureEvent => {
 	var r = {
 		translationY: currentEvent.translationY,
 		translationX: currentEvent.translationX
@@ -38,7 +38,7 @@ class MsPointerHandler extends MouseHandler implements IDisposable {
 	private _lastPointerType: string;
 	private _installGestureHandlerTimeout: number;
 
-	constructor(context:ViewContext, viewController:IViewController, viewHelper:IPointerHandlerHelper) {
+	constructor(context: ViewContext, viewController: IViewController, viewHelper: IPointerHandlerHelper) {
 		super(context, viewController, viewHelper);
 
 		this.viewHelper.linesContentDomNode.style.msTouchAction = 'none';
@@ -48,12 +48,12 @@ class MsPointerHandler extends MouseHandler implements IDisposable {
 		// This handler should be added when the dom node is in the dom tree
 		this._installGestureHandlerTimeout = window.setTimeout(() => {
 			this._installGestureHandlerTimeout = -1;
-			if((<any>window).MSGesture) {
+			if ((<any>window).MSGesture) {
 				var touchGesture = new MSGesture();
 				var penGesture = new MSGesture();
 				touchGesture.target = this.viewHelper.linesContentDomNode;
 				penGesture.target = this.viewHelper.linesContentDomNode;
-				this.viewHelper.linesContentDomNode.addEventListener('MSPointerDown', (e:MSPointerEvent) => {
+				this.viewHelper.linesContentDomNode.addEventListener('MSPointerDown', (e: MSPointerEvent) => {
 					// Circumvent IE11 breaking change in e.pointerType & TypeScript's stale definitions
 					var pointerType = <any>e.pointerType;
 					if (pointerType === ((<any>e).MSPOINTER_TYPE_MOUSE || 'mouse')) {
@@ -74,7 +74,7 @@ class MsPointerHandler extends MouseHandler implements IDisposable {
 		this._lastPointerType = 'mouse';
 	}
 
-	public _onMouseDown(e:EditorMouseEvent): void {
+	public _onMouseDown(e: EditorMouseEvent): void {
 		if (this._lastPointerType === 'mouse') {
 			super._onMouseDown(e);
 		}
@@ -98,7 +98,7 @@ class MsPointerHandler extends MouseHandler implements IDisposable {
 		}
 	}
 
-	private _onGestureChange(e:IThrottledGestureEvent): void {
+	private _onGestureChange(e: IThrottledGestureEvent): void {
 		this.viewHelper.setScrollPosition({
 			scrollLeft: this.viewHelper.getScrollLeft() - e.translationX,
 			scrollTop: this.viewHelper.getScrollTop() - e.translationY,
@@ -119,7 +119,7 @@ class StandardPointerHandler extends MouseHandler implements IDisposable {
 	private _lastPointerType: string;
 	private _installGestureHandlerTimeout: number;
 
-	constructor(context:ViewContext, viewController:IViewController, viewHelper:IPointerHandlerHelper) {
+	constructor(context: ViewContext, viewController: IViewController, viewHelper: IPointerHandlerHelper) {
 		super(context, viewController, viewHelper);
 
 		this.viewHelper.linesContentDomNode.style.touchAction = 'none';
@@ -130,12 +130,12 @@ class StandardPointerHandler extends MouseHandler implements IDisposable {
 			this._installGestureHandlerTimeout = -1;
 
 			// TODO@Alex: replace the usage of MSGesture here with something that works across all browsers
-			if((<any>window).MSGesture) {
+			if ((<any>window).MSGesture) {
 				var touchGesture = new MSGesture();
 				var penGesture = new MSGesture();
 				touchGesture.target = this.viewHelper.linesContentDomNode;
 				penGesture.target = this.viewHelper.linesContentDomNode;
-				this.viewHelper.linesContentDomNode.addEventListener('pointerdown', (e:MSPointerEvent) => {
+				this.viewHelper.linesContentDomNode.addEventListener('pointerdown', (e: MSPointerEvent) => {
 					var pointerType = <any>e.pointerType;
 					if (pointerType === 'mouse') {
 						this._lastPointerType = 'mouse';
@@ -155,7 +155,7 @@ class StandardPointerHandler extends MouseHandler implements IDisposable {
 		this._lastPointerType = 'mouse';
 	}
 
-	public _onMouseDown(e:EditorMouseEvent): void {
+	public _onMouseDown(e: EditorMouseEvent): void {
 		if (this._lastPointerType === 'mouse') {
 			super._onMouseDown(e);
 		}
@@ -179,7 +179,7 @@ class StandardPointerHandler extends MouseHandler implements IDisposable {
 		}
 	}
 
-	private _onGestureChange(e:IThrottledGestureEvent): void {
+	private _onGestureChange(e: IThrottledGestureEvent): void {
 		this.viewHelper.setScrollPosition({
 			scrollLeft: this.viewHelper.getScrollLeft() - e.translationX,
 			scrollTop: this.viewHelper.getScrollTop() - e.translationY,
@@ -194,9 +194,9 @@ class StandardPointerHandler extends MouseHandler implements IDisposable {
 
 class TouchHandler extends MouseHandler {
 
-	private gesture:Gesture;
+	private gesture: Gesture;
 
-	constructor(context:ViewContext, viewController:IViewController, viewHelper:IPointerHandlerHelper) {
+	constructor(context: ViewContext, viewController: IViewController, viewHelper: IPointerHandlerHelper) {
 		super(context, viewController, viewHelper);
 
 		this.gesture = new Gesture(this.viewHelper.linesContentDomNode);
@@ -212,7 +212,7 @@ class TouchHandler extends MouseHandler {
 		super.dispose();
 	}
 
-	private onTap(event:GestureEvent): void {
+	private onTap(event: GestureEvent): void {
 		event.preventDefault();
 
 		this.viewHelper.focusTextArea();
@@ -224,7 +224,7 @@ class TouchHandler extends MouseHandler {
 		}
 	}
 
-	private onChange(e:GestureEvent): void {
+	private onChange(e: GestureEvent): void {
 		this.viewHelper.setScrollPosition({
 			scrollLeft: this.viewHelper.getScrollLeft() - e.translationX,
 			scrollTop: this.viewHelper.getScrollTop() - e.translationY,
@@ -233,12 +233,12 @@ class TouchHandler extends MouseHandler {
 }
 
 export class PointerHandler implements IDisposable {
-	private handler:MouseHandler;
+	private handler: MouseHandler;
 
-	constructor(context:ViewContext, viewController:IViewController, viewHelper:IPointerHandlerHelper) {
+	constructor(context: ViewContext, viewController: IViewController, viewHelper: IPointerHandlerHelper) {
 		if (window.navigator.msPointerEnabled) {
 			this.handler = new MsPointerHandler(context, viewController, viewHelper);
-		} else if((<any> window).TouchEvent) {
+		} else if ((<any>window).TouchEvent) {
 			this.handler = new TouchHandler(context, viewController, viewHelper);
 		} else if (window.navigator.pointerEnabled) {
 			this.handler = new StandardPointerHandler(context, viewController, viewHelper);
@@ -247,7 +247,7 @@ export class PointerHandler implements IDisposable {
 		}
 	}
 
-	public onScrollChanged(e:IScrollEvent): void {
+	public onScrollChanged(e: IScrollEvent): void {
 		this.handler.onScrollChanged(e);
 	}
 
diff --git a/src/vs/editor/browser/editorBrowser.ts b/src/vs/editor/browser/editorBrowser.ts
index 00448c5ba4e48..9d1ab7984fb62 100644
--- a/src/vs/editor/browser/editorBrowser.ts
+++ b/src/vs/editor/browser/editorBrowser.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IEventEmitter} from 'vs/base/common/eventEmitter';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {IMouseEvent} from 'vs/base/browser/mouseEvent';
-import {IConstructorSignature1} from 'vs/platform/instantiation/common/instantiation';
+import { IEventEmitter } from 'vs/base/common/eventEmitter';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { IMouseEvent } from 'vs/base/browser/mouseEvent';
+import { IConstructorSignature1 } from 'vs/platform/instantiation/common/instantiation';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
 
 /**
  * @internal
@@ -39,11 +39,11 @@ export interface ICodeEditorHelper {
 	getScrollHeight(): number;
 	getScrollTop(): number;
 
-	setScrollPosition(position:editorCommon.INewScrollPosition): void;
+	setScrollPosition(position: editorCommon.INewScrollPosition): void;
 
-	getVerticalOffsetForPosition(lineNumber:number, column:number): number;
-	delegateVerticalScrollbarMouseDown(browserEvent:MouseEvent): void;
-	getOffsetForColumn(lineNumber:number, column:number): number;
+	getVerticalOffsetForPosition(lineNumber: number, column: number): number;
+	delegateVerticalScrollbarMouseDown(browserEvent: MouseEvent): void;
+	getOffsetForColumn(lineNumber: number, column: number): number;
 }
 
 /**
@@ -54,7 +54,7 @@ export interface IView extends IDisposable {
 
 	getInternalEventBus(): IEventEmitter;
 
-	createOverviewRuler(cssClassName:string, minimumHeight:number, maximumHeight:number): IOverviewRuler;
+	createOverviewRuler(cssClassName: string, minimumHeight: number, maximumHeight: number): IOverviewRuler;
 	getCodeEditorHelper(): ICodeEditorHelper;
 
 	getCenteredRangeInViewport(): Range;
@@ -63,18 +63,18 @@ export interface IView extends IDisposable {
 	 */
 	getCompletelyVisibleLinesRangeInViewport(): Range;
 
-	change(callback:(changeAccessor:IViewZoneChangeAccessor) => any): boolean;
+	change(callback: (changeAccessor: IViewZoneChangeAccessor) => any): boolean;
 	getWhitespaces(): editorCommon.IEditorWhitespace[];
-	renderOnce(callback:() => any): any;
+	renderOnce(callback: () => any): any;
 
-	render(now:boolean, everything:boolean): void;
-	setAriaActiveDescendant(id:string): void;
+	render(now: boolean, everything: boolean): void;
+	setAriaActiveDescendant(id: string): void;
 
 	focus(): void;
 	isFocused(): boolean;
 
 	saveState(): editorCommon.IViewState;
-	restoreState(state:editorCommon.IViewState): void;
+	restoreState(state: editorCommon.IViewState): void;
 
 	addContentWidget(widgetData: IContentWidgetData): void;
 	layoutContentWidget(widgetData: IContentWidgetData): void;
@@ -90,8 +90,8 @@ export interface IView extends IDisposable {
  */
 export interface IViewZoneData {
 	viewZoneId: number;
-	positionBefore:Position;
-	positionAfter:Position;
+	positionBefore: Position;
+	positionAfter: Position;
 	position: Position;
 	afterLineNumber: number;
 }
@@ -119,24 +119,24 @@ export interface IMouseDispatchData {
  * @internal
  */
 export interface IViewController {
-	dispatchMouse(data:IMouseDispatchData);
+	dispatchMouse(data: IMouseDispatchData);
 
-	moveTo(source:string, position:Position): void;
+	moveTo(source: string, position: Position): void;
 
-	paste(source:string, text:string, pasteOnNewLine:boolean): void;
+	paste(source: string, text: string, pasteOnNewLine: boolean): void;
 	type(source: string, text: string): void;
-	replacePreviousChar(source: string, text: string, replaceCharCnt:number): void;
+	replacePreviousChar(source: string, text: string, replaceCharCnt: number): void;
 	compositionStart(source: string): void;
 	compositionEnd(source: string): void;
-	cut(source:string): void;
-
-	emitKeyDown(e:IKeyboardEvent): void;
-	emitKeyUp(e:IKeyboardEvent): void;
-	emitContextMenu(e:IEditorMouseEvent): void;
-	emitMouseMove(e:IEditorMouseEvent): void;
-	emitMouseLeave(e:IEditorMouseEvent): void;
-	emitMouseUp(e:IEditorMouseEvent): void;
-	emitMouseDown(e:IEditorMouseEvent): void;
+	cut(source: string): void;
+
+	emitKeyDown(e: IKeyboardEvent): void;
+	emitKeyUp(e: IKeyboardEvent): void;
+	emitContextMenu(e: IEditorMouseEvent): void;
+	emitMouseMove(e: IEditorMouseEvent): void;
+	emitMouseLeave(e: IEditorMouseEvent): void;
+	emitMouseUp(e: IEditorMouseEvent): void;
+	emitMouseDown(e: IEditorMouseEvent): void;
 }
 
 /**
@@ -166,10 +166,10 @@ export var ClassNames = {
  */
 export interface IViewportInfo {
 	visibleRange: Range;
-	width:number;
-	height:number;
-	deltaTop:number;
-	deltaLeft:number;
+	width: number;
+	height: number;
+	deltaTop: number;
+	deltaLeft: number;
 }
 
 // --- end View Event Handlers & Parts
@@ -183,24 +183,24 @@ export interface IViewZone {
 	 * The line number after which this zone should appear.
 	 * Use 0 to place a view zone before the first line number.
 	 */
-	afterLineNumber:number;
+	afterLineNumber: number;
 	/**
 	 * The column after which this zone should appear.
 	 * If not set, the maxLineColumn of `afterLineNumber` will be used.
 	 */
-	afterColumn?:number;
+	afterColumn?: number;
 	/**
 	 * Suppress mouse down events.
 	 * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
 	 * Defaults to false
 	 */
-	suppressMouseDown?:boolean;
+	suppressMouseDown?: boolean;
 	/**
 	 * The height in lines of the view zone.
 	 * If specified, `heightInPx` will be used instead of this.
 	 * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
 	 */
-	heightInLines?:number;
+	heightInLines?: number;
 	/**
 	 * The height in px of the view zone.
 	 * If this is set, the editor will give preference to it rather than `heightInLines` above.
@@ -210,15 +210,15 @@ export interface IViewZone {
 	/**
 	 * The dom node of the view zone
 	 */
-	domNode:HTMLElement;
+	domNode: HTMLElement;
 	/**
 	 * Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
 	 */
-	onDomNodeTop?:(top: number) =>void;
+	onDomNodeTop?: (top: number) => void;
 	/**
 	 * Callback which gives the height in pixels of the view zone.
 	 */
-	onComputedHeight?:(height: number) =>void;
+	onComputedHeight?: (height: number) => void;
 }
 /**
  * An accessor that allows for zones to be added or removed.
@@ -394,8 +394,8 @@ export type IEditorContributionCtor = IConstructorSignature1<ICodeEditor, editor
 export interface IOverviewRuler {
 	getDomNode(): HTMLElement;
 	dispose(): void;
-	setZones(zones:editorCommon.OverviewRulerZone[]): void;
-	setLayout(position:editorCommon.OverviewRulerPosition): void;
+	setZones(zones: editorCommon.OverviewRulerZone[]): void;
+	setLayout(position: editorCommon.OverviewRulerPosition): void;
 }
 /**
  * A rich code editor.
@@ -404,39 +404,39 @@ export interface ICodeEditor extends editorCommon.ICommonCodeEditor {
 	/**
 	 * An event emitted on a "mouseup".
 	 */
-	onMouseUp(listener: (e:IEditorMouseEvent)=>void): IDisposable;
+	onMouseUp(listener: (e: IEditorMouseEvent) => void): IDisposable;
 	/**
 	 * An event emitted on a "mousedown".
 	 */
-	onMouseDown(listener: (e:IEditorMouseEvent)=>void): IDisposable;
+	onMouseDown(listener: (e: IEditorMouseEvent) => void): IDisposable;
 	/**
 	 * An event emitted on a "contextmenu".
 	 */
-	onContextMenu(listener: (e:IEditorMouseEvent)=>void): IDisposable;
+	onContextMenu(listener: (e: IEditorMouseEvent) => void): IDisposable;
 	/**
 	 * An event emitted on a "mousemove".
 	 */
-	onMouseMove(listener: (e:IEditorMouseEvent)=>void): IDisposable;
+	onMouseMove(listener: (e: IEditorMouseEvent) => void): IDisposable;
 	/**
 	 * An event emitted on a "mouseleave".
 	 */
-	onMouseLeave(listener: (e:IEditorMouseEvent)=>void): IDisposable;
+	onMouseLeave(listener: (e: IEditorMouseEvent) => void): IDisposable;
 	/**
 	 * An event emitted on a "keyup".
 	 */
-	onKeyUp(listener: (e:IKeyboardEvent)=>void): IDisposable;
+	onKeyUp(listener: (e: IKeyboardEvent) => void): IDisposable;
 	/**
 	 * An event emitted on a "keydown".
 	 */
-	onKeyDown(listener: (e:IKeyboardEvent)=>void): IDisposable;
+	onKeyDown(listener: (e: IKeyboardEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the layout of the editor has changed.
 	 */
-	onDidLayoutChange(listener: (e:editorCommon.EditorLayoutInfo)=>void): IDisposable;
+	onDidLayoutChange(listener: (e: editorCommon.EditorLayoutInfo) => void): IDisposable;
 	/**
 	 * An event emitted when the scroll in the editor has changed.
 	 */
-	onDidScrollChange(listener: (e:editorCommon.IScrollEvent)=>void): IDisposable;
+	onDidScrollChange(listener: (e: editorCommon.IScrollEvent) => void): IDisposable;
 
 	/**
 	 * Returns the editor's dom node
@@ -522,17 +522,17 @@ export interface ICodeEditor extends editorCommon.ICommonCodeEditor {
 	 * Set the model ranges that will be hidden in the view.
 	 * @internal
 	 */
-	setHiddenAreas(ranges:editorCommon.IRange[]): void;
+	setHiddenAreas(ranges: editorCommon.IRange[]): void;
 
 	/**
 	 * @internal
 	 */
-	setAriaActiveDescendant(id:string): void;
+	setAriaActiveDescendant(id: string): void;
 
 	/**
 	 * Apply the same font settings as the editor to `target`.
 	 */
-	applyFontInfo(target:HTMLElement): void;
+	applyFontInfo(target: HTMLElement): void;
 }
 
 /**
diff --git a/src/vs/editor/browser/editorBrowserExtensions.ts b/src/vs/editor/browser/editorBrowserExtensions.ts
index 6e07a20e0057c..ea76aeaa64454 100644
--- a/src/vs/editor/browser/editorBrowserExtensions.ts
+++ b/src/vs/editor/browser/editorBrowserExtensions.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Registry} from 'vs/platform/platform';
-import {IEditorContributionCtor} from 'vs/editor/browser/editorBrowser';
+import { Registry } from 'vs/platform/platform';
+import { IEditorContributionCtor } from 'vs/editor/browser/editorBrowser';
 
-export function editorContribution(ctor:IEditorContributionCtor): void {
+export function editorContribution(ctor: IEditorContributionCtor): void {
 	EditorContributionRegistry.INSTANCE.registerEditorBrowserContribution(ctor);
 }
 
@@ -31,7 +31,7 @@ class EditorContributionRegistry {
 		this.editorContributions = [];
 	}
 
-	public registerEditorBrowserContribution(ctor:IEditorContributionCtor): void {
+	public registerEditorBrowserContribution(ctor: IEditorContributionCtor): void {
 		this.editorContributions.push(ctor);
 	}
 
diff --git a/src/vs/editor/browser/editorDom.ts b/src/vs/editor/browser/editorDom.ts
index e11178b99434b..2a227addb95c8 100644
--- a/src/vs/editor/browser/editorDom.ts
+++ b/src/vs/editor/browser/editorDom.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable, Disposable} from 'vs/base/common/lifecycle';
-import {StandardMouseEvent} from 'vs/base/browser/mouseEvent';
+import { IDisposable, Disposable } from 'vs/base/common/lifecycle';
+import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
 import * as dom from 'vs/base/browser/dom';
-import {GlobalMouseMoveMonitor} from 'vs/base/browser/globalMouseMoveMonitor';
+import { GlobalMouseMoveMonitor } from 'vs/base/browser/globalMouseMoveMonitor';
 
 export class EditorMouseEvent extends StandardMouseEvent {
 	_editorMouseEventBrand: void;
@@ -24,7 +24,7 @@ export class EditorMouseEvent extends StandardMouseEvent {
 	 */
 	viewporty: number;
 
-	constructor(e:MouseEvent, editorViewDomNode: HTMLElement) {
+	constructor(e: MouseEvent, editorViewDomNode: HTMLElement) {
 		super(e);
 		this.editorPos = dom.getDomNodePagePosition(editorViewDomNode);
 
@@ -34,7 +34,7 @@ export class EditorMouseEvent extends StandardMouseEvent {
 }
 
 export interface EditorMouseEventMerger {
-	(lastEvent:EditorMouseEvent, currentEvent:EditorMouseEvent): EditorMouseEvent;
+	(lastEvent: EditorMouseEvent, currentEvent: EditorMouseEvent): EditorMouseEvent;
 }
 
 export class EditorMouseEventFactory {
@@ -45,36 +45,36 @@ export class EditorMouseEventFactory {
 		this._editorViewDomNode = editorViewDomNode;
 	}
 
-	private _create(e:MouseEvent): EditorMouseEvent {
+	private _create(e: MouseEvent): EditorMouseEvent {
 		return new EditorMouseEvent(e, this._editorViewDomNode);
 	}
 
-	public onContextMenu(target:HTMLElement, callback:(e:EditorMouseEvent)=>void): IDisposable {
-		return dom.addDisposableListener(target, 'contextmenu', (e:MouseEvent) => {
+	public onContextMenu(target: HTMLElement, callback: (e: EditorMouseEvent) => void): IDisposable {
+		return dom.addDisposableListener(target, 'contextmenu', (e: MouseEvent) => {
 			callback(this._create(e));
 		});
 	}
 
-	public onMouseUp(target:HTMLElement, callback:(e:EditorMouseEvent)=>void): IDisposable {
-		return dom.addDisposableListener(target, 'mouseup', (e:MouseEvent) => {
+	public onMouseUp(target: HTMLElement, callback: (e: EditorMouseEvent) => void): IDisposable {
+		return dom.addDisposableListener(target, 'mouseup', (e: MouseEvent) => {
 			callback(this._create(e));
 		});
 	}
 
-	public onMouseDown(target:HTMLElement, callback:(e:EditorMouseEvent)=>void): IDisposable {
-		return dom.addDisposableListener(target, 'mousedown', (e:MouseEvent) => {
+	public onMouseDown(target: HTMLElement, callback: (e: EditorMouseEvent) => void): IDisposable {
+		return dom.addDisposableListener(target, 'mousedown', (e: MouseEvent) => {
 			callback(this._create(e));
 		});
 	}
 
-	public onMouseLeave(target:HTMLElement, callback:(e:EditorMouseEvent)=>void): IDisposable {
-		return dom.addDisposableNonBubblingMouseOutListener(target, (e:MouseEvent) => {
+	public onMouseLeave(target: HTMLElement, callback: (e: EditorMouseEvent) => void): IDisposable {
+		return dom.addDisposableNonBubblingMouseOutListener(target, (e: MouseEvent) => {
 			callback(this._create(e));
 		});
 	}
 
-	public onMouseMoveThrottled(target:HTMLElement, callback:(e:EditorMouseEvent)=>void, merger:EditorMouseEventMerger, minimumTimeMs:number): IDisposable {
-		let myMerger: dom.IEventMerger<EditorMouseEvent> = (lastEvent:EditorMouseEvent, currentEvent:MouseEvent): EditorMouseEvent => {
+	public onMouseMoveThrottled(target: HTMLElement, callback: (e: EditorMouseEvent) => void, merger: EditorMouseEventMerger, minimumTimeMs: number): IDisposable {
+		let myMerger: dom.IEventMerger<EditorMouseEvent> = (lastEvent: EditorMouseEvent, currentEvent: MouseEvent): EditorMouseEvent => {
 			return merger(lastEvent, this._create(currentEvent));
 		};
 		return dom.addDisposableThrottledListener<EditorMouseEvent>(target, 'mousemove', callback, myMerger, minimumTimeMs);
@@ -92,8 +92,8 @@ export class GlobalEditorMouseMoveMonitor extends Disposable {
 		this._globalMouseMoveMonitor = this._register(new GlobalMouseMoveMonitor<EditorMouseEvent>());
 	}
 
-	public startMonitoring(merger:EditorMouseEventMerger, mouseMoveCallback:(e:EditorMouseEvent)=>void, onStopCallback:()=>void): void {
-		let myMerger: dom.IEventMerger<EditorMouseEvent> = (lastEvent:EditorMouseEvent, currentEvent:MouseEvent): EditorMouseEvent => {
+	public startMonitoring(merger: EditorMouseEventMerger, mouseMoveCallback: (e: EditorMouseEvent) => void, onStopCallback: () => void): void {
+		let myMerger: dom.IEventMerger<EditorMouseEvent> = (lastEvent: EditorMouseEvent, currentEvent: MouseEvent): EditorMouseEvent => {
 			return merger(lastEvent, new EditorMouseEvent(currentEvent, this._editorViewDomNode));
 		};
 		this._globalMouseMoveMonitor.startMonitoring(myMerger, mouseMoveCallback, onStopCallback);
diff --git a/src/vs/editor/browser/services/codeEditorServiceImpl.ts b/src/vs/editor/browser/services/codeEditorServiceImpl.ts
index 8de809ec75816..9784da84372e2 100644
--- a/src/vs/editor/browser/services/codeEditorServiceImpl.ts
+++ b/src/vs/editor/browser/services/codeEditorServiceImpl.ts
@@ -9,15 +9,17 @@ import { parse, stringify } from 'vs/base/common/marshalling';
 import * as strings from 'vs/base/common/strings';
 import URI from 'vs/base/common/uri';
 import * as dom from 'vs/base/browser/dom';
-import {IDecorationRenderOptions, IModelDecorationOptions, IModelDecorationOverviewRulerOptions, IThemeDecorationRenderOptions,
-	IContentDecorationRenderOptions, OverviewRulerLane, TrackedRangeStickiness} from 'vs/editor/common/editorCommon';
-import {AbstractCodeEditorService} from 'vs/editor/common/services/abstractCodeEditorService';
-import {IDisposable, toDisposable} from 'vs/base/common/lifecycle';
+import {
+	IDecorationRenderOptions, IModelDecorationOptions, IModelDecorationOverviewRulerOptions, IThemeDecorationRenderOptions,
+	IContentDecorationRenderOptions, OverviewRulerLane, TrackedRangeStickiness
+} from 'vs/editor/common/editorCommon';
+import { AbstractCodeEditorService } from 'vs/editor/common/services/abstractCodeEditorService';
+import { IDisposable, toDisposable } from 'vs/base/common/lifecycle';
 
 export class CodeEditorServiceImpl extends AbstractCodeEditorService {
 
 	private _styleSheet: HTMLStyleElement;
-	private _decorationOptionProviders: {[key:string]:IModelDecorationOptionsProvider};
+	private _decorationOptionProviders: { [key: string]: IModelDecorationOptionsProvider };
 
 	constructor(styleSheet = dom.createStyleSheet()) {
 		super();
@@ -25,7 +27,7 @@ export class CodeEditorServiceImpl extends AbstractCodeEditorService {
 		this._decorationOptionProviders = Object.create(null);
 	}
 
-	public registerDecorationType(key:string, options: IDecorationRenderOptions, parentTypeKey?: string): void {
+	public registerDecorationType(key: string, options: IDecorationRenderOptions, parentTypeKey?: string): void {
 		let provider = this._decorationOptionProviders[key];
 		if (!provider) {
 			if (!parentTypeKey) {
@@ -38,7 +40,7 @@ export class CodeEditorServiceImpl extends AbstractCodeEditorService {
 		provider.refCount++;
 	}
 
-	public removeDecorationType(key:string): void {
+	public removeDecorationType(key: string): void {
 		let provider = this._decorationOptionProviders[key];
 		if (provider) {
 			provider.refCount--;
@@ -50,7 +52,7 @@ export class CodeEditorServiceImpl extends AbstractCodeEditorService {
 		}
 	}
 
-	public resolveDecorationOptions(decorationTypeKey:string, writable: boolean): IModelDecorationOptions {
+	public resolveDecorationOptions(decorationTypeKey: string, writable: boolean): IModelDecorationOptions {
 		let provider = this._decorationOptionProviders[decorationTypeKey];
 		if (!provider) {
 			throw new Error('Unknown decoration type key: ' + decorationTypeKey);
@@ -74,7 +76,7 @@ class DecorationSubTypeOptionsProvider implements IModelDecorationOptionsProvide
 	private _beforeContentClassName: string;
 	private _afterContentClassName: string;
 
-	constructor(styleSheet: HTMLStyleElement, key: string, parentTypeKey: string, options:IDecorationRenderOptions) {
+	constructor(styleSheet: HTMLStyleElement, key: string, parentTypeKey: string, options: IDecorationRenderOptions) {
 		this._parentTypeKey = parentTypeKey;
 		this.refCount = 0;
 
@@ -137,11 +139,11 @@ class DecorationTypeOptionsProvider implements IModelDecorationOptionsProvider {
 	public beforeContentClassName: string;
 	public afterContentClassName: string;
 	public glyphMarginClassName: string;
-	public isWholeLine:boolean;
-	public overviewRuler:IModelDecorationOverviewRulerOptions;
+	public isWholeLine: boolean;
+	public overviewRuler: IModelDecorationOverviewRulerOptions;
 	public stickiness: TrackedRangeStickiness;
 
-	constructor(styleSheet: HTMLStyleElement, key:string, options:IDecorationRenderOptions) {
+	constructor(styleSheet: HTMLStyleElement, key: string, options: IDecorationRenderOptions) {
 		this.refCount = 0;
 
 		var themedOpts = getThemedRenderOptions(options);
@@ -277,7 +279,7 @@ class DecorationRenderHelper {
 	/**
 	 * Build the CSS for decorations styled via `className`.
 	 */
-	public static getCSSTextForModelDecorationClassName(opts:IThemeDecorationRenderOptions): string {
+	public static getCSSTextForModelDecorationClassName(opts: IThemeDecorationRenderOptions): string {
 		let cssTextArr = [];
 		DecorationRenderHelper.collectCSSText(opts, ['backgroundColor', 'outline', 'outlineColor', 'outlineStyle', 'outlineWidth'], cssTextArr);
 		DecorationRenderHelper.collectBorderSettingsCSSText(opts, cssTextArr);
@@ -288,7 +290,7 @@ class DecorationRenderHelper {
 	/**
 	 * Build the CSS for decorations styled via `inlineClassName`.
 	 */
-	public static getCSSTextForModelDecorationInlineClassName(opts:IThemeDecorationRenderOptions): string {
+	public static getCSSTextForModelDecorationInlineClassName(opts: IThemeDecorationRenderOptions): string {
 		let cssTextArr = [];
 		DecorationRenderHelper.collectCSSText(opts, ['textDecoration', 'cursor', 'color', 'letterSpacing'], cssTextArr);
 		return cssTextArr.join('');
@@ -297,7 +299,7 @@ class DecorationRenderHelper {
 	/**
 	 * Build the CSS for decorations styled before or after content.
 	 */
-	public static getCSSTextForModelDecorationContentClassName(opts:IContentDecorationRenderOptions): string {
+	public static getCSSTextForModelDecorationContentClassName(opts: IContentDecorationRenderOptions): string {
 		let cssTextArr = [];
 
 		if (typeof opts !== 'undefined') {
@@ -323,7 +325,7 @@ class DecorationRenderHelper {
 	/**
 	 * Build the CSS for decorations styled via `glpyhMarginClassName`.
 	 */
-	public static getCSSTextForModelDecorationGlyphMarginClassName(opts:IThemeDecorationRenderOptions): string {
+	public static getCSSTextForModelDecorationGlyphMarginClassName(opts: IThemeDecorationRenderOptions): string {
 		let cssTextArr = [];
 
 		if (typeof opts.gutterIconPath !== 'undefined') {
@@ -342,7 +344,7 @@ class DecorationRenderHelper {
 
 	private static border_rules = ['border', 'borderColor', 'borderColor', 'borderSpacing', 'borderStyle', 'borderWidth'];
 
-	public static collectBorderSettingsCSSText(opts: any, cssTextArr: string[]) : boolean {
+	public static collectBorderSettingsCSSText(opts: any, cssTextArr: string[]): boolean {
 		if (DecorationRenderHelper.collectCSSText(opts, DecorationRenderHelper.border_rules, cssTextArr)) {
 			cssTextArr.push(strings.format('box-sizing: border-box;'));
 			return true;
@@ -350,7 +352,7 @@ class DecorationRenderHelper {
 		return false;
 	}
 
-	private static collectCSSText(opts: any, properties: string[], cssTextArr: string[]) : boolean {
+	private static collectCSSText(opts: any, properties: string[], cssTextArr: string[]): boolean {
 		let lenBefore = cssTextArr.length;
 		for (let property of properties) {
 			if (typeof opts[property] !== 'undefined') {
@@ -363,8 +365,8 @@ class DecorationRenderHelper {
 	/**
 	 * Create CSS rules for `cssTexts` with the generated class names from `ruleType`
 	 */
-	public static createCSSRules(styleSheet: HTMLStyleElement, key:string, parentKey: string, ruleType:ModelDecorationCSSRuleType, cssTexts: {light:string, dark:string}): string {
-		function createCSSSelector(themeType:ThemeType, cssText:string) {
+	public static createCSSRules(styleSheet: HTMLStyleElement, key: string, parentKey: string, ruleType: ModelDecorationCSSRuleType, cssTexts: { light: string, dark: string }): string {
+		function createCSSSelector(themeType: ThemeType, cssText: string) {
 			let selector = CSSNameHelper.getSelector(themeType, key, parentKey, ruleType);
 			dom.createCSSRule(selector, cssText, styleSheet);
 		}
@@ -405,7 +407,7 @@ const enum ModelDecorationCSSRuleType {
 
 class CSSNameHelper {
 
-	private static _getSelectorPrefixOf(theme:ThemeType): string {
+	private static _getSelectorPrefixOf(theme: ThemeType): string {
 		if (theme === ThemeType.Light) {
 			return '.monaco-editor.vs';
 		}
@@ -415,11 +417,11 @@ class CSSNameHelper {
 		return '.monaco-editor.hc-black';
 	}
 
-	public static getClassName(key:string, type:ModelDecorationCSSRuleType): string {
+	public static getClassName(key: string, type: ModelDecorationCSSRuleType): string {
 		return 'ced-' + key + '-' + type;
 	}
 
-	public static getSelector(themeType:ThemeType, key:string, parentKey: string, ruleType:ModelDecorationCSSRuleType): string {
+	public static getSelector(themeType: ThemeType, key: string, parentKey: string, ruleType: ModelDecorationCSSRuleType): string {
 		let selector = this._getSelectorPrefixOf(themeType) + ' .' + this.getClassName(key, ruleType);
 		if (parentKey) {
 			selector = selector + '.' + this.getClassName(parentKey, ruleType);
@@ -432,7 +434,7 @@ class CSSNameHelper {
 		return selector;
 	}
 
-	public static getDeletionSubstring(key:string): string {
+	public static getDeletionSubstring(key: string): string {
 		return '.ced-' + key + '-';
 	}
 }
diff --git a/src/vs/editor/browser/standalone/colorizer.ts b/src/vs/editor/browser/standalone/colorizer.ts
index bd1691a5e1ba9..2d9d291325f96 100644
--- a/src/vs/editor/browser/standalone/colorizer.ts
+++ b/src/vs/editor/browser/standalone/colorizer.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IModel} from 'vs/editor/common/editorCommon';
-import {TokenizationRegistry, ITokenizationSupport} from 'vs/editor/common/modes';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {renderLine, RenderLineInput} from 'vs/editor/common/viewLayout/viewLineRenderer';
-import {ViewLineToken} from 'vs/editor/common/core/viewLineToken';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IModel } from 'vs/editor/common/editorCommon';
+import { TokenizationRegistry, ITokenizationSupport } from 'vs/editor/common/modes';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { renderLine, RenderLineInput } from 'vs/editor/common/viewLayout/viewLineRenderer';
+import { ViewLineToken } from 'vs/editor/common/core/viewLineToken';
 
 export interface IColorizerOptions {
 	tabSize?: number;
@@ -23,7 +23,7 @@ export interface IColorizerElementOptions extends IColorizerOptions {
 
 export class Colorizer {
 
-	public static colorizeElement(modeService:IModeService, domNode:HTMLElement, options:IColorizerElementOptions): TPromise<void> {
+	public static colorizeElement(modeService: IModeService, domNode: HTMLElement, options: IColorizerElementOptions): TPromise<void> {
 		options = options || {};
 		let theme = options.theme || 'vs';
 		let mimeType = options.mimeType || domNode.getAttribute('lang') || domNode.getAttribute('data-lang');
@@ -33,13 +33,13 @@ export class Colorizer {
 		}
 		let text = domNode.firstChild.nodeValue;
 		domNode.className += 'monaco-editor ' + theme;
-		let render = (str:string) => {
+		let render = (str: string) => {
 			domNode.innerHTML = str;
 		};
 		return this.colorize(modeService, text, mimeType, options).then(render, (err) => console.error(err), render);
 	}
 
-	private static _tokenizationSupportChangedPromise(languageId:string): TPromise<void> {
+	private static _tokenizationSupportChangedPromise(languageId: string): TPromise<void> {
 		let listener: IDisposable = null;
 		let stopListening = () => {
 			if (listener) {
@@ -58,7 +58,7 @@ export class Colorizer {
 		}, stopListening);
 	}
 
-	public static colorize(modeService:IModeService, text:string, mimeType:string, options:IColorizerOptions): TPromise<string> {
+	public static colorize(modeService: IModeService, text: string, mimeType: string, options: IColorizerOptions): TPromise<string> {
 		let lines = text.split('\n');
 		let languageId = modeService.getModeId(mimeType);
 
@@ -85,7 +85,7 @@ export class Colorizer {
 		});
 	}
 
-	public static colorizeLine(line:string, tokens:ViewLineToken[], tabSize:number = 4): string {
+	public static colorizeLine(line: string, tokens: ViewLineToken[], tabSize: number = 4): string {
 		let renderResult = renderLine(new RenderLineInput(
 			line,
 			tabSize,
@@ -98,7 +98,7 @@ export class Colorizer {
 		return renderResult.output;
 	}
 
-	public static colorizeModelLine(model:IModel, lineNumber:number, tabSize:number = 4): string {
+	public static colorizeModelLine(model: IModel, lineNumber: number, tabSize: number = 4): string {
 		let content = model.getLineContent(lineNumber);
 		let tokens = model.getLineTokens(lineNumber, false);
 		let inflatedTokens = tokens.inflate();
@@ -106,12 +106,12 @@ export class Colorizer {
 	}
 }
 
-function _colorize(lines:string[], tabSize:number, tokenizationSupport: ITokenizationSupport): string {
+function _colorize(lines: string[], tabSize: number, tokenizationSupport: ITokenizationSupport): string {
 	return _actualColorize(lines, tabSize, tokenizationSupport);
 }
 
-function _fakeColorize(lines:string[], tabSize:number): string {
-	let html:string[] = [];
+function _fakeColorize(lines: string[], tabSize: number): string {
+	let html: string[] = [];
 
 	for (let i = 0, length = lines.length; i < length; i++) {
 		let line = lines[i];
@@ -133,8 +133,8 @@ function _fakeColorize(lines:string[], tabSize:number): string {
 	return html.join('');
 }
 
-function _actualColorize(lines:string[], tabSize:number, tokenizationSupport: ITokenizationSupport): string {
-	let html:string[] = [];
+function _actualColorize(lines: string[], tabSize: number, tokenizationSupport: ITokenizationSupport): string {
+	let html: string[] = [];
 	let state = tokenizationSupport.getInitialState();
 
 	for (let i = 0, length = lines.length; i < length; i++) {
diff --git a/src/vs/editor/browser/standalone/simpleServices.ts b/src/vs/editor/browser/standalone/simpleServices.ts
index 567e3b097d29d..09e5a301b1cc9 100644
--- a/src/vs/editor/browser/standalone/simpleServices.ts
+++ b/src/vs/editor/browser/standalone/simpleServices.ts
@@ -4,47 +4,47 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Schemas} from 'vs/base/common/network';
+import { Schemas } from 'vs/base/common/network';
 import Severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IConfigurationService, IConfigurationServiceEvent, IConfigurationValue, getConfigurationValue} from 'vs/platform/configuration/common/configuration';
-import {IEditor, IEditorInput, IEditorOptions, IEditorService, IResourceInput, ITextEditorModel, Position} from 'vs/platform/editor/common/editor';
-import {AbstractExtensionService, ActivatedExtension} from 'vs/platform/extensions/common/abstractExtensionService';
-import {IExtensionDescription, IExtensionService} from 'vs/platform/extensions/common/extensions';
-import {ICommandService, ICommand, ICommandHandler} from 'vs/platform/commands/common/commands';
-import {KeybindingService} from 'vs/platform/keybinding/browser/keybindingServiceImpl';
-import {IOSupport} from 'vs/platform/keybinding/common/keybindingResolver';
-import {IKeybindingItem} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {IConfirmation, IMessageService} from 'vs/platform/message/common/message';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IConfigurationService, IConfigurationServiceEvent, IConfigurationValue, getConfigurationValue } from 'vs/platform/configuration/common/configuration';
+import { IEditor, IEditorInput, IEditorOptions, IEditorService, IResourceInput, ITextEditorModel, Position } from 'vs/platform/editor/common/editor';
+import { AbstractExtensionService, ActivatedExtension } from 'vs/platform/extensions/common/abstractExtensionService';
+import { IExtensionDescription, IExtensionService } from 'vs/platform/extensions/common/extensions';
+import { ICommandService, ICommand, ICommandHandler } from 'vs/platform/commands/common/commands';
+import { KeybindingService } from 'vs/platform/keybinding/browser/keybindingServiceImpl';
+import { IOSupport } from 'vs/platform/keybinding/common/keybindingResolver';
+import { IKeybindingItem } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { IConfirmation, IMessageService } from 'vs/platform/message/common/message';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ICodeEditor, IDiffEditor} from 'vs/editor/browser/editorBrowser';
-import {Selection} from 'vs/editor/common/core/selection';
-import Event, {Emitter} from 'vs/base/common/event';
-import {getDefaultValues as getDefaultConfiguration} from 'vs/platform/configuration/common/model';
-import {CommandService} from 'vs/platform/commands/common/commandService';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IProgressService, IProgressRunner} from 'vs/platform/progress/common/progress';
+import { ICodeEditor, IDiffEditor } from 'vs/editor/browser/editorBrowser';
+import { Selection } from 'vs/editor/common/core/selection';
+import Event, { Emitter } from 'vs/base/common/event';
+import { getDefaultValues as getDefaultConfiguration } from 'vs/platform/configuration/common/model';
+import { CommandService } from 'vs/platform/commands/common/commandService';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IProgressService, IProgressRunner } from 'vs/platform/progress/common/progress';
 
 export class SimpleEditor implements IEditor {
 
-	public input:IEditorInput;
-	public options:IEditorOptions;
-	public position:Position;
+	public input: IEditorInput;
+	public options: IEditorOptions;
+	public position: Position;
 
-	public _widget:editorCommon.IEditor;
+	public _widget: editorCommon.IEditor;
 
-	constructor(editor:editorCommon.IEditor) {
+	constructor(editor: editorCommon.IEditor) {
 		this._widget = editor;
 	}
 
-	public getId():string { return 'editor'; }
-	public getControl():editorCommon.IEditor { return this._widget; }
-	public getSelection():Selection { return this._widget.getSelection(); }
-	public focus():void { this._widget.focus(); }
-	public isVisible():boolean { return true; }
+	public getId(): string { return 'editor'; }
+	public getControl(): editorCommon.IEditor { return this._widget; }
+	public getSelection(): Selection { return this._widget.getSelection(); }
+	public focus(): void { this._widget.focus(); }
+	public isVisible(): boolean { return true; }
 
-	public withTypedEditor<T>(codeEditorCallback:(editor:ICodeEditor)=>T, diffEditorCallback:(editor:IDiffEditor)=>T): T {
+	public withTypedEditor<T>(codeEditorCallback: (editor: ICodeEditor) => T, diffEditorCallback: (editor: IDiffEditor) => T): T {
 		if (this._widget.getEditorType() === editorCommon.EditorType.ICodeEditor) {
 			// Single Editor
 			return codeEditorCallback(<ICodeEditor>this._widget);
@@ -55,12 +55,12 @@ export class SimpleEditor implements IEditor {
 	}
 }
 
-export class SimpleModel implements ITextEditorModel  {
+export class SimpleModel implements ITextEditorModel {
 
-	private model:editorCommon.IModel;
+	private model: editorCommon.IModel;
 	private _onDispose: Emitter<void>;
 
-	constructor(model:editorCommon.IModel) {
+	constructor(model: editorCommon.IModel) {
 		this.model = model;
 		this._onDispose = new Emitter<void>();
 	}
@@ -73,7 +73,7 @@ export class SimpleModel implements ITextEditorModel  {
 		return TPromise.as(this);
 	}
 
-	public get textEditorModel():editorCommon.IModel {
+	public get textEditorModel(): editorCommon.IModel {
 		return this.model;
 	}
 
@@ -83,28 +83,28 @@ export class SimpleModel implements ITextEditorModel  {
 }
 
 export interface IOpenEditorDelegate {
-	(url:string): boolean;
+	(url: string): boolean;
 }
 
 export class SimpleEditorService implements IEditorService {
 	public _serviceBrand: any;
 
-	private editor:SimpleEditor;
-	private openEditorDelegate:IOpenEditorDelegate;
+	private editor: SimpleEditor;
+	private openEditorDelegate: IOpenEditorDelegate;
 
 	constructor() {
 		this.openEditorDelegate = null;
 	}
 
-	public setEditor(editor:editorCommon.IEditor): void {
+	public setEditor(editor: editorCommon.IEditor): void {
 		this.editor = new SimpleEditor(editor);
 	}
 
-	public setOpenEditorDelegate(openEditorDelegate:IOpenEditorDelegate): void {
+	public setOpenEditorDelegate(openEditorDelegate: IOpenEditorDelegate): void {
 		this.openEditorDelegate = openEditorDelegate;
 	}
 
-	public openEditor(typedData:IResourceInput, sideBySide?:boolean): TPromise<IEditor> {
+	public openEditor(typedData: IResourceInput, sideBySide?: boolean): TPromise<IEditor> {
 		return TPromise.as(this.editor.withTypedEditor(
 			(editor) => this.doOpenEditor(editor, typedData),
 			(diffEditor) => (
@@ -114,7 +114,7 @@ export class SimpleEditorService implements IEditorService {
 		));
 	}
 
-	private doOpenEditor(editor:editorCommon.ICommonCodeEditor, data:IResourceInput): IEditor {
+	private doOpenEditor(editor: editorCommon.ICommonCodeEditor, data: IResourceInput): IEditor {
 		var model = this.findModel(editor, data);
 		if (!model) {
 			if (data.resource) {
@@ -152,9 +152,9 @@ export class SimpleEditorService implements IEditorService {
 		return this.editor;
 	}
 
-	private findModel(editor:editorCommon.ICommonCodeEditor, data:IResourceInput): editorCommon.IModel {
+	private findModel(editor: editorCommon.ICommonCodeEditor, data: IResourceInput): editorCommon.IModel {
 		var model = editor.getModel();
-		if(model.uri.toString() !== data.resource.toString()) {
+		if (model.uri.toString() !== data.resource.toString()) {
 			return null;
 		}
 
@@ -180,10 +180,10 @@ export class SimpleEditorService implements IEditorService {
 export class SimpleProgressService implements IProgressService {
 	_serviceBrand: any;
 
-	private static NULL_PROGRESS_RUNNER:IProgressRunner = {
-		done: () => {},
-		total: () => {},
-		worked: () => {}
+	private static NULL_PROGRESS_RUNNER: IProgressRunner = {
+		done: () => { },
+		total: () => { },
+		worked: () => { }
 	};
 
 	show(infinite: boolean, delay?: number): IProgressRunner;
@@ -200,11 +200,11 @@ export class SimpleProgressService implements IProgressService {
 export class SimpleMessageService implements IMessageService {
 	public _serviceBrand: any;
 
-	private static Empty = function() { /* nothing */};
+	private static Empty = function () { /* nothing */ };
 
-	public show(sev:Severity, message:any):()=>void {
+	public show(sev: Severity, message: any): () => void {
 
-		switch(sev) {
+		switch (sev) {
 			case Severity.Error:
 				console.error(message);
 				break;
@@ -219,11 +219,11 @@ export class SimpleMessageService implements IMessageService {
 		return SimpleMessageService.Empty;
 	}
 
-	public hideAll():void {
+	public hideAll(): void {
 		// No-op
 	}
 
-	public confirm(confirmation:IConfirmation):boolean {
+	public confirm(confirmation: IConfirmation): boolean {
 		var messageText = confirmation.message;
 		if (confirmation.detail) {
 			messageText = messageText + '\n\n' + confirmation.detail;
@@ -246,11 +246,11 @@ export class StandaloneCommandService extends CommandService {
 		this._dynamicCommands = Object.create(null);
 	}
 
-	public addCommand(id:string, command:ICommand): void {
+	public addCommand(id: string, command: ICommand): void {
 		this._dynamicCommands[id] = command;
 	}
 
-	protected _getCommand(id:string): ICommand {
+	protected _getCommand(id: string): ICommand {
 		return super._getCommand(id) || this._dynamicCommands[id];
 	}
 }
@@ -273,7 +273,7 @@ export class StandaloneKeybindingService extends KeybindingService {
 		this._beginListening(domNode);
 	}
 
-	public addDynamicKeybinding(keybinding: number, handler:ICommandHandler, when:string, commandId:string = null): string {
+	public addDynamicKeybinding(keybinding: number, handler: ICommandHandler, when: string, commandId: string = null): string {
 		if (commandId === null) {
 			commandId = 'DYNAMIC_' + (++StandaloneKeybindingService.LAST_GENERATED_ID);
 		}
@@ -298,7 +298,7 @@ export class StandaloneKeybindingService extends KeybindingService {
 		return commandId;
 	}
 
-	protected _getExtraKeybindings(isFirstTime:boolean): IKeybindingItem[] {
+	protected _getExtraKeybindings(isFirstTime: boolean): IKeybindingItem[] {
 		return this._dynamicKeybindings;
 	}
 }
@@ -309,7 +309,7 @@ export class SimpleExtensionService extends AbstractExtensionService<ActivatedEx
 		super(true);
 	}
 
-	protected _showMessage(severity:Severity, msg:string): void {
+	protected _showMessage(severity: Severity, msg: string): void {
 		switch (severity) {
 			case Severity.Error:
 				console.error(msg);
diff --git a/src/vs/editor/browser/standalone/standaloneCodeEditor.ts b/src/vs/editor/browser/standalone/standaloneCodeEditor.ts
index c8e2448131849..473fa1d6c688a 100644
--- a/src/vs/editor/browser/standalone/standaloneCodeEditor.ts
+++ b/src/vs/editor/browser/standalone/standaloneCodeEditor.ts
@@ -5,21 +5,21 @@
 
 'use strict';
 
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKey, IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {ICommandHandler} from 'vs/platform/commands/common/commands';
-import {IActionDescriptor, ICodeEditorWidgetCreationOptions, IDiffEditorOptions, IModel, IModelChangedEvent, EventType} from 'vs/editor/common/editorCommon';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
-import {StandaloneKeybindingService} from 'vs/editor/browser/standalone/simpleServices';
-import {IEditorContextViewService} from 'vs/editor/browser/standalone/standaloneServices';
-import {CodeEditor} from 'vs/editor/browser/codeEditor';
-import {DiffEditorWidget} from 'vs/editor/browser/widget/diffEditorWidget';
-import {ICodeEditor, IDiffEditor} from 'vs/editor/browser/editorBrowser';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { ICommandHandler } from 'vs/platform/commands/common/commands';
+import { IActionDescriptor, ICodeEditorWidgetCreationOptions, IDiffEditorOptions, IModel, IModelChangedEvent, EventType } from 'vs/editor/common/editorCommon';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
+import { StandaloneKeybindingService } from 'vs/editor/browser/standalone/simpleServices';
+import { IEditorContextViewService } from 'vs/editor/browser/standalone/standaloneServices';
+import { CodeEditor } from 'vs/editor/browser/codeEditor';
+import { DiffEditorWidget } from 'vs/editor/browser/widget/diffEditorWidget';
+import { ICodeEditor, IDiffEditor } from 'vs/editor/browser/editorBrowser';
 
 /**
  * The options to create an editor.
@@ -44,27 +44,27 @@ export interface IDiffEditorConstructionOptions extends IDiffEditorOptions {
 }
 
 export interface IStandaloneCodeEditor extends ICodeEditor {
-	addCommand(keybinding:number, handler:ICommandHandler, context:string): string;
+	addCommand(keybinding: number, handler: ICommandHandler, context: string): string;
 	createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
-	addAction(descriptor:IActionDescriptor): void;
+	addAction(descriptor: IActionDescriptor): void;
 }
 
 export interface IStandaloneDiffEditor extends IDiffEditor {
-	addCommand(keybinding:number, handler:ICommandHandler, context:string): string;
+	addCommand(keybinding: number, handler: ICommandHandler, context: string): string;
 	createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
-	addAction(descriptor:IActionDescriptor): void;
+	addAction(descriptor: IActionDescriptor): void;
 }
 
 export class StandaloneEditor extends CodeEditor implements IStandaloneCodeEditor {
 
 	private _standaloneKeybindingService: StandaloneKeybindingService;
-	private _contextViewService:IEditorContextViewService;
-	private _ownsModel:boolean;
+	private _contextViewService: IEditorContextViewService;
+	private _ownsModel: boolean;
 	private _toDispose2: IDisposable[];
 
 	constructor(
-		domElement:HTMLElement,
-		options:IEditorConstructionOptions,
+		domElement: HTMLElement,
+		options: IEditorConstructionOptions,
 		toDispose: IDisposable,
 		@IInstantiationService instantiationService: IInstantiationService,
 		@ICodeEditorService codeEditorService: ICodeEditorService,
@@ -112,7 +112,7 @@ export class StandaloneEditor extends CodeEditor implements IStandaloneCodeEdito
 		this.dispose();
 	}
 
-	public addCommand(keybinding:number, handler:ICommandHandler, context:string): string {
+	public addCommand(keybinding: number, handler: ICommandHandler, context: string): string {
 		if (!this._standaloneKeybindingService) {
 			console.warn('Cannot add command because the editor is configured with an unrecognized KeybindingService');
 			return null;
@@ -128,7 +128,7 @@ export class StandaloneEditor extends CodeEditor implements IStandaloneCodeEdito
 		return this._contextKeyService.createKey(key, defaultValue);
 	}
 
-	public addAction(descriptor:IActionDescriptor): void {
+	public addAction(descriptor: IActionDescriptor): void {
 		super.addAction(descriptor);
 		if (!this._standaloneKeybindingService) {
 			console.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');
@@ -144,14 +144,14 @@ export class StandaloneEditor extends CodeEditor implements IStandaloneCodeEdito
 		}
 	}
 
-	_attachModel(model:IModel):void {
+	_attachModel(model: IModel): void {
 		super._attachModel(model);
 		if (this._view) {
 			this._contextViewService.setContainer(this._view.domNode);
 		}
 	}
 
-	_postDetachModelCleanup(detachedModel:IModel): void {
+	_postDetachModelCleanup(detachedModel: IModel): void {
 		super._postDetachModelCleanup(detachedModel);
 		if (detachedModel && this._ownsModel) {
 			detachedModel.dispose();
@@ -162,13 +162,13 @@ export class StandaloneEditor extends CodeEditor implements IStandaloneCodeEdito
 
 export class StandaloneDiffEditor extends DiffEditorWidget implements IStandaloneDiffEditor {
 
-	private _contextViewService:IEditorContextViewService;
+	private _contextViewService: IEditorContextViewService;
 	private _standaloneKeybindingService: StandaloneKeybindingService;
 	private _toDispose2: IDisposable[];
 
 	constructor(
-		domElement:HTMLElement,
-		options:IDiffEditorConstructionOptions,
+		domElement: HTMLElement,
+		options: IDiffEditorConstructionOptions,
 		toDispose: IDisposable,
 		@IInstantiationService instantiationService: IInstantiationService,
 		@IContextKeyService contextKeyService: IContextKeyService,
@@ -198,7 +198,7 @@ export class StandaloneDiffEditor extends DiffEditorWidget implements IStandalon
 		this.dispose();
 	}
 
-	public addCommand(keybinding:number, handler:ICommandHandler, context:string): string {
+	public addCommand(keybinding: number, handler: ICommandHandler, context: string): string {
 		if (!this._standaloneKeybindingService) {
 			console.warn('Cannot add command because the editor is configured with an unrecognized KeybindingService');
 			return null;
@@ -214,14 +214,14 @@ export class StandaloneDiffEditor extends DiffEditorWidget implements IStandalon
 		return this._contextKeyService.createKey(key, defaultValue);
 	}
 
-	public addAction(descriptor:IActionDescriptor): void {
+	public addAction(descriptor: IActionDescriptor): void {
 		super.addAction(descriptor);
 		if (!this._standaloneKeybindingService) {
 			console.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');
 			return null;
 		}
 		if (Array.isArray(descriptor.keybindings)) {
-			var handler:ICommandHandler = (ctx) => {
+			var handler: ICommandHandler = (ctx) => {
 				return this.trigger('keyboard', descriptor.id, null);
 			};
 			descriptor.keybindings.forEach((kb) => {
diff --git a/src/vs/editor/browser/standalone/standaloneEditor.ts b/src/vs/editor/browser/standalone/standaloneEditor.ts
index 4c7a386de96ec..6f44f8f92dbcf 100644
--- a/src/vs/editor/browser/standalone/standaloneEditor.ts
+++ b/src/vs/editor/browser/standalone/standaloneEditor.ts
@@ -6,30 +6,30 @@
 
 import 'vs/css!./media/standalone-tokens';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ContentWidgetPositionPreference, OverlayWidgetPositionPreference} from 'vs/editor/browser/editorBrowser';
-import {StandaloneEditor, IStandaloneCodeEditor, StandaloneDiffEditor, IStandaloneDiffEditor, IEditorConstructionOptions, IDiffEditorConstructionOptions} from 'vs/editor/browser/standalone/standaloneCodeEditor';
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
-import {IEditorOverrideServices, DynamicStandaloneServices, StaticServices} from 'vs/editor/browser/standalone/standaloneServices';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { ContentWidgetPositionPreference, OverlayWidgetPositionPreference } from 'vs/editor/browser/editorBrowser';
+import { StandaloneEditor, IStandaloneCodeEditor, StandaloneDiffEditor, IStandaloneDiffEditor, IEditorConstructionOptions, IDiffEditorConstructionOptions } from 'vs/editor/browser/standalone/standaloneCodeEditor';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
+import { IEditorOverrideServices, DynamicStandaloneServices, StaticServices } from 'vs/editor/browser/standalone/standaloneServices';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {OpenerService} from 'vs/platform/opener/browser/openerService';
-import {IOpenerService} from 'vs/platform/opener/common/opener';
-import {IModel} from 'vs/editor/common/editorCommon';
-import {Colorizer, IColorizerElementOptions, IColorizerOptions} from 'vs/editor/browser/standalone/colorizer';
-import {SimpleEditorService} from 'vs/editor/browser/standalone/simpleServices';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { OpenerService } from 'vs/platform/opener/browser/openerService';
+import { IOpenerService } from 'vs/platform/opener/common/opener';
+import { IModel } from 'vs/editor/common/editorCommon';
+import { Colorizer, IColorizerElementOptions, IColorizerOptions } from 'vs/editor/browser/standalone/colorizer';
+import { SimpleEditorService } from 'vs/editor/browser/standalone/simpleServices';
 import * as modes from 'vs/editor/common/modes';
-import {IWebWorkerOptions, MonacoWebWorker, createWebWorker as actualCreateWebWorker} from 'vs/editor/common/services/webWorker';
-import {IMarkerData} from 'vs/platform/markers/common/markers';
-import {DiffNavigator} from 'vs/editor/contrib/diffNavigator/common/diffNavigator';
-import {IEditorService} from 'vs/platform/editor/common/editor';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
+import { IWebWorkerOptions, MonacoWebWorker, createWebWorker as actualCreateWebWorker } from 'vs/editor/common/services/webWorker';
+import { IMarkerData } from 'vs/platform/markers/common/markers';
+import { DiffNavigator } from 'vs/editor/contrib/diffNavigator/common/diffNavigator';
+import { IEditorService } from 'vs/platform/editor/common/editor';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
 
 /**
  * @internal
@@ -38,7 +38,7 @@ export function setupServices(overrides: IEditorOverrideServices): any {
 	return StaticServices.init(overrides);
 }
 
-function withAllStandaloneServices<T extends editorCommon.IEditor>(domElement:HTMLElement, override:IEditorOverrideServices, callback:(services:DynamicStandaloneServices)=>T): T {
+function withAllStandaloneServices<T extends editorCommon.IEditor>(domElement: HTMLElement, override: IEditorOverrideServices, callback: (services: DynamicStandaloneServices) => T): T {
 	let services = new DynamicStandaloneServices(domElement, override);
 
 	// The editorService is a lovely beast. It needs to point back to the code editor instance...
@@ -66,7 +66,7 @@ function withAllStandaloneServices<T extends editorCommon.IEditor>(domElement:HT
  * `domElement` should be empty (not contain other dom nodes).
  * The editor will read the size of `domElement`.
  */
-export function create(domElement:HTMLElement, options?:IEditorConstructionOptions, override?:IEditorOverrideServices):IStandaloneCodeEditor {
+export function create(domElement: HTMLElement, options?: IEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor {
 	return withAllStandaloneServices(domElement, override, (services) => {
 		return new StandaloneEditor(
 			domElement,
@@ -87,7 +87,7 @@ export function create(domElement:HTMLElement, options?:IEditorConstructionOptio
  * `domElement` should be empty (not contain other dom nodes).
  * The editor will read the size of `domElement`.
  */
-export function createDiffEditor(domElement:HTMLElement, options?:IDiffEditorConstructionOptions, override?: IEditorOverrideServices):IStandaloneDiffEditor {
+export function createDiffEditor(domElement: HTMLElement, options?: IDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor {
 	return withAllStandaloneServices(domElement, override, (services) => {
 		return new StandaloneDiffEditor(
 			domElement,
@@ -103,23 +103,23 @@ export function createDiffEditor(domElement:HTMLElement, options?:IDiffEditorCon
 }
 
 export interface IDiffNavigator {
-	canNavigate():boolean;
-	next():void;
-	previous():void;
-	dispose():void;
+	canNavigate(): boolean;
+	next(): void;
+	previous(): void;
+	dispose(): void;
 }
 
 export interface IDiffNavigatorOptions {
-	followsCaret?:boolean;
-	ignoreCharChanges?:boolean;
-	alwaysRevealFirst?:boolean;
+	followsCaret?: boolean;
+	ignoreCharChanges?: boolean;
+	alwaysRevealFirst?: boolean;
 }
 
-export function createDiffNavigator(diffEditor:IStandaloneDiffEditor, opts?:IDiffNavigatorOptions): IDiffNavigator {
+export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator {
 	return new DiffNavigator(diffEditor, opts);
 }
 
-function doCreateModel(value:string, mode:TPromise<modes.IMode>, uri?:URI): IModel {
+function doCreateModel(value: string, mode: TPromise<modes.IMode>, uri?: URI): IModel {
 	return StaticServices.modelService.get().createModel(value, mode, uri);
 }
 
@@ -127,7 +127,7 @@ function doCreateModel(value:string, mode:TPromise<modes.IMode>, uri?:URI): IMod
  * Create a new editor model.
  * You can specify the language that should be set for this model or let the language be inferred from the `uri`.
  */
-export function createModel(value:string, language?:string, uri?:URI): IModel {
+export function createModel(value: string, language?: string, uri?: URI): IModel {
 	value = value || '';
 
 	if (!language) {
@@ -147,14 +147,14 @@ export function createModel(value:string, language?:string, uri?:URI): IModel {
 /**
  * Change the language for a model.
  */
-export function setModelLanguage(model:IModel, language:string): void {
+export function setModelLanguage(model: IModel, language: string): void {
 	StaticServices.modelService.get().setMode(model, StaticServices.modeService.get().getOrCreateMode(language));
 }
 
 /**
  * Set the markers for a model.
  */
-export function setModelMarkers(model:IModel, owner:string, markers: IMarkerData[]): void {
+export function setModelMarkers(model: IModel, owner: string, markers: IMarkerData[]): void {
 	StaticServices.markerService.get().changeOne(owner, model.uri, markers);
 }
 
@@ -175,21 +175,21 @@ export function getModels(): IModel[] {
 /**
  * Emitted when a model is created.
  */
-export function onDidCreateModel(listener:(model:IModel)=>void): IDisposable {
+export function onDidCreateModel(listener: (model: IModel) => void): IDisposable {
 	return StaticServices.modelService.get().onModelAdded(listener);
 }
 
 /**
  * Emitted right before a model is disposed.
  */
-export function onWillDisposeModel(listener:(model:IModel)=>void): IDisposable {
+export function onWillDisposeModel(listener: (model: IModel) => void): IDisposable {
 	return StaticServices.modelService.get().onModelRemoved(listener);
 }
 
 /**
  * Emitted when a different language is set to a model.
  */
-export function onDidChangeModelLanguage(listener:(e:{ model: IModel; oldLanguage: string; })=>void): IDisposable {
+export function onDidChangeModelLanguage(listener: (e: { model: IModel; oldLanguage: string; }) => void): IDisposable {
 	return StaticServices.modelService.get().onModelModeChanged((e) => {
 		listener({
 			model: e.model,
@@ -202,7 +202,7 @@ export function onDidChangeModelLanguage(listener:(e:{ model: IModel; oldLanguag
 /**
  * @internal
  */
-export function getOrCreateMode(modeId: string):TPromise<modes.IMode> {
+export function getOrCreateMode(modeId: string): TPromise<modes.IMode> {
 	return StaticServices.modeService.get().getOrCreateMode(modeId);
 }
 
@@ -212,28 +212,28 @@ export function getOrCreateMode(modeId: string):TPromise<modes.IMode> {
  * Create a new web worker that has model syncing capabilities built in.
  * Specify an AMD module to load that will `create` an object that will be proxied.
  */
-export function createWebWorker<T>(opts:IWebWorkerOptions): MonacoWebWorker<T> {
+export function createWebWorker<T>(opts: IWebWorkerOptions): MonacoWebWorker<T> {
 	return actualCreateWebWorker<T>(StaticServices.modelService.get(), opts);
 }
 
 /**
  * Colorize the contents of `domNode` using attribute `data-lang`.
  */
-export function colorizeElement(domNode:HTMLElement, options:IColorizerElementOptions): TPromise<void> {
+export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): TPromise<void> {
 	return Colorizer.colorizeElement(StaticServices.modeService.get(), domNode, options);
 }
 
 /**
  * Colorize `text` using language `languageId`.
  */
-export function colorize(text:string, languageId:string, options:IColorizerOptions): TPromise<string> {
+export function colorize(text: string, languageId: string, options: IColorizerOptions): TPromise<string> {
 	return Colorizer.colorize(StaticServices.modeService.get(), text, languageId, options);
 }
 
 /**
  * Colorize a line in a model.
  */
-export function colorizeModelLine(model:IModel, lineNumber:number, tabSize:number = 4): string {
+export function colorizeModelLine(model: IModel, lineNumber: number, tabSize: number = 4): string {
 	return Colorizer.colorizeModelLine(model, lineNumber, tabSize);
 }
 
diff --git a/src/vs/editor/browser/standalone/standaloneLanguages.ts b/src/vs/editor/browser/standalone/standaloneLanguages.ts
index 088dd6d553101..808d6df14cf3a 100644
--- a/src/vs/editor/browser/standalone/standaloneLanguages.ts
+++ b/src/vs/editor/browser/standalone/standaloneLanguages.ts
@@ -5,29 +5,29 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-import {ModesRegistry} from 'vs/editor/common/modes/modesRegistry';
-import {IMonarchLanguage} from 'vs/editor/common/modes/monarch/monarchTypes';
-import {ILanguageExtensionPoint} from 'vs/editor/common/services/modeService';
-import {StaticServices} from 'vs/editor/browser/standalone/standaloneServices';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+import { ModesRegistry } from 'vs/editor/common/modes/modesRegistry';
+import { IMonarchLanguage } from 'vs/editor/common/modes/monarch/monarchTypes';
+import { ILanguageExtensionPoint } from 'vs/editor/common/services/modeService';
+import { StaticServices } from 'vs/editor/browser/standalone/standaloneServices';
 import * as modes from 'vs/editor/common/modes';
-import {LanguageConfiguration} from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { LanguageConfiguration } from 'vs/editor/common/modes/languageConfigurationRegistry';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {CancellationToken} from 'vs/base/common/cancellation';
-import {toThenable} from 'vs/base/common/async';
-import {compile} from 'vs/editor/common/modes/monarch/monarchCompile';
-import {createTokenizationSupport} from 'vs/editor/common/modes/monarch/monarchLexer';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {IMarkerData} from 'vs/platform/markers/common/markers';
-import {TokenizationSupport2Adapter} from 'vs/editor/common/services/modeServiceImpl';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { CancellationToken } from 'vs/base/common/cancellation';
+import { toThenable } from 'vs/base/common/async';
+import { compile } from 'vs/editor/common/modes/monarch/monarchCompile';
+import { createTokenizationSupport } from 'vs/editor/common/modes/monarch/monarchLexer';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { IMarkerData } from 'vs/platform/markers/common/markers';
+import { TokenizationSupport2Adapter } from 'vs/editor/common/services/modeServiceImpl';
 /**
  * Register information about a new language.
  */
-export function register(language:ILanguageExtensionPoint): void {
+export function register(language: ILanguageExtensionPoint): void {
 	ModesRegistry.registerLanguage(language);
 }
 
@@ -35,7 +35,7 @@ export function register(language:ILanguageExtensionPoint): void {
  * Get the information of all the registered languages.
  */
 export function getLanguages(): ILanguageExtensionPoint[] {
-	let result:ILanguageExtensionPoint[] = [];
+	let result: ILanguageExtensionPoint[] = [];
 	result = result.concat(ModesRegistry.getLanguages());
 	return result;
 }
@@ -43,7 +43,7 @@ export function getLanguages(): ILanguageExtensionPoint[] {
 /**
  * An event emitted when a language is first time needed (e.g. a model has it set).
  */
-export function onLanguage(languageId:string, callback:()=>void): IDisposable {
+export function onLanguage(languageId: string, callback: () => void): IDisposable {
 	let isDisposed = false;
 	ExtensionsRegistry.registerOneTimeActivationEventListener('onLanguage:' + languageId, () => {
 		if (!isDisposed) {
@@ -58,14 +58,14 @@ export function onLanguage(languageId:string, callback:()=>void): IDisposable {
 /**
  * Set the editing configuration for a language.
  */
-export function setLanguageConfiguration(languageId:string, configuration:LanguageConfiguration): IDisposable {
+export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable {
 	return LanguageConfigurationRegistry.register(languageId, configuration);
 }
 
 /**
  * Set the tokens provider for a language (manual implementation).
  */
-export function setTokensProvider(languageId:string, provider:modes.TokensProvider): IDisposable {
+export function setTokensProvider(languageId: string, provider: modes.TokensProvider): IDisposable {
 	let adapter = new TokenizationSupport2Adapter(languageId, provider);
 	return modes.TokenizationRegistry.register(languageId, adapter);
 }
@@ -73,7 +73,7 @@ export function setTokensProvider(languageId:string, provider:modes.TokensProvid
 /**
  * Set the tokens provider for a language (monarch implementation).
  */
-export function setMonarchTokensProvider(languageId:string, languageDef:IMonarchLanguage): IDisposable {
+export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage): IDisposable {
 	let lexer = compile(languageId, languageDef);
 	let adapter = createTokenizationSupport(StaticServices.modeService.get(), languageId, lexer);
 	return modes.TokenizationRegistry.register(languageId, adapter);
@@ -82,30 +82,30 @@ export function setMonarchTokensProvider(languageId:string, languageDef:IMonarch
 /**
  * Register a reference provider (used by e.g. reference search).
  */
-export function registerReferenceProvider(languageId:string, provider:modes.ReferenceProvider): IDisposable {
+export function registerReferenceProvider(languageId: string, provider: modes.ReferenceProvider): IDisposable {
 	return modes.ReferenceProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a rename provider (used by e.g. rename symbol).
  */
-export function registerRenameProvider(languageId:string, provider:modes.RenameProvider): IDisposable {
+export function registerRenameProvider(languageId: string, provider: modes.RenameProvider): IDisposable {
 	return modes.RenameProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a signature help provider (used by e.g. paremeter hints).
  */
-export function registerSignatureHelpProvider(languageId:string, provider:modes.SignatureHelpProvider): IDisposable {
+export function registerSignatureHelpProvider(languageId: string, provider: modes.SignatureHelpProvider): IDisposable {
 	return modes.SignatureHelpProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a hover provider (used by e.g. editor hover).
  */
-export function registerHoverProvider(languageId:string, provider:modes.HoverProvider): IDisposable {
+export function registerHoverProvider(languageId: string, provider: modes.HoverProvider): IDisposable {
 	return modes.HoverProviderRegistry.register(languageId, {
-		provideHover: (model:editorCommon.IReadOnlyModel, position:Position, token:CancellationToken): Thenable<modes.Hover> => {
+		provideHover: (model: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<modes.Hover> => {
 			let word = model.getWordAtPosition(position);
 
 			return toThenable<modes.Hover>(provider.provideHover(model, position, token)).then((value) => {
@@ -127,38 +127,38 @@ export function registerHoverProvider(languageId:string, provider:modes.HoverPro
 /**
  * Register a document symbol provider (used by e.g. outline).
  */
-export function registerDocumentSymbolProvider(languageId:string, provider:modes.DocumentSymbolProvider): IDisposable {
+export function registerDocumentSymbolProvider(languageId: string, provider: modes.DocumentSymbolProvider): IDisposable {
 	return modes.DocumentSymbolProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a document highlight provider (used by e.g. highlight occurences).
  */
-export function registerDocumentHighlightProvider(languageId:string, provider:modes.DocumentHighlightProvider): IDisposable {
+export function registerDocumentHighlightProvider(languageId: string, provider: modes.DocumentHighlightProvider): IDisposable {
 	return modes.DocumentHighlightProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a definition provider (used by e.g. go to definition).
  */
-export function registerDefinitionProvider(languageId:string, provider:modes.DefinitionProvider): IDisposable {
+export function registerDefinitionProvider(languageId: string, provider: modes.DefinitionProvider): IDisposable {
 	return modes.DefinitionProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a code lens provider (used by e.g. inline code lenses).
  */
-export function registerCodeLensProvider(languageId:string, provider:modes.CodeLensProvider): IDisposable {
+export function registerCodeLensProvider(languageId: string, provider: modes.CodeLensProvider): IDisposable {
 	return modes.CodeLensProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a code action provider (used by e.g. quick fix).
  */
-export function registerCodeActionProvider(languageId:string, provider:CodeActionProvider): IDisposable {
+export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider): IDisposable {
 	return modes.CodeActionProviderRegistry.register(languageId, {
-		provideCodeActions: (model:editorCommon.IReadOnlyModel, range:Range, token: CancellationToken): modes.CodeAction[] | Thenable<modes.CodeAction[]> => {
-			let markers = StaticServices.markerService.get().read({resource: model.uri }).filter(m => {
+		provideCodeActions: (model: editorCommon.IReadOnlyModel, range: Range, token: CancellationToken): modes.CodeAction[] | Thenable<modes.CodeAction[]> => {
+			let markers = StaticServices.markerService.get().read({ resource: model.uri }).filter(m => {
 				return Range.areIntersectingOrTouching(m, range);
 			});
 			return provider.provideCodeActions(model, range, { markers }, token);
@@ -169,42 +169,42 @@ export function registerCodeActionProvider(languageId:string, provider:CodeActio
 /**
  * Register a formatter that can handle only entire models.
  */
-export function registerDocumentFormattingEditProvider(languageId:string, provider:modes.DocumentFormattingEditProvider): IDisposable {
+export function registerDocumentFormattingEditProvider(languageId: string, provider: modes.DocumentFormattingEditProvider): IDisposable {
 	return modes.DocumentFormattingEditProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a formatter that can handle a range inside a model.
  */
-export function registerDocumentRangeFormattingEditProvider(languageId:string, provider:modes.DocumentRangeFormattingEditProvider): IDisposable {
+export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: modes.DocumentRangeFormattingEditProvider): IDisposable {
 	return modes.DocumentRangeFormattingEditProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a formatter than can do formatting as the user types.
  */
-export function registerOnTypeFormattingEditProvider(languageId:string, provider:modes.OnTypeFormattingEditProvider): IDisposable {
+export function registerOnTypeFormattingEditProvider(languageId: string, provider: modes.OnTypeFormattingEditProvider): IDisposable {
 	return modes.OnTypeFormattingEditProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a link provider that can find links in text.
  */
-export function registerLinkProvider(languageId:string, provider:modes.LinkProvider): IDisposable {
+export function registerLinkProvider(languageId: string, provider: modes.LinkProvider): IDisposable {
 	return modes.LinkProviderRegistry.register(languageId, provider);
 }
 
 /**
  * Register a completion item provider (use by e.g. suggestions).
  */
-export function registerCompletionItemProvider(languageId:string, provider:CompletionItemProvider): IDisposable {
+export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable {
 	let adapter = new SuggestAdapter(provider);
 	return modes.SuggestRegistry.register(languageId, {
 		triggerCharacters: provider.triggerCharacters,
-		provideCompletionItems: (model:editorCommon.IReadOnlyModel, position:Position, token:CancellationToken): Thenable<modes.ISuggestResult> => {
+		provideCompletionItems: (model: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<modes.ISuggestResult> => {
 			return adapter.provideCompletionItems(model, position, token);
 		},
-		resolveCompletionItem: (model:editorCommon.IReadOnlyModel, position:Position, suggestion: modes.ISuggestion, token: CancellationToken): Thenable<modes.ISuggestion> => {
+		resolveCompletionItem: (model: editorCommon.IReadOnlyModel, position: Position, suggestion: modes.ISuggestion, token: CancellationToken): Thenable<modes.ISuggestion> => {
 			return adapter.resolveCompletionItem(model, position, suggestion, token);
 		}
 	});
@@ -232,7 +232,7 @@ export interface CodeActionProvider {
 	/**
 	 * Provide commands for the given document and range.
 	 */
-	provideCodeActions(model:editorCommon.IReadOnlyModel, range:Range, context: CodeActionContext, token: CancellationToken): modes.CodeAction[] | Thenable<modes.CodeAction[]>;
+	provideCodeActions(model: editorCommon.IReadOnlyModel, range: Range, context: CodeActionContext, token: CancellationToken): modes.CodeAction[] | Thenable<modes.CodeAction[]>;
 }
 
 /**
@@ -386,7 +386,7 @@ class SuggestAdapter {
 		this._provider = provider;
 	}
 
-	private static from(item:CompletionItem): ISuggestion2 {
+	private static from(item: CompletionItem): ISuggestion2 {
 		return {
 			_actual: item,
 			label: item.label,
@@ -399,9 +399,9 @@ class SuggestAdapter {
 		};
 	}
 
-	provideCompletionItems(model:editorCommon.IReadOnlyModel, position:Position, token:CancellationToken): Thenable<modes.ISuggestResult> {
+	provideCompletionItems(model: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<modes.ISuggestResult> {
 
-		return toThenable<CompletionItem[]|CompletionList>(this._provider.provideCompletionItems(model, position, token)).then(value => {
+		return toThenable<CompletionItem[] | CompletionList>(this._provider.provideCompletionItems(model, position, token)).then(value => {
 			const result: modes.ISuggestResult = {
 				suggestions: [],
 				currentWord: '',
@@ -463,7 +463,7 @@ class SuggestAdapter {
 		});
 	}
 
-	resolveCompletionItem(model:editorCommon.IReadOnlyModel, position:Position, suggestion: modes.ISuggestion, token: CancellationToken): Thenable<modes.ISuggestion> {
+	resolveCompletionItem(model: editorCommon.IReadOnlyModel, position: Position, suggestion: modes.ISuggestion, token: CancellationToken): Thenable<modes.ISuggestion> {
 		if (typeof this._provider.resolveCompletionItem !== 'function') {
 			return TPromise.as(suggestion);
 		}
diff --git a/src/vs/editor/browser/standalone/standaloneServices.ts b/src/vs/editor/browser/standalone/standaloneServices.ts
index 3d6289b98c0d9..99fe19a0d73ad 100644
--- a/src/vs/editor/browser/standalone/standaloneServices.ts
+++ b/src/vs/editor/browser/standalone/standaloneServices.ts
@@ -4,47 +4,47 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Disposable} from 'vs/base/common/lifecycle';
+import { Disposable } from 'vs/base/common/lifecycle';
 import URI from 'vs/base/common/uri';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {ContextMenuService} from 'vs/platform/contextview/browser/contextMenuService';
-import {IContextMenuService, IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {ContextViewService} from 'vs/platform/contextview/browser/contextViewService';
-import {IEventService} from 'vs/platform/event/common/event';
-import {EventService} from 'vs/platform/event/common/eventService';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
-import {createDecorator, IInstantiationService, ServiceIdentifier} from 'vs/platform/instantiation/common/instantiation';
-import {InstantiationService} from 'vs/platform/instantiation/common/instantiationService';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {MarkerService} from 'vs/platform/markers/common/markerService';
-import {IMarkerService} from 'vs/platform/markers/common/markers';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IProgressService} from 'vs/platform/progress/common/progress';
-import {IStorageService, NullStorageService} from 'vs/platform/storage/common/storage';
-import {ITelemetryService, NullTelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IWorkspaceContextService, WorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
-import {EditorWorkerServiceImpl} from 'vs/editor/common/services/editorWorkerServiceImpl';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {MainThreadModeServiceImpl} from 'vs/editor/common/services/modeServiceImpl';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {ModelServiceImpl} from 'vs/editor/common/services/modelServiceImpl';
-import {CodeEditorServiceImpl} from 'vs/editor/browser/services/codeEditorServiceImpl';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { ContextMenuService } from 'vs/platform/contextview/browser/contextMenuService';
+import { IContextMenuService, IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { ContextViewService } from 'vs/platform/contextview/browser/contextViewService';
+import { IEventService } from 'vs/platform/event/common/event';
+import { EventService } from 'vs/platform/event/common/eventService';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
+import { createDecorator, IInstantiationService, ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
+import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { MarkerService } from 'vs/platform/markers/common/markerService';
+import { IMarkerService } from 'vs/platform/markers/common/markers';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IProgressService } from 'vs/platform/progress/common/progress';
+import { IStorageService, NullStorageService } from 'vs/platform/storage/common/storage';
+import { ITelemetryService, NullTelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IWorkspaceContextService, WorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
+import { EditorWorkerServiceImpl } from 'vs/editor/common/services/editorWorkerServiceImpl';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { MainThreadModeServiceImpl } from 'vs/editor/common/services/modeServiceImpl';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { ModelServiceImpl } from 'vs/editor/common/services/modelServiceImpl';
+import { CodeEditorServiceImpl } from 'vs/editor/browser/services/codeEditorServiceImpl';
 import {
 	SimpleConfigurationService, SimpleMessageService, SimpleExtensionService,
 	StandaloneKeybindingService, StandaloneCommandService, SimpleProgressService
 } from 'vs/editor/browser/standalone/simpleServices';
-import {ContextKeyService} from 'vs/platform/contextkey/browser/contextKeyService';
-import {IMenuService} from 'vs/platform/actions/common/actions';
-import {MenuService} from 'vs/platform/actions/common/menuService';
+import { ContextKeyService } from 'vs/platform/contextkey/browser/contextKeyService';
+import { IMenuService } from 'vs/platform/actions/common/actions';
+import { MenuService } from 'vs/platform/actions/common/menuService';
 
 export interface IEditorContextViewService extends IContextViewService {
 	dispose(): void;
-	setContainer(domNode:HTMLElement): void;
+	setContainer(domNode: HTMLElement): void;
 }
 
 export interface IEditorOverrideServices {
@@ -61,7 +61,7 @@ export module StaticServices {
 
 		public get id() { return this._serviceId; }
 
-		constructor(serviceId:ServiceIdentifier<T>, factory:(overrides: IEditorOverrideServices) => T) {
+		constructor(serviceId: ServiceIdentifier<T>, factory: (overrides: IEditorOverrideServices) => T) {
 			this._serviceId = serviceId;
 			this._factory = factory;
 			this._value = null;
@@ -86,7 +86,7 @@ export module StaticServices {
 
 	let _all: LazyStaticService<any>[] = [];
 
-	function define<T>(serviceId:ServiceIdentifier<T>, factory:(overrides: IEditorOverrideServices) => T): LazyStaticService<T> {
+	function define<T>(serviceId: ServiceIdentifier<T>, factory: (overrides: IEditorOverrideServices) => T): LazyStaticService<T> {
 		let r = new LazyStaticService(serviceId, factory);
 		_all.push(r);
 		return r;
@@ -149,7 +149,7 @@ export class DynamicStandaloneServices extends Disposable {
 	private _serviceCollection: ServiceCollection;
 	private _instantiationService: IInstantiationService;
 
-	constructor(domElement:HTMLElement, overrides: IEditorOverrideServices) {
+	constructor(domElement: HTMLElement, overrides: IEditorOverrideServices) {
 		super();
 
 		const [_serviceCollection, _instantiationService] = StaticServices.init(overrides);
@@ -161,8 +161,8 @@ export class DynamicStandaloneServices extends Disposable {
 		const messageService = this.get(IMessageService);
 		const telemetryService = this.get(ITelemetryService);
 
-		let ensure = <T>(serviceId:ServiceIdentifier<T>, factory:() => T): T => {
-			let value:T = null;
+		let ensure = <T>(serviceId: ServiceIdentifier<T>, factory: () => T): T => {
+			let value: T = null;
 			if (overrides) {
 				value = overrides[serviceId.toString()];
 			}
@@ -186,7 +186,7 @@ export class DynamicStandaloneServices extends Disposable {
 		ensure(IMenuService, () => new MenuService(extensionService, commandService));
 	}
 
-	public get<T>(serviceId:ServiceIdentifier<T>): T {
+	public get<T>(serviceId: ServiceIdentifier<T>): T {
 		let r = <T>this._serviceCollection.get(serviceId);
 		if (!r) {
 			throw new Error('Missing service ' + serviceId);
@@ -194,11 +194,11 @@ export class DynamicStandaloneServices extends Disposable {
 		return r;
 	}
 
-	public set<T>(serviceId:ServiceIdentifier<T>, instance: T): void {
+	public set<T>(serviceId: ServiceIdentifier<T>, instance: T): void {
 		this._serviceCollection.set(serviceId, instance);
 	}
 
-	public has<T>(serviceId:ServiceIdentifier<T>): boolean {
+	public has<T>(serviceId: ServiceIdentifier<T>): boolean {
 		return this._serviceCollection.has(serviceId);
 	}
 }
diff --git a/src/vs/editor/browser/view/dynamicViewOverlay.ts b/src/vs/editor/browser/view/dynamicViewOverlay.ts
index f9cd506723773..40c085f9e1ec1 100644
--- a/src/vs/editor/browser/view/dynamicViewOverlay.ts
+++ b/src/vs/editor/browser/view/dynamicViewOverlay.ts
@@ -5,15 +5,15 @@
 
 'use strict';
 
-import {ViewEventHandler} from 'vs/editor/common/viewModel/viewEventHandler';
-import {IRenderingContext} from 'vs/editor/common/view/renderingContext';
+import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
+import { IRenderingContext } from 'vs/editor/common/view/renderingContext';
 
 export abstract class DynamicViewOverlay extends ViewEventHandler {
 
 	public abstract dispose(): void;
 
-	public abstract prepareRender(ctx:IRenderingContext): void;
+	public abstract prepareRender(ctx: IRenderingContext): void;
 
-	public abstract render(startLineNumber:number, lineNumber:number): string;
+	public abstract render(startLineNumber: number, lineNumber: number): string;
 
 }
diff --git a/src/vs/editor/browser/view/viewController.ts b/src/vs/editor/browser/view/viewController.ts
index d826e5e78454f..3a9b95b0a1af8 100644
--- a/src/vs/editor/browser/view/viewController.ts
+++ b/src/vs/editor/browser/view/viewController.ts
@@ -4,31 +4,31 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {Position} from 'vs/editor/common/core/position';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { Position } from 'vs/editor/common/core/position';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {IEditorMouseEvent, IViewController, IMouseDispatchData} from 'vs/editor/browser/editorBrowser';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IViewModel} from 'vs/editor/common/viewModel/viewModel';
-import {Range} from 'vs/editor/common/core/range';
+import { IEditorMouseEvent, IViewController, IMouseDispatchData } from 'vs/editor/browser/editorBrowser';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
+import { Range } from 'vs/editor/common/core/range';
 
 export interface TriggerCursorHandler {
-	(source:string, handlerId:string, payload:any): void;
+	(source: string, handlerId: string, payload: any): void;
 }
 
 export class ViewController implements IViewController {
 
-	private viewModel:IViewModel;
-	private triggerCursorHandler:TriggerCursorHandler;
-	private outgoingEventBus:EventEmitter;
-	private commandService:ICommandService;
+	private viewModel: IViewModel;
+	private triggerCursorHandler: TriggerCursorHandler;
+	private outgoingEventBus: EventEmitter;
+	private commandService: ICommandService;
 
 	constructor(
-		viewModel:IViewModel,
-		triggerCursorHandler:TriggerCursorHandler,
-		outgoingEventBus:EventEmitter,
-		commandService:ICommandService
+		viewModel: IViewModel,
+		triggerCursorHandler: TriggerCursorHandler,
+		outgoingEventBus: EventEmitter,
+		commandService: ICommandService
 	) {
 		this.viewModel = viewModel;
 		this.triggerCursorHandler = triggerCursorHandler;
@@ -36,20 +36,20 @@ export class ViewController implements IViewController {
 		this.commandService = commandService;
 	}
 
-	public paste(source:string, text:string, pasteOnNewLine:boolean): void {
+	public paste(source: string, text: string, pasteOnNewLine: boolean): void {
 		this.commandService.executeCommand(editorCommon.Handler.Paste, {
 			text: text,
 			pasteOnNewLine: pasteOnNewLine,
 		});
 	}
 
-	public type(source:string, text:string): void {
+	public type(source: string, text: string): void {
 		this.commandService.executeCommand(editorCommon.Handler.Type, {
 			text: text
 		});
 	}
 
-	public replacePreviousChar(source: string, text: string, replaceCharCnt:number): void {
+	public replacePreviousChar(source: string, text: string, replaceCharCnt: number): void {
 		this.commandService.executeCommand(editorCommon.Handler.ReplacePreviousChar, {
 			text: text,
 			replaceCharCnt: replaceCharCnt
@@ -64,11 +64,11 @@ export class ViewController implements IViewController {
 		this.commandService.executeCommand(editorCommon.Handler.CompositionEnd, {});
 	}
 
-	public cut(source:string): void {
+	public cut(source: string): void {
 		this.commandService.executeCommand(editorCommon.Handler.Cut, {});
 	}
 
-	private _validateViewColumn(viewPosition:Position): Position {
+	private _validateViewColumn(viewPosition: Position): Position {
 		var minColumn = this.viewModel.getLineMinColumn(viewPosition.lineNumber);
 		if (viewPosition.column < minColumn) {
 			return new Position(viewPosition.lineNumber, minColumn);
@@ -76,7 +76,7 @@ export class ViewController implements IViewController {
 		return viewPosition;
 	}
 
-	public dispatchMouse(data:IMouseDispatchData): void {
+	public dispatchMouse(data: IMouseDispatchData): void {
 		if (data.startedOnLineNumbers) {
 			// If the dragging started on the gutter, then have operations work on the entire line
 			if (data.altKey) {
@@ -142,7 +142,7 @@ export class ViewController implements IViewController {
 		}
 	}
 
-	public moveTo(source:string, viewPosition:Position): void {
+	public moveTo(source: string, viewPosition: Position): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.MoveTo, {
 			position: this.convertViewToModelPosition(viewPosition),
@@ -150,7 +150,7 @@ export class ViewController implements IViewController {
 		});
 	}
 
-	private moveToSelect(source:string, viewPosition:Position): void {
+	private moveToSelect(source: string, viewPosition: Position): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.MoveToSelect, {
 			position: this.convertViewToModelPosition(viewPosition),
@@ -158,7 +158,7 @@ export class ViewController implements IViewController {
 		});
 	}
 
-	private columnSelect(source:string, viewPosition:Position, mouseColumn:number): void {
+	private columnSelect(source: string, viewPosition: Position, mouseColumn: number): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.ColumnSelect, {
 			position: this.convertViewToModelPosition(viewPosition),
@@ -167,7 +167,7 @@ export class ViewController implements IViewController {
 		});
 	}
 
-	private createCursor(source:string, viewPosition:Position, wholeLine:boolean): void {
+	private createCursor(source: string, viewPosition: Position, wholeLine: boolean): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.CreateCursor, {
 			position: this.convertViewToModelPosition(viewPosition),
@@ -176,7 +176,7 @@ export class ViewController implements IViewController {
 		});
 	}
 
-	private lastCursorMoveToSelect(source:string, viewPosition:Position): void {
+	private lastCursorMoveToSelect(source: string, viewPosition: Position): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.LastCursorMoveToSelect, {
 			position: this.convertViewToModelPosition(viewPosition),
@@ -184,28 +184,28 @@ export class ViewController implements IViewController {
 		});
 	}
 
-	private wordSelect(source:string, viewPosition:Position): void {
+	private wordSelect(source: string, viewPosition: Position): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.WordSelect, {
 			position: this.convertViewToModelPosition(viewPosition)
 		});
 	}
 
-	private wordSelectDrag(source:string, viewPosition:Position): void {
+	private wordSelectDrag(source: string, viewPosition: Position): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.WordSelectDrag, {
 			position: this.convertViewToModelPosition(viewPosition)
 		});
 	}
 
-	private lastCursorWordSelect(source:string, viewPosition:Position): void {
+	private lastCursorWordSelect(source: string, viewPosition: Position): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.LastCursorWordSelect, {
 			position: this.convertViewToModelPosition(viewPosition)
 		});
 	}
 
-	private lineSelect(source:string, viewPosition:Position): void {
+	private lineSelect(source: string, viewPosition: Position): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.LineSelect, {
 			position: this.convertViewToModelPosition(viewPosition),
@@ -213,7 +213,7 @@ export class ViewController implements IViewController {
 		});
 	}
 
-	private lineSelectDrag(source:string, viewPosition:Position): void {
+	private lineSelectDrag(source: string, viewPosition: Position): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.LineSelectDrag, {
 			position: this.convertViewToModelPosition(viewPosition),
@@ -221,7 +221,7 @@ export class ViewController implements IViewController {
 		});
 	}
 
-	private lastCursorLineSelect(source:string, viewPosition:Position): void {
+	private lastCursorLineSelect(source: string, viewPosition: Position): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.LastCursorLineSelect, {
 			position: this.convertViewToModelPosition(viewPosition),
@@ -229,7 +229,7 @@ export class ViewController implements IViewController {
 		});
 	}
 
-	private lastCursorLineSelectDrag(source:string, viewPosition:Position): void {
+	private lastCursorLineSelectDrag(source: string, viewPosition: Position): void {
 		viewPosition = this._validateViewColumn(viewPosition);
 		this.triggerCursorHandler(source, editorCommon.Handler.LastCursorLineSelectDrag, {
 			position: this.convertViewToModelPosition(viewPosition),
@@ -237,21 +237,21 @@ export class ViewController implements IViewController {
 		});
 	}
 
-	private selectAll(source:string): void {
+	private selectAll(source: string): void {
 		this.triggerCursorHandler(source, editorCommon.Handler.SelectAll, null);
 	}
 
 	// ----------------------
 
-	private convertViewToModelPosition(viewPosition:Position): Position {
+	private convertViewToModelPosition(viewPosition: Position): Position {
 		return this.viewModel.convertViewPositionToModelPosition(viewPosition.lineNumber, viewPosition.column);
 	}
 
-	private convertViewToModelRange(viewRange:editorCommon.IRange): Range {
+	private convertViewToModelRange(viewRange: editorCommon.IRange): Range {
 		return this.viewModel.convertViewRangeToModelRange(viewRange);
 	}
 
-	private convertViewToModelMouseEvent(e:IEditorMouseEvent): void {
+	private convertViewToModelMouseEvent(e: IEditorMouseEvent): void {
 		if (e.target) {
 			if (e.target.position) {
 				e.target.position = this.convertViewToModelPosition(e.target.position);
@@ -262,35 +262,35 @@ export class ViewController implements IViewController {
 		}
 	}
 
-	public emitKeyDown(e:IKeyboardEvent): void {
+	public emitKeyDown(e: IKeyboardEvent): void {
 		this.outgoingEventBus.emit(editorCommon.EventType.KeyDown, e);
 	}
 
-	public emitKeyUp(e:IKeyboardEvent): void {
+	public emitKeyUp(e: IKeyboardEvent): void {
 		this.outgoingEventBus.emit(editorCommon.EventType.KeyUp, e);
 	}
 
-	public emitContextMenu(e:IEditorMouseEvent): void {
+	public emitContextMenu(e: IEditorMouseEvent): void {
 		this.convertViewToModelMouseEvent(e);
 		this.outgoingEventBus.emit(editorCommon.EventType.ContextMenu, e);
 	}
 
-	public emitMouseMove(e:IEditorMouseEvent): void {
+	public emitMouseMove(e: IEditorMouseEvent): void {
 		this.convertViewToModelMouseEvent(e);
 		this.outgoingEventBus.emit(editorCommon.EventType.MouseMove, e);
 	}
 
-	public emitMouseLeave(e:IEditorMouseEvent): void {
+	public emitMouseLeave(e: IEditorMouseEvent): void {
 		this.convertViewToModelMouseEvent(e);
 		this.outgoingEventBus.emit(editorCommon.EventType.MouseLeave, e);
 	}
 
-	public emitMouseUp(e:IEditorMouseEvent): void {
+	public emitMouseUp(e: IEditorMouseEvent): void {
 		this.convertViewToModelMouseEvent(e);
 		this.outgoingEventBus.emit(editorCommon.EventType.MouseUp, e);
 	}
 
-	public emitMouseDown(e:IEditorMouseEvent): void {
+	public emitMouseDown(e: IEditorMouseEvent): void {
 		this.convertViewToModelMouseEvent(e);
 		this.outgoingEventBus.emit(editorCommon.EventType.MouseDown, e);
 	}
diff --git a/src/vs/editor/browser/view/viewEventDispatcher.ts b/src/vs/editor/browser/view/viewEventDispatcher.ts
index bf20e901f1d3f..702d3fd53149b 100644
--- a/src/vs/editor/browser/view/viewEventDispatcher.ts
+++ b/src/vs/editor/browser/view/viewEventDispatcher.ts
@@ -4,17 +4,17 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EmitterEvent} from 'vs/base/common/eventEmitter';
-import {IViewEventBus, IViewEventHandler} from 'vs/editor/common/view/viewContext';
+import { EmitterEvent } from 'vs/base/common/eventEmitter';
+import { IViewEventBus, IViewEventHandler } from 'vs/editor/common/view/viewContext';
 
 export class ViewEventDispatcher implements IViewEventBus {
 
-	private _eventHandlerGateKeeper:(callback:()=>void)=>void;
-	private _eventHandlers:IViewEventHandler[];
-	private _eventQueue:EmitterEvent[];
-	private _isConsumingQueue:boolean;
+	private _eventHandlerGateKeeper: (callback: () => void) => void;
+	private _eventHandlers: IViewEventHandler[];
+	private _eventQueue: EmitterEvent[];
+	private _isConsumingQueue: boolean;
 
-	constructor(eventHandlerGateKeeper:(callback:()=>void)=>void) {
+	constructor(eventHandlerGateKeeper: (callback: () => void) => void) {
 		this._eventHandlerGateKeeper = eventHandlerGateKeeper;
 		this._eventHandlers = [];
 		this._eventQueue = null;
@@ -30,7 +30,7 @@ export class ViewEventDispatcher implements IViewEventBus {
 		this._eventHandlers.push(eventHandler);
 	}
 
-	public removeEventHandler(eventHandler:IViewEventHandler): void {
+	public removeEventHandler(eventHandler: IViewEventHandler): void {
 		for (let i = 0; i < this._eventHandlers.length; i++) {
 			if (this._eventHandlers[i] === eventHandler) {
 				this._eventHandlers.splice(i, 1);
@@ -39,7 +39,7 @@ export class ViewEventDispatcher implements IViewEventBus {
 		}
 	}
 
-	public emit(eventType:string, data?:any): void {
+	public emit(eventType: string, data?: any): void {
 		let event = new EmitterEvent(eventType, data);
 
 		if (this._eventQueue) {
@@ -53,7 +53,7 @@ export class ViewEventDispatcher implements IViewEventBus {
 		}
 	}
 
-	public emitMany(events:EmitterEvent[]): void {
+	public emitMany(events: EmitterEvent[]): void {
 		if (this._eventQueue) {
 			this._eventQueue = this._eventQueue.concat(events);
 		} else {
diff --git a/src/vs/editor/browser/view/viewImpl.ts b/src/vs/editor/browser/view/viewImpl.ts
index 819f85f0b9e7c..906f01534dddb 100644
--- a/src/vs/editor/browser/view/viewImpl.ts
+++ b/src/vs/editor/browser/view/viewImpl.ts
@@ -4,54 +4,54 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {EventEmitter, EmitterEvent, IEventEmitter} from 'vs/base/common/eventEmitter';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { EventEmitter, EmitterEvent, IEventEmitter } from 'vs/base/common/eventEmitter';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import * as timer from 'vs/base/common/timer';
 import * as browser from 'vs/base/browser/browser';
 import * as dom from 'vs/base/browser/dom';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {Range} from 'vs/editor/common/core/range';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ViewEventHandler} from 'vs/editor/common/viewModel/viewEventHandler';
-import {Configuration} from 'vs/editor/browser/config/configuration';
-import {KeyboardHandler, IKeyboardHandlerHelper} from 'vs/editor/browser/controller/keyboardHandler';
-import {PointerHandler} from 'vs/editor/browser/controller/pointerHandler';
+import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
+import { Configuration } from 'vs/editor/browser/config/configuration';
+import { KeyboardHandler, IKeyboardHandlerHelper } from 'vs/editor/browser/controller/keyboardHandler';
+import { PointerHandler } from 'vs/editor/browser/controller/pointerHandler';
 import * as editorBrowser from 'vs/editor/browser/editorBrowser';
-import {ViewController, TriggerCursorHandler} from 'vs/editor/browser/view/viewController';
-import {ViewEventDispatcher} from 'vs/editor/browser/view/viewEventDispatcher';
-import {ContentViewOverlays, MarginViewOverlays} from 'vs/editor/browser/view/viewOverlays';
-import {LayoutProvider} from 'vs/editor/browser/viewLayout/layoutProvider';
-import {ViewContentWidgets} from 'vs/editor/browser/viewParts/contentWidgets/contentWidgets';
-import {CurrentLineHighlightOverlay} from 'vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight';
-import {DecorationsOverlay} from 'vs/editor/browser/viewParts/decorations/decorations';
-import {GlyphMarginOverlay} from 'vs/editor/browser/viewParts/glyphMargin/glyphMargin';
-import {LineNumbersOverlay} from 'vs/editor/browser/viewParts/lineNumbers/lineNumbers';
-import {IndentGuidesOverlay} from 'vs/editor/browser/viewParts/indentGuides/indentGuides';
-import {ViewLines} from 'vs/editor/browser/viewParts/lines/viewLines';
-import {LinesDecorationsOverlay} from 'vs/editor/browser/viewParts/linesDecorations/linesDecorations';
-import {ViewOverlayWidgets} from 'vs/editor/browser/viewParts/overlayWidgets/overlayWidgets';
-import {DecorationsOverviewRuler} from 'vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler';
-import {OverviewRuler} from 'vs/editor/browser/viewParts/overviewRuler/overviewRuler';
-import {Rulers} from 'vs/editor/browser/viewParts/rulers/rulers';
-import {ScrollDecorationViewPart} from 'vs/editor/browser/viewParts/scrollDecoration/scrollDecoration';
-import {SelectionsOverlay} from 'vs/editor/browser/viewParts/selections/selections';
-import {ViewCursors} from 'vs/editor/browser/viewParts/viewCursors/viewCursors';
-import {ViewZones} from 'vs/editor/browser/viewParts/viewZones/viewZones';
-import {ViewPart} from 'vs/editor/browser/view/viewPart';
-import {ViewContext, IViewEventHandler} from 'vs/editor/common/view/viewContext';
-import {IViewModel} from 'vs/editor/common/viewModel/viewModel';
-import {ViewLinesViewportData} from 'vs/editor/common/viewLayout/viewLinesViewportData';
-import {IRenderingContext} from 'vs/editor/common/view/renderingContext';
-import {IPointerHandlerHelper} from 'vs/editor/browser/controller/mouseHandler';
+import { ViewController, TriggerCursorHandler } from 'vs/editor/browser/view/viewController';
+import { ViewEventDispatcher } from 'vs/editor/browser/view/viewEventDispatcher';
+import { ContentViewOverlays, MarginViewOverlays } from 'vs/editor/browser/view/viewOverlays';
+import { LayoutProvider } from 'vs/editor/browser/viewLayout/layoutProvider';
+import { ViewContentWidgets } from 'vs/editor/browser/viewParts/contentWidgets/contentWidgets';
+import { CurrentLineHighlightOverlay } from 'vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight';
+import { DecorationsOverlay } from 'vs/editor/browser/viewParts/decorations/decorations';
+import { GlyphMarginOverlay } from 'vs/editor/browser/viewParts/glyphMargin/glyphMargin';
+import { LineNumbersOverlay } from 'vs/editor/browser/viewParts/lineNumbers/lineNumbers';
+import { IndentGuidesOverlay } from 'vs/editor/browser/viewParts/indentGuides/indentGuides';
+import { ViewLines } from 'vs/editor/browser/viewParts/lines/viewLines';
+import { LinesDecorationsOverlay } from 'vs/editor/browser/viewParts/linesDecorations/linesDecorations';
+import { ViewOverlayWidgets } from 'vs/editor/browser/viewParts/overlayWidgets/overlayWidgets';
+import { DecorationsOverviewRuler } from 'vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler';
+import { OverviewRuler } from 'vs/editor/browser/viewParts/overviewRuler/overviewRuler';
+import { Rulers } from 'vs/editor/browser/viewParts/rulers/rulers';
+import { ScrollDecorationViewPart } from 'vs/editor/browser/viewParts/scrollDecoration/scrollDecoration';
+import { SelectionsOverlay } from 'vs/editor/browser/viewParts/selections/selections';
+import { ViewCursors } from 'vs/editor/browser/viewParts/viewCursors/viewCursors';
+import { ViewZones } from 'vs/editor/browser/viewParts/viewZones/viewZones';
+import { ViewPart } from 'vs/editor/browser/view/viewPart';
+import { ViewContext, IViewEventHandler } from 'vs/editor/common/view/viewContext';
+import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
+import { ViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
+import { IRenderingContext } from 'vs/editor/common/view/renderingContext';
+import { IPointerHandlerHelper } from 'vs/editor/browser/controller/mouseHandler';
 
 export class View extends ViewEventHandler implements editorBrowser.IView, IDisposable {
 
-	private eventDispatcher:ViewEventDispatcher;
+	private eventDispatcher: ViewEventDispatcher;
 
-	private listenersToRemove:IDisposable[];
-	private listenersToDispose:IDisposable[];
+	private listenersToRemove: IDisposable[];
+	private listenersToDispose: IDisposable[];
 
 	private layoutProvider: LayoutProvider;
 	public _context: ViewContext;
@@ -80,18 +80,18 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 	private overflowGuardContainer: HTMLElement;
 
 	// Actual mutable state
-	private hasFocus:boolean;
+	private hasFocus: boolean;
 	private _isDisposed: boolean;
 
-	private handleAccumulatedModelEventsTimeout:number;
+	private handleAccumulatedModelEventsTimeout: number;
 	private accumulatedModelEvents: EmitterEvent[];
 	private _renderAnimationFrame: IDisposable;
 
 	constructor(
 		commandService: ICommandService,
-		configuration:Configuration,
-		model:IViewModel,
-		private triggerCursorHandler:TriggerCursorHandler
+		configuration: Configuration,
+		model: IViewModel,
+		private triggerCursorHandler: TriggerCursorHandler
 	) {
 		super();
 		this._isDisposed = false;
@@ -104,7 +104,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 		this.listenersToDispose = [];
 
 		// The event dispatcher will always go through _renderOnce before dispatching any events
-		this.eventDispatcher = new ViewEventDispatcher((callback:()=>void) => this._renderOnce(callback));
+		this.eventDispatcher = new ViewEventDispatcher((callback: () => void) => this._renderOnce(callback));
 
 		// These two dom nodes must be constructed up front, since references are needed in the layout provider (scrolling & co.)
 		this.linesContent = document.createElement('div');
@@ -124,9 +124,9 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 
 		// The view context is passed on to most classes (basically to reduce param. counts in ctors)
 		this._context = new ViewContext(
-				configuration, model, this.eventDispatcher,
-				(eventHandler:IViewEventHandler) => this.eventDispatcher.addEventHandler(eventHandler),
-				(eventHandler:IViewEventHandler) => this.eventDispatcher.removeEventHandler(eventHandler)
+			configuration, model, this.eventDispatcher,
+			(eventHandler: IViewEventHandler) => this.eventDispatcher.addEventHandler(eventHandler),
+			(eventHandler: IViewEventHandler) => this.eventDispatcher.removeEventHandler(eventHandler)
 		);
 
 		this.createTextArea();
@@ -147,7 +147,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 		// This delayed processing of incoming model events acts as a guard against undesired/unexpected recursion.
 		this.handleAccumulatedModelEventsTimeout = -1;
 		this.accumulatedModelEvents = [];
-		this.listenersToRemove.push(model.addBulkListener2((events:EmitterEvent[]) => {
+		this.listenersToRemove.push(model.addBulkListener2((events: EmitterEvent[]) => {
 			this.accumulatedModelEvents = this.accumulatedModelEvents.concat(events);
 			if (this.handleAccumulatedModelEventsTimeout === -1) {
 				this.handleAccumulatedModelEventsTimeout = setTimeout(() => {
@@ -218,8 +218,8 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 
 		// Decorations overview ruler
 		var decorationsOverviewRuler = new DecorationsOverviewRuler(
-				this._context, this.layoutProvider.getScrollHeight(),
-				(lineNumber:number) => this.layoutProvider.getVerticalOffsetForLineNumber(lineNumber)
+			this._context, this.layoutProvider.getScrollHeight(),
+			(lineNumber: number) => this.layoutProvider.getVerticalOffsetForLineNumber(lineNumber)
 		);
 		this.viewParts.push(decorationsOverviewRuler);
 
@@ -315,7 +315,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 				return this.layoutProvider.getScrollTop();
 			},
 
-			setScrollPosition: (position:editorCommon.INewScrollPosition) => {
+			setScrollPosition: (position: editorCommon.INewScrollPosition) => {
 				if (this._isDisposed) {
 					throw new Error('ViewImpl.pointerHandler.setScrollPosition: View is disposed');
 				}
@@ -416,7 +416,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 		};
 	}
 
-	public setAriaActiveDescendant(id:string): void {
+	public setAriaActiveDescendant(id: string): void {
 		if (id) {
 			this.textArea.setAttribute('role', 'combobox');
 			if (this.textArea.getAttribute('aria-activedescendant') !== id) {
@@ -432,7 +432,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 
 	// --- begin event handlers
 
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		if (browser.isChrome) {
 			/* tslint:disable:no-unused-variable */
 			// Access overflowGuardContainer.clientWidth to prevent relayouting bug in Chrome
@@ -465,11 +465,11 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 		}
 		return false;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		this.outgoingEventBus.emit('scroll', e);
 		return false;
 	}
-	public onViewFocusChanged(isFocused:boolean): boolean {
+	public onViewFocusChanged(isFocused: boolean): boolean {
 		dom.toggleClass(this.domNode, 'focused', isFocused);
 		if (isFocused) {
 			this.outgoingEventBus.emit(editorCommon.EventType.ViewFocusGained, {});
@@ -526,7 +526,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 
 	// --- begin Code Editor APIs
 
-	private codeEditorHelper:editorBrowser.ICodeEditorHelper;
+	private codeEditorHelper: editorBrowser.ICodeEditorHelper;
 	public getCodeEditorHelper(): editorBrowser.ICodeEditorHelper {
 		if (!this.codeEditorHelper) {
 			this.codeEditorHelper = {
@@ -556,14 +556,14 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 					return this.layoutProvider.getScrollTop();
 				},
 
-				setScrollPosition: (position:editorCommon.INewScrollPosition) => {
+				setScrollPosition: (position: editorCommon.INewScrollPosition) => {
 					if (this._isDisposed) {
 						throw new Error('ViewImpl.codeEditorHelper.setScrollPosition: View is disposed');
 					}
 					this.layoutProvider.setScrollPosition(position);
 				},
 
-				getVerticalOffsetForPosition: (modelLineNumber:number, modelColumn:number) => {
+				getVerticalOffsetForPosition: (modelLineNumber: number, modelColumn: number) => {
 					if (this._isDisposed) {
 						throw new Error('ViewImpl.codeEditorHelper.getVerticalOffsetForPosition: View is disposed');
 					}
@@ -619,9 +619,9 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 		return this._context.model.convertViewRangeToModelRange(completelyVisibleLinesRange);
 	}
 
-//	public getLineInfoProvider():view.ILineInfoProvider {
-//		return this.viewLines;
-//	}
+	//	public getLineInfoProvider():view.ILineInfoProvider {
+	//		return this.viewLines;
+	//	}
 
 	public getInternalEventBus(): IEventEmitter {
 		if (this._isDisposed) {
@@ -667,8 +667,8 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 			throw new Error('ViewImpl.createOverviewRuler: View is disposed');
 		}
 		return new OverviewRuler(
-				this._context, cssClassName, this.layoutProvider.getScrollHeight(), minimumHeight, maximumHeight,
-				(lineNumber:number) => this.layoutProvider.getVerticalOffsetForLineNumber(lineNumber)
+			this._context, cssClassName, this.layoutProvider.getScrollHeight(), minimumHeight, maximumHeight,
+			(lineNumber: number) => this.layoutProvider.getVerticalOffsetForLineNumber(lineNumber)
 		);
 	}
 
@@ -680,12 +680,12 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 		this._renderOnce(() => {
 			// Handle events to avoid "adjusting" newly inserted view zones
 			this._flushAnyAccumulatedEvents();
-			var changeAccessor:editorBrowser.IViewZoneChangeAccessor = {
-				addZone: (zone:editorBrowser.IViewZone): number => {
+			var changeAccessor: editorBrowser.IViewZoneChangeAccessor = {
+				addZone: (zone: editorBrowser.IViewZone): number => {
 					zonesHaveChanged = true;
 					return this.viewZones.addZone(zone);
 				},
-				removeZone: (id:number): void => {
+				removeZone: (id: number): void => {
 					zonesHaveChanged = this.viewZones.removeZone(id) || zonesHaveChanged;
 				},
 				layoutZone: (id: number): void => {
@@ -708,7 +708,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 		return zonesHaveChanged;
 	}
 
-	public getWhitespaces(): editorCommon.IEditorWhitespace[]{
+	public getWhitespaces(): editorCommon.IEditorWhitespace[] {
 		if (this._isDisposed) {
 			throw new Error('ViewImpl.getWhitespaces: View is disposed');
 		}
@@ -777,7 +777,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 		});
 	}
 
-	public render(now:boolean, everything:boolean): void {
+	public render(now: boolean, everything: boolean): void {
 		if (this._isDisposed) {
 			throw new Error('ViewImpl.render: View is disposed');
 		}
@@ -828,13 +828,13 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 		safeInvokeNoArg(() => this._actualRender());
 	}
 
-	private createRenderingContext(linesViewportData:ViewLinesViewportData): IRenderingContext {
+	private createRenderingContext(linesViewportData: ViewLinesViewportData): IRenderingContext {
 
 		var vInfo = this.layoutProvider.getCurrentViewport();
 
 		var deltaTop = linesViewportData.visibleRangesDeltaTop;
 
-		var r:IRenderingContext = {
+		var r: IRenderingContext = {
 			linesViewportData: linesViewportData,
 			scrollWidth: this.layoutProvider.getScrollWidth(),
 			scrollHeight: this.layoutProvider.getScrollHeight(),
@@ -847,11 +847,11 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 			viewportLeft: vInfo.left,
 			viewportTop: vInfo.top,
 
-			getScrolledTopFromAbsoluteTop: (absoluteTop:number) => {
+			getScrolledTopFromAbsoluteTop: (absoluteTop: number) => {
 				return this.layoutProvider.getScrolledTopFromAbsoluteTop(absoluteTop);
 			},
 
-			getViewportVerticalOffsetForLineNumber: (lineNumber:number) => {
+			getViewportVerticalOffsetForLineNumber: (lineNumber: number) => {
 				var verticalOffset = this.layoutProvider.getVerticalOffsetForLineNumber(lineNumber);
 				var scrolledTop = this.layoutProvider.getScrolledTopFromAbsoluteTop(verticalOffset);
 				return scrolledTop;
@@ -859,11 +859,11 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 
 			getDecorationsInViewport: () => linesViewportData.getDecorationsInViewport(),
 
-			linesVisibleRangesForRange: (range:editorCommon.IRange, includeNewLines:boolean) => {
+			linesVisibleRangesForRange: (range: editorCommon.IRange, includeNewLines: boolean) => {
 				return this.viewLines.linesVisibleRangesForRange(range, includeNewLines);
 			},
 
-			visibleRangeForPosition: (position:editorCommon.IPosition) => {
+			visibleRangeForPosition: (position: editorCommon.IPosition) => {
 				var visibleRanges = this.viewLines.visibleRangesForRange2(new Range(position.lineNumber, position.column, position.lineNumber, position.column), deltaTop);
 				if (!visibleRanges) {
 					return null;
@@ -871,7 +871,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 				return visibleRanges[0];
 			},
 
-			lineIsVisible: (lineNumber:number) => {
+			lineIsVisible: (lineNumber: number) => {
 				return linesViewportData.visibleRange.startLineNumber <= lineNumber && lineNumber <= linesViewportData.visibleRange.endLineNumber;
 			}
 		};
@@ -879,7 +879,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 	}
 
 	private _getViewPartsToRender(): ViewPart[] {
-		let result:ViewPart[] = [];
+		let result: ViewPart[] = [];
 		for (let i = 0, len = this.viewParts.length; i < len; i++) {
 			let viewPart = this.viewParts[i];
 			if (viewPart.shouldRender()) {
@@ -938,7 +938,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 		t.stop();
 	}
 
-	private _setHasFocus(newHasFocus:boolean): void {
+	private _setHasFocus(newHasFocus: boolean): void {
 		if (this.hasFocus !== newHasFocus) {
 			this.hasFocus = newHasFocus;
 			this._context.privateViewEventBus.emit(editorCommon.EventType.ViewFocusChanged, this.hasFocus);
@@ -946,18 +946,18 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
 	}
 }
 
-function safeInvokeNoArg(func:Function): any {
+function safeInvokeNoArg(func: Function): any {
 	try {
 		return func();
-	} catch(e) {
+	} catch (e) {
 		onUnexpectedError(e);
 	}
 }
 
-function safeInvoke1Arg(func:Function, arg1:any): any {
+function safeInvoke1Arg(func: Function, arg1: any): any {
 	try {
 		return func(arg1);
-	} catch(e) {
+	} catch (e) {
 		onUnexpectedError(e);
 	}
 }
diff --git a/src/vs/editor/browser/view/viewLayer.ts b/src/vs/editor/browser/view/viewLayer.ts
index fd13c4ed92841..d46bc5a39896f 100644
--- a/src/vs/editor/browser/view/viewLayer.ts
+++ b/src/vs/editor/browser/view/viewLayer.ts
@@ -5,11 +5,11 @@
 'use strict';
 
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ViewPart} from 'vs/editor/browser/view/viewPart';
-import {FastDomNode, createFastDomNode} from 'vs/base/browser/styleMutator';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {ViewLinesViewportData} from 'vs/editor/common/viewLayout/viewLinesViewportData';
-import {InlineDecoration} from 'vs/editor/common/viewModel/viewModel';
+import { ViewPart } from 'vs/editor/browser/view/viewPart';
+import { FastDomNode, createFastDomNode } from 'vs/base/browser/styleMutator';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { ViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
+import { InlineDecoration } from 'vs/editor/common/viewModel/viewModel';
 
 export interface IVisibleLineData {
 	getDomNode(): HTMLElement;
@@ -20,13 +20,13 @@ export interface IVisibleLineData {
 	onLinesDeletedAbove(): void;
 	onLineChangedAbove(): void;
 	onTokensChanged(): void;
-	onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): void;
+	onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): void;
 
-	getLineOuterHTML(out:string[], lineNumber: number, deltaTop: number): void;
+	getLineOuterHTML(out: string[], lineNumber: number, deltaTop: number): void;
 	getLineInnerHTML(lineNumber: number): string;
 
-	shouldUpdateHTML(startLineNumber:number, lineNumber:number, inlineDecorations:InlineDecoration[]): boolean;
-	layoutLine(lineNumber: number, deltaTop:number): void;
+	shouldUpdateHTML(startLineNumber: number, lineNumber: number, inlineDecorations: InlineDecoration[]): boolean;
+	layoutLine(lineNumber: number, deltaTop: number): void;
 }
 
 interface IRendererContext<T extends IVisibleLineData> {
@@ -34,7 +34,7 @@ interface IRendererContext<T extends IVisibleLineData> {
 	rendLineNumberStart: number;
 	lines: T[];
 	linesLength: number;
-	getInlineDecorationsForLineInViewport(lineNumber:number): InlineDecoration[];
+	getInlineDecorationsForLineInViewport(lineNumber: number): InlineDecoration[];
 	viewportTop: number;
 	viewportHeight: number;
 	scrollDomNode: HTMLElement;
@@ -51,21 +51,21 @@ export interface ILine {
 
 export class RenderedLinesCollection<T extends ILine> {
 	private _lines: T[];
-	private _rendLineNumberStart:number;
-	private _createLine:()=>T;
+	private _rendLineNumberStart: number;
+	private _createLine: () => T;
 
-	constructor(createLine:()=>T) {
+	constructor(createLine: () => T) {
 		this._lines = [];
 		this._rendLineNumberStart = 1;
 		this._createLine = createLine;
 	}
 
-	_set(rendLineNumberStart:number, lines:T[]): void {
+	_set(rendLineNumberStart: number, lines: T[]): void {
 		this._lines = lines;
 		this._rendLineNumberStart = rendLineNumberStart;
 	}
 
-	_get(): { rendLineNumberStart:number; lines:T[]; } {
+	_get(): { rendLineNumberStart: number; lines: T[]; } {
 		return {
 			rendLineNumberStart: this._rendLineNumberStart,
 			lines: this._lines
@@ -90,7 +90,7 @@ export class RenderedLinesCollection<T extends ILine> {
 		return this._lines.length;
 	}
 
-	public getLine(lineNumber:number): T {
+	public getLine(lineNumber: number): T {
 		let lineIndex = lineNumber - this._rendLineNumberStart;
 		if (lineIndex < 0 || lineIndex >= this._lines.length) {
 			throw new Error('Illegal value for lineNumber: ' + lineNumber);
@@ -101,7 +101,7 @@ export class RenderedLinesCollection<T extends ILine> {
 	/**
 	 * @returns Lines that were removed from this collection
 	 */
-	public onModelLinesDeleted(deleteFromLineNumber:number, deleteToLineNumber:number): T[] {
+	public onModelLinesDeleted(deleteFromLineNumber: number, deleteToLineNumber: number): T[] {
 		if (this.getCount() === 0) {
 			// no lines
 			return null;
@@ -150,7 +150,7 @@ export class RenderedLinesCollection<T extends ILine> {
 		return deleted;
 	}
 
-	public onModelLineChanged(changedLineNumber:number): boolean {
+	public onModelLineChanged(changedLineNumber: number): boolean {
 		if (this.getCount() === 0) {
 			// no lines
 			return false;
@@ -177,7 +177,7 @@ export class RenderedLinesCollection<T extends ILine> {
 		return notifiedSomeone;
 	}
 
-	public onModelLinesInserted(insertFromLineNumber:number, insertToLineNumber:number): T[] {
+	public onModelLinesInserted(insertFromLineNumber: number, insertToLineNumber: number): T[] {
 		if (this.getCount() === 0) {
 			// no lines
 			return null;
@@ -228,7 +228,7 @@ export class RenderedLinesCollection<T extends ILine> {
 		return deletedLines;
 	}
 
-	public onModelTokensChanged(changedFromLineNumber:number, changedToLineNumber:number): boolean {
+	public onModelTokensChanged(changedFromLineNumber: number, changedToLineNumber: number): boolean {
 		if (this.getCount() === 0) {
 			// no lines
 			return false;
@@ -260,7 +260,7 @@ export abstract class ViewLayer<T extends IVisibleLineData> extends ViewPart {
 	private _scrollDomNode: HTMLElement;
 	private _scrollDomNodeIsAbove: boolean;
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super(context);
 
 		this.domNode = this._createDomNode();
@@ -287,7 +287,7 @@ export abstract class ViewLayer<T extends IVisibleLineData> extends ViewPart {
 
 	// ---- begin view event handlers
 
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		let startLineNumber = this._linesCollection.getStartLineNumber();
 		let endLineNumber = this._linesCollection.getEndLineNumber();
 		for (let lineNumber = startLineNumber; lineNumber <= endLineNumber; lineNumber++) {
@@ -297,11 +297,11 @@ export abstract class ViewLayer<T extends IVisibleLineData> extends ViewPart {
 		return true;
 	}
 
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		return true;
 	}
 
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return e.scrollTopChanged;
 	}
 
@@ -316,7 +316,7 @@ export abstract class ViewLayer<T extends IVisibleLineData> extends ViewPart {
 		return true;
 	}
 
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		let deleted = this._linesCollection.onModelLinesDeleted(e.fromLineNumber, e.toLineNumber);
 		if (deleted) {
 			// Remove from DOM
@@ -331,11 +331,11 @@ export abstract class ViewLayer<T extends IVisibleLineData> extends ViewPart {
 		return true;
 	}
 
-	public onModelLineChanged(e:editorCommon.IViewLineChangedEvent): boolean {
+	public onModelLineChanged(e: editorCommon.IViewLineChangedEvent): boolean {
 		return this._linesCollection.onModelLineChanged(e.lineNumber);
 	}
 
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		let deleted = this._linesCollection.onModelLinesInserted(e.fromLineNumber, e.toLineNumber);
 		if (deleted) {
 			// Remove from DOM
@@ -350,13 +350,13 @@ export abstract class ViewLayer<T extends IVisibleLineData> extends ViewPart {
 		return true;
 	}
 
-	public onModelTokensChanged(e:editorCommon.IViewTokensChangedEvent): boolean {
+	public onModelTokensChanged(e: editorCommon.IViewTokensChangedEvent): boolean {
 		return this._linesCollection.onModelTokensChanged(e.fromLineNumber, e.toLineNumber);
 	}
 
 
 	// ---- end view event handlers
-	public _renderLines(linesViewportData:ViewLinesViewportData): void {
+	public _renderLines(linesViewportData: ViewLinesViewportData): void {
 
 		let inp = this._linesCollection._get();
 
@@ -365,7 +365,7 @@ export abstract class ViewLayer<T extends IVisibleLineData> extends ViewPart {
 			rendLineNumberStart: inp.rendLineNumberStart,
 			lines: inp.lines,
 			linesLength: inp.lines.length,
-			getInlineDecorationsForLineInViewport: (lineNumber:number) => linesViewportData.getInlineDecorationsForLineInViewport(lineNumber),
+			getInlineDecorationsForLineInViewport: (lineNumber: number) => linesViewportData.getInlineDecorationsForLineInViewport(lineNumber),
 			viewportTop: linesViewportData.viewportTop,
 			viewportHeight: linesViewportData.viewportHeight,
 			scrollDomNode: this._scrollDomNode,
@@ -402,11 +402,11 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
 		this._extraDomNodeHTML = extraDomNodeHTML;
 	}
 
-	public renderWithManyUpdates(ctx: IRendererContext<T>, startLineNumber: number, stopLineNumber: number, deltaTop:number[]): IRendererContext<T> {
+	public renderWithManyUpdates(ctx: IRendererContext<T>, startLineNumber: number, stopLineNumber: number, deltaTop: number[]): IRendererContext<T> {
 		return this._render(ctx, startLineNumber, stopLineNumber, deltaTop);
 	}
 
-	private _render(inContext: IRendererContext<T>, startLineNumber: number, stopLineNumber: number, deltaTop:number[]): IRendererContext<T> {
+	private _render(inContext: IRendererContext<T>, startLineNumber: number, stopLineNumber: number, deltaTop: number[]): IRendererContext<T> {
 
 		var ctx: IRendererContext<T> = {
 			domNode: inContext.domNode,
@@ -516,7 +516,7 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
 		return ctx;
 	}
 
-	private _renderUntouchedLines(ctx: IRendererContext<T>, startIndex: number, endIndex: number, deltaTop:number[], deltaLN:number): void {
+	private _renderUntouchedLines(ctx: IRendererContext<T>, startIndex: number, endIndex: number, deltaTop: number[], deltaLN: number): void {
 		var i: number,
 			lineNumber: number;
 
@@ -529,9 +529,9 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
 		}
 	}
 
-	private _insertLinesBefore(ctx: IRendererContext<T>, fromLineNumber: number, toLineNumber: number, deltaTop:number[], deltaLN:number): void {
-		var newLines:T[] = [],
-			line:T,
+	private _insertLinesBefore(ctx: IRendererContext<T>, fromLineNumber: number, toLineNumber: number, deltaTop: number[], deltaLN: number): void {
+		var newLines: T[] = [],
+			line: T,
 			lineNumber: number;
 
 		for (lineNumber = fromLineNumber; lineNumber <= toLineNumber; lineNumber++) {
@@ -587,9 +587,9 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
 		ctx.lines.splice(0, removeCount);
 	}
 
-	private _insertLinesAfter(ctx: IRendererContext<T>, fromLineNumber: number, toLineNumber: number, deltaTop:number[], deltaLN:number): void {
-		var newLines:T[] = [],
-			line:T,
+	private _insertLinesAfter(ctx: IRendererContext<T>, fromLineNumber: number, toLineNumber: number, deltaTop: number[], deltaLN: number): void {
+		var newLines: T[] = [],
+			line: T,
 			lineNumber: number;
 
 		for (lineNumber = fromLineNumber; lineNumber <= toLineNumber; lineNumber++) {
@@ -621,7 +621,7 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
 		return result;
 	}
 
-	private _finishRenderingNewLines(ctx: IRendererContext<T>, domNodeIsEmpty:boolean, newLinesHTML: string[], wasNew: boolean[]): void {
+	private _finishRenderingNewLines(ctx: IRendererContext<T>, domNodeIsEmpty: boolean, newLinesHTML: string[], wasNew: boolean[]): void {
 		var lastChild = <HTMLElement>ctx.domNode.lastChild;
 		if (domNodeIsEmpty || !lastChild) {
 			ctx.domNode.innerHTML = this._extraDomNodeHTML() + newLinesHTML.join('');
@@ -644,8 +644,8 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
 
 		hugeDomNode.innerHTML = invalidLinesHTML.join('');
 
-		var lineDomNode:HTMLElement,
-			source:HTMLElement;
+		var lineDomNode: HTMLElement,
+			source: HTMLElement;
 		for (let i = 0; i < ctx.linesLength; i++) {
 			let line = ctx.lines[i];
 			if (wasInvalid[i]) {
@@ -657,7 +657,7 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
 		}
 	}
 
-	private _finishRendering(ctx: IRendererContext<T>, domNodeIsEmpty:boolean, deltaTop:number[]): void {
+	private _finishRendering(ctx: IRendererContext<T>, domNodeIsEmpty: boolean, deltaTop: number[]): void {
 
 		let inlineDecorations = ViewLayerRenderer._resolveInlineDecorations(ctx);
 
@@ -688,7 +688,7 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
 					line.getLineOuterHTML(invalidLinesHTML, lineNumber, deltaTop[i]);
 					wasInvalid[i] = true;
 					hadInvalidLine = true;
-//					lineDomNode.innerHTML = line.getLineInnerHTML(lineNumber);
+					//					lineDomNode.innerHTML = line.getLineInnerHTML(lineNumber);
 				}
 			}
 		}
diff --git a/src/vs/editor/browser/view/viewOverlays.ts b/src/vs/editor/browser/view/viewOverlays.ts
index 7f85650c06dd3..d9710bc4d3536 100644
--- a/src/vs/editor/browser/view/viewOverlays.ts
+++ b/src/vs/editor/browser/view/viewOverlays.ts
@@ -4,24 +4,24 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {StyleMutator, FastDomNode, createFastDomNode} from 'vs/base/browser/styleMutator';
-import {IScrollEvent, IConfigurationChangedEvent, EditorLayoutInfo} from 'vs/editor/common/editorCommon';
+import { StyleMutator, FastDomNode, createFastDomNode } from 'vs/base/browser/styleMutator';
+import { IScrollEvent, IConfigurationChangedEvent, EditorLayoutInfo } from 'vs/editor/common/editorCommon';
 import * as editorBrowser from 'vs/editor/browser/editorBrowser';
-import {IVisibleLineData, ViewLayer} from 'vs/editor/browser/view/viewLayer';
-import {DynamicViewOverlay} from 'vs/editor/browser/view/dynamicViewOverlay';
-import {Configuration} from 'vs/editor/browser/config/configuration';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext, IRestrictedRenderingContext} from 'vs/editor/common/view/renderingContext';
-import {ILayoutProvider} from 'vs/editor/browser/viewLayout/layoutProvider';
-import {InlineDecoration} from 'vs/editor/common/viewModel/viewModel';
+import { IVisibleLineData, ViewLayer } from 'vs/editor/browser/view/viewLayer';
+import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
+import { Configuration } from 'vs/editor/browser/config/configuration';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext, IRestrictedRenderingContext } from 'vs/editor/common/view/renderingContext';
+import { ILayoutProvider } from 'vs/editor/browser/viewLayout/layoutProvider';
+import { InlineDecoration } from 'vs/editor/common/viewModel/viewModel';
 
 export class ViewOverlays extends ViewLayer<ViewOverlayLine> {
 
-	private _dynamicOverlays:DynamicViewOverlay[];
-	private _isFocused:boolean;
-	_layoutProvider:ILayoutProvider;
+	private _dynamicOverlays: DynamicViewOverlay[];
+	private _isFocused: boolean;
+	_layoutProvider: ILayoutProvider;
 
-	constructor(context:ViewContext, layoutProvider:ILayoutProvider) {
+	constructor(context: ViewContext, layoutProvider: ILayoutProvider) {
 		super(context);
 
 		this._dynamicOverlays = [];
@@ -61,13 +61,13 @@ export class ViewOverlays extends ViewLayer<ViewOverlayLine> {
 		return this.domNode.domNode;
 	}
 
-	public addDynamicOverlay(overlay:DynamicViewOverlay): void {
+	public addDynamicOverlay(overlay: DynamicViewOverlay): void {
 		this._dynamicOverlays.push(overlay);
 	}
 
 	// ----- event handlers
 
-	public onViewFocusChanged(isFocused:boolean): boolean {
+	public onViewFocusChanged(isFocused: boolean): boolean {
 		this._isFocused = isFocused;
 		return true;
 	}
@@ -80,7 +80,7 @@ export class ViewOverlays extends ViewLayer<ViewOverlayLine> {
 	}
 
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		let toRender = this._dynamicOverlays.filter(overlay => overlay.shouldRender());
 
 		for (let i = 0, len = toRender.length; i < len; i++) {
@@ -92,27 +92,27 @@ export class ViewOverlays extends ViewLayer<ViewOverlayLine> {
 		return null;
 	}
 
-	public render(ctx:IRestrictedRenderingContext): void {
+	public render(ctx: IRestrictedRenderingContext): void {
 		// Overwriting to bypass `shouldRender` flag
 		this._viewOverlaysRender(ctx);
 
 		this.domNode.toggleClassName('focused', this._isFocused);
 	}
 
-	_viewOverlaysRender(ctx:IRestrictedRenderingContext): void {
+	_viewOverlaysRender(ctx: IRestrictedRenderingContext): void {
 		super._renderLines(ctx.linesViewportData);
 	}
 }
 
 export class ViewOverlayLine implements IVisibleLineData {
 
-	private _context:ViewContext;
-	private _dynamicOverlays:DynamicViewOverlay[];
+	private _context: ViewContext;
+	private _dynamicOverlays: DynamicViewOverlay[];
 	private _domNode: FastDomNode;
 	private _renderPieces: string;
 	private _lineHeight: number;
 
-	constructor(context:ViewContext, dynamicOverlays:DynamicViewOverlay[]) {
+	constructor(context: ViewContext, dynamicOverlays: DynamicViewOverlay[]) {
 		this._context = context;
 		this._lineHeight = this._context.configuration.editor.lineHeight;
 		this._dynamicOverlays = dynamicOverlays;
@@ -127,7 +127,7 @@ export class ViewOverlayLine implements IVisibleLineData {
 		}
 		return this._domNode.domNode;
 	}
-	public setDomNode(domNode:HTMLElement): void {
+	public setDomNode(domNode: HTMLElement): void {
 		this._domNode = createFastDomNode(domNode);
 	}
 
@@ -146,13 +146,13 @@ export class ViewOverlayLine implements IVisibleLineData {
 	onTokensChanged(): void {
 		// Nothing
 	}
-	onConfigurationChanged(e:IConfigurationChangedEvent): void {
+	onConfigurationChanged(e: IConfigurationChangedEvent): void {
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
 		}
 	}
 
-	shouldUpdateHTML(startLineNumber:number, lineNumber:number, inlineDecorations:InlineDecoration[]): boolean {
+	shouldUpdateHTML(startLineNumber: number, lineNumber: number, inlineDecorations: InlineDecoration[]): boolean {
 		let newPieces = '';
 		for (let i = 0, len = this._dynamicOverlays.length; i < len; i++) {
 			let dynamicOverlay = this._dynamicOverlays[i];
@@ -168,7 +168,7 @@ export class ViewOverlayLine implements IVisibleLineData {
 		return !piecesEqual;
 	}
 
-	getLineOuterHTML(out:string[], lineNumber:number, deltaTop:number): void {
+	getLineOuterHTML(out: string[], lineNumber: number, deltaTop: number): void {
 		out.push('<div lineNumber="');
 		out.push(lineNumber.toString());
 		out.push('" style="top:');
@@ -186,7 +186,7 @@ export class ViewOverlayLine implements IVisibleLineData {
 		return this._renderPieces;
 	}
 
-	layoutLine(lineNumber: number, deltaTop:number): void {
+	layoutLine(lineNumber: number, deltaTop: number): void {
 		this._domNode.setLineNumber(String(lineNumber));
 		this._domNode.setTop(deltaTop);
 		this._domNode.setHeight(this._lineHeight);
@@ -196,9 +196,9 @@ export class ViewOverlayLine implements IVisibleLineData {
 export class ContentViewOverlays extends ViewOverlays {
 
 	private _scrollWidth: number;
-	private _contentWidth:number;
+	private _contentWidth: number;
 
-	constructor(context:ViewContext, layoutProvider:ILayoutProvider) {
+	constructor(context: ViewContext, layoutProvider: ILayoutProvider) {
 		super(context, layoutProvider);
 
 		this._scrollWidth = this._layoutProvider.getScrollWidth();
@@ -208,18 +208,18 @@ export class ContentViewOverlays extends ViewOverlays {
 		this.domNode.setHeight(0);
 	}
 
-	public onConfigurationChanged(e:IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: IConfigurationChangedEvent): boolean {
 		if (e.layoutInfo) {
 			this._contentWidth = this._context.configuration.editor.layoutInfo.contentWidth;
 		}
 		return super.onConfigurationChanged(e);
 	}
-	public onScrollChanged(e:IScrollEvent): boolean {
+	public onScrollChanged(e: IScrollEvent): boolean {
 		this._scrollWidth = e.scrollWidth;
 		return super.onScrollChanged(e) || e.scrollWidthChanged;
 	}
 
-	_viewOverlaysRender(ctx:IRestrictedRenderingContext): void {
+	_viewOverlaysRender(ctx: IRestrictedRenderingContext): void {
 		super._viewOverlaysRender(ctx);
 
 		this.domNode.setWidth(Math.max(this._scrollWidth, this._contentWidth));
@@ -228,13 +228,13 @@ export class ContentViewOverlays extends ViewOverlays {
 
 export class MarginViewOverlays extends ViewOverlays {
 
-	private _glyphMarginLeft:number;
-	private _glyphMarginWidth:number;
-	private _scrollHeight:number;
+	private _glyphMarginLeft: number;
+	private _glyphMarginWidth: number;
+	private _scrollHeight: number;
 	private _contentLeft: number;
 	private _canUseTranslate3d: boolean;
 
-	constructor(context:ViewContext, layoutProvider:ILayoutProvider) {
+	constructor(context: ViewContext, layoutProvider: ILayoutProvider) {
 		super(context, layoutProvider);
 
 		this._glyphMarginLeft = context.configuration.editor.layoutInfo.glyphMarginLeft;
@@ -267,12 +267,12 @@ export class MarginViewOverlays extends ViewOverlays {
 		return <HTMLElement>this.domNode.domNode.children[0];
 	}
 
-	public onScrollChanged(e:IScrollEvent): boolean {
+	public onScrollChanged(e: IScrollEvent): boolean {
 		this._scrollHeight = e.scrollHeight;
 		return super.onScrollChanged(e) || e.scrollHeightChanged;
 	}
 
-	public onLayoutChanged(layoutInfo:EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: EditorLayoutInfo): boolean {
 		this._glyphMarginLeft = layoutInfo.glyphMarginLeft;
 		this._glyphMarginWidth = layoutInfo.glyphMarginWidth;
 		this._scrollHeight = this._layoutProvider.getScrollHeight();
@@ -280,7 +280,7 @@ export class MarginViewOverlays extends ViewOverlays {
 		return super.onLayoutChanged(layoutInfo) || true;
 	}
 
-	public onConfigurationChanged(e:IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: IConfigurationChangedEvent): boolean {
 		if (e.fontInfo) {
 			Configuration.applyFontInfo(this.domNode, this._context.configuration.editor.fontInfo);
 		}
@@ -291,7 +291,7 @@ export class MarginViewOverlays extends ViewOverlays {
 	}
 
 
-	_viewOverlaysRender(ctx:IRestrictedRenderingContext): void {
+	_viewOverlaysRender(ctx: IRestrictedRenderingContext): void {
 		super._viewOverlaysRender(ctx);
 		if (this._canUseTranslate3d) {
 			var transform = 'translate3d(0px, ' + ctx.linesViewportData.visibleRangesDeltaTop + 'px, 0px)';
diff --git a/src/vs/editor/browser/view/viewPart.ts b/src/vs/editor/browser/view/viewPart.ts
index b55add58cc2d4..dee65b4ab5323 100644
--- a/src/vs/editor/browser/view/viewPart.ts
+++ b/src/vs/editor/browser/view/viewPart.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ViewEventHandler} from 'vs/editor/common/viewModel/viewEventHandler';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext, IRestrictedRenderingContext} from 'vs/editor/common/view/renderingContext';
+import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext, IRestrictedRenderingContext } from 'vs/editor/common/view/renderingContext';
 
 export abstract class ViewPart extends ViewEventHandler {
 
-	_context:ViewContext;
+	_context: ViewContext;
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super();
 		this._context = context;
 		this._context.addEventHandler(this);
@@ -23,6 +23,6 @@ export abstract class ViewPart extends ViewEventHandler {
 		this._context = null;
 	}
 
-	public abstract prepareRender(ctx:IRenderingContext): void;
-	public abstract render(ctx:IRestrictedRenderingContext): void;
+	public abstract prepareRender(ctx: IRenderingContext): void;
+	public abstract render(ctx: IRestrictedRenderingContext): void;
 }
diff --git a/src/vs/editor/browser/viewLayout/layoutProvider.ts b/src/vs/editor/browser/viewLayout/layoutProvider.ts
index 1ff8f3dec2467..b5b8d25b23410 100644
--- a/src/vs/editor/browser/viewLayout/layoutProvider.ts
+++ b/src/vs/editor/browser/viewLayout/layoutProvider.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {LinesLayout} from 'vs/editor/common/viewLayout/linesLayout';
-import {ViewEventHandler} from 'vs/editor/common/viewModel/viewEventHandler';
-import {ScrollManager} from 'vs/editor/browser/viewLayout/scrollManager';
-import {IViewModel} from 'vs/editor/common/viewModel/viewModel';
-import {ViewLinesViewportData} from 'vs/editor/common/viewLayout/viewLinesViewportData';
-import {IViewEventBus} from 'vs/editor/common/view/viewContext';
+import { LinesLayout } from 'vs/editor/common/viewLayout/linesLayout';
+import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
+import { ScrollManager } from 'vs/editor/browser/viewLayout/scrollManager';
+import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
+import { ViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
+import { IViewEventBus } from 'vs/editor/common/view/viewContext';
 
 export interface IWhitespaceManager {
 	/**
@@ -19,18 +19,18 @@ export interface IWhitespaceManager {
 	 * @param height is specified in pixels.
 	 * @return an identifier that can be later used to remove or change the whitespace.
 	 */
-	addWhitespace(afterLineNumber:number, ordinal:number, height:number): number;
+	addWhitespace(afterLineNumber: number, ordinal: number, height: number): number;
 
 	/**
 	 * Change the properties of a whitespace.
 	 * @param height is specified in pixels.
 	 */
-	changeWhitespace(id:number, newAfterLineNumber:number, newHeight:number): boolean;
+	changeWhitespace(id: number, newAfterLineNumber: number, newHeight: number): boolean;
 
 	/**
 	 * Remove rendering space
 	 */
-	removeWhitespace(id:number): boolean;
+	removeWhitespace(id: number): boolean;
 
 	/**
 	 * Get the layout information for whitespaces currently in the viewport
@@ -42,26 +42,26 @@ export interface IWhitespaceManager {
 
 export interface ILayoutProvider extends IVerticalLayoutProvider, IScrollingProvider {
 
-	dispose():void;
+	dispose(): void;
 
 	getCenteredViewLineNumberInViewport(): number;
 
 	getCurrentViewport(): editorCommon.Viewport;
 
-	onMaxLineWidthChanged(width:number): void;
+	onMaxLineWidthChanged(width: number): void;
 
 	saveState(): editorCommon.IViewState;
-	restoreState(state:editorCommon.IViewState): void;
+	restoreState(state: editorCommon.IViewState): void;
 }
 
 export interface IScrollingProvider {
 
 	getOverviewRulerInsertData(): { parent: HTMLElement; insertBefore: HTMLElement; };
 	getScrollbarContainerDomNode(): HTMLElement;
-	delegateVerticalScrollbarMouseDown(browserEvent:MouseEvent): void;
+	delegateVerticalScrollbarMouseDown(browserEvent: MouseEvent): void;
 
 	// This is for the glyphs, line numbers, etc.
-	getScrolledTopFromAbsoluteTop(top:number): number;
+	getScrolledTopFromAbsoluteTop(top: number): number;
 
 	getScrollWidth(): number;
 	getScrollLeft(): number;
@@ -69,24 +69,24 @@ export interface IScrollingProvider {
 	getScrollHeight(): number;
 	getScrollTop(): number;
 
-	setScrollPosition(position:editorCommon.INewScrollPosition): void;
+	setScrollPosition(position: editorCommon.INewScrollPosition): void;
 }
 
 export interface IVerticalLayoutProvider {
 	/**
 	 * Compute vertical offset (top) of line number
 	 */
-	getVerticalOffsetForLineNumber(lineNumber:number): number;
+	getVerticalOffsetForLineNumber(lineNumber: number): number;
 
 	/**
 	 * Returns the height in pixels for `lineNumber`.
 	 */
-	heightInPxForLine(lineNumber:number): number;
+	heightInPxForLine(lineNumber: number): number;
 
 	/**
 	 * Return line number at `verticalOffset` or closest line number
 	 */
-	getLineNumberAtVerticalOffset(verticalOffset:number): number;
+	getLineNumberAtVerticalOffset(verticalOffset: number): number;
 
 	/**
 	 * Compute content height (including one extra scroll page if necessary)
@@ -105,12 +105,12 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
 	static LINES_HORIZONTAL_EXTRA_PX = 30;
 
 	private configuration: editorCommon.IConfiguration;
-	private privateViewEventBus:IViewEventBus;
-	private model:IViewModel;
-	private scrollManager:ScrollManager;
+	private privateViewEventBus: IViewEventBus;
+	private model: IViewModel;
+	private scrollManager: ScrollManager;
 	private linesLayout: LinesLayout;
 
-	constructor(configuration:editorCommon.IConfiguration, model:IViewModel, privateViewEventBus:IViewEventBus, linesContent:HTMLElement, viewDomNode:HTMLElement, overflowGuardDomNode:HTMLElement) {
+	constructor(configuration: editorCommon.IConfiguration, model: IViewModel, privateViewEventBus: IViewEventBus, linesContent: HTMLElement, viewDomNode: HTMLElement, overflowGuardDomNode: HTMLElement) {
 		super();
 
 		this.configuration = configuration;
@@ -148,21 +148,21 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
 		return false;
 	}
 
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		this.linesLayout.onModelLinesDeleted(e);
 		this.updateLineCount();
 		this._updateHeight();
 		return false;
 	}
 
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		this.linesLayout.onModelLinesInserted(e);
 		this.updateLineCount();
 		this._updateHeight();
 		return false;
 	}
 
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		this.linesLayout.onConfigurationChanged(e);
 		if (e.layoutInfo) {
 			this.scrollManager.onLayoutInfoChanged();
@@ -201,7 +201,7 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
 		this._emitLayoutChangedEvent();
 	}
 
-	private _computeScrollWidth(maxLineWidth:number, viewportWidth:number): number {
+	private _computeScrollWidth(maxLineWidth: number, viewportWidth: number): number {
 		var isViewportWrapping = this.configuration.editor.wrappingInfo.isViewportWrapping;
 		if (!isViewportWrapping) {
 			return Math.max(maxLineWidth + LayoutProvider.LINES_HORIZONTAL_EXTRA_PX, viewportWidth);
@@ -209,7 +209,7 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
 		return Math.max(maxLineWidth, viewportWidth);
 	}
 
-	public onMaxLineWidthChanged(maxLineWidth:number): void {
+	public onMaxLineWidthChanged(maxLineWidth: number): void {
 		var newScrollWidth = this._computeScrollWidth(maxLineWidth, this.getCurrentViewport().width);
 		this.scrollManager.setScrollWidth(newScrollWidth);
 
@@ -230,7 +230,7 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
 		};
 	}
 
-	public restoreState(state:editorCommon.IViewState): void {
+	public restoreState(state: editorCommon.IViewState): void {
 		var restoreScrollTop = state.scrollTop;
 		if (typeof state.scrollTopWithoutViewZones === 'number' && !this.linesLayout.hasWhitespace()) {
 			restoreScrollTop = state.scrollTopWithoutViewZones;
@@ -243,25 +243,25 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
 
 	// ---- IVerticalLayoutProvider
 
-	public addWhitespace(afterLineNumber:number, ordinal:number, height:number): number {
+	public addWhitespace(afterLineNumber: number, ordinal: number, height: number): number {
 		return this.linesLayout.insertWhitespace(afterLineNumber, ordinal, height);
 	}
-	public changeWhitespace(id:number, newAfterLineNumber:number, newHeight:number): boolean {
+	public changeWhitespace(id: number, newAfterLineNumber: number, newHeight: number): boolean {
 		return this.linesLayout.changeWhitespace(id, newAfterLineNumber, newHeight);
 	}
-	public removeWhitespace(id:number): boolean {
+	public removeWhitespace(id: number): boolean {
 		return this.linesLayout.removeWhitespace(id);
 	}
-	public getVerticalOffsetForLineNumber(lineNumber:number): number {
+	public getVerticalOffsetForLineNumber(lineNumber: number): number {
 		return this.linesLayout.getVerticalOffsetForLineNumber(lineNumber);
 	}
-	public heightInPxForLine(lineNumber:number): number {
+	public heightInPxForLine(lineNumber: number): number {
 		return this.linesLayout.getHeightForLineNumber(lineNumber);
 	}
-	public isAfterLines(verticalOffset:number): boolean {
+	public isAfterLines(verticalOffset: number): boolean {
 		return this.linesLayout.isAfterLines(verticalOffset);
 	}
-	public getLineNumberAtVerticalOffset(verticalOffset:number): number {
+	public getLineNumberAtVerticalOffset(verticalOffset: number): number {
 		return this.linesLayout.getLineNumberAtOrAfterVerticalOffset(verticalOffset);
 	}
 	public getTotalHeight(): number {
@@ -271,7 +271,7 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
 		}
 		return this.linesLayout.getTotalHeight(this.getCurrentViewport(), reserveHorizontalScrollbarHeight);
 	}
-	public getWhitespaceAtVerticalOffset(verticalOffset:number): editorCommon.IViewWhitespaceViewportData {
+	public getWhitespaceAtVerticalOffset(verticalOffset: number): editorCommon.IViewWhitespaceViewportData {
 		return this.linesLayout.getWhitespaceAtVerticalOffset(verticalOffset);
 	}
 	public getLinesViewportData(): ViewLinesViewportData {
@@ -296,7 +296,7 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
 	public getScrollbarContainerDomNode(): HTMLElement {
 		return this.scrollManager.getScrollbarContainerDomNode();
 	}
-	public delegateVerticalScrollbarMouseDown(browserEvent:MouseEvent): void {
+	public delegateVerticalScrollbarMouseDown(browserEvent: MouseEvent): void {
 		this.scrollManager.delegateVerticalScrollbarMouseDown(browserEvent);
 	}
 	public getScrollWidth(): number {
@@ -312,10 +312,10 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
 		return this.scrollManager.getScrollTop();
 	}
 
-	public setScrollPosition(position:editorCommon.INewScrollPosition): void {
+	public setScrollPosition(position: editorCommon.INewScrollPosition): void {
 		this.scrollManager.setScrollPosition(position);
 	}
-	public getScrolledTopFromAbsoluteTop(top:number): number {
+	public getScrolledTopFromAbsoluteTop(top: number): number {
 		return top - this.scrollManager.getScrollTop();
 	}
 
diff --git a/src/vs/editor/browser/viewLayout/scrollManager.ts b/src/vs/editor/browser/viewLayout/scrollManager.ts
index e45854105566a..c5c8a75bce8cb 100644
--- a/src/vs/editor/browser/viewLayout/scrollManager.ts
+++ b/src/vs/editor/browser/viewLayout/scrollManager.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import * as dom from 'vs/base/browser/dom';
-import {ScrollableElementCreationOptions, ScrollableElementChangeOptions} from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
-import {IOverviewRulerLayoutInfo, ScrollableElement} from 'vs/base/browser/ui/scrollbar/scrollableElement';
-import {EventType, IConfiguration, IConfigurationChangedEvent, IScrollEvent, INewScrollPosition} from 'vs/editor/common/editorCommon';
-import {ClassNames} from 'vs/editor/browser/editorBrowser';
-import {IViewEventBus} from 'vs/editor/common/view/viewContext';
+import { ScrollableElementCreationOptions, ScrollableElementChangeOptions } from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
+import { IOverviewRulerLayoutInfo, ScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
+import { EventType, IConfiguration, IConfigurationChangedEvent, IScrollEvent, INewScrollPosition } from 'vs/editor/common/editorCommon';
+import { ClassNames } from 'vs/editor/browser/editorBrowser';
+import { IViewEventBus } from 'vs/editor/common/view/viewContext';
 
-function addPropertyIfPresent(src:any, dst:any, prop:string): void {
+function addPropertyIfPresent(src: any, dst: any, prop: string): void {
 	if (src.hasOwnProperty(prop)) {
 		dst[prop] = src[prop];
 	}
@@ -21,13 +21,13 @@ function addPropertyIfPresent(src:any, dst:any, prop:string): void {
 export class ScrollManager implements IDisposable {
 
 	private configuration: IConfiguration;
-	private privateViewEventBus:IViewEventBus;
+	private privateViewEventBus: IViewEventBus;
 
-	private toDispose:IDisposable[];
+	private toDispose: IDisposable[];
 	private linesContent: HTMLElement;
 	private scrollbar: ScrollableElement;
 
-	constructor(configuration:IConfiguration, privateViewEventBus:IViewEventBus, linesContent:HTMLElement, viewDomNode:HTMLElement, overflowGuardDomNode:HTMLElement) {
+	constructor(configuration: IConfiguration, privateViewEventBus: IViewEventBus, linesContent: HTMLElement, viewDomNode: HTMLElement, overflowGuardDomNode: HTMLElement) {
 		this.toDispose = [];
 		this.configuration = configuration;
 		this.privateViewEventBus = privateViewEventBus;
@@ -35,7 +35,7 @@ export class ScrollManager implements IDisposable {
 
 		var configScrollbarOpts = this.configuration.editor.viewInfo.scrollbar;
 
-		var scrollbarOptions:ScrollableElementCreationOptions = {
+		var scrollbarOptions: ScrollableElementCreationOptions = {
 			canUseTranslate3d: this.configuration.editor.viewInfo.canUseTranslate3d,
 			listenOnDomNode: viewDomNode,
 			vertical: configScrollbarOpts.vertical,
@@ -58,14 +58,14 @@ export class ScrollManager implements IDisposable {
 		this.scrollbar = new ScrollableElement(linesContent, scrollbarOptions);
 		this.onLayoutInfoChanged();
 		this.toDispose.push(this.scrollbar);
-		this.toDispose.push(this.scrollbar.onScroll((e:IScrollEvent) => {
+		this.toDispose.push(this.scrollbar.onScroll((e: IScrollEvent) => {
 			this.privateViewEventBus.emit(EventType.ViewScrollChanged, e);
 		}));
 
-		this.toDispose.push(this.configuration.onDidChange((e:IConfigurationChangedEvent) => {
+		this.toDispose.push(this.configuration.onDidChange((e: IConfigurationChangedEvent) => {
 			this.scrollbar.updateClassName(ClassNames.SCROLLABLE_ELEMENT + ' ' + this.configuration.editor.viewInfo.theme);
 			if (e.viewInfo.scrollbar || e.viewInfo.canUseTranslate3d) {
-				let newOpts:ScrollableElementChangeOptions = {
+				let newOpts: ScrollableElementChangeOptions = {
 					canUseTranslate3d: this.configuration.editor.viewInfo.canUseTranslate3d,
 					handleMouseWheel: this.configuration.editor.viewInfo.scrollbar.handleMouseWheel,
 					mouseWheelScrollSensitivity: this.configuration.editor.viewInfo.scrollbar.mouseWheelScrollSensitivity
@@ -78,8 +78,8 @@ export class ScrollManager implements IDisposable {
 		// the browser will try desperately to reveal that dom node, unexpectedly
 		// changing the .scrollTop of this.linesContent
 
-		var onBrowserDesperateReveal = (domNode:HTMLElement, lookAtScrollTop:boolean, lookAtScrollLeft:boolean) => {
-			let newScrollPosition:INewScrollPosition = {};
+		var onBrowserDesperateReveal = (domNode: HTMLElement, lookAtScrollTop: boolean, lookAtScrollLeft: boolean) => {
+			let newScrollPosition: INewScrollPosition = {};
 
 			if (lookAtScrollTop) {
 				var deltaTop = domNode.scrollTop;
@@ -101,9 +101,9 @@ export class ScrollManager implements IDisposable {
 		};
 
 		// I've seen this happen both on the view dom node & on the lines content dom node.
-		this.toDispose.push(dom.addDisposableListener(viewDomNode, 'scroll', (e:Event) => onBrowserDesperateReveal(viewDomNode, true, true)));
-		this.toDispose.push(dom.addDisposableListener(linesContent, 'scroll', (e:Event) => onBrowserDesperateReveal(linesContent, true, false)));
-		this.toDispose.push(dom.addDisposableListener(overflowGuardDomNode, 'scroll', (e:Event) => onBrowserDesperateReveal(overflowGuardDomNode, true, false)));
+		this.toDispose.push(dom.addDisposableListener(viewDomNode, 'scroll', (e: Event) => onBrowserDesperateReveal(viewDomNode, true, true)));
+		this.toDispose.push(dom.addDisposableListener(linesContent, 'scroll', (e: Event) => onBrowserDesperateReveal(linesContent, true, false)));
+		this.toDispose.push(dom.addDisposableListener(overflowGuardDomNode, 'scroll', (e: Event) => onBrowserDesperateReveal(overflowGuardDomNode, true, false)));
 	}
 
 	public dispose(): void {
@@ -129,7 +129,7 @@ export class ScrollManager implements IDisposable {
 		return this.scrollbar.getDomNode();
 	}
 
-	public delegateVerticalScrollbarMouseDown(browserEvent:MouseEvent): void {
+	public delegateVerticalScrollbarMouseDown(browserEvent: MouseEvent): void {
 		this.scrollbar.delegateVerticalScrollbarMouseDown(browserEvent);
 	}
 
@@ -153,16 +153,16 @@ export class ScrollManager implements IDisposable {
 		return this.scrollbar.getScrollTop();
 	}
 
-	public setScrollPosition(position:INewScrollPosition): void {
+	public setScrollPosition(position: INewScrollPosition): void {
 		this.scrollbar.updateState(position);
 	}
 
-	public setScrollHeight(scrollHeight:number): void {
+	public setScrollHeight(scrollHeight: number): void {
 		this.scrollbar.updateState({
 			scrollHeight: scrollHeight
 		});
 	}
-	public setScrollWidth(scrollWidth:number): void {
+	public setScrollWidth(scrollWidth: number): void {
 		this.scrollbar.updateState({
 			scrollWidth: scrollWidth
 		});
diff --git a/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts b/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts
index a56a553745a1e..2a732330b1ed5 100644
--- a/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts
+++ b/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts
@@ -7,13 +7,13 @@
 
 import 'vs/css!./contentWidgets';
 import * as dom from 'vs/base/browser/dom';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ClassNames, ContentWidgetPositionPreference, IContentWidget} from 'vs/editor/browser/editorBrowser';
-import {ViewPart} from 'vs/editor/browser/view/viewPart';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext, IRestrictedRenderingContext} from 'vs/editor/common/view/renderingContext';
-import {Position} from 'vs/editor/common/core/position';
+import { ClassNames, ContentWidgetPositionPreference, IContentWidget } from 'vs/editor/browser/editorBrowser';
+import { ViewPart } from 'vs/editor/browser/view/viewPart';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext, IRestrictedRenderingContext } from 'vs/editor/common/view/renderingContext';
+import { Position } from 'vs/editor/common/core/position';
 
 interface IWidgetData {
 	allowEditorOverflow: boolean;
@@ -24,39 +24,39 @@ interface IWidgetData {
 }
 
 interface IWidgetMap {
-	[key:string]: IWidgetData;
+	[key: string]: IWidgetData;
 }
 
 interface IBoxLayoutResult {
-	aboveTop:number;
-	fitsAbove:boolean;
-	belowTop:number;
-	fitsBelow:boolean;
-	left:number;
+	aboveTop: number;
+	fitsAbove: boolean;
+	belowTop: number;
+	fitsBelow: boolean;
+	left: number;
 }
 
 interface IMyWidgetRenderData {
-	top:number;
-	left:number;
+	top: number;
+	left: number;
 }
 
 interface IMyRenderData {
-	[id:string]:IMyWidgetRenderData;
+	[id: string]: IMyWidgetRenderData;
 }
 
 export class ViewContentWidgets extends ViewPart {
 
-	private _widgets:IWidgetMap;
-	private _contentWidth:number;
+	private _widgets: IWidgetMap;
+	private _contentWidth: number;
 	private _contentLeft: number;
 	private _lineHeight: number;
-	private _renderData:IMyRenderData;
+	private _renderData: IMyRenderData;
 
-	public domNode:HTMLElement;
-	public overflowingContentWidgetsDomNode:HTMLElement;
+	public domNode: HTMLElement;
+	public overflowingContentWidgetsDomNode: HTMLElement;
 	private _viewDomNode: HTMLElement;
 
-	constructor(context:ViewContext, viewDomNode:HTMLElement) {
+	constructor(context: ViewContext, viewDomNode: HTMLElement) {
 		super(context);
 		this._viewDomNode = viewDomNode;
 
@@ -84,35 +84,35 @@ export class ViewContentWidgets extends ViewPart {
 	public onModelFlushed(): boolean {
 		return true;
 	}
-	public onModelDecorationsChanged(e:editorCommon.IViewDecorationsChangedEvent): boolean {
+	public onModelDecorationsChanged(e: editorCommon.IViewDecorationsChangedEvent): boolean {
 		// true for inline decorations that can end up relayouting text
 		return e.inlineDecorationsChanged;
 	}
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		return true;
 	}
-	public onModelLineChanged(e:editorCommon.IViewLineChangedEvent): boolean {
+	public onModelLineChanged(e: editorCommon.IViewLineChangedEvent): boolean {
 		return true;
 	}
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		return true;
 	}
-	public onCursorPositionChanged(e:editorCommon.IViewCursorPositionChangedEvent): boolean {
+	public onCursorPositionChanged(e: editorCommon.IViewCursorPositionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): boolean {
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorRevealRange(e:editorCommon.IViewRevealRangeEvent): boolean {
+	public onCursorRevealRange(e: editorCommon.IViewRevealRangeEvent): boolean {
 		return false;
 	}
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
 		}
 		return true;
 	}
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		this._contentLeft = layoutInfo.contentLeft;
 
 		if (this._contentWidth !== layoutInfo.contentWidth) {
@@ -128,7 +128,7 @@ export class ViewContentWidgets extends ViewPart {
 
 		return true;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return true;
 	}
 	public onZonesChanged(): boolean {
@@ -162,7 +162,7 @@ export class ViewContentWidgets extends ViewPart {
 		this.setShouldRender();
 	}
 
-	public setWidgetPosition(widget: IContentWidget, position: editorCommon.IPosition, preference:ContentWidgetPositionPreference[]): void {
+	public setWidgetPosition(widget: IContentWidget, position: editorCommon.IPosition, preference: ContentWidgetPositionPreference[]): void {
 		let widgetData = this._widgets[widget.getId()];
 
 		widgetData.position = position;
@@ -193,7 +193,7 @@ export class ViewContentWidgets extends ViewPart {
 		return false;
 	}
 
-	private _layoutBoxInViewport(position:Position, domNode:HTMLElement, ctx:IRenderingContext): IBoxLayoutResult {
+	private _layoutBoxInViewport(position: Position, domNode: HTMLElement, ctx: IRenderingContext): IBoxLayoutResult {
 
 		let visibleRange = ctx.visibleRangeForPosition(position);
 
@@ -291,7 +291,7 @@ export class ViewContentWidgets extends ViewPart {
 		};
 	}
 
-	private _prepareRenderWidgetAtExactPosition(position:Position, ctx:IRenderingContext): IMyWidgetRenderData {
+	private _prepareRenderWidgetAtExactPosition(position: Position, ctx: IRenderingContext): IMyWidgetRenderData {
 		let visibleRange = ctx.visibleRangeForPosition(position);
 
 		if (!visibleRange) {
@@ -310,7 +310,7 @@ export class ViewContentWidgets extends ViewPart {
 		return r;
 	}
 
-	private _prepareRenderWidget(widgetData:IWidgetData, ctx:IRenderingContext): IMyWidgetRenderData {
+	private _prepareRenderWidget(widgetData: IWidgetData, ctx: IRenderingContext): IMyWidgetRenderData {
 		if (!widgetData.position || !widgetData.preference) {
 			return null;
 		}
@@ -323,7 +323,7 @@ export class ViewContentWidgets extends ViewPart {
 			return null;
 		}
 
-		let	position = this._context.model.convertModelPositionToViewPosition(validModelPosition.lineNumber, validModelPosition.column);
+		let position = this._context.model.convertModelPositionToViewPosition(validModelPosition.lineNumber, validModelPosition.column);
 
 		let placement: IBoxLayoutResult = null;
 		let fetchPlacement = () => {
@@ -378,12 +378,12 @@ export class ViewContentWidgets extends ViewPart {
 		}
 	}
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
 
-		let data:IMyRenderData = {};
+		let data: IMyRenderData = {};
 
 		let keys = Object.keys(this._widgets);
 		for (let i = 0, len = keys.length; i < len; i++) {
@@ -397,7 +397,7 @@ export class ViewContentWidgets extends ViewPart {
 		this._renderData = data;
 	}
 
-	public render(ctx:IRestrictedRenderingContext): void {
+	public render(ctx: IRestrictedRenderingContext): void {
 		let data = this._renderData;
 
 		let keys = Object.keys(this._widgets);
diff --git a/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.ts b/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.ts
index 05e582adac3c2..54937e8baea57 100644
--- a/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.ts
+++ b/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.ts
@@ -7,24 +7,24 @@
 
 import 'vs/css!./currentLineHighlight';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {DynamicViewOverlay} from 'vs/editor/browser/view/dynamicViewOverlay';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext} from 'vs/editor/common/view/renderingContext';
-import {ILayoutProvider} from 'vs/editor/browser/viewLayout/layoutProvider';
+import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext } from 'vs/editor/common/view/renderingContext';
+import { ILayoutProvider } from 'vs/editor/browser/viewLayout/layoutProvider';
 
 export class CurrentLineHighlightOverlay extends DynamicViewOverlay {
-	private _context:ViewContext;
-	private _lineHeight:number;
-	private _readOnly:boolean;
-	private _renderLineHighlight:boolean;
-	private _layoutProvider:ILayoutProvider;
-	private _selectionIsEmpty:boolean;
-	private _primaryCursorIsInEditableRange:boolean;
-	private _primaryCursorLineNumber:number;
-	private _scrollWidth:number;
-	private _contentWidth:number;
+	private _context: ViewContext;
+	private _lineHeight: number;
+	private _readOnly: boolean;
+	private _renderLineHighlight: boolean;
+	private _layoutProvider: ILayoutProvider;
+	private _selectionIsEmpty: boolean;
+	private _primaryCursorIsInEditableRange: boolean;
+	private _primaryCursorLineNumber: number;
+	private _scrollWidth: number;
+	private _contentWidth: number;
 
-	constructor(context:ViewContext, layoutProvider:ILayoutProvider) {
+	constructor(context: ViewContext, layoutProvider: ILayoutProvider) {
 		super();
 		this._context = context;
 		this._lineHeight = this._context.configuration.editor.lineHeight;
@@ -56,13 +56,13 @@ export class CurrentLineHighlightOverlay extends DynamicViewOverlay {
 		this._scrollWidth = this._layoutProvider.getScrollWidth();
 		return true;
 	}
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		return true;
 	}
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		return true;
 	}
-	public onCursorPositionChanged(e:editorCommon.IViewCursorPositionChangedEvent): boolean {
+	public onCursorPositionChanged(e: editorCommon.IViewCursorPositionChangedEvent): boolean {
 		var hasChanged = false;
 		if (this._primaryCursorIsInEditableRange !== e.isInEditableRange) {
 			this._primaryCursorIsInEditableRange = e.isInEditableRange;
@@ -74,7 +74,7 @@ export class CurrentLineHighlightOverlay extends DynamicViewOverlay {
 		}
 		return hasChanged;
 	}
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): boolean {
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
 		var isEmpty = e.selection.isEmpty();
 		if (this._selectionIsEmpty !== isEmpty) {
 			this._selectionIsEmpty = isEmpty;
@@ -82,7 +82,7 @@ export class CurrentLineHighlightOverlay extends DynamicViewOverlay {
 		}
 		return false;
 	}
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
 		}
@@ -97,10 +97,10 @@ export class CurrentLineHighlightOverlay extends DynamicViewOverlay {
 		}
 		return true;
 	}
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		return true;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		this._scrollWidth = e.scrollWidth;
 		return e.scrollWidthChanged;
 	}
@@ -109,14 +109,14 @@ export class CurrentLineHighlightOverlay extends DynamicViewOverlay {
 	}
 	// --- end event handlers
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
 		this._scrollWidth = ctx.scrollWidth;
 	}
 
-	public render(startLineNumber:number, lineNumber:number): string {
+	public render(startLineNumber: number, lineNumber: number): string {
 		if (lineNumber === this._primaryCursorLineNumber) {
 			if (this._shouldShowCurrentLine()) {
 				return (
diff --git a/src/vs/editor/browser/viewParts/decorations/decorations.ts b/src/vs/editor/browser/viewParts/decorations/decorations.ts
index b63b1e0ede254..7c54d22152b05 100644
--- a/src/vs/editor/browser/viewParts/decorations/decorations.ts
+++ b/src/vs/editor/browser/viewParts/decorations/decorations.ts
@@ -7,17 +7,17 @@
 
 import 'vs/css!./decorations';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {DynamicViewOverlay} from 'vs/editor/browser/view/dynamicViewOverlay';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext} from 'vs/editor/common/view/renderingContext';
+import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext } from 'vs/editor/common/view/renderingContext';
 
 export class DecorationsOverlay extends DynamicViewOverlay {
 
-	private _context:ViewContext;
+	private _context: ViewContext;
 	private _lineHeight: number;
 	private _renderResult: string[];
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super();
 		this._context = context;
 		this._lineHeight = this._context.configuration.editor.lineHeight;
@@ -37,37 +37,37 @@ export class DecorationsOverlay extends DynamicViewOverlay {
 	public onModelFlushed(): boolean {
 		return true;
 	}
-	public onModelDecorationsChanged(e:editorCommon.IViewDecorationsChangedEvent): boolean {
+	public onModelDecorationsChanged(e: editorCommon.IViewDecorationsChangedEvent): boolean {
 		return true;
 	}
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		return true;
 	}
-	public onModelLineChanged(e:editorCommon.IViewLineChangedEvent): boolean {
+	public onModelLineChanged(e: editorCommon.IViewLineChangedEvent): boolean {
 		return true;
 	}
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		return true;
 	}
-	public onCursorPositionChanged(e:editorCommon.IViewCursorPositionChangedEvent): boolean {
+	public onCursorPositionChanged(e: editorCommon.IViewCursorPositionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): boolean {
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorRevealRange(e:editorCommon.IViewRevealRangeEvent): boolean {
+	public onCursorRevealRange(e: editorCommon.IViewRevealRangeEvent): boolean {
 		return false;
 	}
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
 		}
 		return true;
 	}
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		return true;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return e.scrollTopChanged || e.scrollWidthChanged;
 	}
 	public onZonesChanged(): boolean {
@@ -75,7 +75,7 @@ export class DecorationsOverlay extends DynamicViewOverlay {
 	}
 	// --- end event handlers
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
@@ -120,7 +120,7 @@ export class DecorationsOverlay extends DynamicViewOverlay {
 		this._renderResult = output;
 	}
 
-	private _renderWholeLineDecorations(ctx:IRenderingContext, decorations:editorCommon.IModelDecoration[], output: string[]): void {
+	private _renderWholeLineDecorations(ctx: IRenderingContext, decorations: editorCommon.IModelDecoration[], output: string[]): void {
 		let lineHeight = String(this._lineHeight);
 		let visibleStartLineNumber = ctx.visibleRange.startLineNumber;
 		let visibleEndLineNumber = ctx.visibleRange.endLineNumber;
@@ -149,7 +149,7 @@ export class DecorationsOverlay extends DynamicViewOverlay {
 		}
 	}
 
-	private _renderNormalDecorations(ctx:IRenderingContext, decorations:editorCommon.IModelDecoration[], output: string[]): void {
+	private _renderNormalDecorations(ctx: IRenderingContext, decorations: editorCommon.IModelDecoration[], output: string[]): void {
 		let lineHeight = String(this._lineHeight);
 		let visibleStartLineNumber = ctx.visibleRange.startLineNumber;
 
@@ -188,7 +188,7 @@ export class DecorationsOverlay extends DynamicViewOverlay {
 		}
 	}
 
-	public render(startLineNumber:number, lineNumber:number): string {
+	public render(startLineNumber: number, lineNumber: number): string {
 		if (!this._renderResult) {
 			return '';
 		}
diff --git a/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.ts b/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.ts
index 0bfd408e74ef5..f5032c4eb8c04 100644
--- a/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.ts
+++ b/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.ts
@@ -7,18 +7,18 @@
 
 import 'vs/css!./glyphMargin';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {DynamicViewOverlay} from 'vs/editor/browser/view/dynamicViewOverlay';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext} from 'vs/editor/common/view/renderingContext';
+import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext } from 'vs/editor/common/view/renderingContext';
 
 export class DecorationToRender {
-	_decorationToRenderBrand:void;
+	_decorationToRenderBrand: void;
 
-	public startLineNumber:number;
-	public endLineNumber:number;
-	public className:string;
+	public startLineNumber: number;
+	public endLineNumber: number;
+	public className: string;
 
-	constructor(startLineNumber:number, endLineNumber:number, className:string) {
+	constructor(startLineNumber: number, endLineNumber: number, className: string) {
 		this.startLineNumber = +startLineNumber;
 		this.endLineNumber = +endLineNumber;
 		this.className = String(className);
@@ -27,7 +27,7 @@ export class DecorationToRender {
 
 export abstract class DedupOverlay extends DynamicViewOverlay {
 
-	protected _render(visibleStartLineNumber:number, visibleEndLineNumber:number, decorations:DecorationToRender[]): string[][] {
+	protected _render(visibleStartLineNumber: number, visibleEndLineNumber: number, decorations: DecorationToRender[]): string[][] {
 
 		let output: string[][] = [];
 		for (let lineNumber = visibleStartLineNumber; lineNumber <= visibleEndLineNumber; lineNumber++) {
@@ -49,7 +49,7 @@ export abstract class DedupOverlay extends DynamicViewOverlay {
 			return (a.className < b.className ? -1 : 1);
 		});
 
-		let prevClassName:string = null;
+		let prevClassName: string = null;
 		let prevEndLineIndex = 0;
 		for (let i = 0, len = decorations.length; i < len; i++) {
 			let d = decorations[i];
@@ -76,14 +76,14 @@ export abstract class DedupOverlay extends DynamicViewOverlay {
 
 export class GlyphMarginOverlay extends DedupOverlay {
 
-	private _context:ViewContext;
-	private _lineHeight:number;
-	private _glyphMargin:boolean;
-	private _glyphMarginLeft:number;
-	private _glyphMarginWidth:number;
+	private _context: ViewContext;
+	private _lineHeight: number;
+	private _glyphMargin: boolean;
+	private _glyphMarginLeft: number;
+	private _glyphMarginWidth: number;
 	private _renderResult: string[];
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super();
 		this._context = context;
 		this._lineHeight = this._context.configuration.editor.lineHeight;
@@ -105,28 +105,28 @@ export class GlyphMarginOverlay extends DedupOverlay {
 	public onModelFlushed(): boolean {
 		return true;
 	}
-	public onModelDecorationsChanged(e:editorCommon.IViewDecorationsChangedEvent): boolean {
+	public onModelDecorationsChanged(e: editorCommon.IViewDecorationsChangedEvent): boolean {
 		return true;
 	}
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		return true;
 	}
-	public onModelLineChanged(e:editorCommon.IViewLineChangedEvent): boolean {
+	public onModelLineChanged(e: editorCommon.IViewLineChangedEvent): boolean {
 		return true;
 	}
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		return true;
 	}
-	public onCursorPositionChanged(e:editorCommon.IViewCursorPositionChangedEvent): boolean {
+	public onCursorPositionChanged(e: editorCommon.IViewCursorPositionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): boolean {
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorRevealRange(e:editorCommon.IViewRevealRangeEvent): boolean {
+	public onCursorRevealRange(e: editorCommon.IViewRevealRangeEvent): boolean {
 		return false;
 	}
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
 		}
@@ -135,12 +135,12 @@ export class GlyphMarginOverlay extends DedupOverlay {
 		}
 		return true;
 	}
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		this._glyphMarginLeft = layoutInfo.glyphMarginLeft;
 		this._glyphMarginWidth = layoutInfo.glyphMarginWidth;
 		return true;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return e.scrollTopChanged;
 	}
 	public onZonesChanged(): boolean {
@@ -149,9 +149,9 @@ export class GlyphMarginOverlay extends DedupOverlay {
 
 	// --- end event handlers
 
-	protected _getDecorations(ctx:IRenderingContext): DecorationToRender[] {
+	protected _getDecorations(ctx: IRenderingContext): DecorationToRender[] {
 		let decorations = ctx.getDecorationsInViewport();
-		let r:DecorationToRender[] = [];
+		let r: DecorationToRender[] = [];
 		for (let i = 0, len = decorations.length; i < len; i++) {
 			let d = decorations[i];
 			if (d.options.glyphMarginClassName) {
@@ -161,7 +161,7 @@ export class GlyphMarginOverlay extends DedupOverlay {
 		return r;
 	}
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
@@ -199,7 +199,7 @@ export class GlyphMarginOverlay extends DedupOverlay {
 		this._renderResult = output;
 	}
 
-	public render(startLineNumber:number, lineNumber:number): string {
+	public render(startLineNumber: number, lineNumber: number): string {
 		if (!this._renderResult) {
 			return '';
 		}
diff --git a/src/vs/editor/browser/viewParts/indentGuides/indentGuides.ts b/src/vs/editor/browser/viewParts/indentGuides/indentGuides.ts
index 411fd016e03f6..fdcdb400a51ac 100644
--- a/src/vs/editor/browser/viewParts/indentGuides/indentGuides.ts
+++ b/src/vs/editor/browser/viewParts/indentGuides/indentGuides.ts
@@ -7,19 +7,19 @@
 
 import 'vs/css!./indentGuides';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {DynamicViewOverlay} from 'vs/editor/browser/view/dynamicViewOverlay';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext} from 'vs/editor/common/view/renderingContext';
+import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext } from 'vs/editor/common/view/renderingContext';
 
 export class IndentGuidesOverlay extends DynamicViewOverlay {
 
-	private _context:ViewContext;
+	private _context: ViewContext;
 	private _lineHeight: number;
 	private _spaceWidth: number;
 	private _renderResult: string[];
 	private _enabled: boolean;
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super();
 		this._context = context;
 		this._lineHeight = this._context.configuration.editor.lineHeight;
@@ -40,16 +40,16 @@ export class IndentGuidesOverlay extends DynamicViewOverlay {
 	public onModelFlushed(): boolean {
 		return true;
 	}
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		return true;
 	}
-	public onModelLineChanged(e:editorCommon.IViewLineChangedEvent): boolean {
+	public onModelLineChanged(e: editorCommon.IViewLineChangedEvent): boolean {
 		return true;
 	}
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		return true;
 	}
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
 		}
@@ -61,10 +61,10 @@ export class IndentGuidesOverlay extends DynamicViewOverlay {
 		}
 		return true;
 	}
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		return true;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return e.scrollTopChanged;// || e.scrollWidthChanged;
 	}
 	public onZonesChanged(): boolean {
@@ -72,7 +72,7 @@ export class IndentGuidesOverlay extends DynamicViewOverlay {
 	}
 	// --- end event handlers
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
@@ -88,7 +88,7 @@ export class IndentGuidesOverlay extends DynamicViewOverlay {
 		const tabWidth = tabSize * this._spaceWidth;
 		const lineHeight = this._lineHeight;
 
-		let output:string[] = [];
+		let output: string[] = [];
 		for (let lineNumber = visibleStartLineNumber; lineNumber <= visibleEndLineNumber; lineNumber++) {
 			let lineIndex = lineNumber - visibleStartLineNumber;
 			let indent = this._context.model.getLineIndentGuide(lineNumber);
@@ -105,7 +105,7 @@ export class IndentGuidesOverlay extends DynamicViewOverlay {
 		this._renderResult = output;
 	}
 
-	public render(startLineNumber:number, lineNumber:number): string {
+	public render(startLineNumber: number, lineNumber: number): string {
 		if (!this._renderResult) {
 			return '';
 		}
diff --git a/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.ts b/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.ts
index d9a923ee8f176..d3dfaae05f972 100644
--- a/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.ts
+++ b/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.ts
@@ -8,22 +8,22 @@
 import 'vs/css!./lineNumbers';
 import * as platform from 'vs/base/common/platform';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {DynamicViewOverlay} from 'vs/editor/browser/view/dynamicViewOverlay';
-import {ClassNames} from 'vs/editor/browser/editorBrowser';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext} from 'vs/editor/common/view/renderingContext';
+import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
+import { ClassNames } from 'vs/editor/browser/editorBrowser';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext } from 'vs/editor/common/view/renderingContext';
 
 export class LineNumbersOverlay extends DynamicViewOverlay {
 
-	private _context:ViewContext;
-	private _lineHeight:number;
-	private _renderLineNumbers:boolean;
-	private _renderRelativeLineNumbers:boolean;
-	private _lineNumbersLeft:number;
-	private _lineNumbersWidth:number;
-	private _renderResult:string[];
+	private _context: ViewContext;
+	private _lineHeight: number;
+	private _renderLineNumbers: boolean;
+	private _renderRelativeLineNumbers: boolean;
+	private _lineNumbersLeft: number;
+	private _lineNumbersWidth: number;
+	private _renderResult: string[];
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super();
 		this._context = context;
 		this._lineHeight = this._context.configuration.editor.lineHeight;
@@ -46,31 +46,31 @@ export class LineNumbersOverlay extends DynamicViewOverlay {
 	public onModelFlushed(): boolean {
 		return true;
 	}
-	public onModelDecorationsChanged(e:editorCommon.IViewDecorationsChangedEvent): boolean {
+	public onModelDecorationsChanged(e: editorCommon.IViewDecorationsChangedEvent): boolean {
 		return false;
 	}
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		return true;
 	}
-	public onModelLineChanged(e:editorCommon.IViewLineChangedEvent): boolean {
+	public onModelLineChanged(e: editorCommon.IViewLineChangedEvent): boolean {
 		return true;
 	}
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		return true;
 	}
-	public onCursorPositionChanged(e:editorCommon.IViewCursorPositionChangedEvent): boolean {
+	public onCursorPositionChanged(e: editorCommon.IViewCursorPositionChangedEvent): boolean {
 		if (this._renderRelativeLineNumbers) {
 			return true;
 		}
 		return false;
 	}
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): boolean {
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorRevealRange(e:editorCommon.IViewRevealRangeEvent): boolean {
+	public onCursorRevealRange(e: editorCommon.IViewRevealRangeEvent): boolean {
 		return false;
 	}
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
 		}
@@ -82,12 +82,12 @@ export class LineNumbersOverlay extends DynamicViewOverlay {
 		}
 		return true;
 	}
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		this._lineNumbersLeft = layoutInfo.lineNumbersLeft;
 		this._lineNumbersWidth = layoutInfo.lineNumbersWidth;
 		return true;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return e.scrollTopChanged;
 	}
 	public onZonesChanged(): boolean {
@@ -96,7 +96,7 @@ export class LineNumbersOverlay extends DynamicViewOverlay {
 
 	// --- end event handlers
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
@@ -106,7 +106,7 @@ export class LineNumbersOverlay extends DynamicViewOverlay {
 			return;
 		}
 
-		let lineHeightClassName = (platform.isLinux ? (this._lineHeight % 2 === 0 ? ' lh-even': ' lh-odd') : '');
+		let lineHeightClassName = (platform.isLinux ? (this._lineHeight % 2 === 0 ? ' lh-even' : ' lh-odd') : '');
 		let lineHeight = this._lineHeight.toString();
 		let visibleStartLineNumber = ctx.visibleRange.startLineNumber;
 		let visibleEndLineNumber = ctx.visibleRange.endLineNumber;
@@ -131,7 +131,7 @@ export class LineNumbersOverlay extends DynamicViewOverlay {
 		this._renderResult = output;
 	}
 
-	public render(startLineNumber:number, lineNumber:number): string {
+	public render(startLineNumber: number, lineNumber: number): string {
 		if (!this._renderResult) {
 			return '';
 		}
diff --git a/src/vs/editor/browser/viewParts/lines/rangeUtil.ts b/src/vs/editor/browser/viewParts/lines/rangeUtil.ts
index bead2d422635d..248109fc10891 100644
--- a/src/vs/editor/browser/viewParts/lines/rangeUtil.ts
+++ b/src/vs/editor/browser/viewParts/lines/rangeUtil.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {HorizontalRange} from 'vs/editor/common/view/renderingContext';
+import { HorizontalRange } from 'vs/editor/common/view/renderingContext';
 
 export class RangeUtil {
 
@@ -13,7 +13,7 @@ export class RangeUtil {
 	 * because IE is buggy and constantly freezes when using a large number
 	 * of ranges and calling .detach on them
 	 */
-	private static _handyReadyRange:Range;
+	private static _handyReadyRange: Range;
 
 	private static _createRange(): Range {
 		if (!this._handyReadyRange) {
@@ -22,13 +22,13 @@ export class RangeUtil {
 		return this._handyReadyRange;
 	}
 
-	private static _detachRange(range:Range, endNode:HTMLElement): void {
+	private static _detachRange(range: Range, endNode: HTMLElement): void {
 		// Move range out of the span node, IE doesn't like having many ranges in
 		// the same spot and will act badly for lines containing dashes ('-')
 		range.selectNodeContents(endNode);
 	}
 
-	private static _readClientRects(startElement:Node, startOffset:number, endElement:Node, endOffset:number, endNode:HTMLElement): ClientRectList {
+	private static _readClientRects(startElement: Node, startOffset: number, endElement: Node, endOffset: number, endNode: HTMLElement): ClientRectList {
 		let range = this._createRange();
 		try {
 			range.setStart(startElement, startOffset);
@@ -43,12 +43,12 @@ export class RangeUtil {
 		}
 	}
 
-	private static _createHorizontalRangesFromClientRects(clientRects:ClientRectList, clientRectDeltaLeft:number, scaleRatio:number): HorizontalRange[] {
+	private static _createHorizontalRangesFromClientRects(clientRects: ClientRectList, clientRectDeltaLeft: number, scaleRatio: number): HorizontalRange[] {
 		if (!clientRects || clientRects.length === 0) {
 			return null;
 		}
 
-		let result:HorizontalRange[] = [];
+		let result: HorizontalRange[] = [];
 		let prevLeft = Math.max(0, clientRects[0].left * scaleRatio - clientRectDeltaLeft);
 		let prevWidth = clientRects[0].width * scaleRatio;
 
@@ -74,7 +74,7 @@ export class RangeUtil {
 		return result;
 	}
 
-	public static readHorizontalRanges(domNode:HTMLElement, startChildIndex:number, startOffset:number, endChildIndex:number, endOffset:number, clientRectDeltaLeft:number, scaleRatio:number, endNode:HTMLElement): HorizontalRange[] {
+	public static readHorizontalRanges(domNode: HTMLElement, startChildIndex: number, startOffset: number, endChildIndex: number, endOffset: number, clientRectDeltaLeft: number, scaleRatio: number, endNode: HTMLElement): HorizontalRange[] {
 		// Panic check
 		let min = 0;
 		let max = domNode.children.length - 1;
diff --git a/src/vs/editor/browser/viewParts/lines/viewLine.ts b/src/vs/editor/browser/viewParts/lines/viewLine.ts
index 9f9febad9b6d2..b55f924333e8a 100644
--- a/src/vs/editor/browser/viewParts/lines/viewLine.ts
+++ b/src/vs/editor/browser/viewParts/lines/viewLine.ts
@@ -5,20 +5,20 @@
 'use strict';
 
 import * as browser from 'vs/base/browser/browser';
-import {FastDomNode, createFastDomNode} from 'vs/base/browser/styleMutator';
-import {IConfigurationChangedEvent} from 'vs/editor/common/editorCommon';
-import {LineParts, createLineParts, getColumnOfLinePartOffset} from 'vs/editor/common/viewLayout/viewLineParts';
-import {renderLine, RenderLineInput} from 'vs/editor/common/viewLayout/viewLineRenderer';
-import {ClassNames} from 'vs/editor/browser/editorBrowser';
-import {IVisibleLineData} from 'vs/editor/browser/view/viewLayer';
-import {RangeUtil} from 'vs/editor/browser/viewParts/lines/rangeUtil';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {HorizontalRange} from 'vs/editor/common/view/renderingContext';
-import {InlineDecoration} from 'vs/editor/common/viewModel/viewModel';
+import { FastDomNode, createFastDomNode } from 'vs/base/browser/styleMutator';
+import { IConfigurationChangedEvent } from 'vs/editor/common/editorCommon';
+import { LineParts, createLineParts, getColumnOfLinePartOffset } from 'vs/editor/common/viewLayout/viewLineParts';
+import { renderLine, RenderLineInput } from 'vs/editor/common/viewLayout/viewLineRenderer';
+import { ClassNames } from 'vs/editor/browser/editorBrowser';
+import { IVisibleLineData } from 'vs/editor/browser/view/viewLayer';
+import { RangeUtil } from 'vs/editor/browser/viewParts/lines/rangeUtil';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { HorizontalRange } from 'vs/editor/common/view/renderingContext';
+import { InlineDecoration } from 'vs/editor/common/viewModel/viewModel';
 
 export class ViewLine implements IVisibleLineData {
 
-	protected _context:ViewContext;
+	protected _context: ViewContext;
 	private _renderWhitespace: 'none' | 'boundary' | 'all';
 	private _renderControlCharacters: boolean;
 	private _spaceWidth: number;
@@ -32,11 +32,11 @@ export class ViewLine implements IVisibleLineData {
 	private _isInvalid: boolean;
 	private _isMaybeInvalid: boolean;
 
-	protected _charOffsetInPart:number[];
-	private _lastRenderedPartIndex:number;
+	protected _charOffsetInPart: number[];
+	private _lastRenderedPartIndex: number;
 	private _cachedWidth: number;
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		this._context = context;
 		this._renderWhitespace = this._context.configuration.editor.viewInfo.renderWhitespace;
 		this._renderControlCharacters = this._context.configuration.editor.viewInfo.renderControlCharacters;
@@ -60,7 +60,7 @@ export class ViewLine implements IVisibleLineData {
 		}
 		return this._domNode.domNode;
 	}
-	public setDomNode(domNode:HTMLElement): void {
+	public setDomNode(domNode: HTMLElement): void {
 		this._domNode = createFastDomNode(domNode);
 	}
 
@@ -82,7 +82,7 @@ export class ViewLine implements IVisibleLineData {
 	public onModelDecorationsChanged(): void {
 		this._isMaybeInvalid = true;
 	}
-	public onConfigurationChanged(e:IConfigurationChangedEvent): void {
+	public onConfigurationChanged(e: IConfigurationChangedEvent): void {
 		if (e.viewInfo.renderWhitespace) {
 			this._renderWhitespace = this._context.configuration.editor.viewInfo.renderWhitespace;
 		}
@@ -101,8 +101,8 @@ export class ViewLine implements IVisibleLineData {
 		this._isInvalid = true;
 	}
 
-	public shouldUpdateHTML(startLineNumber:number, lineNumber:number, inlineDecorations:InlineDecoration[]): boolean {
-		let newLineParts:LineParts = null;
+	public shouldUpdateHTML(startLineNumber: number, lineNumber: number, inlineDecorations: InlineDecoration[]): boolean {
+		let newLineParts: LineParts = null;
 
 		if (this._isMaybeInvalid || this._isInvalid) {
 			// Compute new line parts only if there is some evidence that something might have changed
@@ -134,7 +134,7 @@ export class ViewLine implements IVisibleLineData {
 		return this._isInvalid;
 	}
 
-	public getLineOuterHTML(out:string[], lineNumber:number, deltaTop:number): void {
+	public getLineOuterHTML(out: string[], lineNumber: number, deltaTop: number): void {
 		out.push('<div lineNumber="');
 		out.push(lineNumber.toString());
 		out.push('" style="top:');
@@ -153,7 +153,7 @@ export class ViewLine implements IVisibleLineData {
 		return this._render(lineNumber, this._lineParts);
 	}
 
-	public layoutLine(lineNumber:number, deltaTop:number): void {
+	public layoutLine(lineNumber: number, deltaTop: number): void {
 		this._domNode.setLineNumber(String(lineNumber));
 		this._domNode.setTop(deltaTop);
 		this._domNode.setHeight(this._lineHeight);
@@ -161,7 +161,7 @@ export class ViewLine implements IVisibleLineData {
 
 	// --- end IVisibleLineData
 
-	private _render(lineNumber:number, lineParts:LineParts): string {
+	private _render(lineNumber: number, lineParts: LineParts): string {
 
 		this._cachedWidth = -1;
 
@@ -200,11 +200,11 @@ export class ViewLine implements IVisibleLineData {
 	/**
 	 * Visible ranges for a model range
 	 */
-	public getVisibleRangesForRange(startColumn:number, endColumn:number, clientRectDeltaLeft:number, endNode:HTMLElement): HorizontalRange[] {
-		startColumn = startColumn|0; // @perf
-		endColumn = endColumn|0; // @perf
-		clientRectDeltaLeft = clientRectDeltaLeft|0; // @perf
-		const stopRenderingLineAfter = this._stopRenderingLineAfter|0; // @perf
+	public getVisibleRangesForRange(startColumn: number, endColumn: number, clientRectDeltaLeft: number, endNode: HTMLElement): HorizontalRange[] {
+		startColumn = startColumn | 0; // @perf
+		endColumn = endColumn | 0; // @perf
+		clientRectDeltaLeft = clientRectDeltaLeft | 0; // @perf
+		const stopRenderingLineAfter = this._stopRenderingLineAfter | 0; // @perf
 
 		if (stopRenderingLineAfter !== -1 && startColumn > stopRenderingLineAfter && endColumn > stopRenderingLineAfter) {
 			// This range is obviously not visible
@@ -222,7 +222,7 @@ export class ViewLine implements IVisibleLineData {
 		return this._readVisibleRangesForRange(startColumn, endColumn, clientRectDeltaLeft, endNode);
 	}
 
-	protected _readVisibleRangesForRange(startColumn:number, endColumn:number, clientRectDeltaLeft:number, endNode:HTMLElement): HorizontalRange[] {
+	protected _readVisibleRangesForRange(startColumn: number, endColumn: number, clientRectDeltaLeft: number, endNode: HTMLElement): HorizontalRange[] {
 		if (startColumn === endColumn) {
 			return this._readRawVisibleRangesForPosition(startColumn, clientRectDeltaLeft, endNode);
 		} else {
@@ -230,7 +230,7 @@ export class ViewLine implements IVisibleLineData {
 		}
 	}
 
-	protected _readRawVisibleRangesForPosition(column:number, clientRectDeltaLeft:number, endNode:HTMLElement): HorizontalRange[] {
+	protected _readRawVisibleRangesForPosition(column: number, clientRectDeltaLeft: number, endNode: HTMLElement): HorizontalRange[] {
 
 		if (this._charOffsetInPart.length === 0) {
 			// This line is empty
@@ -243,7 +243,7 @@ export class ViewLine implements IVisibleLineData {
 		return RangeUtil.readHorizontalRanges(this._getReadingTarget(), partIndex, charOffsetInPart, partIndex, charOffsetInPart, clientRectDeltaLeft, this._getScaleRatio(), endNode);
 	}
 
-	private _readRawVisibleRangesForRange(startColumn:number, endColumn:number, clientRectDeltaLeft:number, endNode:HTMLElement): HorizontalRange[] {
+	private _readRawVisibleRangesForRange(startColumn: number, endColumn: number, clientRectDeltaLeft: number, endNode: HTMLElement): HorizontalRange[] {
 
 		if (startColumn === 1 && endColumn === this._charOffsetInPart.length) {
 			// This branch helps IE with bidi text & gives a performance boost to other browsers when reading visible ranges for an entire line
@@ -266,7 +266,7 @@ export class ViewLine implements IVisibleLineData {
 	/**
 	 * Returns the column for the text found at a specific offset inside a rendered dom node
 	 */
-	public getColumnOfNodeOffset(lineNumber:number, spanNode:HTMLElement, offset:number): number {
+	public getColumnOfNodeOffset(lineNumber: number, spanNode: HTMLElement, offset: number): number {
 		let spanNodeTextContentLength = spanNode.textContent.length;
 
 		let spanIndex = -1;
@@ -290,7 +290,7 @@ export class ViewLine implements IVisibleLineData {
 
 class IEViewLine extends ViewLine {
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super(context);
 	}
 
@@ -301,11 +301,11 @@ class IEViewLine extends ViewLine {
 
 class WebKitViewLine extends ViewLine {
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super(context);
 	}
 
-	protected _readVisibleRangesForRange(startColumn:number, endColumn:number, clientRectDeltaLeft:number, endNode:HTMLElement): HorizontalRange[] {
+	protected _readVisibleRangesForRange(startColumn: number, endColumn: number, clientRectDeltaLeft: number, endNode: HTMLElement): HorizontalRange[] {
 		let output = super._readVisibleRangesForRange(startColumn, endColumn, clientRectDeltaLeft, endNode);
 
 		if (!output || output.length === 0 || startColumn === endColumn || (startColumn === 1 && endColumn === this._charOffsetInPart.length)) {
@@ -338,12 +338,12 @@ class WebKitViewLine extends ViewLine {
 }
 
 
-function findIndexInArrayWithMax(lineParts:LineParts, desiredIndex: number, maxResult:number): number {
+function findIndexInArrayWithMax(lineParts: LineParts, desiredIndex: number, maxResult: number): number {
 	let r = lineParts.findIndexOfOffset(desiredIndex);
 	return r <= maxResult ? r : maxResult;
 }
 
-export let createLine: (context: ViewContext) => ViewLine = (function() {
+export let createLine: (context: ViewContext) => ViewLine = (function () {
 	if (window.screen && window.screen.deviceXDPI && (navigator.userAgent.indexOf('Trident/6.0') >= 0 || navigator.userAgent.indexOf('Trident/5.0') >= 0)) {
 		// IE11 doesn't need the screen.logicalXDPI / screen.deviceXDPI ratio multiplication
 		// for TextRange.getClientRects() anymore
diff --git a/src/vs/editor/browser/viewParts/lines/viewLines.ts b/src/vs/editor/browser/viewParts/lines/viewLines.ts
index 02d29a3a7ba74..7dd45a86d3afa 100644
--- a/src/vs/editor/browser/viewParts/lines/viewLines.ts
+++ b/src/vs/editor/browser/viewParts/lines/viewLines.ts
@@ -5,18 +5,18 @@
 'use strict';
 
 import 'vs/css!./viewLines';
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
-import {Range} from 'vs/editor/common/core/range';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ClassNames} from 'vs/editor/browser/editorBrowser';
-import {ViewLayer} from 'vs/editor/browser/view/viewLayer';
-import {ViewLine, createLine} from 'vs/editor/browser/viewParts/lines/viewLine';
-import {Configuration} from 'vs/editor/browser/config/configuration';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {ViewLinesViewportData} from 'vs/editor/common/viewLayout/viewLinesViewportData';
-import {VisibleRange, LineVisibleRanges} from 'vs/editor/common/view/renderingContext';
-import {ILayoutProvider} from 'vs/editor/browser/viewLayout/layoutProvider';
+import { ClassNames } from 'vs/editor/browser/editorBrowser';
+import { ViewLayer } from 'vs/editor/browser/view/viewLayer';
+import { ViewLine, createLine } from 'vs/editor/browser/viewParts/lines/viewLine';
+import { Configuration } from 'vs/editor/browser/config/configuration';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { ViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
+import { VisibleRange, LineVisibleRanges } from 'vs/editor/common/view/renderingContext';
+import { ILayoutProvider } from 'vs/editor/browser/viewLayout/layoutProvider';
 
 class LastRenderedData {
 
@@ -32,7 +32,7 @@ class LastRenderedData {
 		return this._currentVisibleRange;
 	}
 
-	public setCurrentVisibleRange(currentVisibleRange:Range): void {
+	public setCurrentVisibleRange(currentVisibleRange: Range): void {
 		this._currentVisibleRange = currentVisibleRange;
 	}
 
@@ -40,7 +40,7 @@ class LastRenderedData {
 		return this._bigNumbersDelta;
 	}
 
-	public setBigNumbersDelta(bigNumbersDelta:number): void {
+	public setBigNumbersDelta(bigNumbersDelta: number): void {
 		this._bigNumbersDelta = bigNumbersDelta;
 	}
 }
@@ -56,8 +56,8 @@ export class ViewLines extends ViewLayer<ViewLine> {
 	private static HORIZONTAL_EXTRA_PX = 30;
 
 
-	private _layoutProvider:ILayoutProvider;
-	private _textRangeRestingSpot:HTMLElement;
+	private _layoutProvider: ILayoutProvider;
+	private _textRangeRestingSpot: HTMLElement;
 
 	// --- config
 	private _lineHeight: number;
@@ -69,10 +69,10 @@ export class ViewLines extends ViewLayer<ViewLine> {
 	private _maxLineWidth: number;
 	private _asyncUpdateLineWidths: RunOnceScheduler;
 
-	private _lastCursorRevealRangeHorizontallyEvent:editorCommon.IViewRevealRangeEvent;
+	private _lastCursorRevealRangeHorizontallyEvent: editorCommon.IViewRevealRangeEvent;
 	private _lastRenderedData: LastRenderedData;
 
-	constructor(context:ViewContext, layoutProvider:ILayoutProvider) {
+	constructor(context: ViewContext, layoutProvider: ILayoutProvider) {
 		super(context);
 		this._lineHeight = this._context.configuration.editor.lineHeight;
 		this._isViewportWrapping = this._context.configuration.editor.wrappingInfo.isViewportWrapping;
@@ -107,7 +107,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 
 	// ---- begin view event handlers
 
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		var shouldRender = super.onConfigurationChanged(e);
 		if (e.wrappingInfo) {
 			this._maxLineWidth = 0;
@@ -132,7 +132,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 		return shouldRender;
 	}
 
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		var shouldRender = super.onLayoutChanged(layoutInfo);
 		this._maxLineWidth = 0;
 		return shouldRender;
@@ -144,7 +144,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 		return shouldRender;
 	}
 
-	public onModelDecorationsChanged(e:editorCommon.IViewDecorationsChangedEvent): boolean {
+	public onModelDecorationsChanged(e: editorCommon.IViewDecorationsChangedEvent): boolean {
 		let shouldRender = super.onModelDecorationsChanged(e);
 		let rendStartLineNumber = this._linesCollection.getStartLineNumber();
 		let rendEndLineNumber = this._linesCollection.getEndLineNumber();
@@ -154,7 +154,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 		return shouldRender || true;
 	}
 
-	public onCursorRevealRange(e:editorCommon.IViewRevealRangeEvent): boolean {
+	public onCursorRevealRange(e: editorCommon.IViewRevealRangeEvent): boolean {
 		var newScrollTop = this._computeScrollTopToRevealRange(this._layoutProvider.getCurrentViewport(), e.range, e.verticalType);
 
 		if (e.revealHorizontal) {
@@ -168,7 +168,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 		return true;
 	}
 
-	public onCursorScrollRequest(e:editorCommon.IViewScrollRequestEvent): boolean {
+	public onCursorScrollRequest(e: editorCommon.IViewScrollRequestEvent): boolean {
 		let currentScrollTop = this._layoutProvider.getScrollTop();
 		let newScrollTop = currentScrollTop + e.deltaLines * this._lineHeight;
 		this._layoutProvider.setScrollPosition({
@@ -177,7 +177,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 		return true;
 	}
 
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		this.domNode.setWidth(e.scrollWidth);
 		return super.onScrollChanged(e) || true;
 	}
@@ -186,7 +186,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 
 	// ----------- HELPERS FOR OTHERS
 
-	public getPositionFromDOMInfo(spanNode:HTMLElement, offset:number): editorCommon.IPosition {
+	public getPositionFromDOMInfo(spanNode: HTMLElement, offset: number): editorCommon.IPosition {
 		let lineNumber = this._getLineNumberFromDOMInfo(spanNode);
 
 		if (lineNumber === -1) {
@@ -225,7 +225,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 		};
 	}
 
-	private _getLineNumberFromDOMInfo(spanNode:HTMLElement): number {
+	private _getLineNumberFromDOMInfo(spanNode: HTMLElement): number {
 		while (spanNode && spanNode.nodeType === 1) {
 			if (spanNode.className === ClassNames.VIEW_LINE) {
 				return parseInt(spanNode.getAttribute('lineNumber'), 10);
@@ -246,7 +246,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 		return this._linesCollection.getLine(lineNumber).getWidth();
 	}
 
-	public linesVisibleRangesForRange(range:editorCommon.IRange, includeNewLines:boolean): LineVisibleRanges[] {
+	public linesVisibleRangesForRange(range: editorCommon.IRange, includeNewLines: boolean): LineVisibleRanges[] {
 		if (this.shouldRender()) {
 			// Cannot read from the DOM because it is dirty
 			// i.e. the model & the dom are out of sync, so I'd be reading something stale
@@ -259,10 +259,10 @@ export class ViewLines extends ViewLayer<ViewLine> {
 			return null;
 		}
 
-		let visibleRanges:LineVisibleRanges[] = [];
+		let visibleRanges: LineVisibleRanges[] = [];
 		let clientRectDeltaLeft = this.domNode.domNode.getBoundingClientRect().left;
 
-		let nextLineModelLineNumber:number;
+		let nextLineModelLineNumber: number;
 		if (includeNewLines) {
 			nextLineModelLineNumber = this._context.model.convertViewPositionToModelPosition(range.startLineNumber, 1).lineNumber;
 		}
@@ -302,7 +302,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 		return visibleRanges;
 	}
 
-	public visibleRangesForRange2(range:editorCommon.IRange, deltaTop:number): VisibleRange[] {
+	public visibleRangesForRange2(range: editorCommon.IRange, deltaTop: number): VisibleRange[] {
 
 		if (this.shouldRender()) {
 			// Cannot read from the DOM because it is dirty
@@ -315,7 +315,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 			return null;
 		}
 
-		let result:VisibleRange[] = [];
+		let result: VisibleRange[] = [];
 		let clientRectDeltaLeft = this.domNode.domNode.getBoundingClientRect().left;
 		let bigNumbersDelta = this._lastRenderedData.getBigNumbersDelta();
 
@@ -375,7 +375,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 		throw new Error('Not supported');
 	}
 
-	public renderText(linesViewportData:ViewLinesViewportData, onAfterLinesRendered:()=>void): void {
+	public renderText(linesViewportData: ViewLinesViewportData, onAfterLinesRendered: () => void): void {
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
@@ -441,12 +441,12 @@ export class ViewLines extends ViewLayer<ViewLine> {
 		}
 	}
 
-	private _computeScrollTopToRevealRange(viewport:editorCommon.Viewport, range: Range, verticalType: editorCommon.VerticalRevealType): number {
+	private _computeScrollTopToRevealRange(viewport: editorCommon.Viewport, range: Range, verticalType: editorCommon.VerticalRevealType): number {
 		var viewportStartY = viewport.top,
 			viewportHeight = viewport.height,
 			viewportEndY = viewportStartY + viewportHeight,
-			boxStartY:number,
-			boxEndY:number;
+			boxStartY: number,
+			boxEndY: number;
 
 		// Have a box that includes one extra line height (for the horizontal scrollbar)
 		boxStartY = this._layoutProvider.getVerticalOffsetForLineNumber(range.startLineNumber);
@@ -465,7 +465,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
 			} else {
 				// Box is outside the viewport... center it
 				var boxMiddleY = (boxStartY + boxEndY) / 2;
-				newScrollTop = Math.max(0, boxMiddleY - viewportHeight/2);
+				newScrollTop = Math.max(0, boxMiddleY - viewportHeight / 2);
 			}
 		} else {
 			newScrollTop = this._computeMinimumScrolling(viewportStartY, viewportEndY, boxStartY, boxEndY, verticalType === editorCommon.VerticalRevealType.Top, verticalType === editorCommon.VerticalRevealType.Bottom);
@@ -502,8 +502,8 @@ export class ViewLines extends ViewLayer<ViewLine> {
 			};
 		}
 
-		var i:number,
-			visibleRange:VisibleRange;
+		var i: number,
+			visibleRange: VisibleRange;
 
 		for (i = 0; i < visibleRanges.length; i++) {
 			visibleRange = visibleRanges[i];
diff --git a/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.ts b/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.ts
index 307648df7f7b4..1308f188f6daa 100644
--- a/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.ts
+++ b/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.ts
@@ -7,20 +7,20 @@
 
 import 'vs/css!./linesDecorations';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {DecorationToRender, DedupOverlay} from 'vs/editor/browser/viewParts/glyphMargin/glyphMargin';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext} from 'vs/editor/common/view/renderingContext';
+import { DecorationToRender, DedupOverlay } from 'vs/editor/browser/viewParts/glyphMargin/glyphMargin';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext } from 'vs/editor/common/view/renderingContext';
 
 export class LinesDecorationsOverlay extends DedupOverlay {
 
-	private _context:ViewContext;
+	private _context: ViewContext;
 	private _lineHeight: number;
 
-	private _decorationsLeft:number;
-	private _decorationsWidth:number;
-	private _renderResult:string[];
+	private _decorationsLeft: number;
+	private _decorationsWidth: number;
+	private _renderResult: string[];
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super();
 		this._context = context;
 		this._lineHeight = this._context.configuration.editor.lineHeight;
@@ -41,39 +41,39 @@ export class LinesDecorationsOverlay extends DedupOverlay {
 	public onModelFlushed(): boolean {
 		return true;
 	}
-	public onModelDecorationsChanged(e:editorCommon.IViewDecorationsChangedEvent): boolean {
+	public onModelDecorationsChanged(e: editorCommon.IViewDecorationsChangedEvent): boolean {
 		return true;
 	}
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		return true;
 	}
-	public onModelLineChanged(e:editorCommon.IViewLineChangedEvent): boolean {
+	public onModelLineChanged(e: editorCommon.IViewLineChangedEvent): boolean {
 		return true;
 	}
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		return true;
 	}
-	public onCursorPositionChanged(e:editorCommon.IViewCursorPositionChangedEvent): boolean {
+	public onCursorPositionChanged(e: editorCommon.IViewCursorPositionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): boolean {
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorRevealRange(e:editorCommon.IViewRevealRangeEvent): boolean {
+	public onCursorRevealRange(e: editorCommon.IViewRevealRangeEvent): boolean {
 		return false;
 	}
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
 		}
 		return true;
 	}
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		this._decorationsLeft = layoutInfo.decorationsLeft;
 		this._decorationsWidth = layoutInfo.decorationsWidth;
 		return true;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return e.scrollTopChanged;
 	}
 	public onZonesChanged(): boolean {
@@ -82,9 +82,9 @@ export class LinesDecorationsOverlay extends DedupOverlay {
 
 	// --- end event handlers
 
-	protected _getDecorations(ctx:IRenderingContext): DecorationToRender[] {
+	protected _getDecorations(ctx: IRenderingContext): DecorationToRender[] {
 		let decorations = ctx.getDecorationsInViewport();
-		let r:DecorationToRender[] = [];
+		let r: DecorationToRender[] = [];
 		for (let i = 0, len = decorations.length; i < len; i++) {
 			let d = decorations[i];
 			if (d.options.linesDecorationsClassName) {
@@ -94,7 +94,7 @@ export class LinesDecorationsOverlay extends DedupOverlay {
 		return r;
 	}
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
@@ -122,7 +122,7 @@ export class LinesDecorationsOverlay extends DedupOverlay {
 		this._renderResult = output;
 	}
 
-	public render(startLineNumber:number, lineNumber:number): string {
+	public render(startLineNumber: number, lineNumber: number): string {
 		if (!this._renderResult) {
 			return '';
 		}
diff --git a/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.ts b/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.ts
index 61302e0fd7a17..16b67497777ff 100644
--- a/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.ts
+++ b/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.ts
@@ -6,12 +6,12 @@
 'use strict';
 
 import 'vs/css!./overlayWidgets';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
-import {EditorLayoutInfo} from 'vs/editor/common/editorCommon';
-import {ClassNames, IOverlayWidget, OverlayWidgetPositionPreference} from 'vs/editor/browser/editorBrowser';
-import {ViewPart} from 'vs/editor/browser/view/viewPart';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext, IRestrictedRenderingContext} from 'vs/editor/common/view/renderingContext';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
+import { EditorLayoutInfo } from 'vs/editor/common/editorCommon';
+import { ClassNames, IOverlayWidget, OverlayWidgetPositionPreference } from 'vs/editor/browser/editorBrowser';
+import { ViewPart } from 'vs/editor/browser/view/viewPart';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext, IRestrictedRenderingContext } from 'vs/editor/common/view/renderingContext';
 
 interface IWidgetData {
 	widget: IOverlayWidget;
@@ -19,7 +19,7 @@ interface IWidgetData {
 }
 
 interface IWidgetMap {
-	[key:string]: IWidgetData;
+	[key: string]: IWidgetData;
 }
 
 export class ViewOverlayWidgets extends ViewPart {
@@ -28,11 +28,11 @@ export class ViewOverlayWidgets extends ViewPart {
 	public domNode: HTMLElement;
 
 	private _verticalScrollbarWidth: number;
-	private _horizontalScrollbarHeight:number;
-	private _editorHeight:number;
-	private _editorWidth:number;
+	private _horizontalScrollbarHeight: number;
+	private _editorHeight: number;
+	private _editorWidth: number;
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super(context);
 
 		this._widgets = {};
@@ -52,7 +52,7 @@ export class ViewOverlayWidgets extends ViewPart {
 
 	// ---- begin view event handlers
 
-	public onLayoutChanged(layoutInfo:EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: EditorLayoutInfo): boolean {
 		this._verticalScrollbarWidth = layoutInfo.verticalScrollbarWidth;
 		this._horizontalScrollbarHeight = layoutInfo.horizontalScrollbarHeight;
 		this._editorHeight = layoutInfo.height;
@@ -77,7 +77,7 @@ export class ViewOverlayWidgets extends ViewPart {
 		this.setShouldRender();
 	}
 
-	public setWidgetPosition(widget: IOverlayWidget, preference:OverlayWidgetPositionPreference): boolean {
+	public setWidgetPosition(widget: IOverlayWidget, preference: OverlayWidgetPositionPreference): boolean {
 		var widgetData = this._widgets[widget.getId()];
 		if (widgetData.preference === preference) {
 			return false;
@@ -136,14 +136,14 @@ export class ViewOverlayWidgets extends ViewPart {
 		}
 	}
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		// Nothing to read
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
 	}
 
-	public render(ctx:IRestrictedRenderingContext): void {
+	public render(ctx: IRestrictedRenderingContext): void {
 		StyleMutator.setWidth(this.domNode, this._editorWidth);
 
 		let keys = Object.keys(this._widgets);
diff --git a/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.ts b/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.ts
index 8546b908957d7..3bda51414cb20 100644
--- a/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.ts
+++ b/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.ts
@@ -6,11 +6,11 @@
 
 import * as themes from 'vs/platform/theme/common/themes';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ViewPart} from 'vs/editor/browser/view/viewPart';
-import {OverviewRulerImpl} from 'vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext, IRestrictedRenderingContext} from 'vs/editor/common/view/renderingContext';
-import {Position} from 'vs/editor/common/core/position';
+import { ViewPart } from 'vs/editor/browser/view/viewPart';
+import { OverviewRulerImpl } from 'vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext, IRestrictedRenderingContext } from 'vs/editor/common/view/renderingContext';
+import { Position } from 'vs/editor/common/core/position';
 
 export class DecorationsOverviewRuler extends ViewPart {
 
@@ -20,18 +20,18 @@ export class DecorationsOverviewRuler extends ViewPart {
 	private static _CURSOR_COLOR = 'rgba(0, 0, 102, 0.8)';
 	private static _CURSOR_COLOR_DARK = 'rgba(152, 152, 152, 0.8)';
 
-	private _overviewRuler:OverviewRulerImpl;
+	private _overviewRuler: OverviewRulerImpl;
 
-	private _shouldUpdateDecorations:boolean;
-	private _shouldUpdateCursorPosition:boolean;
+	private _shouldUpdateDecorations: boolean;
+	private _shouldUpdateCursorPosition: boolean;
 
-	private _hideCursor:boolean;
+	private _hideCursor: boolean;
 	private _cursorPositions: Position[];
 
 	private _zonesFromDecorations: editorCommon.OverviewRulerZone[];
 	private _zonesFromCursors: editorCommon.OverviewRulerZone[];
 
-	constructor(context:ViewContext, scrollHeight:number, getVerticalOffsetForLine:(lineNumber:number)=>number) {
+	constructor(context: ViewContext, scrollHeight: number, getVerticalOffsetForLine: (lineNumber: number) => number) {
 		super(context);
 		this._overviewRuler = new OverviewRulerImpl(
 			1,
@@ -64,14 +64,14 @@ export class DecorationsOverviewRuler extends ViewPart {
 
 	// ---- begin view event handlers
 
-	public onCursorPositionChanged(e:editorCommon.IViewCursorPositionChangedEvent): boolean {
+	public onCursorPositionChanged(e: editorCommon.IViewCursorPositionChangedEvent): boolean {
 		this._shouldUpdateCursorPosition = true;
-		this._cursorPositions = [ e.position ];
+		this._cursorPositions = [e.position];
 		this._cursorPositions = this._cursorPositions.concat(e.secondaryPositions);
 		return true;
 	}
 
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		var prevLanesCount = this._overviewRuler.getLanesCount();
 		var newLanesCount = this._context.configuration.editor.viewInfo.overviewRulerLanes;
 
@@ -107,7 +107,7 @@ export class DecorationsOverviewRuler extends ViewPart {
 		return shouldRender;
 	}
 
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		this._overviewRuler.setLayout(layoutInfo.overviewRuler, false);
 		return true;
 	}
@@ -122,12 +122,12 @@ export class DecorationsOverviewRuler extends ViewPart {
 		return true;
 	}
 
-	public onModelDecorationsChanged(e:editorCommon.IViewDecorationsChangedEvent): boolean {
+	public onModelDecorationsChanged(e: editorCommon.IViewDecorationsChangedEvent): boolean {
 		this._shouldUpdateDecorations = true;
 		return true;
 	}
 
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		this._overviewRuler.setScrollHeight(e.scrollHeight, false);
 		return super.onScrollChanged(e) || e.scrollHeightChanged;
 	}
@@ -140,7 +140,7 @@ export class DecorationsOverviewRuler extends ViewPart {
 
 	private _createZonesFromDecorations(): editorCommon.OverviewRulerZone[] {
 		let decorations = this._context.model.getAllDecorations();
-		let zones:editorCommon.OverviewRulerZone[] = [];
+		let zones: editorCommon.OverviewRulerZone[] = [];
 
 		for (let i = 0, len = decorations.length; i < len; i++) {
 			let dec = decorations[i];
@@ -160,32 +160,32 @@ export class DecorationsOverviewRuler extends ViewPart {
 	}
 
 	private _createZonesFromCursors(): editorCommon.OverviewRulerZone[] {
-		let zones:editorCommon.OverviewRulerZone[] = [];
+		let zones: editorCommon.OverviewRulerZone[] = [];
 
 		for (let i = 0, len = this._cursorPositions.length; i < len; i++) {
 			let cursor = this._cursorPositions[i];
 
 			zones.push(new editorCommon.OverviewRulerZone(
-					cursor.lineNumber,
-					cursor.lineNumber,
-					editorCommon.OverviewRulerLane.Full,
-					2,
-					DecorationsOverviewRuler._CURSOR_COLOR,
-					DecorationsOverviewRuler._CURSOR_COLOR_DARK
+				cursor.lineNumber,
+				cursor.lineNumber,
+				editorCommon.OverviewRulerLane.Full,
+				2,
+				DecorationsOverviewRuler._CURSOR_COLOR,
+				DecorationsOverviewRuler._CURSOR_COLOR_DARK
 			));
 		}
 
 		return zones;
 	}
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		// Nothing to read
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
 	}
 
-	public render(ctx:IRestrictedRenderingContext): void {
+	public render(ctx: IRestrictedRenderingContext): void {
 		if (this._shouldUpdateDecorations || this._shouldUpdateCursorPosition) {
 
 			if (this._shouldUpdateDecorations) {
@@ -202,7 +202,7 @@ export class DecorationsOverviewRuler extends ViewPart {
 				}
 			}
 
-			var allZones:editorCommon.OverviewRulerZone[] = [];
+			var allZones: editorCommon.OverviewRulerZone[] = [];
 			allZones = allZones.concat(this._zonesFromCursors);
 			allZones = allZones.concat(this._zonesFromDecorations);
 
diff --git a/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.ts b/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.ts
index 997ab474114a6..beb8cefc3368e 100644
--- a/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.ts
+++ b/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.ts
@@ -4,22 +4,22 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IConfigurationChangedEvent, OverviewRulerPosition, OverviewRulerZone, IScrollEvent} from 'vs/editor/common/editorCommon';
-import {ViewEventHandler} from 'vs/editor/common/viewModel/viewEventHandler';
-import {IOverviewRuler} from 'vs/editor/browser/editorBrowser';
-import {OverviewRulerImpl} from 'vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
+import { IConfigurationChangedEvent, OverviewRulerPosition, OverviewRulerZone, IScrollEvent } from 'vs/editor/common/editorCommon';
+import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
+import { IOverviewRuler } from 'vs/editor/browser/editorBrowser';
+import { OverviewRulerImpl } from 'vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
 
 export class OverviewRuler extends ViewEventHandler implements IOverviewRuler {
 
-	private _context:ViewContext;
-	private _overviewRuler:OverviewRulerImpl;
+	private _context: ViewContext;
+	private _overviewRuler: OverviewRulerImpl;
 
-	constructor(context:ViewContext, cssClassName:string, scrollHeight:number, minimumHeight:number, maximumHeight:number, getVerticalOffsetForLine:(lineNumber:number)=>number) {
+	constructor(context: ViewContext, cssClassName: string, scrollHeight: number, minimumHeight: number, maximumHeight: number, getVerticalOffsetForLine: (lineNumber: number) => number) {
 		super();
 		this._context = context;
 		this._overviewRuler = new OverviewRulerImpl(0, cssClassName, scrollHeight, this._context.configuration.editor.lineHeight,
-					this._context.configuration.editor.viewInfo.canUseTranslate3d, minimumHeight, maximumHeight, getVerticalOffsetForLine);
+			this._context.configuration.editor.viewInfo.canUseTranslate3d, minimumHeight, maximumHeight, getVerticalOffsetForLine);
 
 		this._context.addEventHandler(this);
 	}
@@ -29,7 +29,7 @@ export class OverviewRuler extends ViewEventHandler implements IOverviewRuler {
 		this._overviewRuler.dispose();
 	}
 
-	public onConfigurationChanged(e:IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: IConfigurationChangedEvent): boolean {
 		if (e.lineHeight) {
 			this._overviewRuler.setLineHeight(this._context.configuration.editor.lineHeight, true);
 			return true;
@@ -51,7 +51,7 @@ export class OverviewRuler extends ViewEventHandler implements IOverviewRuler {
 		return true;
 	}
 
-	public onScrollChanged(e:IScrollEvent): boolean {
+	public onScrollChanged(e: IScrollEvent): boolean {
 		this._overviewRuler.setScrollHeight(e.scrollHeight, true);
 		return super.onScrollChanged(e) || e.scrollHeightChanged;
 	}
@@ -60,11 +60,11 @@ export class OverviewRuler extends ViewEventHandler implements IOverviewRuler {
 		return this._overviewRuler.getDomNode();
 	}
 
-	public setLayout(position:OverviewRulerPosition): void {
+	public setLayout(position: OverviewRulerPosition): void {
 		this._overviewRuler.setLayout(position, true);
 	}
 
-	public setZones(zones:OverviewRulerZone[]): void {
+	public setZones(zones: OverviewRulerZone[]): void {
 		this._overviewRuler.setZones(zones, true);
 	}
 }
\ No newline at end of file
diff --git a/src/vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl.ts b/src/vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl.ts
index 6a7ba58476036..9c1fb370e6c33 100644
--- a/src/vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl.ts
+++ b/src/vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {StyleMutator} from 'vs/base/browser/styleMutator';
-import {OverviewRulerPosition, OverviewRulerLane, OverviewRulerZone, ColorZone} from 'vs/editor/common/editorCommon';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
+import { OverviewRulerPosition, OverviewRulerLane, OverviewRulerZone, ColorZone } from 'vs/editor/common/editorCommon';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import * as browser from 'vs/base/browser/browser';
-import {OverviewZoneManager} from 'vs/editor/common/view/overviewZoneManager';
+import { OverviewZoneManager } from 'vs/editor/common/view/overviewZoneManager';
 
 export class OverviewRulerImpl {
 
@@ -16,13 +16,13 @@ export class OverviewRulerImpl {
 
 	private _canvasLeftOffset: number;
 	private _domNode: HTMLCanvasElement;
-	private _lanesCount:number;
+	private _lanesCount: number;
 	private _zoneManager: OverviewZoneManager;
 	private _canUseTranslate3d: boolean;
 
 	private _zoomListener: IDisposable;
 
-	constructor(canvasLeftOffset:number, cssClassName:string, scrollHeight:number, lineHeight:number, canUseTranslate3d:boolean, minimumHeight:number, maximumHeight:number, getVerticalOffsetForLine:(lineNumber:number)=>number) {
+	constructor(canvasLeftOffset: number, cssClassName: string, scrollHeight: number, lineHeight: number, canUseTranslate3d: boolean, minimumHeight: number, maximumHeight: number, getVerticalOffsetForLine: (lineNumber: number) => number) {
 		this._canvasLeftOffset = canvasLeftOffset;
 
 		this._domNode = <HTMLCanvasElement>document.createElement('canvas');
@@ -58,7 +58,7 @@ export class OverviewRulerImpl {
 		this._zoneManager = null;
 	}
 
-	public setLayout(position:OverviewRulerPosition, render:boolean): void {
+	public setLayout(position: OverviewRulerPosition, render: boolean): void {
 		StyleMutator.setTop(this._domNode, position.top);
 		StyleMutator.setRight(this._domNode, position.right);
 
@@ -82,7 +82,7 @@ export class OverviewRulerImpl {
 		return this._lanesCount;
 	}
 
-	public setLanesCount(newLanesCount:number, render:boolean): void {
+	public setLanesCount(newLanesCount: number, render: boolean): void {
 		this._lanesCount = newLanesCount;
 
 		if (render) {
@@ -90,7 +90,7 @@ export class OverviewRulerImpl {
 		}
 	}
 
-	public setUseDarkColor(useDarkColor:boolean, render:boolean): void {
+	public setUseDarkColor(useDarkColor: boolean, render: boolean): void {
 		this._zoneManager.setUseDarkColor(useDarkColor);
 
 		if (render) {
@@ -110,35 +110,35 @@ export class OverviewRulerImpl {
 		return this._zoneManager.getCanvasHeight();
 	}
 
-	public setScrollHeight(scrollHeight:number, render:boolean): void {
+	public setScrollHeight(scrollHeight: number, render: boolean): void {
 		this._zoneManager.setOuterHeight(scrollHeight);
 		if (render) {
 			this.render(true);
 		}
 	}
 
-	public setLineHeight(lineHeight:number, render:boolean): void {
+	public setLineHeight(lineHeight: number, render: boolean): void {
 		this._zoneManager.setLineHeight(lineHeight);
 		if (render) {
 			this.render(true);
 		}
 	}
 
-	public setCanUseTranslate3d(canUseTranslate3d:boolean, render:boolean): void {
+	public setCanUseTranslate3d(canUseTranslate3d: boolean, render: boolean): void {
 		this._canUseTranslate3d = canUseTranslate3d;
 		if (render) {
 			this.render(true);
 		}
 	}
 
-	public setZones(zones:OverviewRulerZone[], render:boolean): void {
+	public setZones(zones: OverviewRulerZone[], render: boolean): void {
 		this._zoneManager.setZones(zones);
 		if (render) {
 			this.render(false);
 		}
 	}
 
-	public render(forceRender:boolean): boolean {
+	public render(forceRender: boolean): boolean {
 		if (!OverviewRulerImpl.hasCanvas) {
 			return false;
 		}
@@ -158,7 +158,7 @@ export class OverviewRulerImpl {
 		let id2Color = this._zoneManager.getId2Color();
 
 		let ctx = this._domNode.getContext('2d');
-		ctx.clearRect (0, 0, width, height);
+		ctx.clearRect(0, 0, width, height);
 
 		if (colorZones.length > 0) {
 			let remainingWidth = width - this._canvasLeftOffset;
@@ -175,13 +175,13 @@ export class OverviewRulerImpl {
 		return true;
 	}
 
-	private _renderOneLane(ctx:CanvasRenderingContext2D, colorZones:ColorZone[], id2Color:string[], w:number): void {
+	private _renderOneLane(ctx: CanvasRenderingContext2D, colorZones: ColorZone[], id2Color: string[], w: number): void {
 
 		this._renderVerticalPatch(ctx, colorZones, id2Color, OverviewRulerLane.Left | OverviewRulerLane.Center | OverviewRulerLane.Right, this._canvasLeftOffset, w);
 
 	}
 
-	private _renderTwoLanes(ctx:CanvasRenderingContext2D, colorZones:ColorZone[], id2Color:string[], w:number): void {
+	private _renderTwoLanes(ctx: CanvasRenderingContext2D, colorZones: ColorZone[], id2Color: string[], w: number): void {
 
 		let leftWidth = Math.floor(w / 2);
 		let rightWidth = w - leftWidth;
@@ -192,7 +192,7 @@ export class OverviewRulerImpl {
 		this._renderVerticalPatch(ctx, colorZones, id2Color, OverviewRulerLane.Right, rightOffset, rightWidth);
 	}
 
-	private _renderThreeLanes(ctx:CanvasRenderingContext2D, colorZones:ColorZone[], id2Color:string[], w:number): void {
+	private _renderThreeLanes(ctx: CanvasRenderingContext2D, colorZones: ColorZone[], id2Color: string[], w: number): void {
 
 		let leftWidth = Math.floor(w / 3);
 		let rightWidth = Math.floor(w / 3);
@@ -206,7 +206,7 @@ export class OverviewRulerImpl {
 		this._renderVerticalPatch(ctx, colorZones, id2Color, OverviewRulerLane.Right, rightOffset, rightWidth);
 	}
 
-	private _renderVerticalPatch(ctx:CanvasRenderingContext2D, colorZones:ColorZone[], id2Color:string[], laneMask:number, xpos:number, width:number): void {
+	private _renderVerticalPatch(ctx: CanvasRenderingContext2D, colorZones: ColorZone[], id2Color: string[], laneMask: number, xpos: number, width: number): void {
 
 		let currentColorId = 0;
 		let currentFrom = 0;
@@ -224,7 +224,7 @@ export class OverviewRulerImpl {
 			let zoneTo = zone.to;
 
 			if (zoneColorId !== currentColorId) {
-				ctx.fillRect (xpos, currentFrom, width, currentTo - currentFrom);
+				ctx.fillRect(xpos, currentFrom, width, currentTo - currentFrom);
 
 				currentColorId = zoneColorId;
 				ctx.fillStyle = id2Color[currentColorId];
@@ -234,14 +234,14 @@ export class OverviewRulerImpl {
 				if (currentTo >= zoneFrom) {
 					currentTo = Math.max(currentTo, zoneTo);
 				} else {
-					ctx.fillRect (xpos, currentFrom, width, currentTo - currentFrom);
+					ctx.fillRect(xpos, currentFrom, width, currentTo - currentFrom);
 					currentFrom = zoneFrom;
 					currentTo = zoneTo;
 				}
 			}
 		}
 
-		ctx.fillRect (xpos, currentFrom, width, currentTo - currentFrom);
+		ctx.fillRect(xpos, currentFrom, width, currentTo - currentFrom);
 
 	}
 }
diff --git a/src/vs/editor/browser/viewParts/rulers/rulers.ts b/src/vs/editor/browser/viewParts/rulers/rulers.ts
index 5613af406163d..0aa0befd1f536 100644
--- a/src/vs/editor/browser/viewParts/rulers/rulers.ts
+++ b/src/vs/editor/browser/viewParts/rulers/rulers.ts
@@ -6,22 +6,22 @@
 'use strict';
 
 import 'vs/css!./rulers';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ViewPart} from 'vs/editor/browser/view/viewPart';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext, IRestrictedRenderingContext} from 'vs/editor/common/view/renderingContext';
-import {ILayoutProvider} from 'vs/editor/browser/viewLayout/layoutProvider';
+import { ViewPart } from 'vs/editor/browser/view/viewPart';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext, IRestrictedRenderingContext } from 'vs/editor/common/view/renderingContext';
+import { ILayoutProvider } from 'vs/editor/browser/viewLayout/layoutProvider';
 
 export class Rulers extends ViewPart {
 
 	public domNode: HTMLElement;
-	private _layoutProvider:ILayoutProvider;
+	private _layoutProvider: ILayoutProvider;
 	private _rulers: number[];
 	private _height: number;
 	private _typicalHalfwidthCharacterWidth: number;
 
-	constructor(context:ViewContext, layoutProvider:ILayoutProvider) {
+	constructor(context: ViewContext, layoutProvider: ILayoutProvider) {
 		super(context);
 		this._layoutProvider = layoutProvider;
 		this.domNode = document.createElement('div');
@@ -46,20 +46,20 @@ export class Rulers extends ViewPart {
 		}
 		return false;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return super.onScrollChanged(e) || e.scrollHeightChanged;
 	}
 
 	// --- end event handlers
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		// Nothing to read
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
 	}
 
-	public render(ctx:IRestrictedRenderingContext): void {
+	public render(ctx: IRestrictedRenderingContext): void {
 		let existingRulersLength = this.domNode.children.length;
 		let max = Math.max(existingRulersLength, this._rulers.length);
 
diff --git a/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.ts b/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.ts
index 129acbd0a6610..f2b927c46828e 100644
--- a/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.ts
+++ b/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.ts
@@ -7,12 +7,12 @@
 
 import 'vs/css!./scrollDecoration';
 import * as dom from 'vs/base/browser/dom';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
-import {IConfigurationChangedEvent, EditorLayoutInfo, IScrollEvent} from 'vs/editor/common/editorCommon';
-import {ClassNames} from 'vs/editor/browser/editorBrowser';
-import {ViewPart} from 'vs/editor/browser/view/viewPart';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext, IRestrictedRenderingContext} from 'vs/editor/common/view/renderingContext';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
+import { IConfigurationChangedEvent, EditorLayoutInfo, IScrollEvent } from 'vs/editor/common/editorCommon';
+import { ClassNames } from 'vs/editor/browser/editorBrowser';
+import { ViewPart } from 'vs/editor/browser/view/viewPart';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext, IRestrictedRenderingContext } from 'vs/editor/common/view/renderingContext';
 
 export class ScrollDecorationViewPart extends ViewPart {
 
@@ -67,14 +67,14 @@ export class ScrollDecorationViewPart extends ViewPart {
 
 	// --- end event handlers
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		// Nothing to read
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
 	}
 
-	public render(ctx:IRestrictedRenderingContext): void {
+	public render(ctx: IRestrictedRenderingContext): void {
 		StyleMutator.setWidth(this._domNode, this._width);
 		dom.toggleClass(this._domNode, ClassNames.SCROLL_DECORATION, this._shouldShow);
 	}
diff --git a/src/vs/editor/browser/viewParts/selections/selections.ts b/src/vs/editor/browser/viewParts/selections/selections.ts
index 9f411df9c5c3c..cb5df9d4687f1 100644
--- a/src/vs/editor/browser/viewParts/selections/selections.ts
+++ b/src/vs/editor/browser/viewParts/selections/selections.ts
@@ -7,11 +7,11 @@
 
 import 'vs/css!./selections';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {DynamicViewOverlay} from 'vs/editor/browser/view/dynamicViewOverlay';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {HorizontalRange, LineVisibleRanges} from 'vs/editor/common/view/renderingContext';
-import {IRenderingContext} from 'vs/editor/common/view/renderingContext';
-import {Range} from 'vs/editor/common/core/range';
+import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { HorizontalRange, LineVisibleRanges } from 'vs/editor/common/view/renderingContext';
+import { IRenderingContext } from 'vs/editor/common/view/renderingContext';
+import { Range } from 'vs/editor/common/core/range';
 
 const enum CornerStyle {
 	EXTERN,
@@ -30,7 +30,7 @@ class HorizontalRangeWithStyle {
 	public startStyle: IVisibleRangeEndPointStyle;
 	public endStyle: IVisibleRangeEndPointStyle;
 
-	constructor(other:HorizontalRange) {
+	constructor(other: HorizontalRange) {
 		this.left = other.left;
 		this.width = other.width;
 		this.startStyle = null;
@@ -42,7 +42,7 @@ class LineVisibleRangesWithStyle {
 	public lineNumber: number;
 	public ranges: HorizontalRangeWithStyle[];
 
-	constructor(lineNumber:number, ranges:HorizontalRangeWithStyle[]) {
+	constructor(lineNumber: number, ranges: HorizontalRangeWithStyle[]) {
 		this.lineNumber = lineNumber;
 		this.ranges = ranges;
 	}
@@ -76,13 +76,13 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 
 	private static ROUNDED_PIECE_WIDTH = 10;
 
-	private _context:ViewContext;
-	private _lineHeight:number;
-	private _roundedSelection:boolean;
-	private _selections:Range[];
-	private _renderResult:string[];
+	private _context: ViewContext;
+	private _lineHeight: number;
+	private _roundedSelection: boolean;
+	private _selections: Range[];
+	private _renderResult: string[];
 
-	constructor(context:ViewContext) {
+	constructor(context: ViewContext) {
 		super();
 		this._context = context;
 		this._lineHeight = this._context.configuration.editor.lineHeight;
@@ -104,31 +104,31 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 	public onModelFlushed(): boolean {
 		return true;
 	}
-	public onModelDecorationsChanged(e:editorCommon.IViewDecorationsChangedEvent): boolean {
+	public onModelDecorationsChanged(e: editorCommon.IViewDecorationsChangedEvent): boolean {
 		// true for inline decorations that can end up relayouting text
 		return e.inlineDecorationsChanged;
 	}
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		return true;
 	}
-	public onModelLineChanged(e:editorCommon.IViewLineChangedEvent): boolean {
+	public onModelLineChanged(e: editorCommon.IViewLineChangedEvent): boolean {
 		return true;
 	}
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		return true;
 	}
-	public onCursorPositionChanged(e:editorCommon.IViewCursorPositionChangedEvent): boolean {
+	public onCursorPositionChanged(e: editorCommon.IViewCursorPositionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): boolean {
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
 		this._selections = [e.selection];
 		this._selections = this._selections.concat(e.secondarySelections);
 		return true;
 	}
-	public onCursorRevealRange(e:editorCommon.IViewRevealRangeEvent): boolean {
+	public onCursorRevealRange(e: editorCommon.IViewRevealRangeEvent): boolean {
 		return false;
 	}
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
 		}
@@ -137,10 +137,10 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 		}
 		return true;
 	}
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		return true;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return e.scrollTopChanged;
 	}
 	public onZonesChanged(): boolean {
@@ -151,9 +151,9 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 
 	private _visibleRangesHaveGaps(linesVisibleRanges: LineVisibleRangesWithStyle[]): boolean {
 
-		var i:number,
-			len:number,
-			lineVisibleRanges:LineVisibleRangesWithStyle;
+		var i: number,
+			len: number,
+			lineVisibleRanges: LineVisibleRangesWithStyle;
 
 		for (i = 0, len = linesVisibleRanges.length; i < len; i++) {
 			lineVisibleRanges = linesVisibleRanges[i];
@@ -167,7 +167,7 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 		return false;
 	}
 
-	private _enrichVisibleRangesWithStyle(linesVisibleRanges:LineVisibleRangesWithStyle[], previousFrame:LineVisibleRangesWithStyle[]): void {
+	private _enrichVisibleRangesWithStyle(linesVisibleRanges: LineVisibleRangesWithStyle[], previousFrame: LineVisibleRangesWithStyle[]): void {
 		var curLineRange: HorizontalRangeWithStyle,
 			curLeft: number,
 			curRight: number,
@@ -177,8 +177,8 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 			nextRight: number,
 			startStyle: IVisibleRangeEndPointStyle,
 			endStyle: IVisibleRangeEndPointStyle,
-			i:number,
-			len:number;
+			i: number,
+			len: number;
 
 		var previousFrameTop: HorizontalRangeWithStyle = null,
 			previousFrameBottom: HorizontalRangeWithStyle = null;
@@ -225,8 +225,8 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 
 			if (i > 0) {
 				// Look above
-				prevLeft = linesVisibleRanges[i-1].ranges[0].left;
-				prevRight = linesVisibleRanges[i-1].ranges[0].left + linesVisibleRanges[i-1].ranges[0].width;
+				prevLeft = linesVisibleRanges[i - 1].ranges[0].left;
+				prevRight = linesVisibleRanges[i - 1].ranges[0].left + linesVisibleRanges[i - 1].ranges[0].width;
 
 				if (curLeft === prevLeft) {
 					startStyle.top = CornerStyle.FLAT;
@@ -247,8 +247,8 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 
 			if (i + 1 < len) {
 				// Look below
-				nextLeft = linesVisibleRanges[i+1].ranges[0].left;
-				nextRight = linesVisibleRanges[i+1].ranges[0].left + linesVisibleRanges[i+1].ranges[0].width;
+				nextLeft = linesVisibleRanges[i + 1].ranges[0].left;
+				nextRight = linesVisibleRanges[i + 1].ranges[0].left + linesVisibleRanges[i + 1].ranges[0].width;
 
 				if (curLeft === nextLeft) {
 					startStyle.bottom = CornerStyle.FLAT;
@@ -272,7 +272,7 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 		}
 	}
 
-	private _getVisibleRangesWithStyle(selection: Range, ctx: IRenderingContext, previousFrame:LineVisibleRangesWithStyle[]): LineVisibleRangesWithStyle[] {
+	private _getVisibleRangesWithStyle(selection: Range, ctx: IRenderingContext, previousFrame: LineVisibleRangesWithStyle[]): LineVisibleRangesWithStyle[] {
 		let _linesVisibleRanges = ctx.linesVisibleRangesForRange(selection, true) || [];
 		let linesVisibleRanges = _linesVisibleRanges.map(toStyled);
 		let visibleRangesHaveGaps = this._visibleRangesHaveGaps(linesVisibleRanges);
@@ -285,7 +285,7 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 		return linesVisibleRanges;
 	}
 
-	private _createSelectionPiece(top:number, height:string, className:string, left:number, width:number): string {
+	private _createSelectionPiece(top: number, height: string, className: string, left: number, width: number): string {
 		return (
 			'<div class="cslr '
 			+ className
@@ -301,7 +301,7 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 		);
 	}
 
-	private _actualRenderOneSelection(output2:string[], visibleStartLineNumber:number, hasMultipleSelections:boolean, visibleRanges:LineVisibleRangesWithStyle[]): void {
+	private _actualRenderOneSelection(output2: string[], visibleStartLineNumber: number, hasMultipleSelections: boolean, visibleRanges: LineVisibleRangesWithStyle[]): void {
 		let visibleRangesHaveStyle = (visibleRanges.length > 0 && visibleRanges[0].ranges[0].startStyle);
 		let fullLineHeight = (this._lineHeight).toString();
 		let reducedLineHeight = (this._lineHeight - 1).toString();
@@ -380,7 +380,7 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 	}
 
 	private _previousFrameVisibleRangesWithStyle: LineVisibleRangesWithStyle[][] = [];
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
@@ -410,7 +410,7 @@ export class SelectionsOverlay extends DynamicViewOverlay {
 		this._renderResult = output;
 	}
 
-	public render(startLineNumber:number, lineNumber:number): string {
+	public render(startLineNumber: number, lineNumber: number): string {
 		if (!this._renderResult) {
 			return '';
 		}
diff --git a/src/vs/editor/browser/viewParts/viewCursors/viewCursor.ts b/src/vs/editor/browser/viewParts/viewCursors/viewCursor.ts
index 012dd312234ce..d6252a24070e5 100644
--- a/src/vs/editor/browser/viewParts/viewCursors/viewCursor.ts
+++ b/src/vs/editor/browser/viewParts/viewCursors/viewCursor.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {FastDomNode, createFastDomNode} from 'vs/base/browser/styleMutator';
-import {IConfigurationChangedEvent, IPosition, TextEditorCursorStyle} from 'vs/editor/common/editorCommon';
-import {Configuration} from 'vs/editor/browser/config/configuration';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext, IRestrictedRenderingContext} from 'vs/editor/common/view/renderingContext';
+import { FastDomNode, createFastDomNode } from 'vs/base/browser/styleMutator';
+import { IConfigurationChangedEvent, IPosition, TextEditorCursorStyle } from 'vs/editor/common/editorCommon';
+import { Configuration } from 'vs/editor/browser/config/configuration';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext, IRestrictedRenderingContext } from 'vs/editor/common/view/renderingContext';
 
 export interface IViewCursorRenderData {
 	position: IPosition;
@@ -19,19 +19,19 @@ export interface IViewCursorRenderData {
 }
 
 export class ViewCursor {
-	private _context:ViewContext;
+	private _context: ViewContext;
 	private _position: IPosition;
-	private _domNode:FastDomNode;
-	private _positionTop:number;
-	private _positionLeft:number;
-	private _isInEditableRange:boolean;
-	private _isVisible:boolean;
-	private _isInViewport:boolean;
+	private _domNode: FastDomNode;
+	private _positionTop: number;
+	private _positionLeft: number;
+	private _isInEditableRange: boolean;
+	private _isVisible: boolean;
+	private _isInViewport: boolean;
 	private _cursorStyle: TextEditorCursorStyle;
 	private _lastRenderedContent: string;
 	private _lineHeight: number;
 
-	constructor(context:ViewContext, isSecondary:boolean) {
+	constructor(context: ViewContext, isSecondary: boolean) {
 		this._context = context;
 		this._cursorStyle = this._context.configuration.editor.viewInfo.cursorStyle;
 		this._lineHeight = this._context.configuration.editor.lineHeight;
@@ -109,7 +109,7 @@ export class ViewCursor {
 		return true;
 	}
 
-	public onConfigurationChanged(e:IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: IConfigurationChangedEvent): boolean {
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
 		}
@@ -122,7 +122,7 @@ export class ViewCursor {
 		return true;
 	}
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		var visibleRange = ctx.visibleRangeForPosition(this._position);
 		if (visibleRange) {
 			this._positionTop = visibleRange.top;
@@ -141,7 +141,7 @@ export class ViewCursor {
 		return '';
 	}
 
-	public render(ctx:IRestrictedRenderingContext): IViewCursorRenderData {
+	public render(ctx: IRestrictedRenderingContext): IViewCursorRenderData {
 		if (this._isInViewport) {
 			let top = this._positionTop + ctx.viewportTop - ctx.bigNumbersDelta;
 			let renderContent = this._getRenderedContent();
@@ -169,7 +169,7 @@ export class ViewCursor {
 		return null;
 	}
 
-	private updatePosition(newPosition:IPosition): void {
+	private updatePosition(newPosition: IPosition): void {
 		this._position = newPosition;
 		this._domNode.domNode.setAttribute('lineNumber', this._position.lineNumber.toString());
 		this._domNode.domNode.setAttribute('column', this._position.column.toString());
diff --git a/src/vs/editor/browser/viewParts/viewCursors/viewCursors.ts b/src/vs/editor/browser/viewParts/viewCursors/viewCursors.ts
index 413a7d0244086..f0989285fec76 100644
--- a/src/vs/editor/browser/viewParts/viewCursors/viewCursors.ts
+++ b/src/vs/editor/browser/viewParts/viewCursors/viewCursors.ts
@@ -7,13 +7,13 @@
 
 import 'vs/css!./viewCursors';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ClassNames} from 'vs/editor/browser/editorBrowser';
-import {ViewPart} from 'vs/editor/browser/view/viewPart';
-import {IViewCursorRenderData, ViewCursor} from 'vs/editor/browser/viewParts/viewCursors/viewCursor';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext, IRestrictedRenderingContext} from 'vs/editor/common/view/renderingContext';
-import {FastDomNode, createFastDomNode} from 'vs/base/browser/styleMutator';
-import {TimeoutTimer, IntervalTimer} from 'vs/base/common/async';
+import { ClassNames } from 'vs/editor/browser/editorBrowser';
+import { ViewPart } from 'vs/editor/browser/view/viewPart';
+import { IViewCursorRenderData, ViewCursor } from 'vs/editor/browser/viewParts/viewCursors/viewCursor';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext, IRestrictedRenderingContext } from 'vs/editor/common/view/renderingContext';
+import { FastDomNode, createFastDomNode } from 'vs/base/browser/styleMutator';
+import { TimeoutTimer, IntervalTimer } from 'vs/base/common/async';
 import * as browsers from 'vs/base/browser/browser';
 
 const ANIMATIONS_SUPPORTED = !browsers.isIE9;
diff --git a/src/vs/editor/browser/viewParts/viewZones/viewZones.ts b/src/vs/editor/browser/viewParts/viewZones/viewZones.ts
index c2ebe39d6021a..ae4821e08d09e 100644
--- a/src/vs/editor/browser/viewParts/viewZones/viewZones.ts
+++ b/src/vs/editor/browser/viewParts/viewZones/viewZones.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ClassNames, IViewZone} from 'vs/editor/browser/editorBrowser';
-import {ViewPart} from 'vs/editor/browser/view/viewPart';
-import {ViewContext} from 'vs/editor/common/view/viewContext';
-import {IRenderingContext, IRestrictedRenderingContext} from 'vs/editor/common/view/renderingContext';
-import {IWhitespaceManager} from 'vs/editor/browser/viewLayout/layoutProvider';
+import { ClassNames, IViewZone } from 'vs/editor/browser/editorBrowser';
+import { ViewPart } from 'vs/editor/browser/view/viewPart';
+import { ViewContext } from 'vs/editor/common/view/viewContext';
+import { IRenderingContext, IRestrictedRenderingContext } from 'vs/editor/common/view/renderingContext';
+import { IWhitespaceManager } from 'vs/editor/browser/viewLayout/layoutProvider';
 
 export interface IMyViewZone {
 	whitespaceId: number;
@@ -30,14 +30,14 @@ interface IComputedViewZoneProps {
 
 export class ViewZones extends ViewPart {
 
-	private _whitespaceManager:IWhitespaceManager;
-	private _zones: { [id:string]:IMyViewZone; };
-	private _lineHeight:number;
-	private _contentWidth:number;
+	private _whitespaceManager: IWhitespaceManager;
+	private _zones: { [id: string]: IMyViewZone; };
+	private _lineHeight: number;
+	private _contentWidth: number;
 
 	public domNode: HTMLElement;
 
-	constructor(context:ViewContext, whitespaceManager:IWhitespaceManager) {
+	constructor(context: ViewContext, whitespaceManager: IWhitespaceManager) {
 		super(context);
 		this._lineHeight = this._context.configuration.editor.lineHeight;
 		this._contentWidth = this._context.configuration.editor.layoutInfo.contentWidth;
@@ -75,7 +75,7 @@ export class ViewZones extends ViewPart {
 		return hadAChange;
 	}
 
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 
 		if (e.lineHeight) {
 			this._lineHeight = this._context.configuration.editor.lineHeight;
@@ -93,11 +93,11 @@ export class ViewZones extends ViewPart {
 		return this._recomputeWhitespacesProps();
 	}
 
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		return true;
 	}
 
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return e.scrollTopChanged || e.scrollWidthChanged;
 	}
 
@@ -105,17 +105,17 @@ export class ViewZones extends ViewPart {
 		return true;
 	}
 
-	public onModelLinesDeleted(e:editorCommon.IModelContentChangedLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IModelContentChangedLinesDeletedEvent): boolean {
 		return true;
 	}
 
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		return true;
 	}
 
 	// ---- end view event handlers
 
-	private _getZoneOrdinal(zone:IViewZone): number {
+	private _getZoneOrdinal(zone: IViewZone): number {
 
 		if (typeof zone.afterColumn !== 'undefined') {
 			return zone.afterColumn;
@@ -125,7 +125,7 @@ export class ViewZones extends ViewPart {
 	}
 
 
-	private _computeWhitespaceProps(zone:IViewZone): IComputedViewZoneProps {
+	private _computeWhitespaceProps(zone: IViewZone): IComputedViewZoneProps {
 		if (zone.afterLineNumber === 0) {
 			return {
 				afterViewLineNumber: 0,
@@ -133,7 +133,7 @@ export class ViewZones extends ViewPart {
 			};
 		}
 
-		let zoneAfterModelPosition:editorCommon.IPosition;
+		let zoneAfterModelPosition: editorCommon.IPosition;
 		if (typeof zone.afterColumn !== 'undefined') {
 			zoneAfterModelPosition = this._context.model.validateModelPosition({
 				lineNumber: zone.afterLineNumber,
@@ -151,7 +151,7 @@ export class ViewZones extends ViewPart {
 			};
 		}
 
-		let zoneBeforeModelPosition:editorCommon.IPosition;
+		let zoneBeforeModelPosition: editorCommon.IPosition;
 		if (zoneAfterModelPosition.column === this._context.model.getModelLineMaxColumn(zoneAfterModelPosition.lineNumber)) {
 			zoneBeforeModelPosition = this._context.model.validateModelPosition({
 				lineNumber: zoneAfterModelPosition.lineNumber + 1,
@@ -172,11 +172,11 @@ export class ViewZones extends ViewPart {
 		};
 	}
 
-	public addZone(zone:IViewZone): number {
+	public addZone(zone: IViewZone): number {
 		let props = this._computeWhitespaceProps(zone);
 		let whitespaceId = this._whitespaceManager.addWhitespace(props.afterViewLineNumber, this._getZoneOrdinal(zone), props.heightInPx);
 
-		let myZone:IMyViewZone = {
+		let myZone: IMyViewZone = {
 			whitespaceId: whitespaceId,
 			delegate: zone,
 			isVisible: false
@@ -198,7 +198,7 @@ export class ViewZones extends ViewPart {
 		return myZone.whitespaceId;
 	}
 
-	public removeZone(id:number): boolean {
+	public removeZone(id: number): boolean {
 		if (this._zones.hasOwnProperty(id.toString())) {
 			var zone = this._zones[id.toString()];
 			delete this._zones[id.toString()];
@@ -232,7 +232,7 @@ export class ViewZones extends ViewPart {
 		return changed;
 	}
 
-	public shouldSuppressMouseDownOnViewZone(id:number): boolean {
+	public shouldSuppressMouseDownOnViewZone(id: number): boolean {
 		if (this._zones.hasOwnProperty(id.toString())) {
 			var zone = this._zones[id.toString()];
 			return zone.delegate.suppressMouseDown;
@@ -240,7 +240,7 @@ export class ViewZones extends ViewPart {
 		return false;
 	}
 
-	private _heightInPixels(zone:IViewZone): number {
+	private _heightInPixels(zone: IViewZone): number {
 		if (typeof zone.heightInPx === 'number') {
 			return zone.heightInPx;
 		}
@@ -270,16 +270,16 @@ export class ViewZones extends ViewPart {
 		}
 	}
 
-	public prepareRender(ctx:IRenderingContext): void {
+	public prepareRender(ctx: IRenderingContext): void {
 		// Nothing to read
 		if (!this.shouldRender()) {
 			throw new Error('I did not ask to render!');
 		}
 	}
 
-	public render(ctx:IRestrictedRenderingContext): void {
+	public render(ctx: IRestrictedRenderingContext): void {
 		let visibleWhitespaces = this._whitespaceManager.getWhitespaceViewportData();
-		let visibleZones:{[id:string]:editorCommon.IViewWhitespaceViewportData;} = {};
+		let visibleZones: { [id: string]: editorCommon.IViewWhitespaceViewportData; } = {};
 
 		let hasVisibleZone = false;
 		for (let i = 0, len = visibleWhitespaces.length; i < len; i++) {
diff --git a/src/vs/editor/browser/widget/codeEditorWidget.ts b/src/vs/editor/browser/widget/codeEditorWidget.ts
index 8adb5ce1c4db5..321789169379d 100644
--- a/src/vs/editor/browser/widget/codeEditorWidget.ts
+++ b/src/vs/editor/browser/widget/codeEditorWidget.ts
@@ -6,75 +6,75 @@
 
 import 'vs/css!./media/editor';
 import 'vs/css!./media/tokens';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {IEventEmitter} from 'vs/base/common/eventEmitter';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { IEventEmitter } from 'vs/base/common/eventEmitter';
 import * as browser from 'vs/base/browser/browser';
 import * as dom from 'vs/base/browser/dom';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {CommonCodeEditor} from 'vs/editor/common/commonCodeEditor';
-import {CommonEditorConfiguration} from 'vs/editor/common/config/commonEditorConfig';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { CommonCodeEditor } from 'vs/editor/common/commonCodeEditor';
+import { CommonEditorConfiguration } from 'vs/editor/common/config/commonEditorConfig';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {Configuration} from 'vs/editor/browser/config/configuration';
+import { EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { Configuration } from 'vs/editor/browser/config/configuration';
 import * as editorBrowser from 'vs/editor/browser/editorBrowser';
-import {Colorizer} from 'vs/editor/browser/standalone/colorizer';
-import {View} from 'vs/editor/browser/view/viewImpl';
-import {Disposable, IDisposable} from 'vs/base/common/lifecycle';
-import Event, {Emitter} from 'vs/base/common/event';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {InternalEditorAction} from 'vs/editor/common/editorAction';
+import { Colorizer } from 'vs/editor/browser/standalone/colorizer';
+import { View } from 'vs/editor/browser/view/viewImpl';
+import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { InternalEditorAction } from 'vs/editor/common/editorAction';
 
 export abstract class CodeEditorWidget extends CommonCodeEditor implements editorBrowser.ICodeEditor {
 
-	public onMouseUp(listener: (e:editorBrowser.IEditorMouseEvent)=>void): IDisposable {
+	public onMouseUp(listener: (e: editorBrowser.IEditorMouseEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.MouseUp, listener);
 	}
-	public onMouseDown(listener: (e:editorBrowser.IEditorMouseEvent)=>void): IDisposable {
+	public onMouseDown(listener: (e: editorBrowser.IEditorMouseEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.MouseDown, listener);
 	}
-	public onContextMenu(listener: (e:editorBrowser.IEditorMouseEvent)=>void): IDisposable {
+	public onContextMenu(listener: (e: editorBrowser.IEditorMouseEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ContextMenu, listener);
 	}
-	public onMouseMove(listener: (e:editorBrowser.IEditorMouseEvent)=>void): IDisposable {
+	public onMouseMove(listener: (e: editorBrowser.IEditorMouseEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.MouseMove, listener);
 	}
-	public onMouseLeave(listener: (e:editorBrowser.IEditorMouseEvent)=>void): IDisposable {
+	public onMouseLeave(listener: (e: editorBrowser.IEditorMouseEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.MouseLeave, listener);
 	}
-	public onKeyUp(listener: (e:IKeyboardEvent)=>void): IDisposable {
+	public onKeyUp(listener: (e: IKeyboardEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.KeyUp, listener);
 	}
-	public onKeyDown(listener: (e:IKeyboardEvent)=>void): IDisposable {
+	public onKeyDown(listener: (e: IKeyboardEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.KeyDown, listener);
 	}
-	public onDidLayoutChange(listener: (e:editorCommon.EditorLayoutInfo)=>void): IDisposable {
+	public onDidLayoutChange(listener: (e: editorCommon.EditorLayoutInfo) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.EditorLayout, listener);
 	}
-	public onDidScrollChange(listener: (e:editorCommon.IScrollEvent)=>void): IDisposable {
+	public onDidScrollChange(listener: (e: editorCommon.IScrollEvent) => void): IDisposable {
 		return this.addListener2('scroll', listener);
 	}
 
 	private _codeEditorService: ICodeEditorService;
 	private _commandService: ICommandService;
 
-	protected domElement:HTMLElement;
+	protected domElement: HTMLElement;
 	private _focusTracker: CodeEditorWidgetFocusTracker;
 
-	_configuration:Configuration;
+	_configuration: Configuration;
 
-	private contentWidgets:{ [key:string]:editorBrowser.IContentWidgetData; };
-	private overlayWidgets:{ [key:string]:editorBrowser.IOverlayWidgetData; };
+	private contentWidgets: { [key: string]: editorBrowser.IContentWidgetData; };
+	private overlayWidgets: { [key: string]: editorBrowser.IOverlayWidgetData; };
 
-	_view:editorBrowser.IView;
+	_view: editorBrowser.IView;
 
 	constructor(
-		domElement:HTMLElement,
-		options:editorCommon.IEditorOptions,
+		domElement: HTMLElement,
+		options: editorCommon.IEditorOptions,
 		@IInstantiationService instantiationService: IInstantiationService,
 		@ICodeEditorService codeEditorService: ICodeEditorService,
 		@ICommandService commandService: ICommandService,
@@ -120,7 +120,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 	protected abstract _getContributions(): editorBrowser.IEditorContributionCtor[];
 	protected abstract _getActions(): EditorAction[];
 
-	protected _createConfiguration(options:editorCommon.ICodeEditorWidgetCreationOptions): CommonEditorConfiguration {
+	protected _createConfiguration(options: editorCommon.ICodeEditorWidgetCreationOptions): CommonEditorConfiguration {
 		return new Configuration(options, this.domElement);
 	}
 
@@ -134,7 +134,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		super.dispose();
 	}
 
-	public updateOptions(newOptions:editorCommon.IEditorOptions): void {
+	public updateOptions(newOptions: editorCommon.IEditorOptions): void {
 		let oldTheme = this._configuration.editor.viewInfo.theme;
 		super.updateOptions(newOptions);
 		let newTheme = this._configuration.editor.viewInfo.theme;
@@ -144,7 +144,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		}
 	}
 
-	public colorizeModelLine(lineNumber:number, model:editorCommon.IModel = this.model): string {
+	public colorizeModelLine(lineNumber: number, model: editorCommon.IModel = this.model): string {
 		if (!model) {
 			return '';
 		}
@@ -205,7 +205,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		return this._view.getCodeEditorHelper().getScrollTop();
 	}
 
-	public setScrollLeft(newScrollLeft:number): void {
+	public setScrollLeft(newScrollLeft: number): void {
 		if (!this.hasView) {
 			return;
 		}
@@ -216,7 +216,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 			scrollLeft: newScrollLeft
 		});
 	}
-	public setScrollTop(newScrollTop:number): void {
+	public setScrollTop(newScrollTop: number): void {
 		if (!this.hasView) {
 			return;
 		}
@@ -234,7 +234,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		this._view.getCodeEditorHelper().setScrollPosition(position);
 	}
 
-	public delegateVerticalScrollbarMouseDown(browserEvent:MouseEvent): void {
+	public delegateVerticalScrollbarMouseDown(browserEvent: MouseEvent): void {
 		if (!this.hasView) {
 			return;
 		}
@@ -245,7 +245,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		if (!this.cursor || !this.hasView) {
 			return null;
 		}
-		let contributionsState: {[key:string]:any} = {};
+		let contributionsState: { [key: string]: any } = {};
 
 		let keys = Object.keys(this._contributions);
 		for (let i = 0, len = keys.length; i < len; i++) {
@@ -265,7 +265,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		};
 	}
 
-	public restoreViewState(state:editorCommon.IEditorViewState): void {
+	public restoreViewState(state: editorCommon.IEditorViewState): void {
 		if (!this.cursor || !this.hasView) {
 			return;
 		}
@@ -293,7 +293,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		}
 	}
 
-	public layout(dimension?:editorCommon.IDimension): void {
+	public layout(dimension?: editorCommon.IDimension): void {
 		this._configuration.observeReferenceElement(dimension);
 		this.render();
 	}
@@ -391,9 +391,9 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		}
 	}
 
-	public changeViewZones(callback:(accessor:editorBrowser.IViewZoneChangeAccessor)=>void): void {
+	public changeViewZones(callback: (accessor: editorBrowser.IViewZoneChangeAccessor) => void): void {
 		if (!this.hasView) {
-//			console.warn('Cannot change view zones on editor that is not attached to a model, since there is no view.');
+			//			console.warn('Cannot change view zones on editor that is not attached to a model, since there is no view.');
 			return;
 		}
 		var hasChanges = this._view.change(callback);
@@ -423,7 +423,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		return this._view.getCodeEditorHelper().getVerticalOffsetForPosition(lineNumber, column);
 	}
 
-	public getScrolledVisiblePosition(rawPosition:editorCommon.IPosition): { top:number; left:number; height:number; } {
+	public getScrolledVisiblePosition(rawPosition: editorCommon.IPosition): { top: number; left: number; height: number; } {
 		if (!this.hasView) {
 			return null;
 		}
@@ -442,7 +442,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		};
 	}
 
-	public getOffsetForColumn(lineNumber:number, column:number): number {
+	public getOffsetForColumn(lineNumber: number, column: number): number {
 		if (!this.hasView) {
 			return -1;
 		}
@@ -456,24 +456,24 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 		this._view.render(true, false);
 	}
 
-	public setHiddenAreas(ranges:editorCommon.IRange[]): void {
+	public setHiddenAreas(ranges: editorCommon.IRange[]): void {
 		if (this.viewModel) {
 			this.viewModel.setHiddenAreas(ranges);
 		}
 	}
 
-	public setAriaActiveDescendant(id:string): void {
+	public setAriaActiveDescendant(id: string): void {
 		if (!this.hasView) {
 			return;
 		}
 		this._view.setAriaActiveDescendant(id);
 	}
 
-	public applyFontInfo(target:HTMLElement): void {
+	public applyFontInfo(target: HTMLElement): void {
 		Configuration.applyFontInfoSlow(target, this._configuration.editor.fontInfo);
 	}
 
-	_attachModel(model:editorCommon.IModel): void {
+	_attachModel(model: editorCommon.IModel): void {
 		this._view = null;
 
 		super._attachModel(model);
@@ -510,7 +510,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 			this._commandService,
 			this._configuration,
 			this.viewModel,
-			(source:string, handlerId:string, payload:any) => {
+			(source: string, handlerId: string, payload: any) => {
 				if (!this.cursor) {
 					return;
 				}
@@ -524,7 +524,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 	}
 
 	protected _detachModel(): editorCommon.IModel {
-		var removeDomNode:HTMLElement = null;
+		var removeDomNode: HTMLElement = null;
 
 		if (this._view) {
 			this._view.dispose();
@@ -543,15 +543,15 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
 
 	// BEGIN decorations
 
-	protected _registerDecorationType(key:string, options: editorCommon.IDecorationRenderOptions, parentTypeKey?: string): void {
+	protected _registerDecorationType(key: string, options: editorCommon.IDecorationRenderOptions, parentTypeKey?: string): void {
 		this._codeEditorService.registerDecorationType(key, options, parentTypeKey);
 	}
 
-	protected _removeDecorationType(key:string): void {
+	protected _removeDecorationType(key: string): void {
 		this._codeEditorService.removeDecorationType(key);
 	}
 
-	protected _resolveDecorationOptions(typeKey:string, writable: boolean): editorCommon.IModelDecorationOptions {
+	protected _resolveDecorationOptions(typeKey: string, writable: boolean): editorCommon.IModelDecorationOptions {
 		return this._codeEditorService.resolveDecorationOptions(typeKey, writable);
 	}
 
@@ -566,7 +566,7 @@ class CodeEditorWidgetFocusTracker extends Disposable {
 	private _onChange: Emitter<void> = this._register(new Emitter<void>());
 	public onChage: Event<void> = this._onChange.event;
 
-	constructor(domElement:HTMLElement) {
+	constructor(domElement: HTMLElement) {
 		super();
 
 		this._hasFocus = false;
@@ -593,11 +593,11 @@ class OverlayWidget2 implements editorBrowser.IOverlayWidget {
 	private _position: editorBrowser.IOverlayWidgetPosition;
 	private _domNode: HTMLElement;
 
-	constructor(id:string, position:editorBrowser.IOverlayWidgetPosition) {
+	constructor(id: string, position: editorBrowser.IOverlayWidgetPosition) {
 		this._id = id;
 		this._position = position;
 		this._domNode = document.createElement('div');
-		this._domNode.className = this._id.replace(/\./g, '-').replace(/[^a-z0-9\-]/,'');
+		this._domNode.className = this._id.replace(/\./g, '-').replace(/[^a-z0-9\-]/, '');
 	}
 
 	public getId(): string {
@@ -623,7 +623,7 @@ class SingleEditOperation {
 	text: string;
 	forceMoveMarkers: boolean;
 
-	constructor(source:editorCommon.ISingleEditOperation) {
+	constructor(source: editorCommon.ISingleEditOperation) {
 		this.range = new Range(source.range.startLineNumber, source.range.startColumn, source.range.endLineNumber, source.range.endColumn);
 		this.text = source.text;
 		this.forceMoveMarkers = source.forceMoveMarkers || false;
@@ -652,7 +652,7 @@ export class CommandRunner implements editorCommon.ICommand {
 		});
 
 		// Merge operations that touch each other
-		var resultOps:editorCommon.ISingleEditOperation[] = [];
+		var resultOps: editorCommon.ISingleEditOperation[] = [];
 		var previousOp = this._ops[0];
 		for (var i = 1; i < this._ops.length; i++) {
 			if (previousOp.range.endLineNumber === this._ops[i].range.startLineNumber && previousOp.range.endColumn === this._ops[i].range.startColumn) {
diff --git a/src/vs/editor/browser/widget/diffEditorWidget.ts b/src/vs/editor/browser/widget/diffEditorWidget.ts
index a3d24a4fc2111..a91d8f6122646 100644
--- a/src/vs/editor/browser/widget/diffEditorWidget.ts
+++ b/src/vs/editor/browser/widget/diffEditorWidget.ts
@@ -6,64 +6,64 @@
 'use strict';
 
 import 'vs/css!./media/diffEditor';
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {EventEmitter, EmitterEvent} from 'vs/base/common/eventEmitter';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { EventEmitter, EmitterEvent } from 'vs/base/common/eventEmitter';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import * as objects from 'vs/base/common/objects';
 import * as dom from 'vs/base/browser/dom';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
-import {ISashEvent, IVerticalSashLayoutProvider, Sash} from 'vs/base/browser/ui/sash/sash';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {DefaultConfig} from 'vs/editor/common/config/defaultConfig';
-import {Range} from 'vs/editor/common/core/range';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
+import { ISashEvent, IVerticalSashLayoutProvider, Sash } from 'vs/base/browser/ui/sash/sash';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { DefaultConfig } from 'vs/editor/common/config/defaultConfig';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
-import {createLineParts} from 'vs/editor/common/viewLayout/viewLineParts';
-import {renderLine, RenderLineInput} from 'vs/editor/common/viewLayout/viewLineRenderer';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
+import { createLineParts } from 'vs/editor/common/viewLayout/viewLineParts';
+import { renderLine, RenderLineInput } from 'vs/editor/common/viewLayout/viewLineRenderer';
 import * as editorBrowser from 'vs/editor/browser/editorBrowser';
-import {CodeEditor} from 'vs/editor/browser/codeEditor';
-import {ViewLineToken, ViewLineTokens} from 'vs/editor/common/core/viewLineToken';
-import {Configuration} from 'vs/editor/browser/config/configuration';
-import {Position} from 'vs/editor/common/core/position';
-import {Selection} from 'vs/editor/common/core/selection';
-import {InlineDecoration} from 'vs/editor/common/viewModel/viewModel';
+import { CodeEditor } from 'vs/editor/browser/codeEditor';
+import { ViewLineToken, ViewLineTokens } from 'vs/editor/common/core/viewLineToken';
+import { Configuration } from 'vs/editor/browser/config/configuration';
+import { Position } from 'vs/editor/common/core/position';
+import { Selection } from 'vs/editor/common/core/selection';
+import { InlineDecoration } from 'vs/editor/common/viewModel/viewModel';
 
 interface IEditorDiffDecorations {
-	decorations:editorCommon.IModelDeltaDecoration[];
-	overviewZones:editorCommon.OverviewRulerZone[];
+	decorations: editorCommon.IModelDeltaDecoration[];
+	overviewZones: editorCommon.OverviewRulerZone[];
 }
 
 interface IEditorDiffDecorationsWithZones extends IEditorDiffDecorations {
-	zones:editorBrowser.IViewZone[];
+	zones: editorBrowser.IViewZone[];
 }
 
 interface IEditorsDiffDecorations {
-	original:IEditorDiffDecorations;
-	modified:IEditorDiffDecorations;
+	original: IEditorDiffDecorations;
+	modified: IEditorDiffDecorations;
 }
 
 interface IEditorsDiffDecorationsWithZones {
-	original:IEditorDiffDecorationsWithZones;
-	modified:IEditorDiffDecorationsWithZones;
+	original: IEditorDiffDecorationsWithZones;
+	modified: IEditorDiffDecorationsWithZones;
 }
 
 interface IEditorsZones {
-	original:editorBrowser.IViewZone[];
-	modified:editorBrowser.IViewZone[];
+	original: editorBrowser.IViewZone[];
+	modified: editorBrowser.IViewZone[];
 }
 
 interface IDiffEditorWidgetStyle {
-	getEditorsDiffDecorations(lineChanges:editorCommon.ILineChange[], ignoreTrimWhitespace:boolean, originalWhitespaces:editorCommon.IEditorWhitespace[], modifiedWhitespaces:editorCommon.IEditorWhitespace[], originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorsDiffDecorationsWithZones;
-	setEnableSplitViewResizing(enableSplitViewResizing:boolean): void;
+	getEditorsDiffDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalWhitespaces: editorCommon.IEditorWhitespace[], modifiedWhitespaces: editorCommon.IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsDiffDecorationsWithZones;
+	setEnableSplitViewResizing(enableSplitViewResizing: boolean): void;
 	layout(): number;
 	dispose(): void;
 }
 
 class VisualEditorState {
-	private _zones:number[];
-	private _zonesMap:{[zoneId:string]:boolean;};
-	private _decorations:string[];
+	private _zones: number[];
+	private _zonesMap: { [zoneId: string]: boolean; };
+	private _decorations: string[];
 
 	constructor() {
 		this._zones = [];
@@ -71,14 +71,14 @@ class VisualEditorState {
 		this._decorations = [];
 	}
 
-	public getForeignViewZones(allViewZones:editorCommon.IEditorWhitespace[]): editorCommon.IEditorWhitespace[] {
+	public getForeignViewZones(allViewZones: editorCommon.IEditorWhitespace[]): editorCommon.IEditorWhitespace[] {
 		return allViewZones.filter((z) => !this._zonesMap[String(z.id)]);
 	}
 
-	public clean(editor:CodeEditor): void {
+	public clean(editor: CodeEditor): void {
 		// (1) View zones
 		if (this._zones.length > 0) {
-			editor.changeViewZones((viewChangeAccessor:editorBrowser.IViewZoneChangeAccessor) => {
+			editor.changeViewZones((viewChangeAccessor: editorBrowser.IViewZoneChangeAccessor) => {
 				for (var i = 0, length = this._zones.length; i < length; i++) {
 					viewChangeAccessor.removeZone(this._zones[i]);
 				}
@@ -89,19 +89,19 @@ class VisualEditorState {
 
 		// (2) Model decorations
 		if (this._decorations.length > 0) {
-			editor.changeDecorations((changeAccessor:editorCommon.IModelDecorationsChangeAccessor) => {
+			editor.changeDecorations((changeAccessor: editorCommon.IModelDecorationsChangeAccessor) => {
 				changeAccessor.deltaDecorations(this._decorations, []);
 			});
 		}
 		this._decorations = [];
 	}
 
-	public apply(editor:CodeEditor, overviewRuler:editorBrowser.IOverviewRuler, newDecorations:IEditorDiffDecorationsWithZones): void {
-		var i:number,
+	public apply(editor: CodeEditor, overviewRuler: editorBrowser.IOverviewRuler, newDecorations: IEditorDiffDecorationsWithZones): void {
+		var i: number,
 			length: number;
 
 		// view zones
-		editor.changeViewZones((viewChangeAccessor:editorBrowser.IViewZoneChangeAccessor) => {
+		editor.changeViewZones((viewChangeAccessor: editorBrowser.IViewZoneChangeAccessor) => {
 			for (i = 0, length = this._zones.length; i < length; i++) {
 				viewChangeAccessor.removeZone(this._zones[i]);
 			}
@@ -129,31 +129,31 @@ var DIFF_EDITOR_ID = 0;
 
 export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDiffEditor {
 
-	public onDidChangeModelRawContent(listener: (e:editorCommon.IModelContentChangedEvent)=>void): IDisposable {
+	public onDidChangeModelRawContent(listener: (e: editorCommon.IModelContentChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelRawContentChanged, listener);
 	}
-	public onDidChangeModelContent(listener: (e:editorCommon.IModelContentChangedEvent2)=>void): IDisposable {
+	public onDidChangeModelContent(listener: (e: editorCommon.IModelContentChangedEvent2) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelContentChanged2, listener);
 	}
-	public onDidChangeModelMode(listener: (e:editorCommon.IModelModeChangedEvent)=>void): IDisposable {
+	public onDidChangeModelMode(listener: (e: editorCommon.IModelModeChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelModeChanged, listener);
 	}
-	public onDidChangeModelOptions(listener: (e:editorCommon.IModelOptionsChangedEvent)=>void): IDisposable {
+	public onDidChangeModelOptions(listener: (e: editorCommon.IModelOptionsChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelOptionsChanged, listener);
 	}
-	public onDidChangeConfiguration(listener: (e:editorCommon.IConfigurationChangedEvent)=>void): IDisposable {
+	public onDidChangeConfiguration(listener: (e: editorCommon.IConfigurationChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ConfigurationChanged, listener);
 	}
-	public onDidChangeCursorPosition(listener: (e:editorCommon.ICursorPositionChangedEvent)=>void): IDisposable {
+	public onDidChangeCursorPosition(listener: (e: editorCommon.ICursorPositionChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.CursorPositionChanged, listener);
 	}
-	public onDidChangeCursorSelection(listener: (e:editorCommon.ICursorSelectionChangedEvent)=>void): IDisposable {
+	public onDidChangeCursorSelection(listener: (e: editorCommon.ICursorSelectionChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.CursorSelectionChanged, listener);
 	}
-	public onDidDispose(listener: ()=>void): IDisposable {
+	public onDidDispose(listener: () => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.Disposed, listener);
 	}
-	public onDidUpdateDiff(listener: ()=>void): IDisposable {
+	public onDidUpdateDiff(listener: () => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.DiffUpdated, listener);
 	}
 
@@ -163,51 +163,51 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 
 	private id: number;
 
-	private _toDispose:IDisposable[];
+	private _toDispose: IDisposable[];
 
-	private _theme:string;
-	private _domElement:HTMLElement;
-	_containerDomElement:HTMLElement;
-	private _overviewDomElement:HTMLElement;
+	private _theme: string;
+	private _domElement: HTMLElement;
+	_containerDomElement: HTMLElement;
+	private _overviewDomElement: HTMLElement;
 	private _overviewViewportDomElement: HTMLElement;
 
-	private _width:number;
-	private _height:number;
-	private _measureDomElementToken:number;
+	private _width: number;
+	private _height: number;
+	private _measureDomElementToken: number;
 
-	private originalEditor:CodeEditor;
-	private _originalDomNode:HTMLElement;
-	private _originalEditorState:VisualEditorState;
-	private _originalOverviewRuler:editorBrowser.IOverviewRuler;
+	private originalEditor: CodeEditor;
+	private _originalDomNode: HTMLElement;
+	private _originalEditorState: VisualEditorState;
+	private _originalOverviewRuler: editorBrowser.IOverviewRuler;
 
-	private modifiedEditor:CodeEditor;
-	private _modifiedDomNode:HTMLElement;
-	private _modifiedEditorState:VisualEditorState;
-	private _modifiedOverviewRuler:editorBrowser.IOverviewRuler;
+	private modifiedEditor: CodeEditor;
+	private _modifiedDomNode: HTMLElement;
+	private _modifiedEditorState: VisualEditorState;
+	private _modifiedOverviewRuler: editorBrowser.IOverviewRuler;
 
-	private _currentlyChangingViewZones:boolean;
-	private _beginUpdateDecorationsTimeout:number;
-	private _diffComputationToken:number;
-	private _lineChanges:editorCommon.ILineChange[];
+	private _currentlyChangingViewZones: boolean;
+	private _beginUpdateDecorationsTimeout: number;
+	private _diffComputationToken: number;
+	private _lineChanges: editorCommon.ILineChange[];
 
-	private _isVisible:boolean;
-	private _isHandlingScrollEvent:boolean;
+	private _isVisible: boolean;
+	private _isHandlingScrollEvent: boolean;
 
 	private _ignoreTrimWhitespace: boolean;
 	private _originalIsEditable: boolean;
 
-	private _renderSideBySide:boolean;
-	private _enableSplitViewResizing:boolean;
-	private _strategy:IDiffEditorWidgetStyle;
+	private _renderSideBySide: boolean;
+	private _enableSplitViewResizing: boolean;
+	private _strategy: IDiffEditorWidgetStyle;
 
-	private _updateDecorationsRunner:RunOnceScheduler;
+	private _updateDecorationsRunner: RunOnceScheduler;
 
 	private _editorWorkerService: IEditorWorkerService;
 	protected _contextKeyService: IContextKeyService;
 
 	constructor(
-		domElement:HTMLElement,
-		options:editorCommon.IDiffEditorOptions,
+		domElement: HTMLElement,
+		options: editorCommon.IDiffEditorOptions,
 		@IEditorWorkerService editorWorkerService: IEditorWorkerService,
 		@IContextKeyService contextKeyService: IContextKeyService,
 		@IInstantiationService instantiationService: IInstantiationService
@@ -261,7 +261,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 
 		this._overviewDomElement.appendChild(this._overviewViewportDomElement);
 
-		this._toDispose.push(dom.addDisposableListener(this._overviewDomElement, 'mousedown', (e:MouseEvent) => {
+		this._toDispose.push(dom.addDisposableListener(this._overviewDomElement, 'mousedown', (e: MouseEvent) => {
 			this.modifiedEditor.delegateVerticalScrollbarMouseDown(e);
 		}));
 		this._containerDomElement.appendChild(this._overviewDomElement);
@@ -312,7 +312,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		return this._renderSideBySide;
 	}
 
-	private static _getClassName(theme:string, renderSideBySide:boolean): string {
+	private static _getClassName(theme: string, renderSideBySide: boolean): string {
 		var result = 'monaco-diff-editor monaco-editor-background ';
 		if (renderSideBySide) {
 			result += 'side-by-side ';
@@ -361,7 +361,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		this._toDispose.push(this.addEmitter2(this.originalEditor));
 	}
 
-	private _createRightHandSideEditor(options:editorCommon.IDiffEditorOptions, instantiationService:IInstantiationService): void {
+	private _createRightHandSideEditor(options: editorCommon.IDiffEditorOptions, instantiationService: IInstantiationService): void {
 		this.modifiedEditor = instantiationService.createInstance(CodeEditor, this._modifiedDomNode, this._adjustOptionsForRightHandSide(options));
 		this._toDispose.push(this.modifiedEditor.addBulkListener2((events) => this._onModifiedEditorEvents(events)));
 		this._toDispose.push(this.addEmitter2(this.modifiedEditor));
@@ -413,7 +413,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		return this.modifiedEditor;
 	}
 
-	public updateOptions(newOptions:editorCommon.IDiffEditorOptions): void {
+	public updateOptions(newOptions: editorCommon.IDiffEditorOptions): void {
 		// Handle new theme
 		this._theme = newOptions && newOptions.theme ? newOptions.theme : this._theme;
 
@@ -460,7 +460,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		}
 	}
 
-	public getValue(options:{ preserveBOM:boolean; lineEnding:string; }=null): string {
+	public getValue(options: { preserveBOM: boolean; lineEnding: string; } = null): string {
 		return this.modifiedEditor.getValue(options);
 	}
 
@@ -471,7 +471,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		};
 	}
 
-	public setModel(model:editorCommon.IDiffEditorModel): void {
+	public setModel(model: editorCommon.IDiffEditorModel): void {
 		// Guard us against partial null model
 		if (model && (!model.original || !model.modified)) {
 			throw new Error(!model.original ? 'DiffEditorWidget.setModel: Original model is null' : 'DiffEditorWidget.setModel: Modified model is null');
@@ -510,7 +510,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		return this._domElement;
 	}
 
-	public getVisibleColumnFromPosition(position:editorCommon.IPosition): number {
+	public getVisibleColumnFromPosition(position: editorCommon.IPosition): number {
 		return this.modifiedEditor.getVisibleColumnFromPosition(position);
 	}
 
@@ -518,7 +518,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		return this.modifiedEditor.getPosition();
 	}
 
-	public setPosition(position: editorCommon.IPosition, reveal?:boolean, revealVerticalInCenter?:boolean, revealHorizontal?:boolean): void {
+	public setPosition(position: editorCommon.IPosition, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void {
 		this.modifiedEditor.setPosition(position, reveal, revealVerticalInCenter, revealHorizontal);
 	}
 
@@ -534,7 +534,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		this.modifiedEditor.revealLineInCenterIfOutsideViewport(lineNumber);
 	}
 
-	public revealPosition(position: editorCommon.IPosition, revealVerticalInCenter:boolean = false, revealHorizontal:boolean = false): void {
+	public revealPosition(position: editorCommon.IPosition, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = false): void {
 		this.modifiedEditor.revealPosition(position, revealVerticalInCenter, revealHorizontal);
 	}
 
@@ -554,11 +554,11 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		return this.modifiedEditor.getSelections();
 	}
 
-	public setSelection(range:editorCommon.IRange, reveal?:boolean, revealVerticalInCenter?:boolean, revealHorizontal?:boolean): void;
-	public setSelection(editorRange:Range, reveal?:boolean, revealVerticalInCenter?:boolean, revealHorizontal?:boolean): void;
-	public setSelection(selection:editorCommon.ISelection, reveal?:boolean, revealVerticalInCenter?:boolean, revealHorizontal?:boolean): void;
-	public setSelection(editorSelection:Selection, reveal?:boolean, revealVerticalInCenter?:boolean, revealHorizontal?:boolean): void;
-	public setSelection(something:any, reveal?:boolean, revealVerticalInCenter?:boolean, revealHorizontal?:boolean): void {
+	public setSelection(range: editorCommon.IRange, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void;
+	public setSelection(editorRange: Range, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void;
+	public setSelection(selection: editorCommon.ISelection, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void;
+	public setSelection(editorSelection: Selection, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void;
+	public setSelection(something: any, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void {
 		this.modifiedEditor.setSelection(something, reveal, revealVerticalInCenter, revealHorizontal);
 	}
 
@@ -578,7 +578,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		this.modifiedEditor.revealLinesInCenterIfOutsideViewport(startLineNumber, endLineNumber);
 	}
 
-	public revealRange(range: editorCommon.IRange, revealVerticalInCenter:boolean = false, revealHorizontal:boolean = true): void {
+	public revealRange(range: editorCommon.IRange, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = true): void {
 		this.modifiedEditor.revealRange(range, revealVerticalInCenter, revealHorizontal);
 	}
 
@@ -590,7 +590,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		this.modifiedEditor.revealRangeInCenterIfOutsideViewport(range);
 	}
 
-	public addAction(descriptor:editorCommon.IActionDescriptor): void {
+	public addAction(descriptor: editorCommon.IActionDescriptor): void {
 		this.modifiedEditor.addAction(descriptor);
 	}
 
@@ -602,7 +602,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		return this.modifiedEditor.getSupportedActions();
 	}
 
-	public getAction(id:string): editorCommon.IEditorAction {
+	public getAction(id: string): editorCommon.IEditorAction {
 		return this.modifiedEditor.getAction(id);
 	}
 
@@ -615,7 +615,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		};
 	}
 
-	public restoreViewState(state:editorCommon.IEditorViewState): void {
+	public restoreViewState(state: editorCommon.IEditorViewState): void {
 		var s = <any>state;
 		if (s.original && s.original) {
 			var diffEditorState = <editorCommon.IDiffEditorViewState>s;
@@ -624,7 +624,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		}
 	}
 
-	public layout(dimension?:editorCommon.IDimension): void {
+	public layout(dimension?: editorCommon.IDimension): void {
 		this._measureDomElement(false, dimension);
 	}
 
@@ -652,11 +652,11 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		this._cleanViewZonesAndDecorations();
 	}
 
-	public trigger(source:string, handlerId:string, payload:any): void {
+	public trigger(source: string, handlerId: string, payload: any): void {
 		this.modifiedEditor.trigger(source, handlerId, payload);
 	}
 
-	public changeDecorations(callback:(changeAccessor:editorCommon.IModelDecorationsChangeAccessor)=>any): any {
+	public changeDecorations(callback: (changeAccessor: editorCommon.IModelDecorationsChangeAccessor) => any): any {
 		return this.modifiedEditor.changeDecorations(callback);
 	}
 
@@ -666,7 +666,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 
 	//------------ begin layouting methods
 
-	private _measureDomElement(forceDoLayoutCall:boolean, dimensions?:editorCommon.IDimension): void {
+	private _measureDomElement(forceDoLayoutCall: boolean, dimensions?: editorCommon.IDimension): void {
 		dimensions = dimensions || {
 			width: this._containerDomElement.clientWidth,
 			height: this._containerDomElement.clientHeight
@@ -690,7 +690,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 	}
 
 	private _layoutOverviewRulers(): void {
-		var freeSpace = DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH - 2*DiffEditorWidget.ONE_OVERVIEW_WIDTH;
+		var freeSpace = DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH - 2 * DiffEditorWidget.ONE_OVERVIEW_WIDTH;
 		var layoutInfo = this.modifiedEditor.getLayoutInfo();
 		if (layoutInfo) {
 			this._originalOverviewRuler.setLayout(new editorCommon.OverviewRulerPosition({
@@ -710,7 +710,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 
 	//------------ end layouting methods
 
-	private _recomputeIfNecessary(events:EmitterEvent[]): void {
+	private _recomputeIfNecessary(events: EmitterEvent[]): void {
 		var changed = false;
 		for (var i = 0; !changed && i < events.length; i++) {
 			var type = events[i].getType();
@@ -726,7 +726,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		}
 	}
 
-	private _onOriginalEditorEvents(events:EmitterEvent[]): void {
+	private _onOriginalEditorEvents(events: EmitterEvent[]): void {
 		for (var i = 0; i < events.length; i++) {
 			let type = events[i].getType();
 			let data = events[i].getData();
@@ -748,7 +748,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		this._recomputeIfNecessary(events);
 	}
 
-	private _onModifiedEditorEvents(events:EmitterEvent[]): void {
+	private _onModifiedEditorEvents(events: EmitterEvent[]): void {
 		for (var i = 0; i < events.length; i++) {
 			let type = events[i].getType();
 			let data = events[i].getData();
@@ -803,18 +803,16 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 			if (currentToken === this._diffComputationToken
 				&& currentOriginalModel === this.originalEditor.getModel()
 				&& currentModifiedModel === this.modifiedEditor.getModel()
-				)
-			{
+			) {
 				this._lineChanges = result;
 				this._updateDecorationsRunner.schedule();
-				this.emit(editorCommon.EventType.DiffUpdated, { });
+				this.emit(editorCommon.EventType.DiffUpdated, {});
 			}
 		}, (error) => {
 			if (currentToken === this._diffComputationToken
 				&& currentOriginalModel === this.originalEditor.getModel()
 				&& currentModifiedModel === this.modifiedEditor.getModel()
-				)
-			{
+			) {
 				this._lineChanges = null;
 				this._updateDecorationsRunner.schedule();
 			}
@@ -843,8 +841,8 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		}
 	}
 
-	private _adjustOptionsForSubEditor(options:editorCommon.IDiffEditorOptions): editorCommon.IDiffEditorOptions {
-		let clonedOptions:editorCommon.IDiffEditorOptions = objects.clone(options || {});
+	private _adjustOptionsForSubEditor(options: editorCommon.IDiffEditorOptions): editorCommon.IDiffEditorOptions {
+		let clonedOptions: editorCommon.IDiffEditorOptions = objects.clone(options || {});
 		clonedOptions.wrappingColumn = -1;
 		clonedOptions.automaticLayout = false;
 		clonedOptions.scrollbar = clonedOptions.scrollbar || {};
@@ -854,7 +852,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		return clonedOptions;
 	}
 
-	private _adjustOptionsForLeftHandSide(options:editorCommon.IDiffEditorOptions, isEditable:boolean): editorCommon.IDiffEditorOptions {
+	private _adjustOptionsForLeftHandSide(options: editorCommon.IDiffEditorOptions, isEditable: boolean): editorCommon.IDiffEditorOptions {
 		let result = this._adjustOptionsForSubEditor(options);
 		result.readOnly = !isEditable;
 		result.overviewRulerLanes = 1;
@@ -862,7 +860,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		return result;
 	}
 
-	private _adjustOptionsForRightHandSide(options:editorCommon.IDiffEditorOptions): editorCommon.IDiffEditorOptions {
+	private _adjustOptionsForRightHandSide(options: editorCommon.IDiffEditorOptions): editorCommon.IDiffEditorOptions {
 		let result = this._adjustOptionsForSubEditor(options);
 		result.revealHorizontalRightPadding = DefaultConfig.editor.revealHorizontalRightPadding + DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH;
 		result.scrollbar.verticalHasArrows = false;
@@ -870,7 +868,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		return result;
 	}
 
-	private _onOriginalEditorScroll(e:editorCommon.IScrollEvent): void {
+	private _onOriginalEditorScroll(e: editorCommon.IScrollEvent): void {
 		if (!e.scrollTopChanged && !e.scrollLeftChanged) {
 			return;
 		}
@@ -885,11 +883,11 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		this._isHandlingScrollEvent = false;
 	}
 
-	private _onModifiedEditorScroll(e:editorCommon.IScrollEvent): void {
+	private _onModifiedEditorScroll(e: editorCommon.IScrollEvent): void {
 		if (!e.scrollTopChanged && !e.scrollLeftChanged) {
 			return;
 		}
-		if(this._isHandlingScrollEvent) {
+		if (this._isHandlingScrollEvent) {
 			return;
 		}
 		this._isHandlingScrollEvent = true;
@@ -936,7 +934,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		}
 	}
 
-	private _computeOverviewViewport(): { height: number; top: number;} {
+	private _computeOverviewViewport(): { height: number; top: number; } {
 		var layoutInfo = this.modifiedEditor.getLayoutInfo();
 		if (!layoutInfo) {
 			return null;
@@ -958,7 +956,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		};
 	}
 
-	private _createDataSource():IDataSource {
+	private _createDataSource(): IDataSource {
 		return {
 			getWidth: () => {
 				return this._width;
@@ -986,7 +984,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		};
 	}
 
-	private _setStrategy(newStrategy:IDiffEditorWidgetStyle): void {
+	private _setStrategy(newStrategy: IDiffEditorWidgetStyle): void {
 		if (this._strategy) {
 			this._strategy.dispose();
 		}
@@ -1001,7 +999,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		this._measureDomElement(true);
 	}
 
-	private _getLineChangeAtOrBeforeLineNumber(lineNumber: number, startLineNumberExtractor:(lineChange:editorCommon.ILineChange)=>number): editorCommon.ILineChange {
+	private _getLineChangeAtOrBeforeLineNumber(lineNumber: number, startLineNumberExtractor: (lineChange: editorCommon.ILineChange) => number): editorCommon.ILineChange {
 		if (this._lineChanges.length === 0 || lineNumber < startLineNumberExtractor(this._lineChanges[0])) {
 			// There are no changes or `lineNumber` is before the first change
 			return null;
@@ -1045,7 +1043,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 			return modifiedEquivalentLineNumber + Math.min(delta, lineChangeModifiedLength);
 		}
 
-		return modifiedEquivalentLineNumber + lineChangeModifiedLength - lineChangeOriginalLength + delta ;
+		return modifiedEquivalentLineNumber + lineChangeModifiedLength - lineChangeOriginalLength + delta;
 	}
 
 	private _getEquivalentLineForModifiedLineNumber(lineNumber: number): number {
@@ -1067,10 +1065,10 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 			return originalEquivalentLineNumber + Math.min(delta, lineChangeOriginalLength);
 		}
 
-		return originalEquivalentLineNumber + lineChangeOriginalLength - lineChangeModifiedLength + delta ;
+		return originalEquivalentLineNumber + lineChangeOriginalLength - lineChangeModifiedLength + delta;
 	}
 
-	public getDiffLineInformationForOriginal(lineNumber:number): editorCommon.IDiffLineInformation {
+	public getDiffLineInformationForOriginal(lineNumber: number): editorCommon.IDiffLineInformation {
 		if (!this._lineChanges) {
 			// Cannot answer that which I don't know
 			return null;
@@ -1080,7 +1078,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
 		};
 	}
 
-	public getDiffLineInformationForModified(lineNumber:number): editorCommon.IDiffLineInformation {
+	public getDiffLineInformationForModified(lineNumber: number): editorCommon.IDiffLineInformation {
 		if (!this._lineChanges) {
 			// Cannot answer that which I don't know
 			return null;
@@ -1103,13 +1101,13 @@ interface IDataSource {
 
 class DiffEditorWidgetStyle {
 
-	_dataSource:IDataSource;
+	_dataSource: IDataSource;
 
-	constructor(dataSource:IDataSource) {
+	constructor(dataSource: IDataSource) {
 		this._dataSource = dataSource;
 	}
 
-	public getEditorsDiffDecorations(lineChanges:editorCommon.ILineChange[], ignoreTrimWhitespace:boolean, originalWhitespaces:editorCommon.IEditorWhitespace[], modifiedWhitespaces:editorCommon.IEditorWhitespace[], originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorsDiffDecorationsWithZones {
+	public getEditorsDiffDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalWhitespaces: editorCommon.IEditorWhitespace[], modifiedWhitespaces: editorCommon.IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsDiffDecorationsWithZones {
 		// Get view zones
 		modifiedWhitespaces = modifiedWhitespaces.sort((a, b) => {
 			return a.afterLineNumber - b.afterLineNumber;
@@ -1137,15 +1135,15 @@ class DiffEditorWidgetStyle {
 		};
 	}
 
-	_getViewZones(lineChanges:editorCommon.ILineChange[], originalForeignVZ:editorCommon.IEditorWhitespace[], modifiedForeignVZ:editorCommon.IEditorWhitespace[], originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorsZones {
+	_getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: editorCommon.IEditorWhitespace[], modifiedForeignVZ: editorCommon.IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsZones {
 		return null;
 	}
 
-	_getOriginalEditorDecorations(lineChanges:editorCommon.ILineChange[], ignoreTrimWhitespace:boolean, originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorDiffDecorations {
+	_getOriginalEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations {
 		return null;
 	}
 
-	_getModifiedEditorDecorations(lineChanges:editorCommon.ILineChange[], ignoreTrimWhitespace:boolean, originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorDiffDecorations {
+	_getModifiedEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations {
 		return null;
 	}
 }
@@ -1178,11 +1176,11 @@ class ForeignViewZonesIterator {
 
 abstract class ViewZonesComputer {
 
-	private lineChanges:editorCommon.ILineChange[];
-	private originalForeignVZ:editorCommon.IEditorWhitespace[];
-	private modifiedForeignVZ:editorCommon.IEditorWhitespace[];
+	private lineChanges: editorCommon.ILineChange[];
+	private originalForeignVZ: editorCommon.IEditorWhitespace[];
+	private modifiedForeignVZ: editorCommon.IEditorWhitespace[];
 
-	constructor(lineChanges:editorCommon.ILineChange[], originalForeignVZ:editorCommon.IEditorWhitespace[], modifiedForeignVZ:editorCommon.IEditorWhitespace[]) {
+	constructor(lineChanges: editorCommon.ILineChange[], originalForeignVZ: editorCommon.IEditorWhitespace[], modifiedForeignVZ: editorCommon.IEditorWhitespace[]) {
 		this.lineChanges = lineChanges;
 		this.originalForeignVZ = originalForeignVZ;
 		this.modifiedForeignVZ = modifiedForeignVZ;
@@ -1194,27 +1192,27 @@ abstract class ViewZonesComputer {
 			modified: []
 		};
 
-		var i:number,
-			length:number,
-			lineChange:editorCommon.ILineChange;
+		var i: number,
+			length: number,
+			lineChange: editorCommon.ILineChange;
 
 		var stepOriginal: IMyViewZone[],
 			stepModified: IMyViewZone[],
 			stepOriginalIndex: number,
 			stepModifiedIndex: number,
-			lineChangeModifiedLength:number = 0,
-			lineChangeOriginalLength:number = 0,
+			lineChangeModifiedLength: number = 0,
+			lineChangeOriginalLength: number = 0,
 			originalEquivalentLineNumber: number = 0,
 			modifiedEquivalentLineNumber: number = 0,
 			originalEndEquivalentLineNumber: number = 0,
 			modifiedEndEquivalentLineNumber: number = 0,
 			viewZoneLineNumber: number = 0;
 
-		var sortMyViewZones = (a:IMyViewZone, b:IMyViewZone) => {
+		var sortMyViewZones = (a: IMyViewZone, b: IMyViewZone) => {
 			return a.afterLineNumber - b.afterLineNumber;
 		};
 
-		var addAndCombineIfPossible = (destination:editorBrowser.IViewZone[], item:IMyViewZone) => {
+		var addAndCombineIfPossible = (destination: editorBrowser.IViewZone[], item: IMyViewZone) => {
 			if (item.domNode === null && destination.length > 0) {
 				var lastItem = destination[destination.length - 1];
 				if (lastItem.afterLineNumber === item.afterLineNumber && lastItem.domNode === null) {
@@ -1356,7 +1354,7 @@ abstract class ViewZonesComputer {
 			// ---------------------------- END EMIT MINIMAL VIEW ZONES
 		}
 
-		var ensureDomNode = (z:IMyViewZone) => {
+		var ensureDomNode = (z: IMyViewZone) => {
 			if (!z.domNode) {
 				z.domNode = createFakeLinesDiv();
 			}
@@ -1368,9 +1366,9 @@ abstract class ViewZonesComputer {
 		return result;
 	}
 
-	protected abstract _produceOriginalFromDiff(lineChange:editorCommon.ILineChange, lineChangeOriginalLength:number, lineChangeModifiedLength:number): IMyViewZone;
+	protected abstract _produceOriginalFromDiff(lineChange: editorCommon.ILineChange, lineChangeOriginalLength: number, lineChangeModifiedLength: number): IMyViewZone;
 
-	protected abstract _produceModifiedFromDiff(lineChange:editorCommon.ILineChange, lineChangeOriginalLength:number, lineChangeModifiedLength:number): IMyViewZone;
+	protected abstract _produceModifiedFromDiff(lineChange: editorCommon.ILineChange, lineChangeOriginalLength: number, lineChangeModifiedLength: number): IMyViewZone;
 }
 
 class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEditorWidgetStyle, IVerticalSashLayoutProvider {
@@ -1378,12 +1376,12 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
 	static MINIMUM_EDITOR_WIDTH = 100;
 
 	private _disableSash: boolean;
-	private _sash:Sash;
-	private _sashRatio:number;
-	private _sashPosition:number;
-	private _startSashPosition:number;
+	private _sash: Sash;
+	private _sashRatio: number;
+	private _sashPosition: number;
+	private _startSashPosition: number;
 
-	constructor(dataSource:IDataSource, enableSplitViewResizing:boolean) {
+	constructor(dataSource: IDataSource, enableSplitViewResizing: boolean) {
 		super(dataSource);
 
 		this._disableSash = (enableSplitViewResizing === false);
@@ -1405,7 +1403,7 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
 		this._sash.dispose();
 	}
 
-	public setEnableSplitViewResizing(enableSplitViewResizing:boolean): void {
+	public setEnableSplitViewResizing(enableSplitViewResizing: boolean): void {
 		var newDisableSash = (enableSplitViewResizing === false);
 		if (this._disableSash !== newDisableSash) {
 			this._disableSash = newDisableSash;
@@ -1418,7 +1416,7 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
 		}
 	}
 
-	public layout(sashRatio:number = this._sashRatio): number {
+	public layout(sashRatio: number = this._sashRatio): number {
 		var w = this._dataSource.getWidth();
 		var contentWidth = w - DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH;
 
@@ -1451,7 +1449,7 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
 		this._startSashPosition = this._sashPosition;
 	}
 
-	private onSashDrag(e:ISashEvent): void {
+	private onSashDrag(e: ISashEvent): void {
 		var w = this._dataSource.getWidth();
 		var contentWidth = w - DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH;
 		var sashPosition = this.layout((this._startSashPosition + (e.currentX - e.startX)) / contentWidth);
@@ -1483,26 +1481,26 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
 		return this._dataSource.getHeight();
 	}
 
-	_getViewZones(lineChanges:editorCommon.ILineChange[], originalForeignVZ:editorCommon.IEditorWhitespace[], modifiedForeignVZ:editorCommon.IEditorWhitespace[], originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorsZones {
+	_getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: editorCommon.IEditorWhitespace[], modifiedForeignVZ: editorCommon.IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsZones {
 		var c = new SideBySideViewZonesComputer(lineChanges, originalForeignVZ, modifiedForeignVZ);
 		return c.getViewZones();
 	}
 
-	_getOriginalEditorDecorations(lineChanges:editorCommon.ILineChange[], ignoreTrimWhitespace:boolean, originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorDiffDecorations {
+	_getOriginalEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations {
 
-		var result:IEditorDiffDecorations = {
-				decorations: [],
-				overviewZones: []
-			},
-			i:number,
-			length:number,
-			j:number,
-			lengthJ:number,
-			lineChange:editorCommon.ILineChange,
-			charChange:editorCommon.ICharChange,
-			lineNumber:number,
-			startColumn:number,
-			endColumn:number,
+		var result: IEditorDiffDecorations = {
+			decorations: [],
+			overviewZones: []
+		},
+			i: number,
+			length: number,
+			j: number,
+			lengthJ: number,
+			lineChange: editorCommon.ILineChange,
+			charChange: editorCommon.ICharChange,
+			lineNumber: number,
+			startColumn: number,
+			endColumn: number,
 			originalModel = originalEditor.getModel();
 
 		for (i = 0, length = lineChanges.length; i < length; i++) {
@@ -1554,21 +1552,21 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
 		return result;
 	}
 
-	_getModifiedEditorDecorations(lineChanges:editorCommon.ILineChange[], ignoreTrimWhitespace:boolean, originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorDiffDecorations {
+	_getModifiedEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations {
 
-		var result:IEditorDiffDecorations = {
-				decorations: [],
-				overviewZones: []
-			},
-			i:number,
-			length:number,
-			j:number,
-			lengthJ:number,
-			lineChange:editorCommon.ILineChange,
-			charChange:editorCommon.ICharChange,
-			lineNumber:number,
-			startColumn:number,
-			endColumn:number,
+		var result: IEditorDiffDecorations = {
+			decorations: [],
+			overviewZones: []
+		},
+			i: number,
+			length: number,
+			j: number,
+			lengthJ: number,
+			lineChange: editorCommon.ILineChange,
+			charChange: editorCommon.ICharChange,
+			lineNumber: number,
+			startColumn: number,
+			endColumn: number,
 			modifiedModel = modifiedEditor.getModel();
 
 		for (i = 0, length = lineChanges.length; i < length; i++) {
@@ -1622,11 +1620,11 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
 
 class SideBySideViewZonesComputer extends ViewZonesComputer {
 
-	constructor(lineChanges:editorCommon.ILineChange[], originalForeignVZ:editorCommon.IEditorWhitespace[], modifiedForeignVZ:editorCommon.IEditorWhitespace[]) {
+	constructor(lineChanges: editorCommon.ILineChange[], originalForeignVZ: editorCommon.IEditorWhitespace[], modifiedForeignVZ: editorCommon.IEditorWhitespace[]) {
 		super(lineChanges, originalForeignVZ, modifiedForeignVZ);
 	}
 
-	_produceOriginalFromDiff(lineChange:editorCommon.ILineChange, lineChangeOriginalLength:number, lineChangeModifiedLength:number): IMyViewZone {
+	_produceOriginalFromDiff(lineChange: editorCommon.ILineChange, lineChangeOriginalLength: number, lineChangeModifiedLength: number): IMyViewZone {
 		if (lineChangeModifiedLength > lineChangeOriginalLength) {
 			return {
 				afterLineNumber: Math.max(lineChange.originalStartLineNumber, lineChange.originalEndLineNumber),
@@ -1637,7 +1635,7 @@ class SideBySideViewZonesComputer extends ViewZonesComputer {
 		return null;
 	}
 
-	_produceModifiedFromDiff(lineChange:editorCommon.ILineChange, lineChangeOriginalLength:number, lineChangeModifiedLength:number): IMyViewZone {
+	_produceModifiedFromDiff(lineChange: editorCommon.ILineChange, lineChangeOriginalLength: number, lineChangeModifiedLength: number): IMyViewZone {
 		if (lineChangeOriginalLength > lineChangeModifiedLength) {
 			return {
 				afterLineNumber: Math.max(lineChange.modifiedStartLineNumber, lineChange.modifiedEndLineNumber),
@@ -1651,16 +1649,16 @@ class SideBySideViewZonesComputer extends ViewZonesComputer {
 
 class DiffEdtorWidgetInline extends DiffEditorWidgetStyle implements IDiffEditorWidgetStyle {
 
-	private toDispose:IDisposable[];
+	private toDispose: IDisposable[];
 	private decorationsLeft: number;
 
-	constructor(dataSource:IDataSource, enableSplitViewResizing:boolean) {
+	constructor(dataSource: IDataSource, enableSplitViewResizing: boolean) {
 		super(dataSource);
 
 		this.decorationsLeft = dataSource.getOriginalEditor().getLayoutInfo().decorationsLeft;
 
 		this.toDispose = [];
-		this.toDispose.push(dataSource.getOriginalEditor().onDidLayoutChange((layoutInfo:editorCommon.EditorLayoutInfo) => {
+		this.toDispose.push(dataSource.getOriginalEditor().onDidLayoutChange((layoutInfo: editorCommon.EditorLayoutInfo) => {
 			if (this.decorationsLeft !== layoutInfo.decorationsLeft) {
 				this.decorationsLeft = layoutInfo.decorationsLeft;
 				dataSource.relayoutEditors();
@@ -1672,23 +1670,23 @@ class DiffEdtorWidgetInline extends DiffEditorWidgetStyle implements IDiffEditor
 		this.toDispose = dispose(this.toDispose);
 	}
 
-	public setEnableSplitViewResizing(enableSplitViewResizing:boolean): void {
+	public setEnableSplitViewResizing(enableSplitViewResizing: boolean): void {
 		// Nothing to do..
 	}
 
-	_getViewZones(lineChanges:editorCommon.ILineChange[], originalForeignVZ:editorCommon.IEditorWhitespace[], modifiedForeignVZ:editorCommon.IEditorWhitespace[], originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorsZones {
+	_getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: editorCommon.IEditorWhitespace[], modifiedForeignVZ: editorCommon.IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsZones {
 		var computer = new InlineViewZonesComputer(lineChanges, originalForeignVZ, modifiedForeignVZ, originalEditor, modifiedEditor);
 		return computer.getViewZones();
 	}
 
-	_getOriginalEditorDecorations(lineChanges:editorCommon.ILineChange[], ignoreTrimWhitespace:boolean, originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorDiffDecorations {
-		var result:IEditorDiffDecorations = {
-				decorations: [],
-				overviewZones: []
-			},
-			i:number,
-			length:number,
-			lineChange:editorCommon.ILineChange;
+	_getOriginalEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations {
+		var result: IEditorDiffDecorations = {
+			decorations: [],
+			overviewZones: []
+		},
+			i: number,
+			length: number,
+			lineChange: editorCommon.ILineChange;
 
 		for (i = 0, length = lineChanges.length; i < length; i++) {
 			lineChange = lineChanges[i];
@@ -1709,21 +1707,21 @@ class DiffEdtorWidgetInline extends DiffEditorWidgetStyle implements IDiffEditor
 		return result;
 	}
 
-	_getModifiedEditorDecorations(lineChanges:editorCommon.ILineChange[], ignoreTrimWhitespace:boolean, originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor): IEditorDiffDecorations {
+	_getModifiedEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations {
 
-		var result:IEditorDiffDecorations = {
-				decorations: [],
-				overviewZones: []
-			},
-			i:number,
-			length:number,
-			lineChange:editorCommon.ILineChange,
-			j:number,
-			lengthJ:number,
+		var result: IEditorDiffDecorations = {
+			decorations: [],
+			overviewZones: []
+		},
+			i: number,
+			length: number,
+			lineChange: editorCommon.ILineChange,
+			j: number,
+			lengthJ: number,
 			charChange: editorCommon.ICharChange,
-			lineNumber:number,
-			startColumn:number,
-			endColumn:number,
+			lineNumber: number,
+			startColumn: number,
+			endColumn: number,
 			modifiedModel = modifiedEditor.getModel();
 
 		for (i = 0, length = lineChanges.length; i < length; i++) {
@@ -1783,30 +1781,30 @@ class DiffEdtorWidgetInline extends DiffEditorWidgetStyle implements IDiffEditor
 
 class InlineViewZonesComputer extends ViewZonesComputer {
 
-	private originalModel:editorCommon.IModel;
-	private modifiedEditorConfiguration:editorCommon.InternalEditorOptions;
-	private modifiedEditorTabSize:number;
+	private originalModel: editorCommon.IModel;
+	private modifiedEditorConfiguration: editorCommon.InternalEditorOptions;
+	private modifiedEditorTabSize: number;
 
-	constructor(lineChanges:editorCommon.ILineChange[], originalForeignVZ:editorCommon.IEditorWhitespace[], modifiedForeignVZ:editorCommon.IEditorWhitespace[], originalEditor:editorBrowser.ICodeEditor, modifiedEditor:editorBrowser.ICodeEditor) {
+	constructor(lineChanges: editorCommon.ILineChange[], originalForeignVZ: editorCommon.IEditorWhitespace[], modifiedForeignVZ: editorCommon.IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor) {
 		super(lineChanges, originalForeignVZ, modifiedForeignVZ);
 		this.originalModel = originalEditor.getModel();
 		this.modifiedEditorConfiguration = modifiedEditor.getConfiguration();
 		this.modifiedEditorTabSize = modifiedEditor.getModel().getOptions().tabSize;
 	}
 
-	_produceOriginalFromDiff(lineChange:editorCommon.ILineChange, lineChangeOriginalLength:number, lineChangeModifiedLength:number): IMyViewZone {
+	_produceOriginalFromDiff(lineChange: editorCommon.ILineChange, lineChangeOriginalLength: number, lineChangeModifiedLength: number): IMyViewZone {
 		return {
-			afterLineNumber:Math.max(lineChange.originalStartLineNumber, lineChange.originalEndLineNumber),
+			afterLineNumber: Math.max(lineChange.originalStartLineNumber, lineChange.originalEndLineNumber),
 			heightInLines: lineChangeModifiedLength,
 			domNode: document.createElement('div')
 		};
 	}
 
-	_produceModifiedFromDiff(lineChange:editorCommon.ILineChange, lineChangeOriginalLength:number, lineChangeModifiedLength:number): IMyViewZone {
-		var decorations:InlineDecoration[] = [],
-			j:number,
-			lengthJ:number,
-			charChange:editorCommon.ICharChange;
+	_produceModifiedFromDiff(lineChange: editorCommon.ILineChange, lineChangeOriginalLength: number, lineChangeModifiedLength: number): IMyViewZone {
+		var decorations: InlineDecoration[] = [],
+			j: number,
+			lengthJ: number,
+			charChange: editorCommon.ICharChange;
 
 		if (lineChange.charChanges) {
 			for (j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {
@@ -1839,7 +1837,7 @@ class InlineViewZonesComputer extends ViewZonesComputer {
 		};
 	}
 
-	private renderOriginalLine(count:number, originalModel:editorCommon.IModel, config:editorCommon.InternalEditorOptions, tabSize:number, lineNumber:number, decorations:InlineDecoration[]): string[] {
+	private renderOriginalLine(count: number, originalModel: editorCommon.IModel, config: editorCommon.InternalEditorOptions, tabSize: number, lineNumber: number, decorations: InlineDecoration[]): string[] {
 		let lineContent = originalModel.getLineContent(lineNumber);
 
 		let lineTokens = new ViewLineTokens([new ViewLineToken(0, '')], 0, lineContent.length);
@@ -1855,7 +1853,7 @@ class InlineViewZonesComputer extends ViewZonesComputer {
 			parts.getParts()
 		));
 
-		let myResult:string[] = [];
+		let myResult: string[] = [];
 		myResult.push('<div class="view-line');
 		if (decorations.length === 0) {
 			// No char changes
@@ -1871,15 +1869,15 @@ class InlineViewZonesComputer extends ViewZonesComputer {
 	}
 }
 
-function isChangeOrInsert(lineChange:editorCommon.IChange): boolean {
+function isChangeOrInsert(lineChange: editorCommon.IChange): boolean {
 	return lineChange.modifiedEndLineNumber > 0;
 }
 
-function isChangeOrDelete(lineChange:editorCommon.IChange): boolean {
+function isChangeOrDelete(lineChange: editorCommon.IChange): boolean {
 	return lineChange.originalEndLineNumber > 0;
 }
 
-function createDecoration(startLineNumber:number, startColumn:number, endLineNumber:number, endColumn:number, className:string, isWholeLine:boolean) {
+function createDecoration(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, className: string, isWholeLine: boolean) {
 	return {
 		range: new Range(startLineNumber, startColumn, endLineNumber, endColumn),
 		options: {
diff --git a/src/vs/editor/browser/widget/embeddedCodeEditorWidget.ts b/src/vs/editor/browser/widget/embeddedCodeEditorWidget.ts
index cea56ff358665..e128dc533a636 100644
--- a/src/vs/editor/browser/widget/embeddedCodeEditorWidget.ts
+++ b/src/vs/editor/browser/widget/embeddedCodeEditorWidget.ts
@@ -5,13 +5,13 @@
 'use strict';
 
 import * as objects from 'vs/base/common/objects';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {ICodeEditorWidgetCreationOptions, IConfigurationChangedEvent, IEditorOptions} from 'vs/editor/common/editorCommon';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {CodeEditor} from 'vs/editor/browser/codeEditor';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { ICodeEditorWidgetCreationOptions, IConfigurationChangedEvent, IEditorOptions } from 'vs/editor/common/editorCommon';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { CodeEditor } from 'vs/editor/browser/codeEditor';
 
 export class EmbeddedCodeEditorWidget extends CodeEditor {
 
@@ -19,9 +19,9 @@ export class EmbeddedCodeEditorWidget extends CodeEditor {
 	private _overwriteOptions: ICodeEditorWidgetCreationOptions;
 
 	constructor(
-		domElement:HTMLElement,
-		options:ICodeEditorWidgetCreationOptions,
-		parentEditor:ICodeEditor,
+		domElement: HTMLElement,
+		options: ICodeEditorWidgetCreationOptions,
+		parentEditor: ICodeEditor,
 		@IInstantiationService instantiationService: IInstantiationService,
 		@ICodeEditorService codeEditorService: ICodeEditorService,
 		@ICommandService commandService: ICommandService,
@@ -35,19 +35,19 @@ export class EmbeddedCodeEditorWidget extends CodeEditor {
 		// Overwrite parent's options
 		super.updateOptions(this._overwriteOptions);
 
-		this._lifetimeDispose.push(parentEditor.onDidChangeConfiguration((e:IConfigurationChangedEvent) => this._onParentConfigurationChanged(e)));
+		this._lifetimeDispose.push(parentEditor.onDidChangeConfiguration((e: IConfigurationChangedEvent) => this._onParentConfigurationChanged(e)));
 	}
 
 	public getParentEditor(): ICodeEditor {
 		return this._parentEditor;
 	}
 
-	private _onParentConfigurationChanged(e:IConfigurationChangedEvent): void {
+	private _onParentConfigurationChanged(e: IConfigurationChangedEvent): void {
 		super.updateOptions(this._parentEditor.getRawConfiguration());
 		super.updateOptions(this._overwriteOptions);
 	}
 
-	public updateOptions(newOptions:IEditorOptions): void {
+	public updateOptions(newOptions: IEditorOptions): void {
 		objects.mixin(this._overwriteOptions, newOptions, true);
 		super.updateOptions(this._overwriteOptions);
 	}
diff --git a/src/vs/editor/common/commands/replaceCommand.ts b/src/vs/editor/common/commands/replaceCommand.ts
index 1d69beb6cb263..a31efabe93867 100644
--- a/src/vs/editor/common/commands/replaceCommand.ts
+++ b/src/vs/editor/common/commands/replaceCommand.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Selection} from 'vs/editor/common/core/selection';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Range} from 'vs/editor/common/core/range';
+import { Range } from 'vs/editor/common/core/range';
 
 export class ReplaceCommand implements editorCommon.ICommand {
 
@@ -18,15 +18,15 @@ export class ReplaceCommand implements editorCommon.ICommand {
 		this._text = text;
 	}
 
-	public getText():string {
+	public getText(): string {
 		return this._text;
 	}
 
-	public getRange():Range {
+	public getRange(): Range {
 		return this._range;
 	}
 
-	public setRange(newRange:Range): void {
+	public setRange(newRange: Range): void {
 		this._range = newRange;
 	}
 
diff --git a/src/vs/editor/common/commands/shiftCommand.ts b/src/vs/editor/common/commands/shiftCommand.ts
index 008c355fe1d8b..911f45aad02af 100644
--- a/src/vs/editor/common/commands/shiftCommand.ts
+++ b/src/vs/editor/common/commands/shiftCommand.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as strings from 'vs/base/common/strings';
-import {CursorMoveHelper} from 'vs/editor/common/controller/cursorMoveHelper';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel} from 'vs/editor/common/editorCommon';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {CharCode} from 'vs/base/common/charCode';
+import { CursorMoveHelper } from 'vs/editor/common/controller/cursorMoveHelper';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel } from 'vs/editor/common/editorCommon';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { CharCode } from 'vs/base/common/charCode';
 
 export interface IShiftCommandOpts {
 	isUnshift: boolean;
@@ -20,7 +20,7 @@ export interface IShiftCommandOpts {
 
 export class ShiftCommand implements ICommand {
 
-	public static unshiftIndentCount(line:string, column:number, tabSize:number): number {
+	public static unshiftIndentCount(line: string, column: number, tabSize: number): number {
 		// Determine the visible column where the content starts
 		var contentStartVisibleColumn = CursorMoveHelper.visibleColumnFromColumn2(line, column, tabSize);
 
@@ -30,7 +30,7 @@ export class ShiftCommand implements ICommand {
 		return desiredTabStop / tabSize;
 	}
 
-	public static shiftIndentCount(line:string, column:number, tabSize:number): number {
+	public static shiftIndentCount(line: string, column: number, tabSize: number): number {
 		// Determine the visible column where the content starts
 		var contentStartVisibleColumn = CursorMoveHelper.visibleColumnFromColumn2(line, column, tabSize);
 
@@ -45,7 +45,7 @@ export class ShiftCommand implements ICommand {
 	private _selectionId: string;
 	private _useLastEditRangeForCursorEndPosition: boolean;
 
-	constructor(range: Selection, opts:IShiftCommandOpts) {
+	constructor(range: Selection, opts: IShiftCommandOpts) {
 		this._opts = opts;
 		this._selection = range;
 		this._useLastEditRangeForCursorEndPosition = false;
@@ -59,7 +59,7 @@ export class ShiftCommand implements ICommand {
 			endLine = endLine - 1;
 		}
 
-		let lineNumber:number,
+		let lineNumber: number,
 			tabSize = this._opts.tabSize,
 			oneIndent = this._opts.oneIndent,
 			shouldIndentEmptyLines = (startLine === endLine);
@@ -76,7 +76,7 @@ export class ShiftCommand implements ICommand {
 
 		// keep track of previous line's "miss-alignment"
 		let previousLineExtraSpaces = 0, extraSpaces = 0;
-		for (lineNumber = startLine; lineNumber <= endLine; lineNumber++, previousLineExtraSpaces = extraSpaces) {
+		for (lineNumber = startLine; lineNumber <= endLine; lineNumber++ , previousLineExtraSpaces = extraSpaces) {
 			extraSpaces = 0;
 			let lineText = model.getLineContent(lineNumber);
 			let indentationEndIndex = strings.firstNonWhitespaceIndex(lineText);
@@ -143,7 +143,7 @@ export class ShiftCommand implements ICommand {
 
 			// Fill `indents`, as needed
 			for (let j = indents.length; j <= desiredIndentCount; j++) {
-				indents[j] = indents[j-1] + oneIndent;
+				indents[j] = indents[j - 1] + oneIndent;
 			}
 
 			builder.addEditOperation(new Range(lineNumber, 1, lineNumber, indentationEndIndex + 1), indents[desiredIndentCount]);
diff --git a/src/vs/editor/common/commands/surroundSelectionCommand.ts b/src/vs/editor/common/commands/surroundSelectionCommand.ts
index 91a5a18a625ab..329d7235d7880 100644
--- a/src/vs/editor/common/commands/surroundSelectionCommand.ts
+++ b/src/vs/editor/common/commands/surroundSelectionCommand.ts
@@ -4,22 +4,22 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel} from 'vs/editor/common/editorCommon';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel } from 'vs/editor/common/editorCommon';
 
 export class SurroundSelectionCommand implements ICommand {
 	private _range: Selection;
 	private _charBeforeSelection: string;
 	private _charAfterSelection: string;
 
-	constructor(range:Selection, charBeforeSelection:string, charAfterSelection:string) {
+	constructor(range: Selection, charBeforeSelection: string, charAfterSelection: string) {
 		this._range = range;
 		this._charBeforeSelection = charBeforeSelection;
 		this._charAfterSelection = charAfterSelection;
 	}
 
-	public getEditOperations(model:ITokenizedModel, builder:IEditOperationBuilder): void {
+	public getEditOperations(model: ITokenizedModel, builder: IEditOperationBuilder): void {
 		builder.addEditOperation(new Range(
 			this._range.startLineNumber,
 			this._range.startColumn,
diff --git a/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.ts b/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.ts
index c7c685c088c06..5b412b04c7322 100644
--- a/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.ts
+++ b/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.ts
@@ -5,21 +5,21 @@
 'use strict';
 
 import * as strings from 'vs/base/common/strings';
-import {EditOperation} from 'vs/editor/common/core/editOperation';
-import {Range} from 'vs/editor/common/core/range';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Selection } from 'vs/editor/common/core/selection';
 
 export class TrimTrailingWhitespaceCommand implements editorCommon.ICommand {
 
-	private selection:Selection;
-	private selectionId:string;
+	private selection: Selection;
+	private selectionId: string;
 
-	constructor(selection:Selection) {
+	constructor(selection: Selection) {
 		this.selection = selection;
 	}
 
-	public getEditOperations(model:editorCommon.ITokenizedModel, builder:editorCommon.IEditOperationBuilder):void {
+	public getEditOperations(model: editorCommon.ITokenizedModel, builder: editorCommon.IEditOperationBuilder): void {
 		var ops = trimTrailingWhitespace(model, []);
 		for (var i = 0, len = ops.length; i < len; i++) {
 			var op = ops[i];
@@ -30,7 +30,7 @@ export class TrimTrailingWhitespaceCommand implements editorCommon.ICommand {
 		this.selectionId = builder.trackSelection(this.selection);
 	}
 
-	public computeCursorState(model:editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData):Selection {
+	public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
 		return helper.getTrackedSelection(this.selectionId);
 	}
 }
@@ -38,7 +38,7 @@ export class TrimTrailingWhitespaceCommand implements editorCommon.ICommand {
 /**
  * Generate commands for trimming trailing whitespace on a model and ignore lines on which cursors are sitting.
  */
-export function trimTrailingWhitespace(model:editorCommon.ITextModel, cursors: editorCommon.IPosition[]): editorCommon.IIdentifiedSingleEditOperation[] {
+export function trimTrailingWhitespace(model: editorCommon.ITextModel, cursors: editorCommon.IPosition[]): editorCommon.IIdentifiedSingleEditOperation[] {
 	// Sort cursors ascending
 	cursors.sort((a, b) => {
 		if (a.lineNumber === b.lineNumber) {
@@ -55,17 +55,17 @@ export function trimTrailingWhitespace(model:editorCommon.ITextModel, cursors: e
 		}
 	}
 
-	var r:editorCommon.IIdentifiedSingleEditOperation[] = [],
+	var r: editorCommon.IIdentifiedSingleEditOperation[] = [],
 		cursorIndex = 0,
 		cursorLen = cursors.length,
-		lineNumber:number,
-		lineCount:number,
-		lineContent:string,
-		minEditColumn:number,
-		maxLineColumn:number,
-		fromColumn:number,
+		lineNumber: number,
+		lineCount: number,
+		lineContent: string,
+		minEditColumn: number,
+		maxLineColumn: number,
+		fromColumn: number,
 		// toColumn:number,
-		lastNonWhitespaceIndex:number;
+		lastNonWhitespaceIndex: number;
 
 	for (lineNumber = 1, lineCount = model.getLineCount(); lineNumber <= lineCount; lineNumber++) {
 		lineContent = model.getLineContent(lineNumber);
diff --git a/src/vs/editor/common/commonCodeEditor.ts b/src/vs/editor/common/commonCodeEditor.ts
index c74baecfea6ba..a6f4171071c78 100644
--- a/src/vs/editor/common/commonCodeEditor.ts
+++ b/src/vs/editor/common/commonCodeEditor.ts
@@ -4,31 +4,31 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {EventEmitter, IEventEmitter} from 'vs/base/common/eventEmitter';
-import {Disposable, IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ServicesAccessor, IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {ContextKeyExpr, IContextKey, IContextKeyServiceTarget, IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {CommonEditorConfiguration} from 'vs/editor/common/config/commonEditorConfig';
-import {DefaultConfig} from 'vs/editor/common/config/defaultConfig';
-import {Cursor} from 'vs/editor/common/controller/cursor';
-import {CursorMoveHelper} from 'vs/editor/common/controller/cursorMoveHelper';
-import {IViewModelHelper} from 'vs/editor/common/controller/oneCursor';
-import {EditorState} from 'vs/editor/common/core/editorState';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {DynamicEditorAction} from 'vs/editor/common/editorAction';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { EventEmitter, IEventEmitter } from 'vs/base/common/eventEmitter';
+import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ServicesAccessor, IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { ContextKeyExpr, IContextKey, IContextKeyServiceTarget, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { CommonEditorConfiguration } from 'vs/editor/common/config/commonEditorConfig';
+import { DefaultConfig } from 'vs/editor/common/config/defaultConfig';
+import { Cursor } from 'vs/editor/common/controller/cursor';
+import { CursorMoveHelper } from 'vs/editor/common/controller/cursorMoveHelper';
+import { IViewModelHelper } from 'vs/editor/common/controller/oneCursor';
+import { EditorState } from 'vs/editor/common/core/editorState';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { DynamicEditorAction } from 'vs/editor/common/editorAction';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {CharacterHardWrappingLineMapperFactory} from 'vs/editor/common/viewModel/characterHardWrappingLineMapper';
-import {SplitLinesCollection} from 'vs/editor/common/viewModel/splitLinesCollection';
-import {ViewModel} from 'vs/editor/common/viewModel/viewModelImpl';
-import {hash} from 'vs/base/common/hash';
-import {EditorModeContext} from 'vs/editor/common/modes/editorModeContext';
-import {MenuId, MenuRegistry, IMenuItem} from 'vs/platform/actions/common/actions';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
+import { CharacterHardWrappingLineMapperFactory } from 'vs/editor/common/viewModel/characterHardWrappingLineMapper';
+import { SplitLinesCollection } from 'vs/editor/common/viewModel/splitLinesCollection';
+import { ViewModel } from 'vs/editor/common/viewModel/viewModelImpl';
+import { hash } from 'vs/base/common/hash';
+import { EditorModeContext } from 'vs/editor/common/modes/editorModeContext';
+import { MenuId, MenuRegistry, IMenuItem } from 'vs/platform/actions/common/actions';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
 
 import EditorContextKeys = editorCommon.EditorContextKeys;
 
@@ -36,66 +36,66 @@ var EDITOR_ID = 0;
 
 export abstract class CommonCodeEditor extends EventEmitter implements editorCommon.ICommonCodeEditor {
 
-	public onDidChangeModelRawContent(listener: (e:editorCommon.IModelContentChangedEvent)=>void): IDisposable {
+	public onDidChangeModelRawContent(listener: (e: editorCommon.IModelContentChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelRawContentChanged, listener);
 	}
-	public onDidChangeModelContent(listener: (e:editorCommon.IModelContentChangedEvent2)=>void): IDisposable {
+	public onDidChangeModelContent(listener: (e: editorCommon.IModelContentChangedEvent2) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelContentChanged2, listener);
 	}
-	public onDidChangeModelMode(listener: (e:editorCommon.IModelModeChangedEvent)=>void): IDisposable {
+	public onDidChangeModelMode(listener: (e: editorCommon.IModelModeChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelModeChanged, listener);
 	}
-	public onDidChangeModelOptions(listener: (e:editorCommon.IModelOptionsChangedEvent)=>void): IDisposable {
+	public onDidChangeModelOptions(listener: (e: editorCommon.IModelOptionsChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelOptionsChanged, listener);
 	}
-	public onDidChangeModelDecorations(listener: (e:editorCommon.IModelDecorationsChangedEvent)=>void): IDisposable {
+	public onDidChangeModelDecorations(listener: (e: editorCommon.IModelDecorationsChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelDecorationsChanged, listener);
 	}
-	public onDidChangeConfiguration(listener: (e:editorCommon.IConfigurationChangedEvent)=>void): IDisposable {
+	public onDidChangeConfiguration(listener: (e: editorCommon.IConfigurationChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ConfigurationChanged, listener);
 	}
-	public onDidChangeModel(listener: (e:editorCommon.IModelChangedEvent)=>void): IDisposable {
+	public onDidChangeModel(listener: (e: editorCommon.IModelChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelChanged, listener);
 	}
-	public onDidChangeCursorPosition(listener: (e:editorCommon.ICursorPositionChangedEvent)=>void): IDisposable {
+	public onDidChangeCursorPosition(listener: (e: editorCommon.ICursorPositionChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.CursorPositionChanged, listener);
 	}
-	public onDidChangeCursorSelection(listener: (e:editorCommon.ICursorSelectionChangedEvent)=>void): IDisposable {
+	public onDidChangeCursorSelection(listener: (e: editorCommon.ICursorSelectionChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.CursorSelectionChanged, listener);
 	}
-	public onDidFocusEditorText(listener: ()=>void): IDisposable {
+	public onDidFocusEditorText(listener: () => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.EditorTextFocus, listener);
 	}
-	public onDidBlurEditorText(listener: ()=>void): IDisposable {
+	public onDidBlurEditorText(listener: () => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.EditorTextBlur, listener);
 	}
-	public onDidFocusEditor(listener: ()=>void): IDisposable {
+	public onDidFocusEditor(listener: () => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.EditorFocus, listener);
 	}
-	public onDidBlurEditor(listener: ()=>void): IDisposable {
+	public onDidBlurEditor(listener: () => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.EditorBlur, listener);
 	}
-	public onDidDispose(listener: ()=>void): IDisposable {
+	public onDidDispose(listener: () => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.Disposed, listener);
 	}
 
 	protected domElement: IContextKeyServiceTarget;
 
-	protected id:number;
+	protected id: number;
 
 	protected _lifetimeDispose: IDisposable[];
-	protected _configuration:CommonEditorConfiguration;
+	protected _configuration: CommonEditorConfiguration;
 
-	protected _contributions:{ [key:string]:editorCommon.IEditorContribution; };
-	protected _actions:{ [key:string]:editorCommon.IEditorAction; };
+	protected _contributions: { [key: string]: editorCommon.IEditorContribution; };
+	protected _actions: { [key: string]: editorCommon.IEditorAction; };
 
 	// --- Members logically associated to a model
-	protected model:editorCommon.IModel;
-	protected listenersToRemove:IDisposable[];
+	protected model: editorCommon.IModel;
+	protected listenersToRemove: IDisposable[];
 	protected hasView: boolean;
 
-	protected viewModel:ViewModel;
-	protected cursor:Cursor;
+	protected viewModel: ViewModel;
+	protected cursor: Cursor;
 
 	protected _instantiationService: IInstantiationService;
 	protected _contextKeyService: IContextKeyService;
@@ -103,8 +103,8 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 	/**
 	 * map from "parent" decoration type to live decoration ids.
 	 */
-	private _decorationTypeKeysToIds: {[decorationTypeKey:string]:string[]};
-	private _decorationTypeSubtypes: {[decorationTypeKey:string]:{ [subtype:string]:boolean}};
+	private _decorationTypeKeysToIds: { [decorationTypeKey: string]: string[] };
+	private _decorationTypeSubtypes: { [decorationTypeKey: string]: { [subtype: string]: boolean } };
 
 
 	constructor(
@@ -148,7 +148,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		this._actions = {};
 	}
 
-	protected abstract _createConfiguration(options:editorCommon.ICodeEditorWidgetCreationOptions): CommonEditorConfiguration;
+	protected abstract _createConfiguration(options: editorCommon.ICodeEditorWidgetCreationOptions): CommonEditorConfiguration;
 
 	public getId(): string {
 		return this.getEditorType() + ':' + this.id;
@@ -182,15 +182,15 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		super.dispose();
 	}
 
-	public captureState(...flags:editorCommon.CodeEditorStateFlag[]): editorCommon.ICodeEditorState {
+	public captureState(...flags: editorCommon.CodeEditorStateFlag[]): editorCommon.ICodeEditorState {
 		return new EditorState(this, flags);
 	}
 
-	public invokeWithinContext<T>(fn:(accessor:ServicesAccessor)=>T): T {
+	public invokeWithinContext<T>(fn: (accessor: ServicesAccessor) => T): T {
 		return this._instantiationService.invokeFunction(fn);
 	}
 
-	public updateOptions(newOptions:editorCommon.IEditorOptions): void {
+	public updateOptions(newOptions: editorCommon.IEditorOptions): void {
 		this._configuration.updateOptions(newOptions);
 	}
 
@@ -202,13 +202,13 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		return this._configuration.getRawOptions();
 	}
 
-	public getValue(options:{ preserveBOM:boolean; lineEnding:string; }=null): string {
+	public getValue(options: { preserveBOM: boolean; lineEnding: string; } = null): string {
 		if (this.model) {
-			let preserveBOM:boolean = (options && options.preserveBOM) ? true : false;
+			let preserveBOM: boolean = (options && options.preserveBOM) ? true : false;
 			let eolPreference = editorCommon.EndOfLinePreference.TextDefined;
 			if (options && options.lineEnding && options.lineEnding === '\n') {
 				eolPreference = editorCommon.EndOfLinePreference.LF;
-			} else if (options  && options.lineEnding && options.lineEnding === '\r\n') {
+			} else if (options && options.lineEnding && options.lineEnding === '\r\n') {
 				eolPreference = editorCommon.EndOfLinePreference.CRLF;
 			}
 			return this.model.getValue(eolPreference, preserveBOM);
@@ -216,7 +216,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		return '';
 	}
 
-	public setValue(newValue:string): void {
+	public setValue(newValue: string): void {
 		if (this.model) {
 			this.model.setValue(newValue);
 		}
@@ -226,7 +226,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		return this.model;
 	}
 
-	public setModel(model:editorCommon.IModel = null): void {
+	public setModel(model: editorCommon.IModel = null): void {
 		if (this.model === model) {
 			// Current model is the new model
 			return;
@@ -248,7 +248,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 
 	public abstract getCompletelyVisibleLinesRangeInViewport(): Range;
 
-	public getVisibleColumnFromPosition(rawPosition:editorCommon.IPosition): number {
+	public getVisibleColumnFromPosition(rawPosition: editorCommon.IPosition): number {
 		if (!this.model) {
 			return rawPosition.column;
 		}
@@ -266,7 +266,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		return this.cursor.getPosition().clone();
 	}
 
-	public setPosition(position:editorCommon.IPosition, reveal:boolean = false, revealVerticalInCenter:boolean = false, revealHorizontal:boolean = false): void {
+	public setPosition(position: editorCommon.IPosition, reveal: boolean = false, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = false): void {
 		if (!this.cursor) {
 			return;
 		}
@@ -330,7 +330,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		}, editorCommon.VerticalRevealType.CenterIfOutsideViewport, false);
 	}
 
-	public revealPosition(position: editorCommon.IPosition, revealVerticalInCenter:boolean=false, revealHorizontal:boolean=false): void {
+	public revealPosition(position: editorCommon.IPosition, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = false): void {
 		if (!Position.isIPosition(position)) {
 			throw new Error('Invalid arguments');
 		}
@@ -378,18 +378,18 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 			return null;
 		}
 		let selections = this.cursor.getSelections();
-		let result:Selection[] = [];
+		let result: Selection[] = [];
 		for (let i = 0, len = selections.length; i < len; i++) {
 			result[i] = selections[i].clone();
 		}
 		return result;
 	}
 
-	public setSelection(range:editorCommon.IRange, reveal?:boolean, revealVerticalInCenter?:boolean, revealHorizontal?:boolean): void;
-	public setSelection(editorRange:Range, reveal?:boolean, revealVerticalInCenter?:boolean, revealHorizontal?:boolean): void;
-	public setSelection(selection:editorCommon.ISelection, reveal?:boolean, revealVerticalInCenter?:boolean, revealHorizontal?:boolean): void;
-	public setSelection(editorSelection:Selection, reveal?:boolean, revealVerticalInCenter?:boolean, revealHorizontal?:boolean): void;
-	public setSelection(something:any, reveal:boolean = false, revealVerticalInCenter:boolean = false, revealHorizontal:boolean = false): void {
+	public setSelection(range: editorCommon.IRange, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void;
+	public setSelection(editorRange: Range, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void;
+	public setSelection(selection: editorCommon.ISelection, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void;
+	public setSelection(editorSelection: Selection, reveal?: boolean, revealVerticalInCenter?: boolean, revealHorizontal?: boolean): void;
+	public setSelection(something: any, reveal: boolean = false, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = false): void {
 		let isSelection = Selection.isISelection(something);
 		let isRange = Range.isIRange(something);
 
@@ -401,7 +401,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 			this._setSelectionImpl(<editorCommon.ISelection>something, reveal, revealVerticalInCenter, revealHorizontal);
 		} else if (isRange) {
 			// act as if it was an IRange
-			let selection:editorCommon.ISelection = {
+			let selection: editorCommon.ISelection = {
 				selectionStartLineNumber: something.startLineNumber,
 				selectionStartColumn: something.startColumn,
 				positionLineNumber: something.endLineNumber,
@@ -411,7 +411,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		}
 	}
 
-	private _setSelectionImpl(sel:editorCommon.ISelection, reveal:boolean, revealVerticalInCenter:boolean, revealHorizontal:boolean): void {
+	private _setSelectionImpl(sel: editorCommon.ISelection, reveal: boolean, revealVerticalInCenter: boolean, revealHorizontal: boolean): void {
 		if (!this.cursor) {
 			return;
 		}
@@ -449,7 +449,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		}, editorCommon.VerticalRevealType.CenterIfOutsideViewport, false);
 	}
 
-	public revealRange(range: editorCommon.IRange, revealVerticalInCenter:boolean = false, revealHorizontal:boolean = true): void {
+	public revealRange(range: editorCommon.IRange, revealVerticalInCenter: boolean = false, revealHorizontal: boolean = true): void {
 		this._sendRevealRange(range, revealVerticalInCenter ? editorCommon.VerticalRevealType.Center : editorCommon.VerticalRevealType.Simple, revealHorizontal);
 	}
 
@@ -482,12 +482,12 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 	public abstract getScrollHeight(): number;
 	public abstract getScrollTop(): number;
 
-	public abstract setScrollLeft(newScrollLeft:number): void;
-	public abstract setScrollTop(newScrollTop:number): void;
+	public abstract setScrollLeft(newScrollLeft: number): void;
+	public abstract setScrollTop(newScrollTop: number): void;
 	public abstract setScrollPosition(position: editorCommon.INewScrollPosition): void;
 
 	public abstract saveViewState(): editorCommon.ICodeEditorViewState;
-	public abstract restoreViewState(state:editorCommon.IEditorViewState): void;
+	public abstract restoreViewState(state: editorCommon.IEditorViewState): void;
 
 	public onVisible(): void {
 	}
@@ -495,7 +495,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 	public onHide(): void {
 	}
 
-	public abstract layout(dimension?:editorCommon.IDimension): void;
+	public abstract layout(dimension?: editorCommon.IDimension): void;
 
 	public abstract focus(): void;
 	public abstract isFocused(): boolean;
@@ -505,7 +505,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		return <T>(this._contributions[id] || null);
 	}
 
-	public addAction(descriptor:editorCommon.IActionDescriptor): void {
+	public addAction(descriptor: editorCommon.IActionDescriptor): void {
 		if (
 			(typeof descriptor.id !== 'string')
 			|| (typeof descriptor.label !== 'string')
@@ -560,11 +560,11 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		return result;
 	}
 
-	public getAction(id:string): editorCommon.IEditorAction {
+	public getAction(id: string): editorCommon.IEditorAction {
 		return this._actions[id] || null;
 	}
 
-	public trigger(source:string, handlerId:string, payload:any): void {
+	public trigger(source: string, handlerId: string, payload: any): void {
 		payload = payload || {};
 		let candidate = this.getAction(handlerId);
 		if (candidate !== null) {
@@ -621,9 +621,9 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		this.cursor.trigger(source, editorCommon.Handler.ExecuteCommands, commands);
 	}
 
-	public changeDecorations(callback:(changeAccessor:editorCommon.IModelDecorationsChangeAccessor)=>any): any {
+	public changeDecorations(callback: (changeAccessor: editorCommon.IModelDecorationsChangeAccessor) => any): any {
 		if (!this.model) {
-//			console.warn('Cannot change decorations on editor that is not attached to a model');
+			//			console.warn('Cannot change decorations on editor that is not attached to a model');
 			// callback will not be called
 			return null;
 		}
@@ -637,7 +637,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		return this.model.getLineDecorations(lineNumber, this.id, this._configuration.editor.readOnly);
 	}
 
-	public deltaDecorations(oldDecorations:string[], newDecorations:editorCommon.IModelDeltaDecoration[]): string[] {
+	public deltaDecorations(oldDecorations: string[], newDecorations: editorCommon.IModelDeltaDecoration[]): string[] {
 		if (!this.model) {
 			return [];
 		}
@@ -649,13 +649,13 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		return this.model.deltaDecorations(oldDecorations, newDecorations, this.id);
 	}
 
-	public setDecorations(decorationTypeKey: string, decorationOptions:editorCommon.IDecorationOptions[]): void {
+	public setDecorations(decorationTypeKey: string, decorationOptions: editorCommon.IDecorationOptions[]): void {
 
-		let newDecorationsSubTypes: {[key:string]:boolean}= {};
+		let newDecorationsSubTypes: { [key: string]: boolean } = {};
 		let oldDecorationsSubTypes = this._decorationTypeSubtypes[decorationTypeKey] || {};
 		this._decorationTypeSubtypes[decorationTypeKey] = newDecorationsSubTypes;
 
-		let newModelDecorations :editorCommon.IModelDeltaDecoration[] = [];
+		let newModelDecorations: editorCommon.IModelDeltaDecoration[] = [];
 
 		for (let decorationOption of decorationOptions) {
 			let typeKey = decorationTypeKey;
@@ -705,7 +705,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		}
 	}
 
-	public addTypingListener(character:string, callback: () => void): IDisposable {
+	public addTypingListener(character: string, callback: () => void): IDisposable {
 		if (!this.cursor) {
 			return {
 				dispose: () => {
@@ -727,7 +727,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		return this._configuration.editor.layoutInfo;
 	}
 
-	protected _attachModel(model:editorCommon.IModel): void {
+	protected _attachModel(model: editorCommon.IModel): void {
 		this.model = model ? model : null;
 		this.listenersToRemove = [];
 		this.viewModel = null;
@@ -762,7 +762,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 				() => this.getCenteredRangeInViewport()
 			);
 
-			let viewModelHelper:IViewModelHelper = {
+			let viewModelHelper: IViewModelHelper = {
 				viewModel: this.viewModel,
 				getCurrentCompletelyVisibleViewLinesRangeInViewport: () => {
 					return this.viewModel.convertModelRangeToViewRange(this.getCompletelyVisibleLinesRangeInViewport());
@@ -770,25 +770,25 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 				getCurrentCompletelyVisibleModelLinesRangeInViewport: () => {
 					return this.getCompletelyVisibleLinesRangeInViewport();
 				},
-				convertModelPositionToViewPosition: (lineNumber:number, column:number) => {
+				convertModelPositionToViewPosition: (lineNumber: number, column: number) => {
 					return this.viewModel.convertModelPositionToViewPosition(lineNumber, column);
 				},
-				convertModelRangeToViewRange: (modelRange:Range) => {
+				convertModelRangeToViewRange: (modelRange: Range) => {
 					return this.viewModel.convertModelRangeToViewRange(modelRange);
 				},
-				convertViewToModelPosition: (lineNumber:number, column:number) => {
+				convertViewToModelPosition: (lineNumber: number, column: number) => {
 					return this.viewModel.convertViewPositionToModelPosition(lineNumber, column);
 				},
-				convertViewSelectionToModelSelection: (viewSelection:editorCommon.ISelection) => {
+				convertViewSelectionToModelSelection: (viewSelection: editorCommon.ISelection) => {
 					return this.viewModel.convertViewSelectionToModelSelection(viewSelection);
 				},
-				convertViewRangeToModelRange: (viewRange:Range) => {
+				convertViewRangeToModelRange: (viewRange: Range) => {
 					return this.viewModel.convertViewRangeToModelRange(viewRange);
 				},
-				validateViewPosition: (viewLineNumber:number, viewColumn:number, modelPosition:Position) => {
+				validateViewPosition: (viewLineNumber: number, viewColumn: number, modelPosition: Position) => {
 					return this.viewModel.validateViewPosition(viewLineNumber, viewColumn, modelPosition);
 				},
-				validateViewRange: (viewStartLineNumber:number, viewStartColumn:number, viewEndLineNumber:number, viewEndColumn:number, modelRange:Range) => {
+				validateViewRange: (viewStartLineNumber: number, viewStartColumn: number, viewEndLineNumber: number, viewEndColumn: number, modelRange: Range) => {
 					return this.viewModel.validateViewRange(viewStartLineNumber, viewStartColumn, viewEndLineNumber, viewEndColumn, modelRange);
 				}
 			};
@@ -858,7 +858,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 							break;
 
 						default:
-							// console.warn("Unhandled view event: ", e);
+						// console.warn("Unhandled view event: ", e);
 					}
 				}
 			}));
@@ -896,7 +896,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 							break;
 
 						default:
-							// console.warn("Unhandled model event: ", e);
+						// console.warn("Unhandled model event: ", e);
 					}
 				}
 			}));
@@ -916,7 +916,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 							break;
 
 						default:
-							// console.warn("Unhandled cursor event: ", e);
+						// console.warn("Unhandled cursor event: ", e);
 					}
 				}
 			}));
@@ -931,7 +931,7 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 
 	protected abstract _getViewInternalEventBus(): IEventEmitter;
 
-	protected _postDetachModelCleanup(detachedModel:editorCommon.IModel): void {
+	protected _postDetachModelCleanup(detachedModel: editorCommon.IModel): void {
 		if (detachedModel) {
 			this._decorationTypeKeysToIds = {};
 			if (this._decorationTypeSubtypes) {
@@ -974,14 +974,14 @@ export abstract class CommonCodeEditor extends EventEmitter implements editorCom
 		return result;
 	}
 
-	protected abstract _registerDecorationType(key:string, options: editorCommon.IDecorationRenderOptions, parentTypeKey?: string): void;
-	protected abstract _removeDecorationType(key:string): void;
-	protected abstract _resolveDecorationOptions(typeKey:string, writable: boolean): editorCommon.IModelDecorationOptions;
+	protected abstract _registerDecorationType(key: string, options: editorCommon.IDecorationRenderOptions, parentTypeKey?: string): void;
+	protected abstract _removeDecorationType(key: string): void;
+	protected abstract _resolveDecorationOptions(typeKey: string, writable: boolean): editorCommon.IModelDecorationOptions;
 }
 
 class EditorContextKeysManager extends Disposable {
 
-	private _editor:CommonCodeEditor;
+	private _editor: CommonCodeEditor;
 
 	private _editorId: IContextKey<string>;
 	private _editorFocus: IContextKey<boolean>;
@@ -992,7 +992,7 @@ class EditorContextKeysManager extends Disposable {
 	private _hasNonEmptySelection: IContextKey<boolean>;
 
 	constructor(
-		editor:CommonCodeEditor,
+		editor: CommonCodeEditor,
 		contextKeyService: IContextKeyService
 	) {
 		super();
diff --git a/src/vs/editor/common/config/commonEditorConfig.ts b/src/vs/editor/common/config/commonEditorConfig.ts
index b51b32009713d..cebf7711c9e83 100644
--- a/src/vs/editor/common/config/commonEditorConfig.ts
+++ b/src/vs/editor/common/config/commonEditorConfig.ts
@@ -5,16 +5,16 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import Event, {Emitter} from 'vs/base/common/event';
-import {Disposable} from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
+import { Disposable } from 'vs/base/common/lifecycle';
 import * as objects from 'vs/base/common/objects';
 import * as platform from 'vs/base/common/platform';
-import {Extensions, IConfigurationRegistry, IConfigurationNode} from 'vs/platform/configuration/common/configurationRegistry';
-import {Registry} from 'vs/platform/platform';
-import {DefaultConfig, DEFAULT_INDENTATION, DEFAULT_TRIM_AUTO_WHITESPACE, GOLDEN_LINE_HEIGHT_RATIO} from 'vs/editor/common/config/defaultConfig';
+import { Extensions, IConfigurationRegistry, IConfigurationNode } from 'vs/platform/configuration/common/configurationRegistry';
+import { Registry } from 'vs/platform/platform';
+import { DefaultConfig, DEFAULT_INDENTATION, DEFAULT_TRIM_AUTO_WHITESPACE, GOLDEN_LINE_HEIGHT_RATIO } from 'vs/editor/common/config/defaultConfig';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {EditorLayoutProvider} from 'vs/editor/common/viewLayout/editorLayoutProvider';
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
+import { EditorLayoutProvider } from 'vs/editor/common/viewLayout/editorLayoutProvider';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
 
 // TODO@Alex: investigate if it is better to stick to 31 bits (see smi = SMall Integer)
 // See https://thibaultlaurens.github.io/javascript/2013/04/29/how-the-v8-engine-works/#tagged-values
@@ -28,9 +28,9 @@ const MAX_SAFE_INT = 0x7fffffff;
 const MIN_SAFE_INT = -0x80000000;
 
 export interface IEditorZoom {
-	onDidChangeZoomLevel:Event<number>;
+	onDidChangeZoomLevel: Event<number>;
 	getZoomLevel(): number;
-	setZoomLevel(zoomLevel:number): void;
+	setZoomLevel(zoomLevel: number): void;
 }
 
 export const EditorZoom: IEditorZoom = new class {
@@ -38,13 +38,13 @@ export const EditorZoom: IEditorZoom = new class {
 	private _zoomLevel: number = 0;
 
 	private _onDidChangeZoomLevel: Emitter<number> = new Emitter<number>();
-	public onDidChangeZoomLevel:Event<number> = this._onDidChangeZoomLevel.event;
+	public onDidChangeZoomLevel: Event<number> = this._onDidChangeZoomLevel.event;
 
 	public getZoomLevel(): number {
 		return this._zoomLevel;
 	}
 
-	public setZoomLevel(zoomLevel:number): void {
+	public setZoomLevel(zoomLevel: number): void {
 		zoomLevel = Math.min(Math.max(-9, zoomLevel), 9);
 		if (this._zoomLevel === zoomLevel) {
 			return;
@@ -62,22 +62,22 @@ export const EditorZoom: IEditorZoom = new class {
  * Defaults to false.
  */
 export interface ITabFocus {
-	onDidChangeTabFocus:Event<boolean>;
+	onDidChangeTabFocus: Event<boolean>;
 	getTabFocusMode(): boolean;
-	setTabFocusMode(tabFocusMode:boolean): void;
+	setTabFocusMode(tabFocusMode: boolean): void;
 }
 
 export const TabFocus: ITabFocus = new class {
 	private _tabFocus: boolean = false;
 
 	private _onDidChangeTabFocus: Emitter<boolean> = new Emitter<boolean>();
-	public onDidChangeTabFocus:Event<boolean> = this._onDidChangeTabFocus.event;
+	public onDidChangeTabFocus: Event<boolean> = this._onDidChangeTabFocus.event;
 
 	public getTabFocusMode(): boolean {
 		return this._tabFocus;
 	}
 
-	public setTabFocusMode(tabFocusMode:boolean): void {
+	public setTabFocusMode(tabFocusMode: boolean): void {
 		if (this._tabFocus === tabFocusMode) {
 			return;
 		}
@@ -100,7 +100,7 @@ export class GlobalScreenReaderNVDA {
 		return this._value;
 	}
 
-	public static setValue(value:boolean): void {
+	public static setValue(value: boolean): void {
 		if (this._value === value) {
 			return;
 		}
@@ -111,9 +111,9 @@ export class GlobalScreenReaderNVDA {
 
 export class ConfigurationWithDefaults {
 
-	private _editor:editorCommon.IEditorOptions;
+	private _editor: editorCommon.IEditorOptions;
 
-	constructor(options:editorCommon.IEditorOptions) {
+	constructor(options: editorCommon.IEditorOptions) {
 		this._editor = <editorCommon.IEditorOptions>objects.clone(DefaultConfig.editor);
 
 		this._mergeOptionsIn(options);
@@ -123,11 +123,11 @@ export class ConfigurationWithDefaults {
 		return this._editor;
 	}
 
-	private _mergeOptionsIn(newOptions:editorCommon.IEditorOptions): void {
+	private _mergeOptionsIn(newOptions: editorCommon.IEditorOptions): void {
 		this._editor = objects.mixin(this._editor, newOptions || {});
 	}
 
-	public updateOptions(newOptions:editorCommon.IEditorOptions): void {
+	public updateOptions(newOptions: editorCommon.IEditorOptions): void {
 		// Apply new options
 		this._mergeOptionsIn(newOptions);
 	}
@@ -139,11 +139,11 @@ class InternalEditorOptionsHelper {
 	}
 
 	public static createInternalEditorOptions(
-		outerWidth:number, outerHeight:number,
-		opts:editorCommon.IEditorOptions,
+		outerWidth: number, outerHeight: number,
+		opts: editorCommon.IEditorOptions,
 		fontInfo: editorCommon.FontInfo,
-		editorClassName:string,
-		isDominatedByLongLines:boolean,
+		editorClassName: string,
+		isDominatedByLongLines: boolean,
 		maxLineNumber: number,
 		canUseTranslate3d: boolean
 	): editorCommon.InternalEditorOptions {
@@ -151,7 +151,7 @@ class InternalEditorOptionsHelper {
 		let wrappingColumn = toInteger(opts.wrappingColumn, -1);
 		let wordWrap = toBoolean(opts.wordWrap);
 
-		let stopRenderingLineAfter:number;
+		let stopRenderingLineAfter: number;
 		if (typeof opts.stopRenderingLineAfter !== 'undefined') {
 			stopRenderingLineAfter = toInteger(opts.stopRenderingLineAfter, -1);
 		} else if (wrappingColumn >= 0) {
@@ -171,7 +171,7 @@ class InternalEditorOptionsHelper {
 			lineDecorationsWidth += 16;
 		}
 		let renderLineNumbers: boolean;
-		let renderCustomLineNumbers: (lineNumber:number)=>string;
+		let renderCustomLineNumbers: (lineNumber: number) => string;
 		let renderRelativeLineNumbers: boolean;
 
 		// Compatibility with old true or false values
@@ -334,7 +334,7 @@ class InternalEditorOptionsHelper {
 		});
 	}
 
-	private static _sanitizeScrollbarOpts(raw:editorCommon.IEditorScrollbarOptions, mouseWheelScrollSensitivity:number): editorCommon.InternalEditorScrollbarOptions {
+	private static _sanitizeScrollbarOpts(raw: editorCommon.IEditorScrollbarOptions, mouseWheelScrollSensitivity: number): editorCommon.InternalEditorScrollbarOptions {
 
 		var visibilityFromString = (visibility: string) => {
 			switch (visibility) {
@@ -371,11 +371,11 @@ class InternalEditorOptionsHelper {
 	}
 }
 
-function toBoolean(value:any): boolean {
+function toBoolean(value: any): boolean {
 	return value === 'false' ? false : Boolean(value);
 }
 
-function toBooleanWithDefault(value:any, defaultValue:boolean): boolean {
+function toBooleanWithDefault(value: any, defaultValue: boolean): boolean {
 	if (typeof value === 'undefined') {
 		return defaultValue;
 	}
@@ -390,7 +390,7 @@ function toFloat(source: any, defaultValue: number): number {
 	return r;
 }
 
-function toInteger(source:any, minimum:number = MIN_SAFE_INT, maximum:number = MAX_SAFE_INT): number {
+function toInteger(source: any, minimum: number = MIN_SAFE_INT, maximum: number = MAX_SAFE_INT): number {
 	let r = parseInt(source, 10);
 	if (isNaN(r)) {
 		r = 0;
@@ -400,7 +400,7 @@ function toInteger(source:any, minimum:number = MIN_SAFE_INT, maximum:number = M
 	return r | 0;
 }
 
-function toSortedIntegerArray(source:any): number[] {
+function toSortedIntegerArray(source: any): number[] {
 	if (!Array.isArray(source)) {
 		return [];
 	}
@@ -410,7 +410,7 @@ function toSortedIntegerArray(source:any): number[] {
 	return r;
 }
 
-function wrappingIndentFromString(wrappingIndent:string): editorCommon.WrappingIndent {
+function wrappingIndentFromString(wrappingIndent: string): editorCommon.WrappingIndent {
 	if (wrappingIndent === 'indent') {
 		return editorCommon.WrappingIndent.Indent;
 	} else if (wrappingIndent === 'same') {
@@ -420,7 +420,7 @@ function wrappingIndentFromString(wrappingIndent:string): editorCommon.WrappingI
 	}
 }
 
-function cursorStyleFromString(cursorStyle:string): editorCommon.TextEditorCursorStyle {
+function cursorStyleFromString(cursorStyle: string): editorCommon.TextEditorCursorStyle {
 	if (cursorStyle === 'line') {
 		return editorCommon.TextEditorCursorStyle.Line;
 	} else if (cursorStyle === 'block') {
@@ -448,7 +448,7 @@ function cursorBlinkingStyleFromString(cursorBlinkingStyle: string): editorCommo
 	return editorCommon.TextEditorCursorBlinkingStyle.Blink;
 }
 
-function toIntegerWithDefault(source:any, defaultValue:number): number {
+function toIntegerWithDefault(source: any, defaultValue: number): number {
 	if (typeof source === 'undefined') {
 		return defaultValue;
 	}
@@ -457,7 +457,7 @@ function toIntegerWithDefault(source:any, defaultValue:number): number {
 
 export interface IElementSizeObserver {
 	startObserving(): void;
-	observe(dimension?:editorCommon.IDimension): void;
+	observe(dimension?: editorCommon.IDimension): void;
 	dispose(): void;
 	getWidth(): number;
 	getHeight(): number;
@@ -465,18 +465,18 @@ export interface IElementSizeObserver {
 
 export abstract class CommonEditorConfiguration extends Disposable implements editorCommon.IConfiguration {
 
-	public editor:editorCommon.InternalEditorOptions;
-	public editorClone:editorCommon.InternalEditorOptions;
+	public editor: editorCommon.InternalEditorOptions;
+	public editorClone: editorCommon.InternalEditorOptions;
 
-	protected _configWithDefaults:ConfigurationWithDefaults;
+	protected _configWithDefaults: ConfigurationWithDefaults;
 	protected _elementSizeObserver: IElementSizeObserver;
-	private _isDominatedByLongLines:boolean;
-	private _maxLineNumber:number;
+	private _isDominatedByLongLines: boolean;
+	private _maxLineNumber: number;
 
 	private _onDidChange = this._register(new Emitter<editorCommon.IConfigurationChangedEvent>());
 	public onDidChange: Event<editorCommon.IConfigurationChangedEvent> = this._onDidChange.event;
 
-	constructor(options:editorCommon.IEditorOptions, elementSizeObserver: IElementSizeObserver = null) {
+	constructor(options: editorCommon.IEditorOptions, elementSizeObserver: IElementSizeObserver = null) {
 		super();
 		this._configWithDefaults = new ConfigurationWithDefaults(options);
 		this._elementSizeObserver = elementSizeObserver;
@@ -496,7 +496,7 @@ export abstract class CommonEditorConfiguration extends Disposable implements ed
 		this._setOptions(this._computeInternalOptions());
 	}
 
-	private _setOptions(newOptions:editorCommon.InternalEditorOptions): void {
+	private _setOptions(newOptions: editorCommon.InternalEditorOptions): void {
 		if (this.editor && this.editor.equals(newOptions)) {
 			return;
 		}
@@ -555,22 +555,22 @@ export abstract class CommonEditorConfiguration extends Disposable implements ed
 		);
 	}
 
-	public updateOptions(newOptions:editorCommon.IEditorOptions): void {
+	public updateOptions(newOptions: editorCommon.IEditorOptions): void {
 		this._configWithDefaults.updateOptions(newOptions);
 		this._recomputeOptions();
 	}
 
-	public setIsDominatedByLongLines(isDominatedByLongLines:boolean): void {
+	public setIsDominatedByLongLines(isDominatedByLongLines: boolean): void {
 		this._isDominatedByLongLines = isDominatedByLongLines;
 		this._recomputeOptions();
 	}
 
-	public setMaxLineNumber(maxLineNumber:number): void {
+	public setMaxLineNumber(maxLineNumber: number): void {
 		this._maxLineNumber = maxLineNumber;
 		this._recomputeOptions();
 	}
 
-	protected abstract _getEditorClassName(theme:string, fontLigatures:boolean): string;
+	protected abstract _getEditorClassName(theme: string, fontLigatures: boolean): string;
 
 	protected abstract getOuterWidth(): number;
 
@@ -624,40 +624,40 @@ export class EditorConfiguration {
 }
 
 let configurationRegistry = <IConfigurationRegistry>Registry.as(Extensions.Configuration);
-let editorConfiguration:IConfigurationNode = {
+let editorConfiguration: IConfigurationNode = {
 	'id': 'editor',
 	'order': 5,
 	'type': 'object',
 	'title': nls.localize('editorConfigurationTitle', "Editor"),
-	'properties' : {
-		'editor.fontFamily' : {
+	'properties': {
+		'editor.fontFamily': {
 			'type': 'string',
 			'default': DefaultConfig.editor.fontFamily,
 			'description': nls.localize('fontFamily', "Controls the font family.")
 		},
-		'editor.fontWeight' : {
+		'editor.fontWeight': {
 			'type': 'string',
 			'enum': ['normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900'],
 			'default': DefaultConfig.editor.fontWeight,
 			'description': nls.localize('fontWeight', "Controls the font weight.")
 		},
-		'editor.fontSize' : {
+		'editor.fontSize': {
 			'type': 'number',
 			'default': DefaultConfig.editor.fontSize,
 			'description': nls.localize('fontSize', "Controls the font size in pixels.")
 		},
-		'editor.lineHeight' : {
+		'editor.lineHeight': {
 			'type': 'number',
 			'default': DefaultConfig.editor.lineHeight,
 			'description': nls.localize('lineHeight', "Controls the line height. Use 0 to compute the lineHeight from the fontSize.")
 		},
-		'editor.lineNumbers' : {
+		'editor.lineNumbers': {
 			'type': 'string',
 			'enum': ['off', 'on', 'relative'],
 			'default': DefaultConfig.editor.lineNumbers,
 			'description': nls.localize('lineNumbers', "Controls visibility of line numbers")
 		},
-		'editor.rulers' : {
+		'editor.rulers': {
 			'type': 'array',
 			'items': {
 				'type': 'number'
@@ -665,93 +665,93 @@ let editorConfiguration:IConfigurationNode = {
 			'default': DefaultConfig.editor.rulers,
 			'description': nls.localize('rulers', "Columns at which to show vertical rulers")
 		},
-		'editor.wordSeparators' : {
+		'editor.wordSeparators': {
 			'type': 'string',
 			'default': DefaultConfig.editor.wordSeparators,
 			'description': nls.localize('wordSeparators', "Characters that will be used as word separators when doing word related navigations or operations")
 		},
-		'editor.tabSize' : {
+		'editor.tabSize': {
 			'type': 'number',
 			'default': DEFAULT_INDENTATION.tabSize,
 			'minimum': 1,
 			'description': nls.localize('tabSize', "The number of spaces a tab is equal to. This setting is overriden based on the file contents when `editor.detectIndentation` is on."),
 			'errorMessage': nls.localize('tabSize.errorMessage', "Expected 'number'. Note that the value \"auto\" has been replaced by the `editor.detectIndentation` setting.")
 		},
-		'editor.insertSpaces' : {
+		'editor.insertSpaces': {
 			'type': 'boolean',
 			'default': DEFAULT_INDENTATION.insertSpaces,
 			'description': nls.localize('insertSpaces', "Insert spaces when pressing Tab. This setting is overriden based on the file contents when `editor.detectIndentation` is on."),
 			'errorMessage': nls.localize('insertSpaces.errorMessage', "Expected 'boolean'. Note that the value \"auto\" has been replaced by the `editor.detectIndentation` setting.")
 		},
-		'editor.detectIndentation' : {
+		'editor.detectIndentation': {
 			'type': 'boolean',
 			'default': DEFAULT_INDENTATION.detectIndentation,
 			'description': nls.localize('detectIndentation', "When opening a file, `editor.tabSize` and `editor.insertSpaces` will be detected based on the file contents.")
 		},
-		'editor.roundedSelection' : {
+		'editor.roundedSelection': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.roundedSelection,
 			'description': nls.localize('roundedSelection', "Controls if selections have rounded corners")
 		},
-		'editor.scrollBeyondLastLine' : {
+		'editor.scrollBeyondLastLine': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.scrollBeyondLastLine,
 			'description': nls.localize('scrollBeyondLastLine', "Controls if the editor will scroll beyond the last line")
 		},
-		'editor.wrappingColumn' : {
+		'editor.wrappingColumn': {
 			'type': 'integer',
 			'default': DefaultConfig.editor.wrappingColumn,
 			'minimum': -1,
 			'description': nls.localize('wrappingColumn', "Controls after how many characters the editor will wrap to the next line. Setting this to 0 turns on viewport width wrapping (word wrapping). Setting this to -1 forces the editor to never wrap.")
 		},
-		'editor.wordWrap' : {
+		'editor.wordWrap': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.wordWrap,
 			'description': nls.localize('wordWrap', "Controls if lines should wrap. The lines will wrap at min(editor.wrappingColumn, viewportWidthInColumns).")
 		},
-		'editor.wrappingIndent' : {
+		'editor.wrappingIndent': {
 			'type': 'string',
 			'enum': ['none', 'same', 'indent'],
 			'default': DefaultConfig.editor.wrappingIndent,
 			'description': nls.localize('wrappingIndent', "Controls the indentation of wrapped lines. Can be one of 'none', 'same' or 'indent'.")
 		},
-		'editor.mouseWheelScrollSensitivity' : {
+		'editor.mouseWheelScrollSensitivity': {
 			'type': 'number',
 			'default': DefaultConfig.editor.mouseWheelScrollSensitivity,
 			'description': nls.localize('mouseWheelScrollSensitivity', "A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events")
 		},
-		'editor.quickSuggestions' : {
+		'editor.quickSuggestions': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.quickSuggestions,
 			'description': nls.localize('quickSuggestions', "Controls if quick suggestions should show up or not while typing")
 		},
-		'editor.quickSuggestionsDelay' : {
+		'editor.quickSuggestionsDelay': {
 			'type': 'integer',
 			'default': DefaultConfig.editor.quickSuggestionsDelay,
 			'minimum': 0,
 			'description': nls.localize('quickSuggestionsDelay', "Controls the delay in ms after which quick suggestions will show up")
 		},
-		'editor.parameterHints' : {
+		'editor.parameterHints': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.parameterHints,
 			'description': nls.localize('parameterHints', "Enables parameter hints")
 		},
-		'editor.autoClosingBrackets' : {
+		'editor.autoClosingBrackets': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.autoClosingBrackets,
 			'description': nls.localize('autoClosingBrackets', "Controls if the editor should automatically close brackets after opening them")
 		},
-		'editor.formatOnType' : {
+		'editor.formatOnType': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.formatOnType,
 			'description': nls.localize('formatOnType', "Controls if the editor should automatically format the line after typing")
 		},
-		'editor.suggestOnTriggerCharacters' : {
+		'editor.suggestOnTriggerCharacters': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.suggestOnTriggerCharacters,
 			'description': nls.localize('suggestOnTriggerCharacters', "Controls if suggestions should automatically show up when typing trigger characters")
 		},
-		'editor.acceptSuggestionOnEnter' : {
+		'editor.acceptSuggestionOnEnter': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.acceptSuggestionOnEnter,
 			'description': nls.localize('acceptSuggestionOnEnter', "Controls if suggestions should be accepted 'Enter' - in addition to 'Tab'. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")
@@ -767,13 +767,13 @@ let editorConfiguration:IConfigurationNode = {
 			'default': DefaultConfig.editor.wordBasedSuggestions,
 			'description': nls.localize('wordBasedSuggestions', "Enable word based suggestions.")
 		},
-		'editor.suggestFontSize' : {
+		'editor.suggestFontSize': {
 			'type': 'integer',
 			'default': 0,
 			'minimum': 0,
 			'description': nls.localize('suggestFontSize', "Font size for the suggest widget")
 		},
-		'editor.suggestLineHeight' : {
+		'editor.suggestLineHeight': {
 			'type': 'integer',
 			'default': 0,
 			'minimum': 0,
@@ -784,17 +784,17 @@ let editorConfiguration:IConfigurationNode = {
 			'default': DefaultConfig.editor.tabCompletion,
 			'description': nls.localize('tabCompletion', "Insert snippets when their prefix matches. Works best when 'quickSuggestions' aren't enabled.")
 		},
-		'editor.selectionHighlight' : {
+		'editor.selectionHighlight': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.selectionHighlight,
 			'description': nls.localize('selectionHighlight', "Controls whether the editor should highlight similar matches to the selection")
 		},
-		'editor.overviewRulerLanes' : {
+		'editor.overviewRulerLanes': {
 			'type': 'integer',
 			'default': 3,
 			'description': nls.localize('overviewRulerLanes', "Controls the number of decorations that can show up at the same position in the overview ruler")
 		},
-		'editor.cursorBlinking' : {
+		'editor.cursorBlinking': {
 			'type': 'string',
 			'enum': ['blink', 'smooth', 'phase', 'expand', 'solid'],
 			'default': DefaultConfig.editor.cursorBlinking,
@@ -805,18 +805,18 @@ let editorConfiguration:IConfigurationNode = {
 			'default': DefaultConfig.editor.mouseWheelZoom,
 			'description': nls.localize('mouseWheelZoom', "Zoom the font of the editor when using mouse wheel and holding Ctrl")
 		},
-		'editor.cursorStyle' : {
+		'editor.cursorStyle': {
 			'type': 'string',
 			'enum': ['block', 'line', 'underline'],
 			'default': DefaultConfig.editor.cursorStyle,
 			'description': nls.localize('cursorStyle', "Controls the cursor style, accepted values are 'block', 'line' and 'underline'")
 		},
-		'editor.fontLigatures' : {
+		'editor.fontLigatures': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.fontLigatures,
 			'description': nls.localize('fontLigatures', "Enables font ligatures")
 		},
-		'editor.hideCursorInOverviewRuler' : {
+		'editor.hideCursorInOverviewRuler': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.hideCursorInOverviewRuler,
 			'description': nls.localize('hideCursorInOverviewRuler', "Controls if the cursor should be hidden in the overview ruler.")
@@ -842,37 +842,37 @@ let editorConfiguration:IConfigurationNode = {
 			default: DefaultConfig.editor.renderLineHighlight,
 			description: nls.localize('renderLineHighlight', "Controls whether the editor should render the current line highlight")
 		},
-		'editor.codeLens' : {
+		'editor.codeLens': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.codeLens,
 			'description': nls.localize('codeLens', "Controls if the editor shows code lenses")
 		},
-		'editor.folding' : {
+		'editor.folding': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.folding,
 			'description': nls.localize('folding', "Controls whether the editor has code folding enabled")
 		},
-		'editor.useTabStops' : {
+		'editor.useTabStops': {
 			'type': 'boolean',
 			'default': DefaultConfig.editor.useTabStops,
 			'description': nls.localize('useTabStops', "Inserting and deleting whitespace follows tab stops")
 		},
-		'editor.trimAutoWhitespace' : {
+		'editor.trimAutoWhitespace': {
 			'type': 'boolean',
 			'default': DEFAULT_TRIM_AUTO_WHITESPACE,
 			'description': nls.localize('trimAutoWhitespace', "Remove trailing auto inserted whitespace")
 		},
-		'editor.stablePeek' : {
+		'editor.stablePeek': {
 			'type': 'boolean',
 			'default': false,
 			'description': nls.localize('stablePeek', "Keep peek editors open even when double clicking their content or when hitting Escape.")
 		},
-		'diffEditor.renderSideBySide' : {
+		'diffEditor.renderSideBySide': {
 			'type': 'boolean',
 			'default': true,
 			'description': nls.localize('sideBySide', "Controls if the diff editor shows the diff side by side or inline")
 		},
-		'diffEditor.ignoreTrimWhitespace' : {
+		'diffEditor.ignoreTrimWhitespace': {
 			'type': 'boolean',
 			'default': true,
 			'description': nls.localize('ignoreTrimWhitespace', "Controls if the diff editor shows changes in leading or trailing whitespace as diffs")
diff --git a/src/vs/editor/common/config/config.ts b/src/vs/editor/common/config/config.ts
index 3316acb37351f..b4195b230088c 100644
--- a/src/vs/editor/common/config/config.ts
+++ b/src/vs/editor/common/config/config.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {IEditorService} from 'vs/platform/editor/common/editor';
-import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
-import {IKeybindings} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKeyService, ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
-import {ICommandAndKeybindingRule, KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { IEditorService } from 'vs/platform/editor/common/editor';
+import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
+import { IKeybindings } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKeyService, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
+import { ICommandAndKeybindingRule, KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ICodeEditorService, getCodeEditor} from 'vs/editor/common/services/codeEditorService';
-import {CommandsRegistry, ICommandHandler, ICommandHandlerDescription} from 'vs/platform/commands/common/commands';
+import { ICodeEditorService, getCodeEditor } from 'vs/editor/common/services/codeEditorService';
+import { CommandsRegistry, ICommandHandler, ICommandHandlerDescription } from 'vs/platform/commands/common/commands';
 
 import H = editorCommon.Handler;
 import D = editorCommon.CommandDescription;
@@ -39,16 +39,16 @@ export abstract class Command {
 	private kbOpts: ICommandKeybindingsOptions;
 	private description: ICommandHandlerDescription;
 
-	constructor(opts:ICommandOptions) {
+	constructor(opts: ICommandOptions) {
 		this.id = opts.id;
 		this.precondition = opts.precondition;
 		this.kbOpts = opts.kbOpts;
 		this.description = opts.description;
 	}
 
-	public abstract runCommand(accessor:ServicesAccessor, args: any): void | TPromise<void>;
+	public abstract runCommand(accessor: ServicesAccessor, args: any): void | TPromise<void>;
 
-	public toCommandAndKeybindingRule(defaultWeight:number): ICommandAndKeybindingRule {
+	public toCommandAndKeybindingRule(defaultWeight: number): ICommandAndKeybindingRule {
 		const kbOpts = this.kbOpts || { primary: 0 };
 
 		let kbWhen = kbOpts.kbExpr;
@@ -76,27 +76,27 @@ export abstract class Command {
 }
 
 export interface EditorControllerCommand<T extends editorCommon.IEditorContribution> {
-	new(opts:IContributionCommandOptions<T>): EditorCommand;
+	new (opts: IContributionCommandOptions<T>): EditorCommand;
 }
 
 export interface IContributionCommandOptions<T> extends ICommandOptions {
-	handler: (controller:T)=>void;
+	handler: (controller: T) => void;
 }
 
 export abstract class EditorCommand extends Command {
 
-	public static bindToContribution<T extends editorCommon.IEditorContribution>(controllerGetter:(editor:editorCommon.ICommonCodeEditor) => T): EditorControllerCommand<T> {
+	public static bindToContribution<T extends editorCommon.IEditorContribution>(controllerGetter: (editor: editorCommon.ICommonCodeEditor) => T): EditorControllerCommand<T> {
 
 		return class EditorControllerCommandImpl extends EditorCommand {
-			private _callback:(controller:T)=>void;
+			private _callback: (controller: T) => void;
 
-			constructor(opts:IContributionCommandOptions<T>) {
+			constructor(opts: IContributionCommandOptions<T>) {
 				super(opts);
 
 				this._callback = opts.handler;
 			}
 
-			protected runEditorCommand(accessor:ServicesAccessor, editor: editorCommon.ICommonCodeEditor, args: any): void {
+			protected runEditorCommand(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor, args: any): void {
 				let controller = controllerGetter(editor);
 				if (controller) {
 					this._callback(controllerGetter(editor));
@@ -105,11 +105,11 @@ export abstract class EditorCommand extends Command {
 		};
 	}
 
-	constructor(opts:ICommandOptions) {
+	constructor(opts: ICommandOptions) {
 		super(opts);
 	}
 
-	public runCommand(accessor:ServicesAccessor, args: any): void | TPromise<void> {
+	public runCommand(accessor: ServicesAccessor, args: any): void | TPromise<void> {
 		let editor = findFocusedEditor(this.id, accessor, false);
 		if (!editor) {
 			editor = getActiveEditorWidget(accessor);
@@ -129,7 +129,7 @@ export abstract class EditorCommand extends Command {
 		});
 	}
 
-	protected abstract runEditorCommand(accessor:ServicesAccessor, editor: editorCommon.ICommonCodeEditor, args: any): void | TPromise<void>;
+	protected abstract runEditorCommand(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor, args: any): void | TPromise<void>;
 }
 
 export function findFocusedEditor(commandId: string, accessor: ServicesAccessor, complain: boolean): editorCommon.ICommonCodeEditor {
@@ -143,7 +143,7 @@ export function findFocusedEditor(commandId: string, accessor: ServicesAccessor,
 	return editor;
 }
 
-function withCodeEditorFromCommandHandler(commandId: string, accessor: ServicesAccessor, callback: (editor:editorCommon.ICommonCodeEditor) => void): void {
+function withCodeEditorFromCommandHandler(commandId: string, accessor: ServicesAccessor, callback: (editor: editorCommon.ICommonCodeEditor) => void): void {
 	let editor = findFocusedEditor(commandId, accessor, true);
 	if (editor) {
 		callback(editor);
@@ -163,13 +163,13 @@ function triggerEditorHandler(handlerId: string, accessor: ServicesAccessor, arg
 }
 
 class CoreCommand extends Command {
-	public runCommand(accessor:ServicesAccessor, args: any): void {
+	public runCommand(accessor: ServicesAccessor, args: any): void {
 		triggerEditorHandler(this.id, accessor, args);
 	}
 }
 
 class UnboundCoreCommand extends CoreCommand {
-	constructor(handlerId:string, precondition: ContextKeyExpr = null) {
+	constructor(handlerId: string, precondition: ContextKeyExpr = null) {
 		super({
 			id: handlerId,
 			precondition: precondition
@@ -177,7 +177,7 @@ class UnboundCoreCommand extends CoreCommand {
 	}
 }
 
-function registerCommand(command:Command) {
+function registerCommand(command: Command) {
 	KeybindingsRegistry.registerCommandAndKeybindingRule(command.toCommandAndKeybindingRule(CORE_WEIGHT));
 }
 
@@ -188,7 +188,7 @@ function registerCoreAPICommand(handlerId: string, description: ICommandHandlerD
 	});
 }
 
-function registerOverwritableCommand(handlerId:string, handler:ICommandHandler): void {
+function registerOverwritableCommand(handlerId: string, handler: ICommandHandler): void {
 	CommandsRegistry.registerCommand(handlerId, handler);
 	CommandsRegistry.registerCommand('default:' + handlerId, handler);
 }
@@ -201,11 +201,11 @@ registerCoreDispatchCommand(H.ReplacePreviousChar);
 registerCoreDispatchCommand(H.Paste);
 registerCoreDispatchCommand(H.Cut);
 
-registerOverwritableCommand(H.CompositionStart, () => {});
-registerOverwritableCommand(H.CompositionEnd, () => {});
+registerOverwritableCommand(H.CompositionStart, () => { });
+registerOverwritableCommand(H.CompositionEnd, () => { });
 
 class WordCommand extends CoreCommand {
-	public static getMacWordNavigationKB(shift:boolean, key:KeyCode): number {
+	public static getMacWordNavigationKB(shift: boolean, key: KeyCode): number {
 		// For macs, word navigation is based on the alt modifier
 		if (shift) {
 			return KeyMod.Shift | KeyMod.Alt | key;
@@ -214,7 +214,7 @@ class WordCommand extends CoreCommand {
 		}
 	}
 
-	public static getWordNavigationKB(shift:boolean, key:KeyCode): number {
+	public static getWordNavigationKB(shift: boolean, key: KeyCode): number {
 		// Normally word navigation is based on the ctrl modifier
 		if (shift) {
 			return KeyMod.CtrlCmd | KeyMod.Shift | key;
@@ -223,7 +223,7 @@ class WordCommand extends CoreCommand {
 		}
 	}
 
-	constructor(handlerId: string, shift:boolean, key:KeyCode, precondition: ContextKeyExpr = null) {
+	constructor(handlerId: string, shift: boolean, key: KeyCode, precondition: ContextKeyExpr = null) {
 		super({
 			id: handlerId,
 			precondition: precondition,
@@ -457,7 +457,7 @@ registerCommand(new CoreCommand({
 		weight: CORE_WEIGHT,
 		kbExpr: EditorContextKeys.TextFocus,
 		primary: KeyMod.CtrlCmd | KeyCode.UpArrow,
-		mac: { primary: KeyMod.WinCtrl | KeyCode.PageUp}
+		mac: { primary: KeyMod.WinCtrl | KeyCode.PageUp }
 	}
 }));
 registerCommand(new CoreCommand({
@@ -467,7 +467,7 @@ registerCommand(new CoreCommand({
 		weight: CORE_WEIGHT,
 		kbExpr: EditorContextKeys.TextFocus,
 		primary: KeyMod.CtrlCmd | KeyCode.DownArrow,
-		mac: { primary: KeyMod.WinCtrl | KeyCode.PageDown}
+		mac: { primary: KeyMod.WinCtrl | KeyCode.PageDown }
 	}
 }));
 
@@ -766,7 +766,7 @@ class SelectAllCommand extends Command {
 		});
 	}
 
-	public runCommand(accessor:ServicesAccessor, args: any): void {
+	public runCommand(accessor: ServicesAccessor, args: any): void {
 		let HANDLER = editorCommon.Handler.SelectAll;
 
 		let focusedEditor = findFocusedEditor(HANDLER, accessor, false);
diff --git a/src/vs/editor/common/config/defaultConfig.ts b/src/vs/editor/common/config/defaultConfig.ts
index 01548d9f34c6c..98e1d7837dd6e 100644
--- a/src/vs/editor/common/config/defaultConfig.ts
+++ b/src/vs/editor/common/config/defaultConfig.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {IEditorOptions} from 'vs/editor/common/editorCommon';
+import { IEditorOptions } from 'vs/editor/common/editorCommon';
 import * as platform from 'vs/base/common/platform';
-import {USUAL_WORD_SEPARATORS} from 'vs/editor/common/model/wordHelper';
+import { USUAL_WORD_SEPARATORS } from 'vs/editor/common/model/wordHelper';
 
 export interface IConfiguration {
-	editor:IEditorOptions;
+	editor: IEditorOptions;
 }
 
 export const DEFAULT_INDENTATION = {
diff --git a/src/vs/editor/common/controller/cursor.ts b/src/vs/editor/common/controller/cursor.ts
index a68aa6be5e037..5ab09e998d951 100644
--- a/src/vs/editor/common/controller/cursor.ts
+++ b/src/vs/editor/common/controller/cursor.ts
@@ -5,18 +5,18 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {ReplaceCommand} from 'vs/editor/common/commands/replaceCommand';
-import {CursorCollection, ICursorCollectionState} from 'vs/editor/common/controller/cursorCollection';
-import {WordNavigationType, IOneCursorOperationContext, IPostOperationRunnable, IViewModelHelper, OneCursor, OneCursorOp} from 'vs/editor/common/controller/oneCursor';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection, SelectionDirection} from 'vs/editor/common/core/selection';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { ReplaceCommand } from 'vs/editor/common/commands/replaceCommand';
+import { CursorCollection, ICursorCollectionState } from 'vs/editor/common/controller/cursorCollection';
+import { WordNavigationType, IOneCursorOperationContext, IPostOperationRunnable, IViewModelHelper, OneCursor, OneCursorOp } from 'vs/editor/common/controller/oneCursor';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection, SelectionDirection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {IColumnSelectResult} from 'vs/editor/common/controller/cursorMoveHelper';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { IColumnSelectResult } from 'vs/editor/common/controller/cursorMoveHelper';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
 
 export interface ITypingListener {
 	(): void;
@@ -65,31 +65,31 @@ interface ICommandsData {
 
 export class Cursor extends EventEmitter {
 
-	private editorId:number;
-	private configuration:editorCommon.IConfiguration;
-	private model:editorCommon.IModel;
+	private editorId: number;
+	private configuration: editorCommon.IConfiguration;
+	private model: editorCommon.IModel;
 
-	private modelUnbinds:IDisposable[];
+	private modelUnbinds: IDisposable[];
 
 	// Typing listeners
-	private typingListeners:{
-		[character:string]:ITypingListener[];
+	private typingListeners: {
+		[character: string]: ITypingListener[];
 	};
 
 	private cursors: CursorCollection;
 	private cursorUndoStack: ICursorCollectionState[];
-	private viewModelHelper:IViewModelHelper;
+	private viewModelHelper: IViewModelHelper;
 
-	private _isHandling:boolean;
-	private charactersTyped:string;
+	private _isHandling: boolean;
+	private charactersTyped: string;
 
-	private enableEmptySelectionClipboard:boolean;
+	private enableEmptySelectionClipboard: boolean;
 
-	private _handlers:{
-		[key:string]:(ctx:IMultipleCursorOperationContext)=>boolean;
+	private _handlers: {
+		[key: string]: (ctx: IMultipleCursorOperationContext) => boolean;
 	};
 
-	constructor(editorId:number, configuration:editorCommon.IConfiguration, model:editorCommon.IModel, viewModelHelper:IViewModelHelper, enableEmptySelectionClipboard:boolean) {
+	constructor(editorId: number, configuration: editorCommon.IConfiguration, model: editorCommon.IModel, viewModelHelper: IViewModelHelper, enableEmptySelectionClipboard: boolean) {
 		super([
 			editorCommon.EventType.CursorPositionChanged,
 			editorCommon.EventType.CursorSelectionChanged,
@@ -137,7 +137,7 @@ export class Cursor extends EventEmitter {
 	public saveState(): editorCommon.ICursorState[] {
 
 		var selections = this.cursors.getSelections(),
-			result:editorCommon.ICursorState[] = [],
+			result: editorCommon.ICursorState[] = [],
 			selection: Selection;
 
 		for (var i = 0; i < selections.length; i++) {
@@ -159,10 +159,10 @@ export class Cursor extends EventEmitter {
 		return result;
 	}
 
-	public restoreState(states:editorCommon.ICursorState[]): void {
+	public restoreState(states: editorCommon.ICursorState[]): void {
 
-		var desiredSelections:editorCommon.ISelection[] = [],
-			state:editorCommon.ICursorState;
+		var desiredSelections: editorCommon.ISelection[] = [],
+			state: editorCommon.ICursorState;
 
 		for (var i = 0; i < states.length; i++) {
 			state = states[i];
@@ -195,13 +195,13 @@ export class Cursor extends EventEmitter {
 			});
 		}
 
-		this._onHandler('restoreState', (ctx:IMultipleCursorOperationContext) => {
+		this._onHandler('restoreState', (ctx: IMultipleCursorOperationContext) => {
 			this.cursors.setSelections(desiredSelections);
 			return false;
 		}, 'restoreState', null);
 	}
 
-	public setEditableRange(range:editorCommon.IRange): void {
+	public setEditableRange(range: editorCommon.IRange): void {
 		this.model.setEditableRange(range);
 	}
 
@@ -209,14 +209,14 @@ export class Cursor extends EventEmitter {
 		return this.model.getEditableRange();
 	}
 
-	public addTypingListener(character:string, callback: ITypingListener): void {
+	public addTypingListener(character: string, callback: ITypingListener): void {
 		if (!this.typingListeners.hasOwnProperty(character)) {
 			this.typingListeners[character] = [];
 		}
 		this.typingListeners[character].push(callback);
 	}
 
-	public removeTypingListener(character:string, callback: ITypingListener): void {
+	public removeTypingListener(character: string, callback: ITypingListener): void {
 		if (this.typingListeners.hasOwnProperty(character)) {
 			var listeners = this.typingListeners[character];
 			for (var i = 0; i < listeners.length; i++) {
@@ -233,7 +233,7 @@ export class Cursor extends EventEmitter {
 		this.cursors.updateMode();
 	}
 
-	private _onModelContentChanged(e:editorCommon.IModelContentChangedEvent): void {
+	private _onModelContentChanged(e: editorCommon.IModelContentChangedEvent): void {
 		if (e.changeType === editorCommon.EventType.ModelRawContentChangedFlush) {
 			// a model.setValue() was called
 			this.cursors.dispose();
@@ -244,7 +244,7 @@ export class Cursor extends EventEmitter {
 			this.emitCursorSelectionChanged('model', editorCommon.CursorChangeReason.ContentFlush);
 		} else {
 			if (!this._isHandling) {
-				this._onHandler('recoverSelectionFromMarkers', (ctx:IMultipleCursorOperationContext) => {
+				this._onHandler('recoverSelectionFromMarkers', (ctx: IMultipleCursorOperationContext) => {
 					var result = this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => oneCursor.recoverSelectionFromMarkers(oneCtx));
 					ctx.shouldPushStackElementBefore = false;
 					ctx.shouldPushStackElementAfter = false;
@@ -269,7 +269,7 @@ export class Cursor extends EventEmitter {
 	}
 
 	public setSelections(source: string, selections: editorCommon.ISelection[]): void {
-		this._onHandler('setSelections', (ctx:IMultipleCursorOperationContext) => {
+		this._onHandler('setSelections', (ctx: IMultipleCursorOperationContext) => {
 			ctx.shouldReveal = false;
 			this.cursors.setSelections(selections);
 			return false;
@@ -278,9 +278,9 @@ export class Cursor extends EventEmitter {
 
 	// ------ auxiliary handling logic
 
-	private _createAndInterpretHandlerCtx(eventSource: string, eventData: any, callback:(currentHandlerCtx:IMultipleCursorOperationContext)=>void): boolean {
+	private _createAndInterpretHandlerCtx(eventSource: string, eventData: any, callback: (currentHandlerCtx: IMultipleCursorOperationContext) => void): boolean {
 
-		var currentHandlerCtx:IMultipleCursorOperationContext = {
+		var currentHandlerCtx: IMultipleCursorOperationContext = {
 			cursorPositionChangeReason: editorCommon.CursorChangeReason.NotSet,
 			shouldReveal: true,
 			shouldRevealVerticalInCenter: false,
@@ -307,7 +307,7 @@ export class Cursor extends EventEmitter {
 		return currentHandlerCtx.hasExecutedCommands;
 	}
 
-	private _onHandler(command:string, handler:(ctx:IMultipleCursorOperationContext)=>boolean, source:string, data:any): boolean {
+	private _onHandler(command: string, handler: (ctx: IMultipleCursorOperationContext) => boolean, source: string, data: any): boolean {
 
 		this._isHandling = true;
 		this.charactersTyped = '';
@@ -327,7 +327,7 @@ export class Cursor extends EventEmitter {
 			var shouldRevealTarget: RevealTarget;
 			var isCursorUndo: boolean;
 
-			var hasExecutedCommands = this._createAndInterpretHandlerCtx(eventSource, data, (currentHandlerCtx:IMultipleCursorOperationContext) => {
+			var hasExecutedCommands = this._createAndInterpretHandlerCtx(eventSource, data, (currentHandlerCtx: IMultipleCursorOperationContext) => {
 				handled = handler(currentHandlerCtx);
 
 				cursorPositionChangeReason = currentHandlerCtx.cursorPositionChangeReason;
@@ -442,7 +442,7 @@ export class Cursor extends EventEmitter {
 		}
 	}
 
-	private _interpretCommandResult(cursorState:Selection[]): boolean {
+	private _interpretCommandResult(cursorState: Selection[]): boolean {
 		if (!cursorState) {
 			return false;
 		}
@@ -451,13 +451,13 @@ export class Cursor extends EventEmitter {
 		return true;
 	}
 
-	private _getEditOperationsFromCommand(ctx: IExecContext, majorIdentifier: number, command: editorCommon.ICommand, isAutoWhitespaceCommand:boolean): ICommandData {
+	private _getEditOperationsFromCommand(ctx: IExecContext, majorIdentifier: number, command: editorCommon.ICommand, isAutoWhitespaceCommand: boolean): ICommandData {
 		// This method acts as a transaction, if the command fails
 		// everything it has done is ignored
 		var operations: editorCommon.IIdentifiedSingleEditOperation[] = [],
 			operationMinor = 0;
 
-		var addEditOperation = (selection:Range, text:string) => {
+		var addEditOperation = (selection: Range, text: string) => {
 			if (selection.isEmpty() && text === '') {
 				// This command wants to add a no-op => no thank you
 				return;
@@ -475,9 +475,9 @@ export class Cursor extends EventEmitter {
 		};
 
 		var hadTrackedRange = false;
-		var trackSelection = (selection: Selection, trackPreviousOnEmpty?:boolean ) => {
-			var selectionMarkerStickToPreviousCharacter:boolean,
-				positionMarkerStickToPreviousCharacter:boolean;
+		var trackSelection = (selection: Selection, trackPreviousOnEmpty?: boolean) => {
+			var selectionMarkerStickToPreviousCharacter: boolean,
+				positionMarkerStickToPreviousCharacter: boolean;
 
 			if (selection.isEmpty()) {
 				// Try to lock it with surrounding text
@@ -510,7 +510,7 @@ export class Cursor extends EventEmitter {
 			return l.toString();
 		};
 
-		var editOperationBuilder:editorCommon.IEditOperationBuilder = {
+		var editOperationBuilder: editorCommon.IEditOperationBuilder = {
 			addEditOperation: addEditOperation,
 			trackSelection: trackSelection
 		};
@@ -532,7 +532,7 @@ export class Cursor extends EventEmitter {
 		};
 	}
 
-	private _getEditOperations(ctx: IExecContext, commands: editorCommon.ICommand[], isAutoWhitespaceCommand:boolean[]): ICommandsData {
+	private _getEditOperations(ctx: IExecContext, commands: editorCommon.ICommand[], isAutoWhitespaceCommand: boolean[]): ICommandsData {
 		var oneResult: ICommandData;
 		var operations: editorCommon.IIdentifiedSingleEditOperation[] = [];
 		var hadTrackedRanges: boolean[] = [];
@@ -560,13 +560,13 @@ export class Cursor extends EventEmitter {
 		operations = operations.slice(0);
 
 		// Sort operations with last one first
-		operations.sort((a:editorCommon.IIdentifiedSingleEditOperation, b:editorCommon.IIdentifiedSingleEditOperation): number => {
+		operations.sort((a: editorCommon.IIdentifiedSingleEditOperation, b: editorCommon.IIdentifiedSingleEditOperation): number => {
 			// Note the minus!
 			return -(Range.compareRangesUsingEnds(a.range, b.range));
 		});
 
 		// Operations can not overlap!
-		var loserCursorsMap:{ [index:string]: boolean; } = {};
+		var loserCursorsMap: { [index: string]: boolean; } = {};
 
 		var previousOp: editorCommon.IIdentifiedSingleEditOperation;
 		var currentOp: editorCommon.IIdentifiedSingleEditOperation;
@@ -606,9 +606,9 @@ export class Cursor extends EventEmitter {
 		return loserCursorsMap;
 	}
 
-	private _collapseDeleteCommands(rawCmds: editorCommon.ICommand[], isAutoWhitespaceCommand:boolean[], postOperationRunnables: IPostOperationRunnable[]): boolean {
+	private _collapseDeleteCommands(rawCmds: editorCommon.ICommand[], isAutoWhitespaceCommand: boolean[], postOperationRunnables: IPostOperationRunnable[]): boolean {
 		if (rawCmds.length === 1) {
-			return ;
+			return;
 		}
 
 		// Merge adjacent delete commands
@@ -663,7 +663,7 @@ export class Cursor extends EventEmitter {
 	}
 
 	private _internalExecuteCommands(commands: editorCommon.ICommand[], isAutoWhitespaceCommand: boolean[], postOperationRunnables: IPostOperationRunnable[]): boolean {
-		var ctx:IExecContext = {
+		var ctx: IExecContext = {
 			selectionStartMarkers: [],
 			positionMarkers: []
 		};
@@ -679,8 +679,8 @@ export class Cursor extends EventEmitter {
 	}
 
 	private _arrayIsEmpty(commands: editorCommon.ICommand[]): boolean {
-		var i:number,
-			len:number;
+		var i: number,
+			len: number;
 
 		for (i = 0, len = commands.length; i < len; i++) {
 			if (commands[i]) {
@@ -736,8 +736,8 @@ export class Cursor extends EventEmitter {
 			}
 		}
 
-		var selectionsAfter = this.model.pushEditOperations(selectionsBefore, filteredOperations, (inverseEditOperations:editorCommon.IIdentifiedSingleEditOperation[]): Selection[] => {
-			var groupedInverseEditOperations:editorCommon.IIdentifiedSingleEditOperation[][] = [];
+		var selectionsAfter = this.model.pushEditOperations(selectionsBefore, filteredOperations, (inverseEditOperations: editorCommon.IIdentifiedSingleEditOperation[]): Selection[] => {
+			var groupedInverseEditOperations: editorCommon.IIdentifiedSingleEditOperation[][] = [];
 			for (var i = 0; i < selectionsBefore.length; i++) {
 				groupedInverseEditOperations[i] = [];
 			}
@@ -749,7 +749,7 @@ export class Cursor extends EventEmitter {
 				}
 				groupedInverseEditOperations[op.identifier.major].push(op);
 			}
-			var minorBasedSorter = (a:editorCommon.IIdentifiedSingleEditOperation, b:editorCommon.IIdentifiedSingleEditOperation) => {
+			var minorBasedSorter = (a: editorCommon.IIdentifiedSingleEditOperation, b: editorCommon.IIdentifiedSingleEditOperation) => {
 				return a.identifier.minor - b.identifier.minor;
 			};
 			var cursorSelections: Selection[] = [];
@@ -785,7 +785,7 @@ export class Cursor extends EventEmitter {
 		}
 
 		// Sort losing cursors descending
-		losingCursors.sort((a:number, b:number): number => {
+		losingCursors.sort((a: number, b: number): number => {
 			return b - a;
 		});
 
@@ -802,7 +802,7 @@ export class Cursor extends EventEmitter {
 	// -----------------------------------------------------------------------------------------------------------
 	// ----- emitting events
 
-	private emitCursorPositionChanged(source:string, reason:editorCommon.CursorChangeReason): void {
+	private emitCursorPositionChanged(source: string, reason: editorCommon.CursorChangeReason): void {
 		var positions = this.cursors.getPositions();
 		var primaryPosition = positions[0];
 		var secondaryPositions = positions.slice(1);
@@ -811,14 +811,14 @@ export class Cursor extends EventEmitter {
 		var primaryViewPosition = viewPositions[0];
 		var secondaryViewPositions = viewPositions.slice(1);
 
-		var isInEditableRange:boolean = true;
+		var isInEditableRange: boolean = true;
 		if (this.model.hasEditableRange()) {
 			var editableRange = this.model.getEditableRange();
 			if (!editableRange.containsPosition(primaryPosition)) {
 				isInEditableRange = false;
 			}
 		}
-		var e:editorCommon.ICursorPositionChangedEvent = {
+		var e: editorCommon.ICursorPositionChangedEvent = {
 			position: primaryPosition,
 			viewPosition: primaryViewPosition,
 			secondaryPositions: secondaryPositions,
@@ -830,7 +830,7 @@ export class Cursor extends EventEmitter {
 		this.emit(editorCommon.EventType.CursorPositionChanged, e);
 	}
 
-	private emitCursorSelectionChanged(source:string, reason:editorCommon.CursorChangeReason): void {
+	private emitCursorSelectionChanged(source: string, reason: editorCommon.CursorChangeReason): void {
 		let selections = this.cursors.getSelections();
 		let primarySelection = selections[0];
 		let secondarySelections = selections.slice(1);
@@ -839,7 +839,7 @@ export class Cursor extends EventEmitter {
 		let primaryViewSelection = viewSelections[0];
 		let secondaryViewSelections = viewSelections.slice(1);
 
-		let e:editorCommon.ICursorSelectionChangedEvent = {
+		let e: editorCommon.ICursorSelectionChangedEvent = {
 			selection: primarySelection,
 			viewSelection: primaryViewSelection,
 			secondarySelections: secondarySelections,
@@ -851,7 +851,7 @@ export class Cursor extends EventEmitter {
 	}
 
 	private emitCursorScrollRequest(deltaLines: number, revealCursor: boolean): void {
-		var e:editorCommon.ICursorScrollRequestEvent = {
+		var e: editorCommon.ICursorScrollRequestEvent = {
 			deltaLines,
 			revealCursor
 		};
@@ -892,7 +892,7 @@ export class Cursor extends EventEmitter {
 	}
 
 	private emitCursorRevealRange(range: Range, viewRange: Range, verticalType: editorCommon.VerticalRevealType, revealHorizontal: boolean, revealCursor: boolean) {
-		var e:editorCommon.ICursorRevealRangeEvent = {
+		var e: editorCommon.ICursorRevealRangeEvent = {
 			range: range,
 			viewRange: viewRange,
 			verticalType: verticalType,
@@ -905,7 +905,7 @@ export class Cursor extends EventEmitter {
 	// -----------------------------------------------------------------------------------------------------------
 	// ----- handlers beyond this point
 
-	public trigger(source:string, handlerId:string, payload:any): void {
+	public trigger(source: string, handlerId: string, payload: any): void {
 		if (!this._handlers.hasOwnProperty(handlerId)) {
 			return;
 		}
@@ -916,125 +916,125 @@ export class Cursor extends EventEmitter {
 	private _registerHandlers(): void {
 		let H = editorCommon.Handler;
 
-		this._handlers[H.JumpToBracket] =				(ctx) => this._jumpToBracket(ctx);
+		this._handlers[H.JumpToBracket] = (ctx) => this._jumpToBracket(ctx);
 
-		this._handlers[H.CursorMove] = 					(ctx) => this._cursorMove(ctx);
-		this._handlers[H.MoveTo] = 						(ctx) => this._moveTo(false, ctx);
-		this._handlers[H.MoveToSelect] = 				(ctx) => this._moveTo(true, ctx);
-		this._handlers[H.ColumnSelect] = 				(ctx) => this._columnSelectMouse(ctx);
-		this._handlers[H.AddCursorUp] = 				(ctx) => this._addCursorUp(ctx);
-		this._handlers[H.AddCursorDown] = 				(ctx) => this._addCursorDown(ctx);
-		this._handlers[H.CreateCursor] =				(ctx) => this._createCursor(ctx);
-		this._handlers[H.LastCursorMoveToSelect] =		(ctx) => this._lastCursorMoveTo(ctx);
+		this._handlers[H.CursorMove] = (ctx) => this._cursorMove(ctx);
+		this._handlers[H.MoveTo] = (ctx) => this._moveTo(false, ctx);
+		this._handlers[H.MoveToSelect] = (ctx) => this._moveTo(true, ctx);
+		this._handlers[H.ColumnSelect] = (ctx) => this._columnSelectMouse(ctx);
+		this._handlers[H.AddCursorUp] = (ctx) => this._addCursorUp(ctx);
+		this._handlers[H.AddCursorDown] = (ctx) => this._addCursorDown(ctx);
+		this._handlers[H.CreateCursor] = (ctx) => this._createCursor(ctx);
+		this._handlers[H.LastCursorMoveToSelect] = (ctx) => this._lastCursorMoveTo(ctx);
 
 
-		this._handlers[H.CursorLeft] = 					(ctx) => this._moveLeft(false, ctx);
-		this._handlers[H.CursorLeftSelect] =			(ctx) => this._moveLeft(true, ctx);
+		this._handlers[H.CursorLeft] = (ctx) => this._moveLeft(false, ctx);
+		this._handlers[H.CursorLeftSelect] = (ctx) => this._moveLeft(true, ctx);
 
-		this._handlers[H.CursorWordLeft] =				(ctx) => this._moveWordLeft(false, WordNavigationType.WordStart, ctx);
-		this._handlers[H.CursorWordStartLeft] =			(ctx) => this._moveWordLeft(false, WordNavigationType.WordStart, ctx);
-		this._handlers[H.CursorWordEndLeft] =			(ctx) => this._moveWordLeft(false, WordNavigationType.WordEnd, ctx);
+		this._handlers[H.CursorWordLeft] = (ctx) => this._moveWordLeft(false, WordNavigationType.WordStart, ctx);
+		this._handlers[H.CursorWordStartLeft] = (ctx) => this._moveWordLeft(false, WordNavigationType.WordStart, ctx);
+		this._handlers[H.CursorWordEndLeft] = (ctx) => this._moveWordLeft(false, WordNavigationType.WordEnd, ctx);
 
-		this._handlers[H.CursorWordLeftSelect] =		(ctx) => this._moveWordLeft(true, WordNavigationType.WordStart, ctx);
-		this._handlers[H.CursorWordStartLeftSelect] =	(ctx) => this._moveWordLeft(true, WordNavigationType.WordStart, ctx);
-		this._handlers[H.CursorWordEndLeftSelect] =		(ctx) => this._moveWordLeft(true, WordNavigationType.WordEnd, ctx);
+		this._handlers[H.CursorWordLeftSelect] = (ctx) => this._moveWordLeft(true, WordNavigationType.WordStart, ctx);
+		this._handlers[H.CursorWordStartLeftSelect] = (ctx) => this._moveWordLeft(true, WordNavigationType.WordStart, ctx);
+		this._handlers[H.CursorWordEndLeftSelect] = (ctx) => this._moveWordLeft(true, WordNavigationType.WordEnd, ctx);
 
-		this._handlers[H.CursorRight] =					(ctx) => this._moveRight(false, ctx);
-		this._handlers[H.CursorRightSelect] =			(ctx) => this._moveRight(true, ctx);
+		this._handlers[H.CursorRight] = (ctx) => this._moveRight(false, ctx);
+		this._handlers[H.CursorRightSelect] = (ctx) => this._moveRight(true, ctx);
 
-		this._handlers[H.CursorWordRight] =				(ctx) => this._moveWordRight(false, WordNavigationType.WordEnd, ctx);
-		this._handlers[H.CursorWordStartRight] =		(ctx) => this._moveWordRight(false, WordNavigationType.WordStart, ctx);
-		this._handlers[H.CursorWordEndRight] =			(ctx) => this._moveWordRight(false, WordNavigationType.WordEnd, ctx);
+		this._handlers[H.CursorWordRight] = (ctx) => this._moveWordRight(false, WordNavigationType.WordEnd, ctx);
+		this._handlers[H.CursorWordStartRight] = (ctx) => this._moveWordRight(false, WordNavigationType.WordStart, ctx);
+		this._handlers[H.CursorWordEndRight] = (ctx) => this._moveWordRight(false, WordNavigationType.WordEnd, ctx);
 
-		this._handlers[H.CursorWordRightSelect] =		(ctx) => this._moveWordRight(true, WordNavigationType.WordEnd, ctx);
-		this._handlers[H.CursorWordStartRightSelect] =	(ctx) => this._moveWordRight(true, WordNavigationType.WordStart, ctx);
-		this._handlers[H.CursorWordEndRightSelect] =	(ctx) => this._moveWordRight(true, WordNavigationType.WordEnd, ctx);
+		this._handlers[H.CursorWordRightSelect] = (ctx) => this._moveWordRight(true, WordNavigationType.WordEnd, ctx);
+		this._handlers[H.CursorWordStartRightSelect] = (ctx) => this._moveWordRight(true, WordNavigationType.WordStart, ctx);
+		this._handlers[H.CursorWordEndRightSelect] = (ctx) => this._moveWordRight(true, WordNavigationType.WordEnd, ctx);
 
-		this._handlers[H.CursorUp] =					(ctx) => this._moveUp(false, false, ctx);
-		this._handlers[H.CursorUpSelect] =				(ctx) => this._moveUp(true, false, ctx);
-		this._handlers[H.CursorDown] =					(ctx) => this._moveDown(false, false, ctx);
-		this._handlers[H.CursorDownSelect] =			(ctx) => this._moveDown(true, false, ctx);
+		this._handlers[H.CursorUp] = (ctx) => this._moveUp(false, false, ctx);
+		this._handlers[H.CursorUpSelect] = (ctx) => this._moveUp(true, false, ctx);
+		this._handlers[H.CursorDown] = (ctx) => this._moveDown(false, false, ctx);
+		this._handlers[H.CursorDownSelect] = (ctx) => this._moveDown(true, false, ctx);
 
-		this._handlers[H.CursorPageUp] =				(ctx) => this._moveUp(false, true, ctx);
-		this._handlers[H.CursorPageUpSelect] =			(ctx) => this._moveUp(true, true, ctx);
-		this._handlers[H.CursorPageDown] =				(ctx) => this._moveDown(false, true, ctx);
-		this._handlers[H.CursorPageDownSelect] =		(ctx) => this._moveDown(true, true, ctx);
+		this._handlers[H.CursorPageUp] = (ctx) => this._moveUp(false, true, ctx);
+		this._handlers[H.CursorPageUpSelect] = (ctx) => this._moveUp(true, true, ctx);
+		this._handlers[H.CursorPageDown] = (ctx) => this._moveDown(false, true, ctx);
+		this._handlers[H.CursorPageDownSelect] = (ctx) => this._moveDown(true, true, ctx);
 
-		this._handlers[H.CursorHome] =					(ctx) => this._moveToBeginningOfLine(false, ctx);
-		this._handlers[H.CursorHomeSelect] =			(ctx) => this._moveToBeginningOfLine(true, ctx);
+		this._handlers[H.CursorHome] = (ctx) => this._moveToBeginningOfLine(false, ctx);
+		this._handlers[H.CursorHomeSelect] = (ctx) => this._moveToBeginningOfLine(true, ctx);
 
-		this._handlers[H.CursorEnd] =					(ctx) => this._moveToEndOfLine(false, ctx);
-		this._handlers[H.CursorEndSelect] =				(ctx) => this._moveToEndOfLine(true, ctx);
+		this._handlers[H.CursorEnd] = (ctx) => this._moveToEndOfLine(false, ctx);
+		this._handlers[H.CursorEndSelect] = (ctx) => this._moveToEndOfLine(true, ctx);
 
-		this._handlers[H.CursorTop] =					(ctx) => this._moveToBeginningOfBuffer(false, ctx);
-		this._handlers[H.CursorTopSelect] =				(ctx) => this._moveToBeginningOfBuffer(true, ctx);
-		this._handlers[H.CursorBottom] =				(ctx) => this._moveToEndOfBuffer(false, ctx);
-		this._handlers[H.CursorBottomSelect] =			(ctx) => this._moveToEndOfBuffer(true, ctx);
+		this._handlers[H.CursorTop] = (ctx) => this._moveToBeginningOfBuffer(false, ctx);
+		this._handlers[H.CursorTopSelect] = (ctx) => this._moveToBeginningOfBuffer(true, ctx);
+		this._handlers[H.CursorBottom] = (ctx) => this._moveToEndOfBuffer(false, ctx);
+		this._handlers[H.CursorBottomSelect] = (ctx) => this._moveToEndOfBuffer(true, ctx);
 
-		this._handlers[H.CursorColumnSelectLeft] =		(ctx) => this._columnSelectLeft(ctx);
-		this._handlers[H.CursorColumnSelectRight] =		(ctx) => this._columnSelectRight(ctx);
-		this._handlers[H.CursorColumnSelectUp] =		(ctx) => this._columnSelectUp(false, ctx);
-		this._handlers[H.CursorColumnSelectPageUp] =	(ctx) => this._columnSelectUp(true, ctx);
-		this._handlers[H.CursorColumnSelectDown] =		(ctx) => this._columnSelectDown(false, ctx);
-		this._handlers[H.CursorColumnSelectPageDown] =	(ctx) => this._columnSelectDown(true, ctx);
+		this._handlers[H.CursorColumnSelectLeft] = (ctx) => this._columnSelectLeft(ctx);
+		this._handlers[H.CursorColumnSelectRight] = (ctx) => this._columnSelectRight(ctx);
+		this._handlers[H.CursorColumnSelectUp] = (ctx) => this._columnSelectUp(false, ctx);
+		this._handlers[H.CursorColumnSelectPageUp] = (ctx) => this._columnSelectUp(true, ctx);
+		this._handlers[H.CursorColumnSelectDown] = (ctx) => this._columnSelectDown(false, ctx);
+		this._handlers[H.CursorColumnSelectPageDown] = (ctx) => this._columnSelectDown(true, ctx);
 
-		this._handlers[H.SelectAll] =					(ctx) => this._selectAll(ctx);
+		this._handlers[H.SelectAll] = (ctx) => this._selectAll(ctx);
 
-		this._handlers[H.LineSelect] = 					(ctx) => this._line(false, ctx);
-		this._handlers[H.LineSelectDrag] =				(ctx) => this._line(true, ctx);
-		this._handlers[H.LastCursorLineSelect] = 		(ctx) => this._lastCursorLine(false, ctx);
-		this._handlers[H.LastCursorLineSelectDrag] = 	(ctx) => this._lastCursorLine(true, ctx);
+		this._handlers[H.LineSelect] = (ctx) => this._line(false, ctx);
+		this._handlers[H.LineSelectDrag] = (ctx) => this._line(true, ctx);
+		this._handlers[H.LastCursorLineSelect] = (ctx) => this._lastCursorLine(false, ctx);
+		this._handlers[H.LastCursorLineSelectDrag] = (ctx) => this._lastCursorLine(true, ctx);
 
-		this._handlers[H.LineInsertBefore] =			(ctx) => this._lineInsertBefore(ctx);
-		this._handlers[H.LineInsertAfter] =				(ctx) => this._lineInsertAfter(ctx);
-		this._handlers[H.LineBreakInsert] =				(ctx) => this._lineBreakInsert(ctx);
+		this._handlers[H.LineInsertBefore] = (ctx) => this._lineInsertBefore(ctx);
+		this._handlers[H.LineInsertAfter] = (ctx) => this._lineInsertAfter(ctx);
+		this._handlers[H.LineBreakInsert] = (ctx) => this._lineBreakInsert(ctx);
 
-		this._handlers[H.WordSelect] = 					(ctx) => this._word(false, ctx);
-		this._handlers[H.WordSelectDrag] =				(ctx) => this._word(true, ctx);
-		this._handlers[H.LastCursorWordSelect] =		(ctx) => this._lastCursorWord(ctx);
-		this._handlers[H.CancelSelection] =				(ctx) => this._cancelSelection(ctx);
-		this._handlers[H.RemoveSecondaryCursors] =		(ctx) => this._removeSecondaryCursors(ctx);
+		this._handlers[H.WordSelect] = (ctx) => this._word(false, ctx);
+		this._handlers[H.WordSelectDrag] = (ctx) => this._word(true, ctx);
+		this._handlers[H.LastCursorWordSelect] = (ctx) => this._lastCursorWord(ctx);
+		this._handlers[H.CancelSelection] = (ctx) => this._cancelSelection(ctx);
+		this._handlers[H.RemoveSecondaryCursors] = (ctx) => this._removeSecondaryCursors(ctx);
 
-		this._handlers[H.Type] =						(ctx) => this._type(ctx);
-		this._handlers[H.ReplacePreviousChar] =			(ctx) => this._replacePreviousChar(ctx);
-		this._handlers[H.Tab] =							(ctx) => this._tab(ctx);
-		this._handlers[H.Indent] =						(ctx) => this._indent(ctx);
-		this._handlers[H.Outdent] =						(ctx) => this._outdent(ctx);
-		this._handlers[H.Paste] =						(ctx) => this._paste(ctx);
+		this._handlers[H.Type] = (ctx) => this._type(ctx);
+		this._handlers[H.ReplacePreviousChar] = (ctx) => this._replacePreviousChar(ctx);
+		this._handlers[H.Tab] = (ctx) => this._tab(ctx);
+		this._handlers[H.Indent] = (ctx) => this._indent(ctx);
+		this._handlers[H.Outdent] = (ctx) => this._outdent(ctx);
+		this._handlers[H.Paste] = (ctx) => this._paste(ctx);
 
-		this._handlers[H.EditorScroll] = 				(ctx) => this._editorScroll(ctx);
+		this._handlers[H.EditorScroll] = (ctx) => this._editorScroll(ctx);
 
-		this._handlers[H.ScrollLineUp] =				(ctx) => this._scrollUp(false, ctx);
-		this._handlers[H.ScrollLineDown] =				(ctx) => this._scrollDown(false, ctx);
-		this._handlers[H.ScrollPageUp] =				(ctx) => this._scrollUp(true, ctx);
-		this._handlers[H.ScrollPageDown] =				(ctx) => this._scrollDown(true, ctx);
+		this._handlers[H.ScrollLineUp] = (ctx) => this._scrollUp(false, ctx);
+		this._handlers[H.ScrollLineDown] = (ctx) => this._scrollDown(false, ctx);
+		this._handlers[H.ScrollPageUp] = (ctx) => this._scrollUp(true, ctx);
+		this._handlers[H.ScrollPageDown] = (ctx) => this._scrollDown(true, ctx);
 
-		this._handlers[H.DeleteLeft] =					(ctx) => this._deleteLeft(ctx);
+		this._handlers[H.DeleteLeft] = (ctx) => this._deleteLeft(ctx);
 
-		this._handlers[H.DeleteWordLeft] =				(ctx) => this._deleteWordLeft(true, WordNavigationType.WordStart, ctx);
-		this._handlers[H.DeleteWordStartLeft] =			(ctx) => this._deleteWordLeft(false, WordNavigationType.WordStart, ctx);
-		this._handlers[H.DeleteWordEndLeft] =			(ctx) => this._deleteWordLeft(false, WordNavigationType.WordEnd, ctx);
+		this._handlers[H.DeleteWordLeft] = (ctx) => this._deleteWordLeft(true, WordNavigationType.WordStart, ctx);
+		this._handlers[H.DeleteWordStartLeft] = (ctx) => this._deleteWordLeft(false, WordNavigationType.WordStart, ctx);
+		this._handlers[H.DeleteWordEndLeft] = (ctx) => this._deleteWordLeft(false, WordNavigationType.WordEnd, ctx);
 
-		this._handlers[H.DeleteRight] =					(ctx) => this._deleteRight(ctx);
+		this._handlers[H.DeleteRight] = (ctx) => this._deleteRight(ctx);
 
-		this._handlers[H.DeleteWordRight] =				(ctx) => this._deleteWordRight(true, WordNavigationType.WordEnd, ctx);
-		this._handlers[H.DeleteWordStartRight] =		(ctx) => this._deleteWordRight(false, WordNavigationType.WordStart, ctx);
-		this._handlers[H.DeleteWordEndRight] =			(ctx) => this._deleteWordRight(false, WordNavigationType.WordEnd, ctx);
+		this._handlers[H.DeleteWordRight] = (ctx) => this._deleteWordRight(true, WordNavigationType.WordEnd, ctx);
+		this._handlers[H.DeleteWordStartRight] = (ctx) => this._deleteWordRight(false, WordNavigationType.WordStart, ctx);
+		this._handlers[H.DeleteWordEndRight] = (ctx) => this._deleteWordRight(false, WordNavigationType.WordEnd, ctx);
 
-		this._handlers[H.DeleteAllLeft] =				(ctx) => this._deleteAllLeft(ctx);
-		this._handlers[H.DeleteAllRight] =				(ctx) => this._deleteAllRight(ctx);
-		this._handlers[H.Cut] =							(ctx) => this._cut(ctx);
+		this._handlers[H.DeleteAllLeft] = (ctx) => this._deleteAllLeft(ctx);
+		this._handlers[H.DeleteAllRight] = (ctx) => this._deleteAllRight(ctx);
+		this._handlers[H.Cut] = (ctx) => this._cut(ctx);
 
-		this._handlers[H.ExpandLineSelection] =			(ctx) => this._expandLineSelection(ctx);
+		this._handlers[H.ExpandLineSelection] = (ctx) => this._expandLineSelection(ctx);
 
-		this._handlers[H.Undo] =						(ctx) => this._undo(ctx);
-		this._handlers[H.CursorUndo] =					(ctx) => this._cursorUndo(ctx);
-		this._handlers[H.Redo] =						(ctx) => this._redo(ctx);
+		this._handlers[H.Undo] = (ctx) => this._undo(ctx);
+		this._handlers[H.CursorUndo] = (ctx) => this._cursorUndo(ctx);
+		this._handlers[H.Redo] = (ctx) => this._redo(ctx);
 
-		this._handlers[H.ExecuteCommand] =				(ctx) => this._externalExecuteCommand(ctx);
-		this._handlers[H.ExecuteCommands] = 			(ctx) => this._externalExecuteCommands(ctx);
+		this._handlers[H.ExecuteCommand] = (ctx) => this._externalExecuteCommand(ctx);
+		this._handlers[H.ExecuteCommands] = (ctx) => this._externalExecuteCommands(ctx);
 
-		this._handlers[H.RevealLine] = 					(ctx) => this._revealLine(ctx);
+		this._handlers[H.RevealLine] = (ctx) => this._revealLine(ctx);
 	}
 
 	private _invokeForAllSorted(ctx: IMultipleCursorOperationContext, callable: (cursorIndex: number, cursor: OneCursor, ctx: IOneCursorOperationContext) => boolean, pushStackElementBefore: boolean = true, pushStackElementAfter: boolean = true): boolean {
@@ -1055,7 +1055,7 @@ export class Cursor extends EventEmitter {
 			});
 		}
 
-		let context:IOneCursorOperationContext;
+		let context: IOneCursorOperationContext;
 
 		ctx.shouldPushStackElementBefore = pushStackElementBefore;
 		ctx.shouldPushStackElementAfter = pushStackElementAfter;
@@ -1098,7 +1098,7 @@ export class Cursor extends EventEmitter {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.jumpToBracket(oneCursor, oneCtx));
 	}
 
-	private _moveTo(inSelectionMode:boolean, ctx: IMultipleCursorOperationContext): boolean {
+	private _moveTo(inSelectionMode: boolean, ctx: IMultipleCursorOperationContext): boolean {
 		this.cursors.killSecondaryCursors();
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.moveTo(oneCursor, inSelectionMode, ctx.eventData.position, ctx.eventData.viewPosition, ctx.eventSource, oneCtx));
 	}
@@ -1129,7 +1129,7 @@ export class Cursor extends EventEmitter {
 
 	private _columnSelectMouse(ctx: IMultipleCursorOperationContext): boolean {
 		let cursors = this.cursors.getAll();
-		let result = OneCursorOp.columnSelectMouse(cursors[0], ctx.eventData.position, ctx.eventData.viewPosition,  ctx.eventData.mouseColumn - 1);
+		let result = OneCursorOp.columnSelectMouse(cursors[0], ctx.eventData.position, ctx.eventData.viewPosition, ctx.eventData.mouseColumn - 1);
 
 		ctx.shouldRevealTarget = (result.reversed ? RevealTarget.TopMost : RevealTarget.BottomMost);
 		ctx.shouldReveal = true;
@@ -1140,7 +1140,7 @@ export class Cursor extends EventEmitter {
 		return true;
 	}
 
-	private _columnSelectOp(ctx: IMultipleCursorOperationContext, op:(cursor:OneCursor, toViewLineNumber:number, toViewVisualColumn: number) => IColumnSelectResult): boolean {
+	private _columnSelectOp(ctx: IMultipleCursorOperationContext, op: (cursor: OneCursor, toViewLineNumber: number, toViewVisualColumn: number) => IColumnSelectResult): boolean {
 		let primary = this.cursors.getAll()[0];
 		let result = op(primary, this._getColumnSelectToLineNumber(), this._getColumnSelectToVisualColumn());
 
@@ -1161,11 +1161,11 @@ export class Cursor extends EventEmitter {
 		return this._columnSelectOp(ctx, (cursor, toViewLineNumber, toViewVisualColumn) => OneCursorOp.columnSelectRight(cursor, toViewLineNumber, toViewVisualColumn));
 	}
 
-	private _columnSelectUp(isPaged:boolean, ctx: IMultipleCursorOperationContext): boolean {
+	private _columnSelectUp(isPaged: boolean, ctx: IMultipleCursorOperationContext): boolean {
 		return this._columnSelectOp(ctx, (cursor, toViewLineNumber, toViewVisualColumn) => OneCursorOp.columnSelectUp(isPaged, cursor, toViewLineNumber, toViewVisualColumn));
 	}
 
-	private _columnSelectDown(isPaged:boolean, ctx: IMultipleCursorOperationContext): boolean {
+	private _columnSelectDown(isPaged: boolean, ctx: IMultipleCursorOperationContext): boolean {
 		return this._columnSelectOp(ctx, (cursor, toViewLineNumber, toViewVisualColumn) => OneCursorOp.columnSelectDown(isPaged, cursor, toViewLineNumber, toViewVisualColumn));
 	}
 
@@ -1208,7 +1208,7 @@ export class Cursor extends EventEmitter {
 		var lastAddedCursor = this.cursors.getLastAddedCursor();
 		this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => {
 			if (oneCursor === lastAddedCursor) {
-				return OneCursorOp.moveTo(oneCursor,true, ctx.eventData.position, ctx.eventData.viewPosition, ctx.eventSource, oneCtx);
+				return OneCursorOp.moveTo(oneCursor, true, ctx.eventData.position, ctx.eventData.viewPosition, ctx.eventSource, oneCtx);
 			}
 			return false;
 		});
@@ -1253,63 +1253,63 @@ export class Cursor extends EventEmitter {
 		});
 	}
 
-	private _moveLeft(inSelectionMode:boolean, ctx: IMultipleCursorOperationContext): boolean {
-		ctx.eventData= ctx.eventData || {};
-		ctx.eventData.to= editorCommon.CursorMovePosition.Left;
+	private _moveLeft(inSelectionMode: boolean, ctx: IMultipleCursorOperationContext): boolean {
+		ctx.eventData = ctx.eventData || {};
+		ctx.eventData.to = editorCommon.CursorMovePosition.Left;
 		ctx.eventData.select = inSelectionMode;
 
 		return this._cursorMove(ctx);
 	}
 
-	private _moveWordLeft(inSelectionMode:boolean, wordNavigationType:WordNavigationType, ctx: IMultipleCursorOperationContext): boolean {
+	private _moveWordLeft(inSelectionMode: boolean, wordNavigationType: WordNavigationType, ctx: IMultipleCursorOperationContext): boolean {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.moveWordLeft(oneCursor, inSelectionMode, wordNavigationType, oneCtx));
 	}
 
 	private _moveRight(inSelectionMode: boolean, ctx: IMultipleCursorOperationContext): boolean {
-		ctx.eventData= ctx.eventData || {};
-		ctx.eventData.to= editorCommon.CursorMovePosition.Right;
+		ctx.eventData = ctx.eventData || {};
+		ctx.eventData.to = editorCommon.CursorMovePosition.Right;
 		ctx.eventData.select = inSelectionMode;
 
 		return this._cursorMove(ctx);
 	}
 
-	private _moveWordRight(inSelectionMode:boolean, wordNavigationType:WordNavigationType, ctx: IMultipleCursorOperationContext): boolean {
+	private _moveWordRight(inSelectionMode: boolean, wordNavigationType: WordNavigationType, ctx: IMultipleCursorOperationContext): boolean {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.moveWordRight(oneCursor, inSelectionMode, wordNavigationType, oneCtx));
 	}
 
-	private _moveDown(inSelectionMode:boolean, isPaged:boolean, ctx: IMultipleCursorOperationContext): boolean {
-		ctx.eventData= ctx.eventData || {};
-		ctx.eventData.to= editorCommon.CursorMovePosition.Down;
+	private _moveDown(inSelectionMode: boolean, isPaged: boolean, ctx: IMultipleCursorOperationContext): boolean {
+		ctx.eventData = ctx.eventData || {};
+		ctx.eventData.to = editorCommon.CursorMovePosition.Down;
 		ctx.eventData.select = inSelectionMode;
-		ctx.eventData.by= editorCommon.CursorMoveByUnit.WrappedLine;
-		ctx.eventData.isPaged= isPaged;
+		ctx.eventData.by = editorCommon.CursorMoveByUnit.WrappedLine;
+		ctx.eventData.isPaged = isPaged;
 
 		return this._cursorMove(ctx);
 	}
 
-	private _moveUp(inSelectionMode:boolean, isPaged:boolean, ctx: IMultipleCursorOperationContext): boolean {
-		ctx.eventData= ctx.eventData || {};
-		ctx.eventData.to= editorCommon.CursorMovePosition.Up;
-		ctx.eventData.select= inSelectionMode;
-		ctx.eventData.by= editorCommon.CursorMoveByUnit.WrappedLine;
-		ctx.eventData.isPaged= isPaged;
+	private _moveUp(inSelectionMode: boolean, isPaged: boolean, ctx: IMultipleCursorOperationContext): boolean {
+		ctx.eventData = ctx.eventData || {};
+		ctx.eventData.to = editorCommon.CursorMovePosition.Up;
+		ctx.eventData.select = inSelectionMode;
+		ctx.eventData.by = editorCommon.CursorMoveByUnit.WrappedLine;
+		ctx.eventData.isPaged = isPaged;
 
 		return this._cursorMove(ctx);
 	}
 
-	private _moveToBeginningOfLine(inSelectionMode:boolean, ctx: IMultipleCursorOperationContext): boolean {
+	private _moveToBeginningOfLine(inSelectionMode: boolean, ctx: IMultipleCursorOperationContext): boolean {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.moveToBeginningOfLine(oneCursor, inSelectionMode, oneCtx));
 	}
 
-	private _moveToEndOfLine(inSelectionMode:boolean, ctx: IMultipleCursorOperationContext): boolean {
+	private _moveToEndOfLine(inSelectionMode: boolean, ctx: IMultipleCursorOperationContext): boolean {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.moveToEndOfLine(oneCursor, inSelectionMode, oneCtx));
 	}
 
-	private _moveToBeginningOfBuffer(inSelectionMode:boolean, ctx: IMultipleCursorOperationContext): boolean {
+	private _moveToBeginningOfBuffer(inSelectionMode: boolean, ctx: IMultipleCursorOperationContext): boolean {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.moveToBeginningOfBuffer(oneCursor, inSelectionMode, oneCtx));
 	}
 
-	private _moveToEndOfBuffer(inSelectionMode:boolean, ctx: IMultipleCursorOperationContext): boolean {
+	private _moveToEndOfBuffer(inSelectionMode: boolean, ctx: IMultipleCursorOperationContext): boolean {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.moveToEndOfBuffer(oneCursor, inSelectionMode, oneCtx));
 	}
 
@@ -1318,12 +1318,12 @@ export class Cursor extends EventEmitter {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.selectAll(oneCursor, oneCtx));
 	}
 
-	private _line(inSelectionMode:boolean, ctx: IMultipleCursorOperationContext): boolean {
+	private _line(inSelectionMode: boolean, ctx: IMultipleCursorOperationContext): boolean {
 		this.cursors.killSecondaryCursors();
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.line(oneCursor, inSelectionMode, ctx.eventData.position, ctx.eventData.viewPosition, oneCtx));
 	}
 
-	private _lastCursorLine(inSelectionMode:boolean, ctx: IMultipleCursorOperationContext): boolean {
+	private _lastCursorLine(inSelectionMode: boolean, ctx: IMultipleCursorOperationContext): boolean {
 		if (this.configuration.editor.readOnly || this.model.hasEditableRange()) {
 			return false;
 		}
@@ -1358,7 +1358,7 @@ export class Cursor extends EventEmitter {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.lineBreakInsert(oneCursor, oneCtx));
 	}
 
-	private _word(inSelectionMode:boolean, ctx: IMultipleCursorOperationContext): boolean {
+	private _word(inSelectionMode: boolean, ctx: IMultipleCursorOperationContext): boolean {
 		this.cursors.killSecondaryCursors();
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.word(oneCursor, inSelectionMode, ctx.eventData.position, oneCtx));
 	}
@@ -1397,14 +1397,14 @@ export class Cursor extends EventEmitter {
 		if (ctx.eventSource === 'keyboard') {
 			// If this event is coming straight from the keyboard, look for electric characters and enter
 
-			var i:number, len:number, chr:string;
+			var i: number, len: number, chr: string;
 			for (i = 0, len = text.length; i < len; i++) {
 				chr = text.charAt(i);
 
 				this.charactersTyped += chr;
 
 				// Here we must interpret each typed character individually, that's why we create a new context
-				ctx.hasExecutedCommands = this._createAndInterpretHandlerCtx(ctx.eventSource, ctx.eventData, (charHandlerCtx:IMultipleCursorOperationContext) => {
+				ctx.hasExecutedCommands = this._createAndInterpretHandlerCtx(ctx.eventSource, ctx.eventData, (charHandlerCtx: IMultipleCursorOperationContext) => {
 
 					this._invokeForAll(charHandlerCtx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.type(oneCursor, chr, oneCtx), false, false);
 
@@ -1426,7 +1426,7 @@ export class Cursor extends EventEmitter {
 	private _replacePreviousChar(ctx: IMultipleCursorOperationContext): boolean {
 		let text = ctx.eventData.text;
 		let replaceCharCnt = ctx.eventData.replaceCharCnt;
-		return this._invokeForAll(ctx,(cursorIndex, oneCursor, oneCtx) => OneCursorOp.replacePreviousChar(oneCursor, text, replaceCharCnt, oneCtx), false, false);
+		return this._invokeForAll(ctx, (cursorIndex, oneCursor, oneCtx) => OneCursorOp.replacePreviousChar(oneCursor, text, replaceCharCnt, oneCtx), false, false);
 	}
 
 	private _tab(ctx: IMultipleCursorOperationContext): boolean {
@@ -1569,7 +1569,7 @@ export class Cursor extends EventEmitter {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.deleteLeft(oneCursor, oneCtx), false, false);
 	}
 
-	private _deleteWordLeft(whitespaceHeuristics:boolean, wordNavigationType:WordNavigationType, ctx: IMultipleCursorOperationContext): boolean {
+	private _deleteWordLeft(whitespaceHeuristics: boolean, wordNavigationType: WordNavigationType, ctx: IMultipleCursorOperationContext): boolean {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.deleteWordLeft(oneCursor, whitespaceHeuristics, wordNavigationType, oneCtx), false, false);
 	}
 
@@ -1577,7 +1577,7 @@ export class Cursor extends EventEmitter {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.deleteRight(oneCursor, oneCtx), false, false);
 	}
 
-	private _deleteWordRight(whitespaceHeuristics:boolean, wordNavigationType:WordNavigationType, ctx: IMultipleCursorOperationContext): boolean {
+	private _deleteWordRight(whitespaceHeuristics: boolean, wordNavigationType: WordNavigationType, ctx: IMultipleCursorOperationContext): boolean {
 		return this._invokeForAll(ctx, (cursorIndex: number, oneCursor: OneCursor, oneCtx: IOneCursorOperationContext) => OneCursorOp.deleteWordRight(oneCursor, whitespaceHeuristics, wordNavigationType, oneCtx), false, false);
 	}
 
diff --git a/src/vs/editor/common/controller/cursorCollection.ts b/src/vs/editor/common/controller/cursorCollection.ts
index f2f977ffbc513..4600518b41d02 100644
--- a/src/vs/editor/common/controller/cursorCollection.ts
+++ b/src/vs/editor/common/controller/cursorCollection.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {IModeConfiguration, IOneCursorState, IViewModelHelper, OneCursor} from 'vs/editor/common/controller/oneCursor';
-import {Selection} from 'vs/editor/common/core/selection';
-import {IConfiguration, IModel, ISelection} from 'vs/editor/common/editorCommon';
-import {IAutoClosingPair} from 'vs/editor/common/modes';
-import {Position} from 'vs/editor/common/core/position';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { IModeConfiguration, IOneCursorState, IViewModelHelper, OneCursor } from 'vs/editor/common/controller/oneCursor';
+import { Selection } from 'vs/editor/common/core/selection';
+import { IConfiguration, IModel, ISelection } from 'vs/editor/common/editorCommon';
+import { IAutoClosingPair } from 'vs/editor/common/modes';
+import { Position } from 'vs/editor/common/core/position';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
 
 export interface ICursorCollectionState {
 	primary: IOneCursorState;
@@ -30,9 +30,9 @@ export class CursorCollection {
 	// An index which identifies the last cursor that was added / moved (think Ctrl+drag)
 	private lastAddedCursorIndex: number;
 
-	private viewModelHelper:IViewModelHelper;
+	private viewModelHelper: IViewModelHelper;
 
-	constructor(editorId: number, model: IModel, configuration: IConfiguration, viewModelHelper:IViewModelHelper) {
+	constructor(editorId: number, model: IModel, configuration: IConfiguration, viewModelHelper: IViewModelHelper) {
 		this.editorId = editorId;
 		this.model = model;
 		this.configuration = configuration;
@@ -175,7 +175,7 @@ export class CursorCollection {
 	}
 
 	public duplicateCursors(): void {
-		var newCursors:OneCursor[] = [];
+		var newCursors: OneCursor[] = [];
 
 		newCursors.push(this.primaryCursor.duplicate());
 		for (var i = 0, len = this.secondaryCursors.length; i < len; i++) {
@@ -239,7 +239,7 @@ export class CursorCollection {
 			return;
 		}
 		var cursors = this.getAll();
-		var sortedCursors:{
+		var sortedCursors: {
 			index: number;
 			selection: Selection;
 			viewSelection: Selection;
@@ -282,7 +282,7 @@ export class CursorCollection {
 					var winnerSelectionIsLTR = (winnerSelection.selectionStartLineNumber === winnerSelection.startLineNumber && winnerSelection.selectionStartColumn === winnerSelection.startColumn);
 
 					// Give more importance to the last added cursor (think Ctrl-dragging + hitting another cursor)
-					var resultingSelectionIsLTR:boolean;
+					var resultingSelectionIsLTR: boolean;
 					if (looserIndex === this.lastAddedCursorIndex) {
 						resultingSelectionIsLTR = looserSelectionIsLTR;
 						this.lastAddedCursorIndex = winnerIndex;
@@ -333,7 +333,7 @@ export class CursorCollection {
 			let electricChars: string[] = null;
 			try {
 				electricChars = electricCharSupport.getElectricCharacters();
-			} catch(e) {
+			} catch (e) {
 				onUnexpectedError(e);
 				electricChars = null;
 			}
@@ -349,7 +349,7 @@ export class CursorCollection {
 			let autoClosingPairs: IAutoClosingPair[];
 			try {
 				autoClosingPairs = characterPairSupport.getAutoClosingPairs();
-			} catch(e) {
+			} catch (e) {
 				onUnexpectedError(e);
 				autoClosingPairs = null;
 			}
@@ -363,7 +363,7 @@ export class CursorCollection {
 			let surroundingPairs: IAutoClosingPair[];
 			try {
 				surroundingPairs = characterPairSupport.getSurroundingPairs();
-			} catch(e) {
+			} catch (e) {
 				onUnexpectedError(e);
 				surroundingPairs = null;
 			}
diff --git a/src/vs/editor/common/controller/cursorMoveHelper.ts b/src/vs/editor/common/controller/cursorMoveHelper.ts
index 26fe369ed21e3..779a345b75998 100644
--- a/src/vs/editor/common/controller/cursorMoveHelper.ts
+++ b/src/vs/editor/common/controller/cursorMoveHelper.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IPosition} from 'vs/editor/common/editorCommon';
-import {Selection} from 'vs/editor/common/core/selection';
+import { IPosition } from 'vs/editor/common/editorCommon';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as strings from 'vs/base/common/strings';
 
 export interface IMoveResult {
-	lineNumber:number;
-	column:number;
+	lineNumber: number;
+	column: number;
 	leftoverVisibleColumns: number;
 }
 
@@ -26,11 +26,11 @@ export interface IColumnSelectResult extends IViewColumnSelectResult {
 
 export interface ICursorMoveHelperModel {
 	getLineCount(): number;
-	getLineFirstNonWhitespaceColumn(lineNumber:number): number;
-	getLineMinColumn(lineNumber:number): number;
-	getLineMaxColumn(lineNumber:number): number;
-	getLineLastNonWhitespaceColumn(lineNumber:number): number;
-	getLineContent(lineNumber:number): string;
+	getLineFirstNonWhitespaceColumn(lineNumber: number): number;
+	getLineMinColumn(lineNumber: number): number;
+	getLineMaxColumn(lineNumber: number): number;
+	getLineLastNonWhitespaceColumn(lineNumber: number): number;
+	getLineContent(lineNumber: number): string;
 }
 
 /**
@@ -40,22 +40,22 @@ export interface IInternalIndentationOptions {
 	/**
 	 * Tab size in spaces. This is used for rendering and for editing.
 	 */
-	tabSize:number;
+	tabSize: number;
 	/**
 	 * Insert spaces instead of tabs when indenting or when auto-indenting.
 	 */
-	insertSpaces:boolean;
+	insertSpaces: boolean;
 }
 
 export interface IConfiguration {
 	getIndentationOptions(): IInternalIndentationOptions;
 }
 
-function isHighSurrogate(model:ICursorMoveHelperModel, lineNumber:number, column:number) {
+function isHighSurrogate(model: ICursorMoveHelperModel, lineNumber: number, column: number) {
 	return strings.isHighSurrogate(model.getLineContent(lineNumber).charCodeAt(column - 1));
 }
 
-function isLowSurrogate(model:ICursorMoveHelperModel, lineNumber:number, column:number) {
+function isLowSurrogate(model: ICursorMoveHelperModel, lineNumber: number, column: number) {
 	return strings.isLowSurrogate(model.getLineContent(lineNumber).charCodeAt(column - 1));
 }
 
@@ -63,11 +63,11 @@ export class CursorMoveHelper {
 
 	private configuration: IConfiguration;
 
-	constructor(configuration:IConfiguration) {
+	constructor(configuration: IConfiguration) {
 		this.configuration = configuration;
 	}
 
-	public getLeftOfPosition(model:ICursorMoveHelperModel, lineNumber:number, column:number): IPosition {
+	public getLeftOfPosition(model: ICursorMoveHelperModel, lineNumber: number, column: number): IPosition {
 
 		if (column > model.getLineMinColumn(lineNumber)) {
 			column = column - (isLowSurrogate(model, lineNumber, column - 1) ? 2 : 1);
@@ -82,7 +82,7 @@ export class CursorMoveHelper {
 		};
 	}
 
-	public getRightOfPosition(model:ICursorMoveHelperModel, lineNumber:number, column:number): IPosition {
+	public getRightOfPosition(model: ICursorMoveHelperModel, lineNumber: number, column: number): IPosition {
 
 		if (column < model.getLineMaxColumn(lineNumber)) {
 			column = column + (isHighSurrogate(model, lineNumber, column) ? 2 : 1);
@@ -97,7 +97,7 @@ export class CursorMoveHelper {
 		};
 	}
 
-	public getPositionUp(model:ICursorMoveHelperModel, lineNumber:number, column:number, leftoverVisibleColumns:number, count:number, allowMoveOnFirstLine:boolean): IMoveResult {
+	public getPositionUp(model: ICursorMoveHelperModel, lineNumber: number, column: number, leftoverVisibleColumns: number, count: number, allowMoveOnFirstLine: boolean): IMoveResult {
 		var currentVisibleColumn = this.visibleColumnFromColumn(model, lineNumber, column) + leftoverVisibleColumns;
 
 		lineNumber = lineNumber - count;
@@ -121,7 +121,7 @@ export class CursorMoveHelper {
 		};
 	}
 
-	public getPositionDown(model:ICursorMoveHelperModel, lineNumber:number, column:number, leftoverVisibleColumns:number, count:number, allowMoveOnLastLine:boolean): IMoveResult {
+	public getPositionDown(model: ICursorMoveHelperModel, lineNumber: number, column: number, leftoverVisibleColumns: number, count: number, allowMoveOnLastLine: boolean): IMoveResult {
 		var currentVisibleColumn = this.visibleColumnFromColumn(model, lineNumber, column) + leftoverVisibleColumns;
 
 		lineNumber = lineNumber + count;
@@ -145,7 +145,7 @@ export class CursorMoveHelper {
 		};
 	}
 
-	public columnSelect(model:ICursorMoveHelperModel, fromLineNumber:number, fromVisibleColumn:number, toLineNumber:number, toVisibleColumn:number): IViewColumnSelectResult {
+	public columnSelect(model: ICursorMoveHelperModel, fromLineNumber: number, fromVisibleColumn: number, toLineNumber: number, toVisibleColumn: number): IViewColumnSelectResult {
 		let lineCount = Math.abs(toLineNumber - fromLineNumber) + 1;
 		let reversed = (fromLineNumber > toLineNumber);
 		let isRTL = (fromVisibleColumn > toVisibleColumn);
@@ -192,7 +192,7 @@ export class CursorMoveHelper {
 		};
 	}
 
-	public getColumnAtBeginningOfLine(model:ICursorMoveHelperModel, lineNumber:number, column:number): number {
+	public getColumnAtBeginningOfLine(model: ICursorMoveHelperModel, lineNumber: number, column: number): number {
 		var firstNonBlankColumn = model.getLineFirstNonWhitespaceColumn(lineNumber) || 1;
 		var minColumn = model.getLineMinColumn(lineNumber);
 
@@ -205,7 +205,7 @@ export class CursorMoveHelper {
 		return column;
 	}
 
-	public getColumnAtEndOfLine(model:ICursorMoveHelperModel, lineNumber:number, column:number): number {
+	public getColumnAtEndOfLine(model: ICursorMoveHelperModel, lineNumber: number, column: number): number {
 		var maxColumn = model.getLineMaxColumn(lineNumber);
 		var lastNonBlankColumn = model.getLineLastNonWhitespaceColumn(lineNumber) || maxColumn;
 
@@ -218,15 +218,15 @@ export class CursorMoveHelper {
 		return column;
 	}
 
-	public visibleColumnFromColumn(model:ICursorMoveHelperModel, lineNumber:number, column:number): number {
+	public visibleColumnFromColumn(model: ICursorMoveHelperModel, lineNumber: number, column: number): number {
 		return CursorMoveHelper.visibleColumnFromColumn(model, lineNumber, column, this.configuration.getIndentationOptions().tabSize);
 	}
 
-	public static visibleColumnFromColumn(model:ICursorMoveHelperModel, lineNumber:number, column:number, tabSize:number): number {
+	public static visibleColumnFromColumn(model: ICursorMoveHelperModel, lineNumber: number, column: number, tabSize: number): number {
 		return CursorMoveHelper.visibleColumnFromColumn2(model.getLineContent(lineNumber), column, tabSize);
 	}
 
-	public static visibleColumnFromColumn2(line:string, column:number, tabSize:number): number {
+	public static visibleColumnFromColumn2(line: string, column: number, tabSize: number): number {
 		var result = 0;
 		for (var i = 0; i < column - 1; i++) {
 			result = (line.charAt(i) === '\t') ? CursorMoveHelper.nextTabColumn(result, tabSize) : result + 1;
@@ -234,7 +234,7 @@ export class CursorMoveHelper {
 		return result;
 	}
 
-	public columnFromVisibleColumn(model:ICursorMoveHelperModel, lineNumber:number, visibleColumn:number): number {
+	public columnFromVisibleColumn(model: ICursorMoveHelperModel, lineNumber: number, visibleColumn: number): number {
 		var line = model.getLineContent(lineNumber);
 
 		var lastVisibleColumn = -1;
@@ -266,14 +266,14 @@ export class CursorMoveHelper {
 	/**
 	 * ATTENTION: This works with 0-based columns (as oposed to the regular 1-based columns)
 	 */
-	public static nextTabColumn(column:number, tabSize:number): number {
+	public static nextTabColumn(column: number, tabSize: number): number {
 		return column + tabSize - column % tabSize;
 	}
 
 	/**
 	 * ATTENTION: This works with 0-based columns (as oposed to the regular 1-based columns)
 	 */
-	public static prevTabColumn(column:number, tabSize:number): number {
-		return column - 1 - ( column - 1 ) % tabSize;
+	public static prevTabColumn(column: number, tabSize: number): number {
+		return column - 1 - (column - 1) % tabSize;
 	}
 }
\ No newline at end of file
diff --git a/src/vs/editor/common/controller/oneCursor.ts b/src/vs/editor/common/controller/oneCursor.ts
index f431c6a7eb574..4647f748b6643 100644
--- a/src/vs/editor/common/controller/oneCursor.ts
+++ b/src/vs/editor/common/controller/oneCursor.ts
@@ -4,20 +4,20 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError, illegalArgument} from 'vs/base/common/errors';
+import { onUnexpectedError, illegalArgument } from 'vs/base/common/errors';
 import * as strings from 'vs/base/common/strings';
-import {ReplaceCommand, ReplaceCommandWithOffsetCursorState, ReplaceCommandWithoutChangingPosition} from 'vs/editor/common/commands/replaceCommand';
-import {ShiftCommand} from 'vs/editor/common/commands/shiftCommand';
-import {SurroundSelectionCommand} from 'vs/editor/common/commands/surroundSelectionCommand';
-import {CursorMoveHelper, ICursorMoveHelperModel, IMoveResult, IColumnSelectResult, IViewColumnSelectResult} from 'vs/editor/common/controller/cursorMoveHelper';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection, SelectionDirection} from 'vs/editor/common/core/selection';
+import { ReplaceCommand, ReplaceCommandWithOffsetCursorState, ReplaceCommandWithoutChangingPosition } from 'vs/editor/common/commands/replaceCommand';
+import { ShiftCommand } from 'vs/editor/common/commands/shiftCommand';
+import { SurroundSelectionCommand } from 'vs/editor/common/commands/surroundSelectionCommand';
+import { CursorMoveHelper, ICursorMoveHelperModel, IMoveResult, IColumnSelectResult, IViewColumnSelectResult } from 'vs/editor/common/controller/cursorMoveHelper';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection, SelectionDirection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {IElectricAction, IndentAction} from 'vs/editor/common/modes';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {CharCode} from 'vs/base/common/charCode';
-import {CharacterClassifier} from 'vs/editor/common/core/characterClassifier';
+import { IElectricAction, IndentAction } from 'vs/editor/common/modes';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { CharCode } from 'vs/base/common/charCode';
+import { CharacterClassifier } from 'vs/editor/common/core/characterClassifier';
 
 export interface IPostOperationRunnable {
 	(ctx: IOneCursorOperationContext): void;
@@ -37,20 +37,20 @@ export interface IOneCursorOperationContext {
 
 export interface IModeConfiguration {
 
-	electricChars:{
-		[key:string]:boolean;
+	electricChars: {
+		[key: string]: boolean;
 	};
 
-	autoClosingPairsOpen:{
-		[key:string]:string;
+	autoClosingPairsOpen: {
+		[key: string]: string;
 	};
 
-	autoClosingPairsClose:{
-		[key:string]:string;
+	autoClosingPairsClose: {
+		[key: string]: string;
 	};
 
-	surroundingPairs:{
-		[key:string]:string;
+	surroundingPairs: {
+		[key: string]: string;
 	};
 }
 
@@ -61,20 +61,20 @@ export interface CursorMoveArguments extends editorCommon.CursorMoveArguments {
 
 export interface IViewModelHelper {
 
-	viewModel:ICursorMoveHelperModel;
+	viewModel: ICursorMoveHelperModel;
 
 	getCurrentCompletelyVisibleViewLinesRangeInViewport(): Range;
 	getCurrentCompletelyVisibleModelLinesRangeInViewport(): Range;
 
-	convertModelPositionToViewPosition(lineNumber:number, column:number): Position;
-	convertModelRangeToViewRange(modelRange:Range): Range;
+	convertModelPositionToViewPosition(lineNumber: number, column: number): Position;
+	convertModelRangeToViewRange(modelRange: Range): Range;
 
 	convertViewToModelPosition(lineNumber: number, column: number): Position;
-	convertViewSelectionToModelSelection(viewSelection:Selection): Selection;
-	convertViewRangeToModelRange(viewRange:Range): Range;
+	convertViewSelectionToModelSelection(viewSelection: Selection): Selection;
+	convertViewRangeToModelRange(viewRange: Range): Range;
 
-	validateViewPosition(viewLineNumber:number, viewColumn:number, modelPosition:Position): Position;
-	validateViewRange(viewStartLineNumber:number, viewStartColumn:number, viewEndLineNumber:number, viewEndColumn:number, modelRange:Range): Range;
+	validateViewPosition(viewLineNumber: number, viewColumn: number, modelPosition: Position): Position;
+	validateViewRange(viewStartLineNumber: number, viewStartColumn: number, viewEndLineNumber: number, viewEndColumn: number, modelRange: Range): Range;
 }
 
 export interface IOneCursorState {
@@ -90,11 +90,11 @@ export interface IFindWordResult {
 	/**
 	 * The index where the word starts.
 	 */
-	start:number;
+	start: number;
 	/**
 	 * The index where the word ends.
 	 */
-	end:number;
+	end: number;
 	/**
 	 * The word type.
 	 */
@@ -126,7 +126,7 @@ export class OneCursor {
 	public configuration: editorCommon.IConfiguration;
 	public modeConfiguration: IModeConfiguration;
 	private helper: CursorHelper;
-	private viewModelHelper:IViewModelHelper;
+	private viewModelHelper: IViewModelHelper;
 
 	// --- selection can start as a range (think double click and drag)
 	private selectionStart: Range;
@@ -153,7 +153,7 @@ export class OneCursor {
 		model: editorCommon.IModel,
 		configuration: editorCommon.IConfiguration,
 		modeConfiguration: IModeConfiguration,
-		viewModelHelper:IViewModelHelper
+		viewModelHelper: IViewModelHelper
 	) {
 		this.editorId = editorId;
 		this.model = model;
@@ -173,7 +173,7 @@ export class OneCursor {
 
 	private _set(
 		selectionStart: Range, selectionStartLeftoverVisibleColumns: number,
-		position: Position, leftoverVisibleColumns:number,
+		position: Position, leftoverVisibleColumns: number,
 		viewSelectionStart: Range, viewPosition: Position
 	): void {
 		this.selectionStart = selectionStart;
@@ -193,7 +193,7 @@ export class OneCursor {
 		this._selDirection = this._cachedSelection.getDirection();
 	}
 
-	private _ensureMarker(markerId:string, lineNumber:number, column:number, stickToPreviousCharacter:boolean): string {
+	private _ensureMarker(markerId: string, lineNumber: number, column: number, stickToPreviousCharacter: boolean): string {
 		if (!markerId) {
 			return this.model._addMarker(lineNumber, column, stickToPreviousCharacter);
 		} else {
@@ -214,7 +214,7 @@ export class OneCursor {
 		};
 	}
 
-	public restoreState(state:IOneCursorState): void {
+	public restoreState(state: IOneCursorState): void {
 		let position = this.model.validatePosition(state.position);
 		let selectionStart: Range;
 		if (state.selectionStart) {
@@ -259,7 +259,7 @@ export class OneCursor {
 	}
 
 	public adjustBracketDecorations(): void {
-		let bracketMatch: [Range,Range] = null;
+		let bracketMatch: [Range, Range] = null;
 		let selection = this.getSelection();
 		if (selection.isEmpty()) {
 			bracketMatch = this.model.matchBracket(this.position);
@@ -278,7 +278,7 @@ export class OneCursor {
 		this.bracketDecorations = this.model.deltaDecorations(this.bracketDecorations, newDecorations, this.editorId);
 	}
 
-	private static computeSelection(selectionStart:Range, position:Position): Selection {
+	private static computeSelection(selectionStart: Range, position: Position): Selection {
 		let startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number;
 		if (selectionStart.isEmpty()) {
 			startLineNumber = selectionStart.startLineNumber;
@@ -340,7 +340,7 @@ export class OneCursor {
 
 	// -------------------- START modifications
 
-	public setSelectionStart(rng:Range, viewRng:Range): void {
+	public setSelectionStart(rng: Range, viewRng: Range): void {
 		this._set(
 			rng, this.selectionStartLeftoverVisibleColumns,
 			this.position, this.leftoverVisibleColumns,
@@ -358,17 +358,17 @@ export class OneCursor {
 		);
 	}
 
-	public moveModelPosition(inSelectionMode:boolean, lineNumber:number, column:number, leftoverVisibleColumns: number, ensureInEditableRange: boolean): void {
+	public moveModelPosition(inSelectionMode: boolean, lineNumber: number, column: number, leftoverVisibleColumns: number, ensureInEditableRange: boolean): void {
 		let viewPosition = this.viewModelHelper.convertModelPositionToViewPosition(lineNumber, column);
 		this._move(inSelectionMode, lineNumber, column, viewPosition.lineNumber, viewPosition.column, leftoverVisibleColumns, ensureInEditableRange);
 	}
 
-	public moveViewPosition(inSelectionMode:boolean, viewLineNumber:number, viewColumn:number, leftoverVisibleColumns: number, ensureInEditableRange: boolean): void {
+	public moveViewPosition(inSelectionMode: boolean, viewLineNumber: number, viewColumn: number, leftoverVisibleColumns: number, ensureInEditableRange: boolean): void {
 		let modelPosition = this.viewModelHelper.convertViewToModelPosition(viewLineNumber, viewColumn);
 		this._move(inSelectionMode, modelPosition.lineNumber, modelPosition.column, viewLineNumber, viewColumn, leftoverVisibleColumns, ensureInEditableRange);
 	}
 
-	private _move(inSelectionMode:boolean, lineNumber:number, column:number, viewLineNumber:number, viewColumn:number, leftoverVisibleColumns: number, ensureInEditableRange: boolean): void {
+	private _move(inSelectionMode: boolean, lineNumber: number, column: number, viewLineNumber: number, viewColumn: number, leftoverVisibleColumns: number, ensureInEditableRange: boolean): void {
 
 		if (ensureInEditableRange) {
 			let editableRange = this.model.getEditableRange();
@@ -393,7 +393,7 @@ export class OneCursor {
 		this._actualMove(inSelectionMode, new Position(lineNumber, column), new Position(viewLineNumber, viewColumn), leftoverVisibleColumns);
 	}
 
-	private _actualMove(inSelectionMode:boolean, position:Position, viewPosition:Position, leftoverVisibleColumns: number): void {
+	private _actualMove(inSelectionMode: boolean, position: Position, viewPosition: Position, leftoverVisibleColumns: number): void {
 		if (inSelectionMode) {
 			// move just position
 			this._set(
@@ -489,24 +489,24 @@ export class OneCursor {
 	public getSelectionStartLeftoverVisibleColumns(): number {
 		return this.selectionStartLeftoverVisibleColumns;
 	}
-	public setSelectionStartLeftoverVisibleColumns(value:number): void {
+	public setSelectionStartLeftoverVisibleColumns(value: number): void {
 		this.selectionStartLeftoverVisibleColumns = value;
 	}
 
 	// -- utils
-	public validatePosition(position:editorCommon.IPosition): Position {
+	public validatePosition(position: editorCommon.IPosition): Position {
 		return this.model.validatePosition(position);
 	}
-	public validateViewPosition(viewLineNumber:number, viewColumn:number, modelPosition:Position): Position {
+	public validateViewPosition(viewLineNumber: number, viewColumn: number, modelPosition: Position): Position {
 		return this.viewModelHelper.validateViewPosition(viewLineNumber, viewColumn, modelPosition);
 	}
-	public convertViewToModelPosition(lineNumber:number, column:number): editorCommon.IPosition {
+	public convertViewToModelPosition(lineNumber: number, column: number): editorCommon.IPosition {
 		return this.viewModelHelper.convertViewToModelPosition(lineNumber, column);
 	}
-	public convertViewSelectionToModelSelection(viewSelection:Selection): Selection {
+	public convertViewSelectionToModelSelection(viewSelection: Selection): Selection {
 		return this.viewModelHelper.convertViewSelectionToModelSelection(viewSelection);
 	}
-	public convertModelPositionToViewPosition(lineNumber:number, column:number): editorCommon.IPosition {
+	public convertModelPositionToViewPosition(lineNumber: number, column: number): editorCommon.IPosition {
 		return this.viewModelHelper.convertModelPositionToViewPosition(lineNumber, column);
 	}
 
@@ -558,37 +558,37 @@ export class OneCursor {
 		let visibleLineNumber = visibleRange.endLineNumber - (lineFromBottom - 1);
 		return visibleLineNumber > visibleRange.startLineNumber ? visibleLineNumber : this.getLineFromViewPortTop();
 	}
-	public getLineContent(lineNumber:number): string {
+	public getLineContent(lineNumber: number): string {
 		return this.model.getLineContent(lineNumber);
 	}
-	public findPreviousWordOnLine(position:Position): IFindWordResult {
+	public findPreviousWordOnLine(position: Position): IFindWordResult {
 		return this.helper.findPreviousWordOnLine(position);
 	}
-	public findNextWordOnLine(position:Position): IFindWordResult {
+	public findNextWordOnLine(position: Position): IFindWordResult {
 		return this.helper.findNextWordOnLine(position);
 	}
-	public getLeftOfPosition(lineNumber:number, column:number): editorCommon.IPosition {
+	public getLeftOfPosition(lineNumber: number, column: number): editorCommon.IPosition {
 		return this.helper.getLeftOfPosition(this.model, lineNumber, column);
 	}
-	public getRightOfPosition(lineNumber:number, column:number): editorCommon.IPosition {
+	public getRightOfPosition(lineNumber: number, column: number): editorCommon.IPosition {
 		return this.helper.getRightOfPosition(this.model, lineNumber, column);
 	}
-	public getPositionUp(lineNumber:number, column:number, leftoverVisibleColumns:number, count:number, allowMoveOnFirstLine:boolean): IMoveResult {
+	public getPositionUp(lineNumber: number, column: number, leftoverVisibleColumns: number, count: number, allowMoveOnFirstLine: boolean): IMoveResult {
 		return this.helper.getPositionUp(this.model, lineNumber, column, leftoverVisibleColumns, count, allowMoveOnFirstLine);
 	}
-	public getPositionDown(lineNumber:number, column:number, leftoverVisibleColumns:number, count:number, allowMoveOnLastLine:boolean): IMoveResult {
+	public getPositionDown(lineNumber: number, column: number, leftoverVisibleColumns: number, count: number, allowMoveOnLastLine: boolean): IMoveResult {
 		return this.helper.getPositionDown(this.model, lineNumber, column, leftoverVisibleColumns, count, allowMoveOnLastLine);
 	}
-	public getColumnAtEndOfLine(lineNumber:number, column:number): number {
+	public getColumnAtEndOfLine(lineNumber: number, column: number): number {
 		return this.helper.getColumnAtEndOfLine(this.model, lineNumber, column);
 	}
-	public getVisibleColumnFromColumn(lineNumber:number, column:number): number {
+	public getVisibleColumnFromColumn(lineNumber: number, column: number): number {
 		return this.helper.visibleColumnFromColumn(this.model, lineNumber, column);
 	}
-	public getColumnFromVisibleColumn(lineNumber:number, column:number): number {
+	public getColumnFromVisibleColumn(lineNumber: number, column: number): number {
 		return this.helper.columnFromVisibleColumn(this.model, lineNumber, column);
 	}
-	public getViewVisibleColumnFromColumn(viewLineNumber:number, viewColumn:number): number {
+	public getViewVisibleColumnFromColumn(viewLineNumber: number, viewColumn: number): number {
 		return this.helper.visibleColumnFromColumn(this.viewModelHelper.viewModel, viewLineNumber, viewColumn);
 	}
 
@@ -610,46 +610,46 @@ export class OneCursor {
 	public getViewLineCount(): number {
 		return this.viewModelHelper.viewModel.getLineCount();
 	}
-	public getViewLineMaxColumn(lineNumber:number): number {
+	public getViewLineMaxColumn(lineNumber: number): number {
 		return this.viewModelHelper.viewModel.getLineMaxColumn(lineNumber);
 	}
-	public getViewLineMinColumn(lineNumber:number): number {
+	public getViewLineMinColumn(lineNumber: number): number {
 		return this.viewModelHelper.viewModel.getLineMinColumn(lineNumber);
 	}
-	public getViewLineCenterColumn(lineNumber:number): number {
+	public getViewLineCenterColumn(lineNumber: number): number {
 		return Math.round((this.getViewLineMaxColumn(lineNumber) + this.getViewLineMinColumn(lineNumber)) / 2);
 	}
-	public getViewLineSize(lineNumber:number): number {
+	public getViewLineSize(lineNumber: number): number {
 		return this.getViewLineMaxColumn(lineNumber) - this.getViewLineMinColumn(lineNumber);
 	}
-	public getViewHalfLineSize(lineNumber:number): number {
+	public getViewHalfLineSize(lineNumber: number): number {
 		return Math.round(this.getViewLineSize(lineNumber) / 2);
 	}
-	public getViewLineFirstNonWhiteSpaceColumn(lineNumber:number): number {
+	public getViewLineFirstNonWhiteSpaceColumn(lineNumber: number): number {
 		return this.viewModelHelper.viewModel.getLineFirstNonWhitespaceColumn(lineNumber);
 	}
-	public getViewLineLastNonWhiteSpaceColumn(lineNumber:number): number {
+	public getViewLineLastNonWhiteSpaceColumn(lineNumber: number): number {
 		return this.viewModelHelper.viewModel.getLineLastNonWhitespaceColumn(lineNumber);
 	}
-	public getLeftOfViewPosition(lineNumber:number, column:number): editorCommon.IPosition {
+	public getLeftOfViewPosition(lineNumber: number, column: number): editorCommon.IPosition {
 		return this.helper.getLeftOfPosition(this.viewModelHelper.viewModel, lineNumber, column);
 	}
-	public getRightOfViewPosition(lineNumber:number, column:number): editorCommon.IPosition {
+	public getRightOfViewPosition(lineNumber: number, column: number): editorCommon.IPosition {
 		return this.helper.getRightOfPosition(this.viewModelHelper.viewModel, lineNumber, column);
 	}
-	public getViewPositionUp(lineNumber:number, column:number, leftoverVisibleColumns:number, count:number, allowMoveOnFirstLine:boolean): IMoveResult {
+	public getViewPositionUp(lineNumber: number, column: number, leftoverVisibleColumns: number, count: number, allowMoveOnFirstLine: boolean): IMoveResult {
 		return this.helper.getPositionUp(this.viewModelHelper.viewModel, lineNumber, column, leftoverVisibleColumns, count, allowMoveOnFirstLine);
 	}
-	public getViewPositionDown(lineNumber:number, column:number, leftoverVisibleColumns:number, count:number, allowMoveOnLastLine:boolean): IMoveResult {
+	public getViewPositionDown(lineNumber: number, column: number, leftoverVisibleColumns: number, count: number, allowMoveOnLastLine: boolean): IMoveResult {
 		return this.helper.getPositionDown(this.viewModelHelper.viewModel, lineNumber, column, leftoverVisibleColumns, count, allowMoveOnLastLine);
 	}
-	public getColumnAtBeginningOfViewLine(lineNumber:number, column:number): number {
+	public getColumnAtBeginningOfViewLine(lineNumber: number, column: number): number {
 		return this.helper.getColumnAtBeginningOfLine(this.viewModelHelper.viewModel, lineNumber, column);
 	}
-	public getColumnAtEndOfViewLine(lineNumber:number, column:number): number {
+	public getColumnAtEndOfViewLine(lineNumber: number, column: number): number {
 		return this.helper.getColumnAtEndOfLine(this.viewModelHelper.viewModel, lineNumber, column);
 	}
-	public columnSelect(fromViewLineNumber:number, fromViewVisibleColumn:number, toViewLineNumber:number, toViewVisibleColumn:number): IColumnSelectResult {
+	public columnSelect(fromViewLineNumber: number, fromViewVisibleColumn: number, toViewLineNumber: number, toViewVisibleColumn: number): IColumnSelectResult {
 		let r = this.helper.columnSelect(this.viewModelHelper.viewModel, fromViewLineNumber, fromViewVisibleColumn, toViewLineNumber, toViewVisibleColumn);
 		return {
 			reversed: r.reversed,
@@ -679,7 +679,7 @@ export class OneCursor {
 export class OneCursorOp {
 
 	// -------------------- START handlers that simply change cursor state
-	public static jumpToBracket(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static jumpToBracket(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		let bracketDecorations = cursor.getBracketsDecorations();
 
 		if (bracketDecorations.length !== 2) {
@@ -704,7 +704,7 @@ export class OneCursorOp {
 		return false;
 	}
 
-	public static moveTo(cursor:OneCursor, inSelectionMode: boolean, position: editorCommon.IPosition, viewPosition:editorCommon.IPosition, eventSource: string, ctx: IOneCursorOperationContext): boolean {
+	public static moveTo(cursor: OneCursor, inSelectionMode: boolean, position: editorCommon.IPosition, viewPosition: editorCommon.IPosition, eventSource: string, ctx: IOneCursorOperationContext): boolean {
 		let validatedPosition = cursor.model.validatePosition(position);
 		let validatedViewPosition: editorCommon.IPosition;
 		if (viewPosition) {
@@ -762,16 +762,16 @@ export class OneCursorOp {
 				viewColumn = cursor.getViewLineFirstNonWhiteSpaceColumn(viewLineNumber);
 				break;
 			case editorCommon.CursorMovePosition.ViewPortBottom:
-				viewLineNumber= cursor.convertModelPositionToViewPosition(cursor.getLineFromViewPortBottom(moveParams.value), 1).lineNumber;;
+				viewLineNumber = cursor.convertModelPositionToViewPosition(cursor.getLineFromViewPortBottom(moveParams.value), 1).lineNumber;;
 				viewColumn = cursor.getViewLineFirstNonWhiteSpaceColumn(viewLineNumber);
 				break;
 			case editorCommon.CursorMovePosition.ViewPortCenter:
-				viewLineNumber= cursor.convertModelPositionToViewPosition(cursor.getCenterLineInViewPort(), 1).lineNumber;;
+				viewLineNumber = cursor.convertModelPositionToViewPosition(cursor.getCenterLineInViewPort(), 1).lineNumber;;
 				viewColumn = cursor.getViewLineFirstNonWhiteSpaceColumn(viewLineNumber);
 				break;
 			case editorCommon.CursorMovePosition.ViewPortIfOutside:
 				const position = cursor.getNearestRevealViewPositionInViewport();
-				viewLineNumber= position.lineNumber;
+				viewLineNumber = position.lineNumber;
 				viewColumn = position.column;
 				break;
 			default:
@@ -782,14 +782,14 @@ export class OneCursorOp {
 		return true;
 	}
 
-	private static _columnSelectOp(cursor:OneCursor, toViewLineNumber:number, toViewVisualColumn: number): IColumnSelectResult {
+	private static _columnSelectOp(cursor: OneCursor, toViewLineNumber: number, toViewVisualColumn: number): IColumnSelectResult {
 		let viewStartSelection = cursor.getViewSelection();
 		let fromVisibleColumn = cursor.getViewVisibleColumnFromColumn(viewStartSelection.selectionStartLineNumber, viewStartSelection.selectionStartColumn);
 
 		return cursor.columnSelect(viewStartSelection.selectionStartLineNumber, fromVisibleColumn, toViewLineNumber, toViewVisualColumn);
 	}
 
-	public static columnSelectMouse(cursor:OneCursor, position: editorCommon.IPosition, viewPosition: editorCommon.IPosition, toViewVisualColumn: number): IColumnSelectResult {
+	public static columnSelectMouse(cursor: OneCursor, position: editorCommon.IPosition, viewPosition: editorCommon.IPosition, toViewVisualColumn: number): IColumnSelectResult {
 		let validatedPosition = cursor.model.validatePosition(position);
 		let validatedViewPosition: editorCommon.IPosition;
 		if (viewPosition) {
@@ -801,7 +801,7 @@ export class OneCursorOp {
 		return this._columnSelectOp(cursor, validatedViewPosition.lineNumber, toViewVisualColumn);
 	}
 
-	public static columnSelectLeft(cursor:OneCursor, toViewLineNumber: number, toViewVisualColumn: number): IColumnSelectResult {
+	public static columnSelectLeft(cursor: OneCursor, toViewLineNumber: number, toViewVisualColumn: number): IColumnSelectResult {
 		if (toViewVisualColumn > 1) {
 			toViewVisualColumn--;
 		}
@@ -809,7 +809,7 @@ export class OneCursorOp {
 		return this._columnSelectOp(cursor, toViewLineNumber, toViewVisualColumn);
 	}
 
-	public static columnSelectRight(cursor:OneCursor, toViewLineNumber: number, toViewVisualColumn: number): IColumnSelectResult {
+	public static columnSelectRight(cursor: OneCursor, toViewLineNumber: number, toViewVisualColumn: number): IColumnSelectResult {
 
 		let maxVisualViewColumn = 0;
 		let minViewLineNumber = Math.min(cursor.getViewPosition().lineNumber, toViewLineNumber);
@@ -827,7 +827,7 @@ export class OneCursorOp {
 		return this._columnSelectOp(cursor, toViewLineNumber, toViewVisualColumn);
 	}
 
-	public static columnSelectUp(isPaged:boolean, cursor:OneCursor, toViewLineNumber: number, toViewVisualColumn: number): IColumnSelectResult {
+	public static columnSelectUp(isPaged: boolean, cursor: OneCursor, toViewLineNumber: number, toViewVisualColumn: number): IColumnSelectResult {
 		let linesCount = isPaged ? cursor.getPageSize() : 1;
 
 		toViewLineNumber -= linesCount;
@@ -838,7 +838,7 @@ export class OneCursorOp {
 		return this._columnSelectOp(cursor, toViewLineNumber, toViewVisualColumn);
 	}
 
-	public static columnSelectDown(isPaged:boolean, cursor:OneCursor, toViewLineNumber: number, toViewVisualColumn: number): IColumnSelectResult {
+	public static columnSelectDown(isPaged: boolean, cursor: OneCursor, toViewLineNumber: number, toViewVisualColumn: number): IColumnSelectResult {
 		let linesCount = isPaged ? cursor.getPageSize() : 1;
 
 		toViewLineNumber += linesCount;
@@ -849,9 +849,9 @@ export class OneCursorOp {
 		return this._columnSelectOp(cursor, toViewLineNumber, toViewVisualColumn);
 	}
 
-	public static moveLeft(cursor:OneCursor, inSelectionMode: boolean, noOfColumns: number= 1, ctx: IOneCursorOperationContext): boolean {
-		let viewLineNumber:number,
-			viewColumn:number;
+	public static moveLeft(cursor: OneCursor, inSelectionMode: boolean, noOfColumns: number = 1, ctx: IOneCursorOperationContext): boolean {
+		let viewLineNumber: number,
+			viewColumn: number;
 
 		if (cursor.hasSelection() && !inSelectionMode) {
 			// If we are in selection mode, move left without selection cancels selection and puts cursor at the beginning of the selection
@@ -871,7 +871,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static moveWordLeft(cursor:OneCursor, inSelectionMode: boolean, wordNavigationType:WordNavigationType, ctx: IOneCursorOperationContext): boolean {
+	public static moveWordLeft(cursor: OneCursor, inSelectionMode: boolean, wordNavigationType: WordNavigationType, ctx: IOneCursorOperationContext): boolean {
 		let position = cursor.getPosition();
 		let lineNumber = position.lineNumber;
 		let column = position.column;
@@ -907,9 +907,9 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static moveRight(cursor:OneCursor, inSelectionMode: boolean, noOfColumns: number= 1, ctx: IOneCursorOperationContext): boolean {
-		let viewLineNumber:number,
-			viewColumn:number;
+	public static moveRight(cursor: OneCursor, inSelectionMode: boolean, noOfColumns: number = 1, ctx: IOneCursorOperationContext): boolean {
+		let viewLineNumber: number,
+			viewColumn: number;
 
 		if (cursor.hasSelection() && !inSelectionMode) {
 			// If we are in selection mode, move right without selection cancels selection and puts cursor at the end of the selection
@@ -929,7 +929,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static moveWordRight(cursor:OneCursor, inSelectionMode: boolean, wordNavigationType:WordNavigationType, ctx: IOneCursorOperationContext): boolean {
+	public static moveWordRight(cursor: OneCursor, inSelectionMode: boolean, wordNavigationType: WordNavigationType, ctx: IOneCursorOperationContext): boolean {
 		let position = cursor.getPosition();
 		let lineNumber = position.lineNumber;
 		let column = position.column;
@@ -973,9 +973,9 @@ export class OneCursorOp {
 		return this._moveDownByModelLines(cursor, moveArguments.select, linesCount, ctx);
 	}
 
-	private static _moveDownByViewLines(cursor:OneCursor, inSelectionMode: boolean, linesCount: number, ctx: IOneCursorOperationContext): boolean {
-		let viewLineNumber:number,
-			viewColumn:number;
+	private static _moveDownByViewLines(cursor: OneCursor, inSelectionMode: boolean, linesCount: number, ctx: IOneCursorOperationContext): boolean {
+		let viewLineNumber: number,
+			viewColumn: number;
 
 		if (cursor.hasSelection() && !inSelectionMode) {
 			// If we are in selection mode, move down acts relative to the end of selection
@@ -995,9 +995,9 @@ export class OneCursorOp {
 		return true;
 	}
 
-	private static _moveDownByModelLines(cursor:OneCursor, inSelectionMode: boolean, linesCount: number, ctx: IOneCursorOperationContext): boolean {
-		let lineNumber:number,
-			column:number;
+	private static _moveDownByModelLines(cursor: OneCursor, inSelectionMode: boolean, linesCount: number, ctx: IOneCursorOperationContext): boolean {
+		let lineNumber: number,
+			column: number;
 
 		if (cursor.hasSelection() && !inSelectionMode) {
 			// If we are in selection mode, move down acts relative to the end of selection
@@ -1016,7 +1016,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static translateDown(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static translateDown(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 
 		let selection = cursor.getViewSelection();
 
@@ -1043,8 +1043,8 @@ export class OneCursorOp {
 
 	private static _moveUpByViewLines(cursor: OneCursor, inSelectionMode: boolean, linesCount: number, ctx: IOneCursorOperationContext): boolean {
 
-		let viewLineNumber:number,
-			viewColumn:number;
+		let viewLineNumber: number,
+			viewColumn: number;
 
 		if (cursor.hasSelection() && !inSelectionMode) {
 			// If we are in selection mode, move up acts relative to the beginning of selection
@@ -1066,8 +1066,8 @@ export class OneCursorOp {
 	}
 
 	private static _moveUpByModelLines(cursor: OneCursor, inSelectionMode: boolean, linesCount: number, ctx: IOneCursorOperationContext): boolean {
-		let lineNumber:number,
-			column:number;
+		let lineNumber: number,
+			column: number;
 
 		if (cursor.hasSelection() && !inSelectionMode) {
 			// If we are in selection mode, move up acts relative to the beginning of selection
@@ -1087,7 +1087,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static translateUp(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static translateUp(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 
 		let selection = cursor.getViewSelection();
 
@@ -1104,7 +1104,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static moveToBeginningOfLine(cursor:OneCursor, inSelectionMode: boolean, ctx: IOneCursorOperationContext): boolean {
+	public static moveToBeginningOfLine(cursor: OneCursor, inSelectionMode: boolean, ctx: IOneCursorOperationContext): boolean {
 		let validatedViewPosition = cursor.getValidViewPosition();
 		let viewLineNumber = validatedViewPosition.lineNumber;
 		let viewColumn = validatedViewPosition.column;
@@ -1115,7 +1115,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static moveToEndOfLine(cursor:OneCursor, inSelectionMode: boolean, ctx: IOneCursorOperationContext): boolean {
+	public static moveToEndOfLine(cursor: OneCursor, inSelectionMode: boolean, ctx: IOneCursorOperationContext): boolean {
 		let validatedViewPosition = cursor.getValidViewPosition();
 		let viewLineNumber = validatedViewPosition.lineNumber;
 		let viewColumn = validatedViewPosition.column;
@@ -1126,7 +1126,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static expandLineSelection(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static expandLineSelection(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		ctx.cursorPositionChangeReason = editorCommon.CursorChangeReason.Explicit;
 		let viewSel = cursor.getViewSelection();
 
@@ -1151,13 +1151,13 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static moveToBeginningOfBuffer(cursor:OneCursor, inSelectionMode: boolean, ctx: IOneCursorOperationContext): boolean {
+	public static moveToBeginningOfBuffer(cursor: OneCursor, inSelectionMode: boolean, ctx: IOneCursorOperationContext): boolean {
 		ctx.cursorPositionChangeReason = editorCommon.CursorChangeReason.Explicit;
 		cursor.moveModelPosition(inSelectionMode, 1, 1, 0, true);
 		return true;
 	}
 
-	public static moveToEndOfBuffer(cursor:OneCursor, inSelectionMode: boolean, ctx: IOneCursorOperationContext): boolean {
+	public static moveToEndOfBuffer(cursor: OneCursor, inSelectionMode: boolean, ctx: IOneCursorOperationContext): boolean {
 		let lastLineNumber = cursor.model.getLineCount();
 		let lastColumn = cursor.model.getLineMaxColumn(lastLineNumber);
 
@@ -1166,7 +1166,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static selectAll(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static selectAll(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 
 		let selectEntireBuffer = true;
 		let newSelectionStartLineNumber: number,
@@ -1205,14 +1205,14 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static line(cursor:OneCursor, inSelectionMode: boolean, _position:editorCommon.IPosition, _viewPosition:editorCommon.IPosition, ctx: IOneCursorOperationContext): boolean {
+	public static line(cursor: OneCursor, inSelectionMode: boolean, _position: editorCommon.IPosition, _viewPosition: editorCommon.IPosition, ctx: IOneCursorOperationContext): boolean {
 		// TODO@Alex -> select in editable range
 
 		let position = cursor.validatePosition(_position);
 		let viewPosition = (
 			_viewPosition ?
-			cursor.validateViewPosition(_viewPosition.lineNumber, _viewPosition.column, position)
-			: cursor.convertModelPositionToViewPosition(position.lineNumber, position.column)
+				cursor.validateViewPosition(_viewPosition.lineNumber, _viewPosition.column, position)
+				: cursor.convertModelPositionToViewPosition(position.lineNumber, position.column)
 		);
 
 		ctx.cursorPositionChangeReason = editorCommon.CursorChangeReason.Explicit;
@@ -1266,7 +1266,7 @@ export class OneCursorOp {
 
 	}
 
-	public static word(cursor:OneCursor, inSelectionMode: boolean, position: editorCommon.IPosition, ctx: IOneCursorOperationContext): boolean {
+	public static word(cursor: OneCursor, inSelectionMode: boolean, position: editorCommon.IPosition, ctx: IOneCursorOperationContext): boolean {
 		// TODO@Alex -> select in editable range
 
 		let validatedPosition = cursor.validatePosition(position);
@@ -1344,7 +1344,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static cancelSelection(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static cancelSelection(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		if (!cursor.hasSelection()) {
 			return false;
 		}
@@ -1359,7 +1359,7 @@ export class OneCursorOp {
 
 	// -------------------- START type interceptors & co.
 
-	private static _typeInterceptorEnter(cursor:OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
+	private static _typeInterceptorEnter(cursor: OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
 		if (ch !== '\n') {
 			return false;
 		}
@@ -1367,11 +1367,11 @@ export class OneCursorOp {
 		return this._enter(cursor, false, ctx, cursor.getPosition(), cursor.getSelection());
 	}
 
-	public static lineInsertBefore(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static lineInsertBefore(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		let lineNumber = cursor.getPosition().lineNumber;
 
 		if (lineNumber === 1) {
-			ctx.executeCommand = new ReplaceCommandWithoutChangingPosition(new Range(1,1,1,1), '\n');
+			ctx.executeCommand = new ReplaceCommandWithoutChangingPosition(new Range(1, 1, 1, 1), '\n');
 			return true;
 		}
 
@@ -1381,17 +1381,17 @@ export class OneCursorOp {
 		return this._enter(cursor, false, ctx, new Position(lineNumber, column), new Range(lineNumber, column, lineNumber, column));
 	}
 
-	public static lineInsertAfter(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static lineInsertAfter(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		let position = cursor.getPosition();
 		let column = cursor.model.getLineMaxColumn(position.lineNumber);
 		return this._enter(cursor, false, ctx, new Position(position.lineNumber, column), new Range(position.lineNumber, column, position.lineNumber, column));
 	}
 
-	public static lineBreakInsert(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static lineBreakInsert(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		return this._enter(cursor, true, ctx, cursor.getPosition(), cursor.getSelection());
 	}
 
-	private static _enter(cursor:OneCursor, keepPosition: boolean, ctx: IOneCursorOperationContext, position: Position, range: Range): boolean {
+	private static _enter(cursor: OneCursor, keepPosition: boolean, ctx: IOneCursorOperationContext, position: Position, range: Range): boolean {
 		ctx.shouldPushStackElementBefore = true;
 
 		let r = LanguageConfigurationRegistry.getEnterActionAtPosition(cursor.model, range.startLineNumber, range.startColumn);
@@ -1431,7 +1431,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	private static _typeInterceptorAutoClosingCloseChar(cursor:OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
+	private static _typeInterceptorAutoClosingCloseChar(cursor: OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
 		if (!cursor.configuration.editor.autoClosingBrackets) {
 			return false;
 		}
@@ -1456,7 +1456,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	private static _typeInterceptorAutoClosingOpenChar(cursor:OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
+	private static _typeInterceptorAutoClosingOpenChar(cursor: OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
 		if (!cursor.configuration.editor.autoClosingBrackets) {
 			return false;
 		}
@@ -1469,7 +1469,7 @@ export class OneCursorOp {
 
 		let characterPairSupport = LanguageConfigurationRegistry.getCharacterPairSupport(cursor.model.getMode().getId());
 
-		if(!characterPairSupport) {
+		if (!characterPairSupport) {
 			return false;
 		}
 
@@ -1486,7 +1486,7 @@ export class OneCursorOp {
 					break;
 				}
 			}
-			if ( !isBeforeCloseBrace && !/\s/.test(beforeCharacter)) {
+			if (!isBeforeCloseBrace && !/\s/.test(beforeCharacter)) {
 				return false;
 			}
 		}
@@ -1496,7 +1496,7 @@ export class OneCursorOp {
 		let shouldAutoClosePair = false;
 		try {
 			shouldAutoClosePair = characterPairSupport.shouldAutoClosePair(ch, lineContext, position.column - 1);
-		} catch(e) {
+		} catch (e) {
 			onUnexpectedError(e);
 		}
 
@@ -1510,7 +1510,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	private static _typeInterceptorSurroundSelection(cursor:OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
+	private static _typeInterceptorSurroundSelection(cursor: OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
 		if (!cursor.configuration.editor.autoClosingBrackets) {
 			return false;
 		}
@@ -1553,7 +1553,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	private static _typeInterceptorElectricChar(cursor:OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
+	private static _typeInterceptorElectricChar(cursor: OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
 		if (!cursor.modeConfiguration.electricChars.hasOwnProperty(ch)) {
 			return false;
 		}
@@ -1563,18 +1563,18 @@ export class OneCursorOp {
 		return this.actualType(cursor, ch, false, ctx);
 	}
 
-	private static _typeInterceptorElectricCharRunnable(cursor:OneCursor, ctx: IOneCursorOperationContext): void {
+	private static _typeInterceptorElectricCharRunnable(cursor: OneCursor, ctx: IOneCursorOperationContext): void {
 
 		let position = cursor.getPosition();
 		let lineText = cursor.model.getLineContent(position.lineNumber);
 		let lineContext = cursor.model.getLineContext(position.lineNumber);
 
-		let electricAction:IElectricAction;
+		let electricAction: IElectricAction;
 		let electricCharSupport = LanguageConfigurationRegistry.getElectricCharacterSupport(cursor.model.getMode().getId());
 		if (electricCharSupport) {
 			try {
 				electricAction = electricCharSupport.onElectricCharacter(lineContext, position.column - 2);
-			} catch(e) {
+			} catch (e) {
 				onUnexpectedError(e);
 			}
 		}
@@ -1616,7 +1616,7 @@ export class OneCursorOp {
 		}
 	}
 
-	public static actualType(cursor:OneCursor, text: string, keepPosition: boolean, ctx: IOneCursorOperationContext, range?: Range): boolean {
+	public static actualType(cursor: OneCursor, text: string, keepPosition: boolean, ctx: IOneCursorOperationContext, range?: Range): boolean {
 		if (typeof range === 'undefined') {
 			range = cursor.getSelection();
 		}
@@ -1628,7 +1628,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static type(cursor:OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
+	public static type(cursor: OneCursor, ch: string, ctx: IOneCursorOperationContext): boolean {
 
 		if (this._typeInterceptorEnter(cursor, ch, ctx)) {
 			return true;
@@ -1653,7 +1653,7 @@ export class OneCursorOp {
 		return this.actualType(cursor, ch, false, ctx);
 	}
 
-	public static replacePreviousChar(cursor:OneCursor, txt: string, replaceCharCnt:number, ctx: IOneCursorOperationContext): boolean {
+	public static replacePreviousChar(cursor: OneCursor, txt: string, replaceCharCnt: number, ctx: IOneCursorOperationContext): boolean {
 		let pos = cursor.getPosition();
 		let range: Range;
 		let startColumn = Math.max(1, pos.column - replaceCharCnt);
@@ -1662,7 +1662,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	private static _goodIndentForLine(cursor:OneCursor, lineNumber:number): string {
+	private static _goodIndentForLine(cursor: OneCursor, lineNumber: number): string {
 		let lastLineNumber = lineNumber - 1;
 
 		for (lastLineNumber = lineNumber - 1; lastLineNumber >= 1; lastLineNumber--) {
@@ -1701,7 +1701,7 @@ export class OneCursorOp {
 		return result;
 	}
 
-	private static _replaceJumpToNextIndent(cursor:OneCursor, selection:Selection): ReplaceCommand {
+	private static _replaceJumpToNextIndent(cursor: OneCursor, selection: Selection): ReplaceCommand {
 		let typeText = '';
 
 		let position = selection.getStartPosition();
@@ -1720,7 +1720,7 @@ export class OneCursorOp {
 		return new ReplaceCommand(selection, typeText);
 	}
 
-	public static tab(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static tab(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		let selection = cursor.getSelection();
 
 		if (selection.isEmpty()) {
@@ -1753,7 +1753,7 @@ export class OneCursorOp {
 		}
 	}
 
-	public static indent(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static indent(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		let selection = cursor.getSelection();
 
 		ctx.shouldPushStackElementBefore = true;
@@ -1768,7 +1768,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static outdent(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static outdent(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		let selection = cursor.getSelection();
 
 		ctx.shouldPushStackElementBefore = true;
@@ -1783,7 +1783,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static paste(cursor:OneCursor, text: string, pasteOnNewLine: boolean, ctx: IOneCursorOperationContext): boolean {
+	public static paste(cursor: OneCursor, text: string, pasteOnNewLine: boolean, ctx: IOneCursorOperationContext): boolean {
 		let position = cursor.getPosition();
 		let selection = cursor.getSelection();
 
@@ -1814,7 +1814,7 @@ export class OneCursorOp {
 
 	// -------------------- START delete handlers & co.
 
-	private static _autoClosingPairDelete(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	private static _autoClosingPairDelete(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		// Returns true if delete was handled.
 
 		if (!cursor.configuration.editor.autoClosingBrackets) {
@@ -1852,7 +1852,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	public static deleteLeft(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static deleteLeft(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		if (this._autoClosingPairDelete(cursor, ctx)) {
 			// This was a case for an auto-closing pair delete
 			return true;
@@ -1905,7 +1905,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	private static deleteWordLeftWhitespace(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	private static deleteWordLeftWhitespace(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		let position = cursor.getPosition();
 		let lineContent = cursor.getLineContent(position.lineNumber);
 		let startIndex = position.column - 2;
@@ -1918,7 +1918,7 @@ export class OneCursorOp {
 		return false;
 	}
 
-	public static deleteWordLeft(cursor:OneCursor, whitespaceHeuristics:boolean, wordNavigationType:WordNavigationType, ctx: IOneCursorOperationContext): boolean {
+	public static deleteWordLeft(cursor: OneCursor, whitespaceHeuristics: boolean, wordNavigationType: WordNavigationType, ctx: IOneCursorOperationContext): boolean {
 		if (this._autoClosingPairDelete(cursor, ctx)) {
 			// This was a case for an auto-closing pair delete
 			return true;
@@ -1970,7 +1970,7 @@ export class OneCursorOp {
 		return this.deleteLeft(cursor, ctx);
 	}
 
-	public static deleteRight(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static deleteRight(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 
 		let deleteSelection: Range = cursor.getSelection();
 
@@ -1998,7 +1998,7 @@ export class OneCursorOp {
 		return true;
 	}
 
-	private static _findFirstNonWhitespaceChar(str:string, startIndex:number): number {
+	private static _findFirstNonWhitespaceChar(str: string, startIndex: number): number {
 		let len = str.length;
 		for (let chIndex = startIndex; chIndex < len; chIndex++) {
 			let ch = str.charAt(chIndex);
@@ -2009,7 +2009,7 @@ export class OneCursorOp {
 		return len;
 	}
 
-	private static deleteWordRightWhitespace(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	private static deleteWordRightWhitespace(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		let position = cursor.getPosition();
 		let lineContent = cursor.getLineContent(position.lineNumber);
 		let startIndex = position.column - 1;
@@ -2022,7 +2022,7 @@ export class OneCursorOp {
 		return false;
 	}
 
-	public static deleteWordRight(cursor:OneCursor, whitespaceHeuristics:boolean, wordNavigationType:WordNavigationType, ctx: IOneCursorOperationContext): boolean {
+	public static deleteWordRight(cursor: OneCursor, whitespaceHeuristics: boolean, wordNavigationType: WordNavigationType, ctx: IOneCursorOperationContext): boolean {
 
 		let selection = cursor.getSelection();
 
@@ -2092,7 +2092,7 @@ export class OneCursorOp {
 		return this.deleteRight(cursor, ctx);
 	}
 
-	public static deleteAllLeft(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static deleteAllLeft(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		if (this._autoClosingPairDelete(cursor, ctx)) {
 			// This was a case for an auto-closing pair delete
 			return true;
@@ -2120,7 +2120,7 @@ export class OneCursorOp {
 		return this.deleteLeft(cursor, ctx);
 	}
 
-	public static deleteAllRight(cursor:OneCursor, ctx: IOneCursorOperationContext): boolean {
+	public static deleteAllRight(cursor: OneCursor, ctx: IOneCursorOperationContext): boolean {
 		let selection = cursor.getSelection();
 
 		if (selection.isEmpty()) {
@@ -2144,7 +2144,7 @@ export class OneCursorOp {
 		return this.deleteRight(cursor, ctx);
 	}
 
-	public static cut(cursor:OneCursor, enableEmptySelectionClipboard:boolean, ctx: IOneCursorOperationContext): boolean {
+	public static cut(cursor: OneCursor, enableEmptySelectionClipboard: boolean, ctx: IOneCursorOperationContext): boolean {
 		let selection = cursor.getSelection();
 
 		if (selection.isEmpty()) {
@@ -2153,10 +2153,10 @@ export class OneCursorOp {
 
 				let position = cursor.getPosition();
 
-				let startLineNumber:number,
-					startColumn:number,
-					endLineNumber:number,
-					endColumn:number;
+				let startLineNumber: number,
+					startColumn: number,
+					endLineNumber: number,
+					endColumn: number;
 
 				if (position.lineNumber < cursor.model.getLineCount()) {
 					// Cutting a line in the middle of the model
@@ -2203,11 +2203,11 @@ export class OneCursorOp {
 }
 
 class CursorHelper {
-	private model:editorCommon.IModel;
-	private configuration:editorCommon.IConfiguration;
-	private moveHelper:CursorMoveHelper;
+	private model: editorCommon.IModel;
+	private configuration: editorCommon.IConfiguration;
+	private moveHelper: CursorMoveHelper;
 
-	constructor (model:editorCommon.IModel, configuration:editorCommon.IConfiguration) {
+	constructor(model: editorCommon.IModel, configuration: editorCommon.IConfiguration) {
 		this.model = model;
 		this.configuration = configuration;
 		this.moveHelper = new CursorMoveHelper({
@@ -2217,55 +2217,55 @@ class CursorHelper {
 		});
 	}
 
-	public getLeftOfPosition(model:ICursorMoveHelperModel, lineNumber:number, column:number): editorCommon.IPosition {
+	public getLeftOfPosition(model: ICursorMoveHelperModel, lineNumber: number, column: number): editorCommon.IPosition {
 		return this.moveHelper.getLeftOfPosition(model, lineNumber, column);
 	}
 
-	public getRightOfPosition(model:ICursorMoveHelperModel, lineNumber:number, column:number): editorCommon.IPosition {
+	public getRightOfPosition(model: ICursorMoveHelperModel, lineNumber: number, column: number): editorCommon.IPosition {
 		return this.moveHelper.getRightOfPosition(model, lineNumber, column);
 	}
 
-	public getPositionUp(model:ICursorMoveHelperModel, lineNumber:number, column:number, leftoverVisibleColumns:number, count:number, allowMoveOnFirstLine:boolean): IMoveResult {
+	public getPositionUp(model: ICursorMoveHelperModel, lineNumber: number, column: number, leftoverVisibleColumns: number, count: number, allowMoveOnFirstLine: boolean): IMoveResult {
 		return this.moveHelper.getPositionUp(model, lineNumber, column, leftoverVisibleColumns, count, allowMoveOnFirstLine);
 	}
 
-	public getPositionDown(model:ICursorMoveHelperModel, lineNumber:number, column:number, leftoverVisibleColumns:number, count:number, allowMoveOnLastLine:boolean): IMoveResult {
+	public getPositionDown(model: ICursorMoveHelperModel, lineNumber: number, column: number, leftoverVisibleColumns: number, count: number, allowMoveOnLastLine: boolean): IMoveResult {
 		return this.moveHelper.getPositionDown(model, lineNumber, column, leftoverVisibleColumns, count, allowMoveOnLastLine);
 	}
 
-	public getColumnAtBeginningOfLine(model:ICursorMoveHelperModel, lineNumber:number, column:number): number {
+	public getColumnAtBeginningOfLine(model: ICursorMoveHelperModel, lineNumber: number, column: number): number {
 		return this.moveHelper.getColumnAtBeginningOfLine(model, lineNumber, column);
 	}
 
-	public getColumnAtEndOfLine(model:ICursorMoveHelperModel, lineNumber:number, column:number): number {
+	public getColumnAtEndOfLine(model: ICursorMoveHelperModel, lineNumber: number, column: number): number {
 		return this.moveHelper.getColumnAtEndOfLine(model, lineNumber, column);
 	}
 
-	public columnSelect(model:ICursorMoveHelperModel, fromLineNumber:number, fromVisibleColumn:number, toLineNumber:number, toVisibleColumn:number): IViewColumnSelectResult {
+	public columnSelect(model: ICursorMoveHelperModel, fromLineNumber: number, fromVisibleColumn: number, toLineNumber: number, toVisibleColumn: number): IViewColumnSelectResult {
 		return this.moveHelper.columnSelect(model, fromLineNumber, fromVisibleColumn, toLineNumber, toVisibleColumn);
 	}
 
-	public visibleColumnFromColumn(model:ICursorMoveHelperModel, lineNumber:number, column:number): number {
+	public visibleColumnFromColumn(model: ICursorMoveHelperModel, lineNumber: number, column: number): number {
 		return this.moveHelper.visibleColumnFromColumn(model, lineNumber, column);
 	}
 
-	public columnFromVisibleColumn(model:ICursorMoveHelperModel, lineNumber:number, column:number): number {
+	public columnFromVisibleColumn(model: ICursorMoveHelperModel, lineNumber: number, column: number): number {
 		return this.moveHelper.columnFromVisibleColumn(model, lineNumber, column);
 	}
 
-	private static _createWord(lineContent: string, wordType:WordType, start: number, end: number): IFindWordResult {
+	private static _createWord(lineContent: string, wordType: WordType, start: number, end: number): IFindWordResult {
 		// console.log('WORD ==> ' + start + ' => ' + end + ':::: <<<' + lineContent.substring(start, end) + '>>>');
 		return { start: start, end: end, wordType: wordType };
 	}
 
-	public findPreviousWordOnLine(_position:Position): IFindWordResult {
+	public findPreviousWordOnLine(_position: Position): IFindWordResult {
 		let position = this.model.validatePosition(_position);
 		let wordSeparators = getMapForWordSeparators(this.configuration.editor.wordSeparators);
 		let lineContent = this.model.getLineContent(position.lineNumber);
 		return CursorHelper._findPreviousWordOnLine(lineContent, wordSeparators, position);
 	}
 
-	private static _findPreviousWordOnLine(lineContent:string, wordSeparators:WordCharacterClassifier, position:Position): IFindWordResult {
+	private static _findPreviousWordOnLine(lineContent: string, wordSeparators: WordCharacterClassifier, position: Position): IFindWordResult {
 		let wordType = WordType.None;
 		for (let chIndex = position.column - 2; chIndex >= 0; chIndex--) {
 			let chCode = lineContent.charCodeAt(chIndex);
@@ -2295,7 +2295,7 @@ class CursorHelper {
 		return null;
 	}
 
-	private static _findEndOfWord(lineContent:string, wordSeparators:WordCharacterClassifier, wordType:WordType, startIndex:number): number {
+	private static _findEndOfWord(lineContent: string, wordSeparators: WordCharacterClassifier, wordType: WordType, startIndex: number): number {
 		let len = lineContent.length;
 		for (let chIndex = startIndex; chIndex < len; chIndex++) {
 			let chCode = lineContent.charCodeAt(chIndex);
@@ -2314,14 +2314,14 @@ class CursorHelper {
 		return len;
 	}
 
-	public findNextWordOnLine(_position:Position): IFindWordResult {
+	public findNextWordOnLine(_position: Position): IFindWordResult {
 		let position = this.model.validatePosition(_position);
 		let wordSeparators = getMapForWordSeparators(this.configuration.editor.wordSeparators);
 		let lineContent = this.model.getLineContent(position.lineNumber);
 		return CursorHelper._findNextWordOnLine(lineContent, wordSeparators, position);
 	}
 
-	private static _findNextWordOnLine(lineContent:string, wordSeparators:WordCharacterClassifier, position:Position): IFindWordResult {
+	private static _findNextWordOnLine(lineContent: string, wordSeparators: WordCharacterClassifier, position: Position): IFindWordResult {
 		let wordType = WordType.None;
 		let len = lineContent.length;
 
@@ -2353,7 +2353,7 @@ class CursorHelper {
 		return null;
 	}
 
-	private static _findStartOfWord(lineContent:string, wordSeparators:WordCharacterClassifier, wordType:WordType, startIndex:number): number {
+	private static _findStartOfWord(lineContent: string, wordSeparators: WordCharacterClassifier, wordType: WordType, startIndex: number): number {
 		for (let chIndex = startIndex; chIndex >= 0; chIndex--) {
 			let chCode = lineContent.charCodeAt(chIndex);
 			let chClass = wordSeparators.get(chCode);
@@ -2374,7 +2374,7 @@ class CursorHelper {
 
 class WordCharacterClassifier extends CharacterClassifier<CharacterClass> {
 
-	constructor(wordSeparators:string) {
+	constructor(wordSeparators: string) {
 		super(CharacterClass.Regular);
 
 		for (let i = 0, len = wordSeparators.length; i < len; i++) {
@@ -2387,9 +2387,9 @@ class WordCharacterClassifier extends CharacterClassifier<CharacterClass> {
 
 }
 
-function once<R>(computeFn:(input:string)=>R):(input:string)=>R {
-	let cache: {[key:string]:R;} = {}; // TODO@Alex unbounded cache
-	return (input:string):R => {
+function once<R>(computeFn: (input: string) => R): (input: string) => R {
+	let cache: { [key: string]: R; } = {}; // TODO@Alex unbounded cache
+	return (input: string): R => {
 		if (!cache.hasOwnProperty(input)) {
 			cache[input] = computeFn(input);
 		}
@@ -2406,7 +2406,7 @@ class Utils {
 	/**
 	 * Range contains position (including edges)?
 	 */
-	static rangeContainsPosition(range:editorCommon.IRange, position:editorCommon.IPosition): boolean {
+	static rangeContainsPosition(range: editorCommon.IRange, position: editorCommon.IPosition): boolean {
 		if (position.lineNumber < range.startLineNumber || position.lineNumber > range.endLineNumber) {
 			return false;
 		}
@@ -2423,7 +2423,7 @@ class Utils {
 	 * Tests if position is contained inside range.
 	 * If position is either the starting or ending of a range, false is returned.
 	 */
-	static isPositionInsideRange(position:editorCommon.IPosition, range:editorCommon.IRange): boolean {
+	static isPositionInsideRange(position: editorCommon.IPosition, range: editorCommon.IRange): boolean {
 		if (position.lineNumber < range.startLineNumber) {
 			return false;
 		}
@@ -2439,7 +2439,7 @@ class Utils {
 		return true;
 	}
 
-	static isPositionAtRangeEdges(position:editorCommon.IPosition, range:editorCommon.IRange): boolean {
+	static isPositionAtRangeEdges(position: editorCommon.IPosition, range: editorCommon.IRange): boolean {
 		if (position.lineNumber === range.startLineNumber && position.column === range.startColumn) {
 			return true;
 		}
diff --git a/src/vs/editor/common/controller/textAreaHandler.ts b/src/vs/editor/common/controller/textAreaHandler.ts
index 002bf91ca5030..1d63ac9fe5c52 100644
--- a/src/vs/editor/common/controller/textAreaHandler.ts
+++ b/src/vs/editor/common/controller/textAreaHandler.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {RunOnceScheduler} from 'vs/base/common/async';
-import Event, {Emitter} from 'vs/base/common/event';
-import {KeyCode} from 'vs/base/common/keyCodes';
-import {Disposable} from 'vs/base/common/lifecycle';
-import {IClipboardEvent, ICompositionEvent, IKeyboardEventWrapper, ISimpleModel, ITextAreaWrapper, ITypeData, TextAreaState, TextAreaStrategy, createTextAreaState} from 'vs/editor/common/controller/textAreaState';
-import {Range} from 'vs/editor/common/core/range';
-import {EndOfLinePreference} from 'vs/editor/common/editorCommon';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import Event, { Emitter } from 'vs/base/common/event';
+import { KeyCode } from 'vs/base/common/keyCodes';
+import { Disposable } from 'vs/base/common/lifecycle';
+import { IClipboardEvent, ICompositionEvent, IKeyboardEventWrapper, ISimpleModel, ITextAreaWrapper, ITypeData, TextAreaState, TextAreaStrategy, createTextAreaState } from 'vs/editor/common/controller/textAreaState';
+import { Range } from 'vs/editor/common/core/range';
+import { EndOfLinePreference } from 'vs/editor/common/editorCommon';
 
 const enum ReadFromTextArea {
 	Type,
@@ -61,20 +61,20 @@ export class TextAreaHandler extends Disposable {
 	private _onCompositionEnd = this._register(new Emitter<ICompositionEvent>());
 	public onCompositionEnd: Event<ICompositionEvent> = this._onCompositionEnd.event;
 
-	private Browser:IBrowser;
-	private textArea:ITextAreaWrapper;
-	private model:ISimpleModel;
-	private flushAnyAccumulatedEvents:()=>void;
+	private Browser: IBrowser;
+	private textArea: ITextAreaWrapper;
+	private model: ISimpleModel;
+	private flushAnyAccumulatedEvents: () => void;
 
-	private selection:Range;
-	private selections:Range[];
-	private hasFocus:boolean;
+	private selection: Range;
+	private selections: Range[];
+	private hasFocus: boolean;
 
 	private asyncTriggerCut: RunOnceScheduler;
 
-	private lastCompositionEndTime:number;
+	private lastCompositionEndTime: number;
 
-	private textAreaState:TextAreaState;
+	private textAreaState: TextAreaState;
 	private textareaIsShownAtCursor: boolean;
 
 	private lastCopiedValue: string;
@@ -82,7 +82,7 @@ export class TextAreaHandler extends Disposable {
 
 	private _nextCommand: ReadFromTextArea;
 
-	constructor(Browser:IBrowser, strategy:TextAreaStrategy, textArea:ITextAreaWrapper, model:ISimpleModel, flushAnyAccumulatedEvents:()=>void) {
+	constructor(Browser: IBrowser, strategy: TextAreaStrategy, textArea: ITextAreaWrapper, model: ISimpleModel, flushAnyAccumulatedEvents: () => void) {
 		super();
 		this.Browser = Browser;
 		this.textArea = textArea;
@@ -219,11 +219,11 @@ export class TextAreaHandler extends Disposable {
 
 	// --- begin event handlers
 
-	public setStrategy(strategy:TextAreaStrategy): void {
+	public setStrategy(strategy: TextAreaStrategy): void {
 		this.textAreaState = this.textAreaState.toStrategy(strategy);
 	}
 
-	public setHasFocus(isFocused:boolean): void {
+	public setHasFocus(isFocused: boolean): void {
 		if (this.hasFocus === isFocused) {
 			// no change
 			return;
@@ -242,7 +242,7 @@ export class TextAreaHandler extends Disposable {
 
 	// --- end event handlers
 
-	private setTextAreaState(reason:string, textAreaState:TextAreaState): void {
+	private setTextAreaState(reason: string, textAreaState: TextAreaState): void {
 		if (!this.hasFocus) {
 			textAreaState = textAreaState.resetSelection();
 		}
@@ -251,7 +251,7 @@ export class TextAreaHandler extends Disposable {
 		this.textAreaState = textAreaState;
 	}
 
-	private _onKeyDownHandler(e:IKeyboardEventWrapper): void {
+	private _onKeyDownHandler(e: IKeyboardEventWrapper): void {
 		if (e.equals(KeyCode.Escape)) {
 			// Prevent default always for `Esc`, otherwise it will generate a keypress
 			// See https://msdn.microsoft.com/en-us/library/ie/ms536939(v=vs.85).aspx
@@ -260,7 +260,7 @@ export class TextAreaHandler extends Disposable {
 		this._onKeyDown.fire(e);
 	}
 
-	private _onKeyPressHandler(e:IKeyboardEventWrapper): void {
+	private _onKeyPressHandler(e: IKeyboardEventWrapper): void {
 		if (!this.hasFocus) {
 			// Sometimes, when doing Alt-Tab, in FF, a 'keypress' is sent before a 'focus'
 			return;
@@ -269,8 +269,8 @@ export class TextAreaHandler extends Disposable {
 
 	// ------------- Operations that are always executed asynchronously
 
-	private executePaste(txt:string): void {
-		if(txt === '') {
+	private executePaste(txt: string): void {
+		if (txt === '') {
 			return;
 		}
 
@@ -288,7 +288,7 @@ export class TextAreaHandler extends Disposable {
 		this._writePlaceholderAndSelectTextArea('focusTextArea');
 	}
 
-	private _writePlaceholderAndSelectTextArea(reason:string): void {
+	private _writePlaceholderAndSelectTextArea(reason: string): void {
 		if (!this.textareaIsShownAtCursor) {
 			// Do not write to the textarea if it is visible.
 			if (this.Browser.isIPad) {
@@ -302,7 +302,7 @@ export class TextAreaHandler extends Disposable {
 
 	// ------------- Clipboard operations
 
-	private _ensureClipboardGetsEditorSelection(e:IClipboardEvent): void {
+	private _ensureClipboardGetsEditorSelection(e: IClipboardEvent): void {
 		let whatToCopy = this._getPlainTextToCopy();
 		if (e.canUseTextData()) {
 			e.setTextData(whatToCopy);
@@ -329,7 +329,7 @@ export class TextAreaHandler extends Disposable {
 		let selections = this.selections;
 
 		if (selections.length === 1) {
-			let range:Range = selections[0];
+			let range: Range = selections[0];
 			if (range.isEmpty()) {
 				if (this.Browser.enableEmptySelectionClipboard) {
 					let modelLineNumber = this.model.convertViewPositionToModelPosition(range.startLineNumber, 1).lineNumber;
diff --git a/src/vs/editor/common/controller/textAreaState.ts b/src/vs/editor/common/controller/textAreaState.ts
index 6d367ab4eb446..0a3e16fae6446 100644
--- a/src/vs/editor/common/controller/textAreaState.ts
+++ b/src/vs/editor/common/controller/textAreaState.ts
@@ -5,14 +5,14 @@
 'use strict';
 
 import Event from 'vs/base/common/event';
-import {commonPrefixLength, commonSuffixLength} from 'vs/base/common/strings';
-import {Range} from 'vs/editor/common/core/range';
-import {EndOfLinePreference, IRange} from 'vs/editor/common/editorCommon';
-import {Position} from 'vs/editor/common/core/position';
+import { commonPrefixLength, commonSuffixLength } from 'vs/base/common/strings';
+import { Range } from 'vs/editor/common/core/range';
+import { EndOfLinePreference, IRange } from 'vs/editor/common/editorCommon';
+import { Position } from 'vs/editor/common/core/position';
 
 export interface IClipboardEvent {
 	canUseTextData(): boolean;
-	setTextData(text:string): void;
+	setTextData(text: string): void;
 	getTextData(): string;
 }
 
@@ -23,7 +23,7 @@ export interface ICompositionEvent {
 
 export interface IKeyboardEventWrapper {
 	_actual: any;
-	equals(keybinding:number): boolean;
+	equals(keybinding: number): boolean;
 	preventDefault(): void;
 	isDefaultPrevented(): boolean;
 }
@@ -41,21 +41,21 @@ export interface ITextAreaWrapper {
 	onPaste: Event<IClipboardEvent>;
 
 	getValue(): string;
-	setValue(reason:string, value:string): void;
+	setValue(reason: string, value: string): void;
 	getSelectionStart(): number;
 	getSelectionEnd(): number;
 
-	setSelectionRange(selectionStart:number, selectionEnd:number): void;
+	setSelectionRange(selectionStart: number, selectionEnd: number): void;
 	isInOverwriteMode(): boolean;
 }
 
 export interface ISimpleModel {
-	getLineMaxColumn(lineNumber:number): number;
+	getLineMaxColumn(lineNumber: number): number;
 	getEOL(): string;
-	getValueInRange(range:IRange, eol:EndOfLinePreference): string;
-	getModelLineContent(lineNumber:number): string;
+	getValueInRange(range: IRange, eol: EndOfLinePreference): string;
+	getModelLineContent(lineNumber: number): string;
 	getLineCount(): number;
-	convertViewPositionToModelPosition(viewLineNumber:number, viewColumn:number): Position;
+	convertViewPositionToModelPosition(viewLineNumber: number, viewColumn: number): Position;
 }
 
 export interface ITypeData {
@@ -70,7 +70,7 @@ export enum TextAreaStrategy {
 
 const USE_NVDA_FULL_TEXT = false;
 
-export function createTextAreaState(strategy:TextAreaStrategy): TextAreaState {
+export function createTextAreaState(strategy: TextAreaStrategy): TextAreaState {
 	if (strategy === TextAreaStrategy.IENarrator) {
 		return IENarratorTextAreaState.EMPTY;
 	}
@@ -82,13 +82,13 @@ export function createTextAreaState(strategy:TextAreaStrategy): TextAreaState {
 
 export abstract class TextAreaState {
 
-	protected previousState:TextAreaState;
-	protected value:string;
-	protected selectionStart:number;
-	protected selectionEnd:number;
-	protected isInOverwriteMode:boolean;
+	protected previousState: TextAreaState;
+	protected value: string;
+	protected selectionStart: number;
+	protected selectionEnd: number;
+	protected isInOverwriteMode: boolean;
 
-	constructor(previousState:TextAreaState, value:string, selectionStart:number, selectionEnd:number, isInOverwriteMode:boolean) {
+	constructor(previousState: TextAreaState, value: string, selectionStart: number, selectionEnd: number, isInOverwriteMode: boolean) {
 		this.previousState = previousState ? previousState.shallowClone() : null;
 		this.value = value;
 		this.selectionStart = selectionStart;
@@ -102,15 +102,15 @@ export abstract class TextAreaState {
 
 	public abstract toString(): string;
 
-	public abstract toStrategy(strategy:TextAreaStrategy): TextAreaState;
+	public abstract toStrategy(strategy: TextAreaStrategy): TextAreaState;
 
-	public abstract equals(other:TextAreaState): boolean;
+	public abstract equals(other: TextAreaState): boolean;
 
-	public abstract fromTextArea(textArea:ITextAreaWrapper): TextAreaState;
+	public abstract fromTextArea(textArea: ITextAreaWrapper): TextAreaState;
 
-	public abstract fromEditorSelection(model:ISimpleModel, selection:Range);
+	public abstract fromEditorSelection(model: ISimpleModel, selection: Range);
 
-	public abstract fromText(text:string): TextAreaState;
+	public abstract fromText(text: string): TextAreaState;
 
 	public updateComposition(): ITypeData {
 		if (!this.previousState) {
@@ -137,7 +137,7 @@ export abstract class TextAreaState {
 		return this.value;
 	}
 
-	public applyToTextArea(reason:string, textArea:ITextAreaWrapper, select:boolean): void {
+	public applyToTextArea(reason: string, textArea: ITextAreaWrapper, select: boolean): void {
 		// console.log(Date.now() + ': applyToTextArea ' + reason + ': ' + this.toString());
 		if (textArea.getValue() !== this.value) {
 			textArea.setValue(reason, this.value);
@@ -225,9 +225,9 @@ export abstract class TextAreaState {
 export class IENarratorTextAreaState extends TextAreaState {
 	public static EMPTY = new IENarratorTextAreaState(null, '', 0, 0, false, 0);
 
-	private selectionToken:number;
+	private selectionToken: number;
 
-	constructor(previousState:TextAreaState, value:string, selectionStart:number, selectionEnd:number, isInOverwriteMode:boolean, selectionToken:number) {
+	constructor(previousState: TextAreaState, value: string, selectionStart: number, selectionEnd: number, isInOverwriteMode: boolean, selectionToken: number) {
 		super(previousState, value, selectionStart, selectionEnd, isInOverwriteMode);
 		this.selectionToken = selectionToken;
 	}
@@ -244,7 +244,7 @@ export class IENarratorTextAreaState extends TextAreaState {
 		return '[ <' + this.value + '>, selectionStart: ' + this.selectionStart + ', selectionEnd: ' + this.selectionEnd + ', isInOverwriteMode: ' + this.isInOverwriteMode + ', selectionToken: ' + this.selectionToken + ']';
 	}
 
-	public toStrategy(strategy:TextAreaStrategy): TextAreaState {
+	public toStrategy(strategy: TextAreaStrategy): TextAreaState {
 		if (strategy === TextAreaStrategy.IENarrator) {
 			return this;
 		}
@@ -254,7 +254,7 @@ export class IENarratorTextAreaState extends TextAreaState {
 		return new NVDAPagedTextAreaState(this.previousState, this.value, this.selectionStart, this.selectionEnd, this.isInOverwriteMode);
 	}
 
-	public equals(other:TextAreaState): boolean {
+	public equals(other: TextAreaState): boolean {
 		if (other instanceof IENarratorTextAreaState) {
 			return (
 				this.value === other.value
@@ -267,11 +267,11 @@ export class IENarratorTextAreaState extends TextAreaState {
 		return false;
 	}
 
-	public fromTextArea(textArea:ITextAreaWrapper): TextAreaState {
+	public fromTextArea(textArea: ITextAreaWrapper): TextAreaState {
 		return new IENarratorTextAreaState(this, textArea.getValue(), textArea.getSelectionStart(), textArea.getSelectionEnd(), textArea.isInOverwriteMode(), this.selectionToken);
 	}
 
-	public fromEditorSelection(model:ISimpleModel, selection:Range): TextAreaState {
+	public fromEditorSelection(model: ISimpleModel, selection: Range): TextAreaState {
 		let LIMIT_CHARS = 100;
 		let PADDING_LINES_COUNT = 0;
 
@@ -320,7 +320,7 @@ export class IENarratorTextAreaState extends TextAreaState {
 		return new IENarratorTextAreaState(this, pretext + text + posttext, pretext.length, pretext.length + text.length, false, selectionStartLineNumber);
 	}
 
-	public fromText(text:string): TextAreaState {
+	public fromText(text: string): TextAreaState {
 		return new IENarratorTextAreaState(this, text, 0, text.length, false, 0);
 	}
 
@@ -333,7 +333,7 @@ export class NVDAPagedTextAreaState extends TextAreaState {
 	public static EMPTY = new NVDAPagedTextAreaState(null, '', 0, 0, false);
 	private static _LINES_PER_PAGE = 10;
 
-	constructor(previousState:TextAreaState, value:string, selectionStart:number, selectionEnd:number, isInOverwriteMode:boolean) {
+	constructor(previousState: TextAreaState, value: string, selectionStart: number, selectionEnd: number, isInOverwriteMode: boolean) {
 		super(previousState, value, selectionStart, selectionEnd, isInOverwriteMode);
 	}
 
@@ -349,14 +349,14 @@ export class NVDAPagedTextAreaState extends TextAreaState {
 		return '[ <' + this.value + '>, selectionStart: ' + this.selectionStart + ', selectionEnd: ' + this.selectionEnd + ', isInOverwriteMode: ' + this.isInOverwriteMode + ']';
 	}
 
-	public toStrategy(strategy:TextAreaStrategy): TextAreaState {
+	public toStrategy(strategy: TextAreaStrategy): TextAreaState {
 		if (strategy === TextAreaStrategy.NVDA) {
 			return this;
 		}
 		return new IENarratorTextAreaState(this.previousState, this.value, this.selectionStart, this.selectionEnd, this.isInOverwriteMode, 0);
 	}
 
-	public equals(other:TextAreaState): boolean {
+	public equals(other: TextAreaState): boolean {
 		if (other instanceof NVDAPagedTextAreaState) {
 			return (
 				this.value === other.value
@@ -368,22 +368,22 @@ export class NVDAPagedTextAreaState extends TextAreaState {
 		return false;
 	}
 
-	public fromTextArea(textArea:ITextAreaWrapper): TextAreaState {
+	public fromTextArea(textArea: ITextAreaWrapper): TextAreaState {
 		return new NVDAPagedTextAreaState(this, textArea.getValue(), textArea.getSelectionStart(), textArea.getSelectionEnd(), textArea.isInOverwriteMode());
 	}
 
-	private static _getPageOfLine(lineNumber:number): number {
+	private static _getPageOfLine(lineNumber: number): number {
 		return Math.floor((lineNumber - 1) / NVDAPagedTextAreaState._LINES_PER_PAGE);
 	}
 
-	private static _getRangeForPage(page:number): Range {
+	private static _getRangeForPage(page: number): Range {
 		let offset = page * NVDAPagedTextAreaState._LINES_PER_PAGE;
 		let startLineNumber = offset + 1;
 		let endLineNumber = offset + NVDAPagedTextAreaState._LINES_PER_PAGE;
 		return new Range(startLineNumber, 1, endLineNumber, Number.MAX_VALUE);
 	}
 
-	public fromEditorSelection(model:ISimpleModel, selection:Range): TextAreaState {
+	public fromEditorSelection(model: ISimpleModel, selection: Range): TextAreaState {
 
 		let selectionStartPage = NVDAPagedTextAreaState._getPageOfLine(selection.startLineNumber);
 		let selectionStartPageRange = NVDAPagedTextAreaState._getRangeForPage(selectionStartPage);
@@ -399,7 +399,7 @@ export class NVDAPagedTextAreaState extends TextAreaState {
 		let posttextRange = selectionEndPageRange.intersectRanges(new Range(selection.endLineNumber, selection.endColumn, lastLine, lastLineMaxColumn));
 		let posttext = model.getValueInRange(posttextRange, EndOfLinePreference.LF);
 
-		let text:string = null;
+		let text: string = null;
 		if (selectionStartPage === selectionEndPage || selectionStartPage + 1 === selectionEndPage) {
 			// take full selection
 			text = model.getValueInRange(selection, EndOfLinePreference.LF);
@@ -429,7 +429,7 @@ export class NVDAPagedTextAreaState extends TextAreaState {
 		return new NVDAPagedTextAreaState(this, pretext + text + posttext, pretext.length, pretext.length + text.length, false);
 	}
 
-	public fromText(text:string): TextAreaState {
+	public fromText(text: string): TextAreaState {
 		return new NVDAPagedTextAreaState(this, text, 0, text.length, false);
 	}
 
@@ -442,7 +442,7 @@ export class NVDAPagedTextAreaState extends TextAreaState {
 export class NVDAFullTextAreaState extends TextAreaState {
 	public static EMPTY = new NVDAFullTextAreaState(null, '', 0, 0, false);
 
-	constructor(previousState:TextAreaState, value:string, selectionStart:number, selectionEnd:number, isInOverwriteMode:boolean) {
+	constructor(previousState: TextAreaState, value: string, selectionStart: number, selectionEnd: number, isInOverwriteMode: boolean) {
 		super(previousState, value, selectionStart, selectionEnd, isInOverwriteMode);
 	}
 
@@ -458,14 +458,14 @@ export class NVDAFullTextAreaState extends TextAreaState {
 		return '[ <ENTIRE TEXT' + /*this.value +*/ '>, selectionStart: ' + this.selectionStart + ', selectionEnd: ' + this.selectionEnd + ', isInOverwriteMode: ' + this.isInOverwriteMode + ']';
 	}
 
-	public toStrategy(strategy:TextAreaStrategy): TextAreaState {
+	public toStrategy(strategy: TextAreaStrategy): TextAreaState {
 		if (strategy === TextAreaStrategy.NVDA) {
 			return this;
 		}
 		return new IENarratorTextAreaState(this.previousState, this.value, this.selectionStart, this.selectionEnd, this.isInOverwriteMode, 0);
 	}
 
-	public equals(other:TextAreaState): boolean {
+	public equals(other: TextAreaState): boolean {
 		if (other instanceof NVDAFullTextAreaState) {
 			return (
 				this.value === other.value
@@ -477,11 +477,11 @@ export class NVDAFullTextAreaState extends TextAreaState {
 		return false;
 	}
 
-	public fromTextArea(textArea:ITextAreaWrapper): TextAreaState {
+	public fromTextArea(textArea: ITextAreaWrapper): TextAreaState {
 		return new NVDAFullTextAreaState(this, textArea.getValue(), textArea.getSelectionStart(), textArea.getSelectionEnd(), textArea.isInOverwriteMode());
 	}
 
-	public fromEditorSelection(model:ISimpleModel, selection:Range): TextAreaState {
+	public fromEditorSelection(model: ISimpleModel, selection: Range): TextAreaState {
 		let pretext = model.getValueInRange(new Range(1, 1, selection.startLineNumber, selection.startColumn), EndOfLinePreference.LF);
 		let text = model.getValueInRange(selection, EndOfLinePreference.LF);
 		let lastLine = model.getLineCount();
@@ -491,7 +491,7 @@ export class NVDAFullTextAreaState extends TextAreaState {
 		return new NVDAFullTextAreaState(this, pretext + text + posttext, pretext.length, pretext.length + text.length, false);
 	}
 
-	public fromText(text:string): TextAreaState {
+	public fromText(text: string): TextAreaState {
 		return new NVDAFullTextAreaState(this, text, 0, text.length, false);
 	}
 
diff --git a/src/vs/editor/common/core/characterClassifier.ts b/src/vs/editor/common/core/characterClassifier.ts
index e9671a85d5a9f..58ccbf915833a 100644
--- a/src/vs/editor/common/core/characterClassifier.ts
+++ b/src/vs/editor/common/core/characterClassifier.ts
@@ -20,21 +20,21 @@ export class CharacterClassifier<T> {
 
 	private _defaultValue: T;
 
-	constructor(defaultValue:T) {
+	constructor(defaultValue: T) {
 		this._defaultValue = defaultValue;
 		this._asciiMap = CharacterClassifier._createAsciiMap(defaultValue);
 		this._map = [];
 	}
 
-	private static _createAsciiMap<T>(defaultValue:T): T[] {
-		let asciiMap:T[] = [];
+	private static _createAsciiMap<T>(defaultValue: T): T[] {
+		let asciiMap: T[] = [];
 		for (let i = 0; i < 256; i++) {
 			asciiMap[i] = defaultValue;
 		}
 		return asciiMap;
 	}
 
-	public set(charCode:number, value:T): void {
+	public set(charCode: number, value: T): void {
 		if (charCode >= 0 && charCode < 256) {
 			this._asciiMap[charCode] = value;
 		} else {
@@ -42,7 +42,7 @@ export class CharacterClassifier<T> {
 		}
 	}
 
-	public get(charCode:number): T {
+	public get(charCode: number): T {
 		if (charCode >= 0 && charCode < 256) {
 			return this._asciiMap[charCode];
 		} else {
diff --git a/src/vs/editor/common/core/editOperation.ts b/src/vs/editor/common/core/editOperation.ts
index 937e942500bd4..428427933c0ee 100644
--- a/src/vs/editor/common/core/editOperation.ts
+++ b/src/vs/editor/common/core/editOperation.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Range} from 'vs/editor/common/core/range';
-import {IIdentifiedSingleEditOperation, IRange, IPosition} from 'vs/editor/common/editorCommon';
+import { Range } from 'vs/editor/common/core/range';
+import { IIdentifiedSingleEditOperation, IRange, IPosition } from 'vs/editor/common/editorCommon';
 
 export class EditOperation {
 
-	public static insert(position:IPosition, text:string): IIdentifiedSingleEditOperation {
+	public static insert(position: IPosition, text: string): IIdentifiedSingleEditOperation {
 		return {
 			identifier: null,
 			range: new Range(position.lineNumber, position.column, position.lineNumber, position.column),
@@ -18,7 +18,7 @@ export class EditOperation {
 		};
 	}
 
-	public static delete(range:IRange): IIdentifiedSingleEditOperation {
+	public static delete(range: IRange): IIdentifiedSingleEditOperation {
 		return {
 			identifier: null,
 			range: Range.lift(range),
@@ -27,7 +27,7 @@ export class EditOperation {
 		};
 	}
 
-	public static replace(range:IRange, text:string): IIdentifiedSingleEditOperation {
+	public static replace(range: IRange, text: string): IIdentifiedSingleEditOperation {
 		return {
 			identifier: null,
 			range: Range.lift(range),
@@ -36,7 +36,7 @@ export class EditOperation {
 		};
 	}
 
-	public static replaceMove(range:IRange, text:string): IIdentifiedSingleEditOperation {
+	public static replaceMove(range: IRange, text: string): IIdentifiedSingleEditOperation {
 		return {
 			identifier: null,
 			range: Range.lift(range),
diff --git a/src/vs/editor/common/core/editorState.ts b/src/vs/editor/common/core/editorState.ts
index 69ca7a864d8e0..f792f501dbf0c 100644
--- a/src/vs/editor/common/core/editorState.ts
+++ b/src/vs/editor/common/core/editorState.ts
@@ -5,25 +5,25 @@
 'use strict';
 
 import * as strings from 'vs/base/common/strings';
-import {CodeEditorStateFlag, ICodeEditorState, ICommonCodeEditor} from 'vs/editor/common/editorCommon';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
+import { CodeEditorStateFlag, ICodeEditorState, ICommonCodeEditor } from 'vs/editor/common/editorCommon';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
 
 export class EditorState implements ICodeEditorState {
 
-	private flags:CodeEditorStateFlag[];
+	private flags: CodeEditorStateFlag[];
 
-	private position:Position;
-	private selection:Range;
-	private modelVersionId:string;
-	private scrollLeft:number;
-	private scrollTop:number;
+	private position: Position;
+	private selection: Range;
+	private modelVersionId: string;
+	private scrollLeft: number;
+	private scrollTop: number;
 
-	constructor(editor:ICommonCodeEditor, flags:CodeEditorStateFlag[]) {
+	constructor(editor: ICommonCodeEditor, flags: CodeEditorStateFlag[]) {
 		this.flags = flags;
 
 		flags.forEach((flag) => {
-			switch(flag) {
+			switch (flag) {
 				case CodeEditorStateFlag.Value:
 					var model = editor.getModel();
 					this.modelVersionId = model ? strings.format('{0}#{1}', model.uri.toString(), model.getVersionId()) : null;
@@ -42,29 +42,29 @@ export class EditorState implements ICodeEditorState {
 		});
 	}
 
-	private _equals(other:any):boolean {
+	private _equals(other: any): boolean {
 
-		if(!(other instanceof EditorState)) {
+		if (!(other instanceof EditorState)) {
 			return false;
 		}
-		var state = <EditorState> other;
+		var state = <EditorState>other;
 
-		if(this.modelVersionId !== state.modelVersionId) {
+		if (this.modelVersionId !== state.modelVersionId) {
 			return false;
 		}
-		if(this.scrollLeft !== state.scrollLeft || this.scrollTop !== state.scrollTop) {
+		if (this.scrollLeft !== state.scrollLeft || this.scrollTop !== state.scrollTop) {
 			return false;
 		}
-		if(!this.position && state.position || this.position && !state.position || this.position && state.position && !this.position.equals(state.position)) {
+		if (!this.position && state.position || this.position && !state.position || this.position && state.position && !this.position.equals(state.position)) {
 			return false;
 		}
-		if(!this.selection && state.selection || this.selection && !state.selection || this.selection && state.selection && !this.selection.equalsRange(state.selection)) {
+		if (!this.selection && state.selection || this.selection && !state.selection || this.selection && state.selection && !this.selection.equalsRange(state.selection)) {
 			return false;
 		}
 		return true;
 	}
 
-	public validate(editor:ICommonCodeEditor):boolean {
+	public validate(editor: ICommonCodeEditor): boolean {
 		return this._equals(new EditorState(editor, this.flags));
 	}
 }
diff --git a/src/vs/editor/common/core/lineTokens.ts b/src/vs/editor/common/core/lineTokens.ts
index 16f7f11f7cfec..5c0da8293b877 100644
--- a/src/vs/editor/common/core/lineTokens.ts
+++ b/src/vs/editor/common/core/lineTokens.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TokensBinaryEncoding, TokensInflatorMap} from 'vs/editor/common/model/tokensBinaryEncoding';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {ViewLineToken} from 'vs/editor/common/core/viewLineToken';
+import { TokensBinaryEncoding, TokensInflatorMap } from 'vs/editor/common/model/tokensBinaryEncoding';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { ViewLineToken } from 'vs/editor/common/core/viewLineToken';
 
 export class LineToken {
 	_lineTokenBrand: void;
 
-	private _source:LineTokens;
+	private _source: LineTokens;
 	private _tokenIndex: number;
 	private _modeIndex: number;
 
@@ -22,7 +22,7 @@ export class LineToken {
 	public hasPrev: boolean;
 	public hasNext: boolean;
 
-	constructor(source:LineTokens, tokenIndex:number, modeIndex:number) {
+	constructor(source: LineTokens, tokenIndex: number, modeIndex: number) {
 		this._source = source;
 		this._tokenIndex = tokenIndex;
 		this._modeIndex = modeIndex;
@@ -75,13 +75,13 @@ export class LineToken {
 export class LineTokens {
 	_lineTokensBrand: void;
 
-	private _map:TokensInflatorMap;
-	private _tokens:number[];
-	private _textLength:number;
+	private _map: TokensInflatorMap;
+	private _tokens: number[];
+	private _textLength: number;
 
-	modeTransitions:ModeTransition[];
+	modeTransitions: ModeTransition[];
 
-	constructor(map:TokensInflatorMap, tokens:number[], modeTransitions:ModeTransition[], textLength:number) {
+	constructor(map: TokensInflatorMap, tokens: number[], modeTransitions: ModeTransition[], textLength: number) {
 		this._map = map;
 		this._tokens = tokens;
 		this.modeTransitions = modeTransitions;
@@ -92,22 +92,22 @@ export class LineTokens {
 		return this._tokens.length;
 	}
 
-	public getTokenStartOffset(tokenIndex:number): number {
+	public getTokenStartOffset(tokenIndex: number): number {
 		return TokensBinaryEncoding.getStartIndex(this._tokens[tokenIndex]);
 	}
 
-	public getTokenType(tokenIndex:number): string {
+	public getTokenType(tokenIndex: number): string {
 		return TokensBinaryEncoding.getType(this._map, this._tokens[tokenIndex]);
 	}
 
-	public getTokenEndOffset(tokenIndex:number): number {
+	public getTokenEndOffset(tokenIndex: number): number {
 		if (tokenIndex + 1 < this._tokens.length) {
 			return TokensBinaryEncoding.getStartIndex(this._tokens[tokenIndex + 1]);
 		}
 		return this._textLength;
 	}
 
-	public equals(other:LineTokens): boolean {
+	public equals(other: LineTokens): boolean {
 		if (other instanceof LineTokens) {
 			if (this._map !== other._map) {
 				return false;
@@ -127,11 +127,11 @@ export class LineTokens {
 		}
 	}
 
-	public findTokenIndexAtOffset(offset:number): number {
+	public findTokenIndexAtOffset(offset: number): number {
 		return TokensBinaryEncoding.findIndexOfOffset(this._tokens, offset);
 	}
 
-	public findTokenAtOffset(offset:number): LineToken {
+	public findTokenAtOffset(offset: number): LineToken {
 		if (this._textLength === 0) {
 			return null;
 		}
@@ -158,7 +158,7 @@ export class LineTokens {
 		return TokensBinaryEncoding.inflateArr(this._map, this._tokens);
 	}
 
-	public sliceAndInflate(startOffset:number, endOffset:number, deltaStartIndex:number): ViewLineToken[] {
+	public sliceAndInflate(startOffset: number, endOffset: number, deltaStartIndex: number): ViewLineToken[] {
 		return TokensBinaryEncoding.sliceAndInflate(this._map, this._tokens, startOffset, endOffset, deltaStartIndex);
 	}
 }
diff --git a/src/vs/editor/common/core/modeTransition.ts b/src/vs/editor/common/core/modeTransition.ts
index 5c54003fd8a55..3b7461d86d4d6 100644
--- a/src/vs/editor/common/core/modeTransition.ts
+++ b/src/vs/editor/common/core/modeTransition.ts
@@ -4,20 +4,20 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Arrays} from 'vs/editor/common/core/arrays';
+import { Arrays } from 'vs/editor/common/core/arrays';
 
 export class ModeTransition {
 	_modeTransitionBrand: void;
 
-	public startIndex:number;
+	public startIndex: number;
 	public modeId: string;
 
-	constructor(startIndex:number, modeId:string) {
-		this.startIndex = startIndex|0;
+	constructor(startIndex: number, modeId: string) {
+		this.startIndex = startIndex | 0;
 		this.modeId = modeId;
 	}
 
-	public static findIndexInSegmentsArray(arr:ModeTransition[], desiredIndex: number): number {
+	public static findIndexInSegmentsArray(arr: ModeTransition[], desiredIndex: number): number {
 		return Arrays.findIndexInSegmentsArray(arr, desiredIndex);
 	}
 }
diff --git a/src/vs/editor/common/core/position.ts b/src/vs/editor/common/core/position.ts
index b5ecb89191b19..b135ce872d30b 100644
--- a/src/vs/editor/common/core/position.ts
+++ b/src/vs/editor/common/core/position.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IPosition} from 'vs/editor/common/editorCommon';
+import { IPosition } from 'vs/editor/common/editorCommon';
 
 /**
  * A position in the editor.
@@ -27,14 +27,14 @@ export class Position {
 	/**
 	 * Test if this position equals other position
 	 */
-	public equals(other:IPosition): boolean {
+	public equals(other: IPosition): boolean {
 		return Position.equals(this, other);
 	}
 
 	/**
 	 * Test if position `a` equals position `b`
 	 */
-	public static equals(a:IPosition, b:IPosition): boolean {
+	public static equals(a: IPosition, b: IPosition): boolean {
 		if (!a && !b) {
 			return true;
 		}
@@ -50,7 +50,7 @@ export class Position {
 	 * Test if this position is before other position.
 	 * If the two positions are equal, the result will be false.
 	 */
-	public isBefore(other:IPosition): boolean {
+	public isBefore(other: IPosition): boolean {
 		return Position.isBefore(this, other);
 	}
 
@@ -58,7 +58,7 @@ export class Position {
 	 * Test if position `a` is before position `b`.
 	 * If the two positions are equal, the result will be false.
 	 */
-	public static isBefore(a:IPosition, b:IPosition): boolean {
+	public static isBefore(a: IPosition, b: IPosition): boolean {
 		if (a.lineNumber < b.lineNumber) {
 			return true;
 		}
@@ -72,7 +72,7 @@ export class Position {
 	 * Test if this position is before other position.
 	 * If the two positions are equal, the result will be true.
 	 */
-	public isBeforeOrEqual(other:IPosition): boolean {
+	public isBeforeOrEqual(other: IPosition): boolean {
 		return Position.isBeforeOrEqual(this, other);
 	}
 
@@ -80,7 +80,7 @@ export class Position {
 	 * Test if position `a` is before position `b`.
 	 * If the two positions are equal, the result will be true.
 	 */
-	public static isBeforeOrEqual(a:IPosition, b:IPosition): boolean {
+	public static isBeforeOrEqual(a: IPosition, b: IPosition): boolean {
 		if (a.lineNumber < b.lineNumber) {
 			return true;
 		}
@@ -109,7 +109,7 @@ export class Position {
 	/**
 	 * Create a `Position` from an `IPosition`.
 	 */
-	public static lift(pos:IPosition): Position {
+	public static lift(pos: IPosition): Position {
 		return new Position(pos.lineNumber, pos.column);
 	}
 
diff --git a/src/vs/editor/common/core/range.ts b/src/vs/editor/common/core/range.ts
index aa6a273ec6563..c7d25396a4da2 100644
--- a/src/vs/editor/common/core/range.ts
+++ b/src/vs/editor/common/core/range.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import {Position} from 'vs/editor/common/core/position';
-import {IPosition, IRange} from 'vs/editor/common/editorCommon';
+import { Position } from 'vs/editor/common/core/position';
+import { IPosition, IRange } from 'vs/editor/common/editorCommon';
 
 /**
  * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)
@@ -16,21 +16,21 @@ export class Range {
 	/**
 	 * Line number on which the range starts (starts at 1).
 	 */
-	public startLineNumber:number;
+	public startLineNumber: number;
 	/**
 	 * Column on which the range starts in line `startLineNumber` (starts at 1).
 	 */
-	public startColumn:number;
+	public startColumn: number;
 	/**
 	 * Line number on which the range ends.
 	 */
-	public endLineNumber:number;
+	public endLineNumber: number;
 	/**
 	 * Column on which the range ends in line `endLineNumber`.
 	 */
-	public endColumn:number;
+	public endColumn: number;
 
-	constructor(startLineNumber:number, startColumn:number, endLineNumber:number, endColumn:number) {
+	constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number) {
 		if ((startLineNumber > endLineNumber) || (startLineNumber === endLineNumber && startColumn > endColumn)) {
 			this.startLineNumber = endLineNumber;
 			this.startColumn = endColumn;
@@ -54,21 +54,21 @@ export class Range {
 	/**
 	 * Test if `range` is empty.
 	 */
-	public static isEmpty(range:IRange): boolean {
+	public static isEmpty(range: IRange): boolean {
 		return (range.startLineNumber === range.endLineNumber && range.startColumn === range.endColumn);
 	}
 
 	/**
 	 * Test if position is in this range. If the position is at the edges, will return true.
 	 */
-	public containsPosition(position:IPosition): boolean {
+	public containsPosition(position: IPosition): boolean {
 		return Range.containsPosition(this, position);
 	}
 
 	/**
 	 * Test if `position` is in `range`. If the position is at the edges, will return true.
 	 */
-	public static containsPosition(range:IRange, position:IPosition): boolean {
+	public static containsPosition(range: IRange, position: IPosition): boolean {
 		if (position.lineNumber < range.startLineNumber || position.lineNumber > range.endLineNumber) {
 			return false;
 		}
@@ -84,14 +84,14 @@ export class Range {
 	/**
 	 * Test if range is in this range. If the range is equal to this range, will return true.
 	 */
-	public containsRange(range:IRange): boolean {
+	public containsRange(range: IRange): boolean {
 		return Range.containsRange(this, range);
 	}
 
 	/**
 	 * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
 	 */
-	public static containsRange(range:IRange, otherRange:IRange): boolean {
+	public static containsRange(range: IRange, otherRange: IRange): boolean {
 		if (otherRange.startLineNumber < range.startLineNumber || otherRange.endLineNumber < range.startLineNumber) {
 			return false;
 		}
@@ -111,7 +111,7 @@ export class Range {
 	 * A reunion of the two ranges.
 	 * The smallest position will be used as the start point, and the largest one as the end point.
 	 */
-	public plusRange(range:IRange): Range {
+	public plusRange(range: IRange): Range {
 		return Range.plusRange(this, range);
 	}
 
@@ -119,8 +119,8 @@ export class Range {
 	 * A reunion of the two ranges.
 	 * The smallest position will be used as the start point, and the largest one as the end point.
 	 */
-	public static plusRange(a:IRange, b:IRange): Range {
-		var startLineNumber:number, startColumn:number, endLineNumber:number, endColumn:number;
+	public static plusRange(a: IRange, b: IRange): Range {
+		var startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number;
 		if (b.startLineNumber < a.startLineNumber) {
 			startLineNumber = b.startLineNumber;
 			startColumn = b.startColumn;
@@ -149,14 +149,14 @@ export class Range {
 	/**
 	 * A intersection of the two ranges.
 	 */
-	public intersectRanges(range:IRange): Range {
+	public intersectRanges(range: IRange): Range {
 		return Range.intersectRanges(this, range);
 	}
 
 	/**
 	 * A intersection of the two ranges.
 	 */
-	public static intersectRanges(a:IRange, b:IRange): Range {
+	public static intersectRanges(a: IRange, b: IRange): Range {
 		var resultStartLineNumber = a.startLineNumber,
 			resultStartColumn = a.startColumn,
 			resultEndLineNumber = a.endLineNumber,
@@ -193,14 +193,14 @@ export class Range {
 	/**
 	 * Test if this range equals other.
 	 */
-	public equalsRange(other:IRange): boolean {
+	public equalsRange(other: IRange): boolean {
 		return Range.equalsRange(this, other);
 	}
 
 	/**
 	 * Test if range `a` equals `b`.
 	 */
-	public static equalsRange(a:IRange, b:IRange): boolean {
+	public static equalsRange(a: IRange, b: IRange): boolean {
 		return (
 			!!a &&
 			!!b &&
@@ -263,7 +263,7 @@ export class Range {
 	/**
 	 * Create a new empty range using this range's start position.
 	 */
-	public static collapseToStart(range:IRange): Range {
+	public static collapseToStart(range: IRange): Range {
 		return new Range(range.startLineNumber, range.startColumn, range.startLineNumber, range.startColumn);
 	}
 
@@ -272,7 +272,7 @@ export class Range {
 	/**
 	 * Create a `Range` from an `IRange`.
 	 */
-	public static lift(range:IRange): Range {
+	public static lift(range: IRange): Range {
 		if (!range) {
 			return null;
 		}
@@ -295,7 +295,7 @@ export class Range {
 	/**
 	 * Test if the two ranges are touching in any way.
 	 */
-	public static areIntersectingOrTouching(a:IRange, b:IRange): boolean {
+	public static areIntersectingOrTouching(a: IRange, b: IRange): boolean {
 		// Check if `a` is before `b`
 		if (a.endLineNumber < b.startLineNumber || (a.endLineNumber === b.startLineNumber && a.endColumn < b.startColumn)) {
 			return false;
@@ -314,15 +314,15 @@ export class Range {
 	 * A function that compares ranges, useful for sorting ranges
 	 * It will first compare ranges on the startPosition and then on the endPosition
 	 */
-	public static compareRangesUsingStarts(a:IRange, b:IRange): number {
-		let aStartLineNumber = a.startLineNumber|0;
-		let bStartLineNumber = b.startLineNumber|0;
-		let aStartColumn = a.startColumn|0;
-		let bStartColumn = b.startColumn|0;
-		let aEndLineNumber = a.endLineNumber|0;
-		let bEndLineNumber = b.endLineNumber|0;
-		let aEndColumn = a.endColumn|0;
-		let bEndColumn = b.endColumn|0;
+	public static compareRangesUsingStarts(a: IRange, b: IRange): number {
+		let aStartLineNumber = a.startLineNumber | 0;
+		let bStartLineNumber = b.startLineNumber | 0;
+		let aStartColumn = a.startColumn | 0;
+		let bStartColumn = b.startColumn | 0;
+		let aEndLineNumber = a.endLineNumber | 0;
+		let bEndLineNumber = b.endLineNumber | 0;
+		let aEndColumn = a.endColumn | 0;
+		let bEndColumn = b.endColumn | 0;
 
 		if (aStartLineNumber === bStartLineNumber) {
 			if (aStartColumn === bStartColumn) {
@@ -340,7 +340,7 @@ export class Range {
 	 * A function that compares ranges, useful for sorting ranges
 	 * It will first compare ranges on the endPosition and then on the startPosition
 	 */
-	public static compareRangesUsingEnds(a:IRange, b:IRange): number {
+	public static compareRangesUsingEnds(a: IRange, b: IRange): number {
 		if (a.endLineNumber === b.endLineNumber) {
 			if (a.endColumn === b.endColumn) {
 				if (a.startLineNumber === b.startLineNumber) {
@@ -356,7 +356,7 @@ export class Range {
 	/**
 	 * Test if the range spans multiple lines.
 	 */
-	public static spansMultipleLines(range:IRange):boolean {
+	public static spansMultipleLines(range: IRange): boolean {
 		return range.endLineNumber > range.startLineNumber;
 	}
 }
diff --git a/src/vs/editor/common/core/selection.ts b/src/vs/editor/common/core/selection.ts
index d77f4b5e00dfd..f03d394e78e83 100644
--- a/src/vs/editor/common/core/selection.ts
+++ b/src/vs/editor/common/core/selection.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Range} from 'vs/editor/common/core/range';
-import {ISelection} from 'vs/editor/common/editorCommon';
+import { Range } from 'vs/editor/common/core/range';
+import { ISelection } from 'vs/editor/common/editorCommon';
 
 /**
  * The direction of a selection.
@@ -77,7 +77,7 @@ export class Selection extends Range {
 	/**
 	 * Test if the two selections are equal.
 	 */
-	public static selectionsEqual(a:ISelection, b:ISelection): boolean {
+	public static selectionsEqual(a: ISelection, b: ISelection): boolean {
 		return (
 			a.selectionStartLineNumber === b.selectionStartLineNumber &&
 			a.selectionStartColumn === b.selectionStartColumn &&
@@ -121,14 +121,14 @@ export class Selection extends Range {
 	/**
 	 * Create a `Selection` from an `ISelection`.
 	 */
-	public static liftSelection(sel:ISelection): Selection {
+	public static liftSelection(sel: ISelection): Selection {
 		return new Selection(sel.selectionStartLineNumber, sel.selectionStartColumn, sel.positionLineNumber, sel.positionColumn);
 	}
 
 	/**
 	 * `a` equals `b`.
 	 */
-	public static selectionsArrEqual(a:ISelection[], b:ISelection[]): boolean {
+	public static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean {
 		if (a && !b || !a && b) {
 			return false;
 		}
@@ -162,7 +162,7 @@ export class Selection extends Range {
 	/**
 	 * Create with a direction.
 	 */
-	public static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction:SelectionDirection): Selection {
+	public static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection {
 
 		if (direction === SelectionDirection.LTR) {
 			return new Selection(startLineNumber, startColumn, endLineNumber, endColumn);
diff --git a/src/vs/editor/common/core/token.ts b/src/vs/editor/common/core/token.ts
index dcedd242027e4..d284dda2817a0 100644
--- a/src/vs/editor/common/core/token.ts
+++ b/src/vs/editor/common/core/token.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Arrays} from 'vs/editor/common/core/arrays';
+import { Arrays } from 'vs/editor/common/core/arrays';
 
 export class Token {
 	_tokenBrand: void;
 
-	public startIndex:number;
-	public type:string;
+	public startIndex: number;
+	public type: string;
 
-	constructor(startIndex:number, type:string) {
-		this.startIndex = startIndex|0;// @perf
+	constructor(startIndex: number, type: string) {
+		this.startIndex = startIndex | 0;// @perf
 		this.type = type;
 	}
 
@@ -21,18 +21,18 @@ export class Token {
 		return '(' + this.startIndex + ', ' + this.type + ')';
 	}
 
-	public equals(other:Token): boolean {
+	public equals(other: Token): boolean {
 		return (
 			this.startIndex === other.startIndex
 			&& this.type === other.type
 		);
 	}
 
-	public static findIndexInSegmentsArray(arr:Token[], desiredIndex: number): number {
+	public static findIndexInSegmentsArray(arr: Token[], desiredIndex: number): number {
 		return Arrays.findIndexInSegmentsArray(arr, desiredIndex);
 	}
 
-	public static equalsArray(a:Token[], b:Token[]): boolean {
+	public static equalsArray(a: Token[], b: Token[]): boolean {
 		let aLen = a.length;
 		let bLen = b.length;
 		if (aLen !== bLen) {
diff --git a/src/vs/editor/common/core/viewLineToken.ts b/src/vs/editor/common/core/viewLineToken.ts
index 03ad31a1767ee..4b87094647438 100644
--- a/src/vs/editor/common/core/viewLineToken.ts
+++ b/src/vs/editor/common/core/viewLineToken.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Arrays} from 'vs/editor/common/core/arrays';
+import { Arrays } from 'vs/editor/common/core/arrays';
 
 /**
  * A token on a line.
@@ -12,26 +12,26 @@ import {Arrays} from 'vs/editor/common/core/arrays';
 export class ViewLineToken {
 	_viewLineTokenBrand: void;
 
-	public startIndex:number;
-	public type:string;
+	public startIndex: number;
+	public type: string;
 
-	constructor(startIndex:number, type:string) {
-		this.startIndex = startIndex|0;// @perf
+	constructor(startIndex: number, type: string) {
+		this.startIndex = startIndex | 0;// @perf
 		this.type = type.replace(/[^a-z0-9\-]/gi, ' ');
 	}
 
-	public equals(other:ViewLineToken): boolean {
+	public equals(other: ViewLineToken): boolean {
 		return (
 			this.startIndex === other.startIndex
 			&& this.type === other.type
 		);
 	}
 
-	public static findIndexInSegmentsArray(arr:ViewLineToken[], desiredIndex: number): number {
+	public static findIndexInSegmentsArray(arr: ViewLineToken[], desiredIndex: number): number {
 		return Arrays.findIndexInSegmentsArray(arr, desiredIndex);
 	}
 
-	public static equalsArray(a:ViewLineToken[], b:ViewLineToken[]): boolean {
+	public static equalsArray(a: ViewLineToken[], b: ViewLineToken[]): boolean {
 		let aLen = a.length;
 		let bLen = b.length;
 		if (aLen !== bLen) {
@@ -49,14 +49,14 @@ export class ViewLineToken {
 export class ViewLineTokens {
 	_viewLineTokensBrand: void;
 
-	private _lineTokens:ViewLineToken[];
-	private _fauxIndentLength:number;
-	private _textLength:number;
+	private _lineTokens: ViewLineToken[];
+	private _fauxIndentLength: number;
+	private _textLength: number;
 
-	constructor(lineTokens:ViewLineToken[], fauxIndentLength:number, textLength:number) {
+	constructor(lineTokens: ViewLineToken[], fauxIndentLength: number, textLength: number) {
 		this._lineTokens = lineTokens;
-		this._fauxIndentLength = fauxIndentLength|0;
-		this._textLength = textLength|0;
+		this._fauxIndentLength = fauxIndentLength | 0;
+		this._textLength = textLength | 0;
 	}
 
 	public getTokens(): ViewLineToken[] {
@@ -71,7 +71,7 @@ export class ViewLineTokens {
 		return this._textLength;
 	}
 
-	public equals(other:ViewLineTokens): boolean {
+	public equals(other: ViewLineTokens): boolean {
 		return (
 			this._fauxIndentLength === other._fauxIndentLength
 			&& this._textLength === other._textLength
@@ -79,7 +79,7 @@ export class ViewLineTokens {
 		);
 	}
 
-	public findIndexOfOffset(offset:number): number {
+	public findIndexOfOffset(offset: number): number {
 		return ViewLineToken.findIndexInSegmentsArray(this._lineTokens, offset);
 	}
 }
diff --git a/src/vs/editor/common/diff/diffComputer.ts b/src/vs/editor/common/diff/diffComputer.ts
index 0d13f6e1425e8..2784aaae49583 100644
--- a/src/vs/editor/common/diff/diffComputer.ts
+++ b/src/vs/editor/common/diff/diffComputer.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDiffChange, ISequence, LcsDiff} from 'vs/base/common/diff/diff';
+import { IDiffChange, ISequence, LcsDiff } from 'vs/base/common/diff/diff';
 import * as strings from 'vs/base/common/strings';
-import {ICharChange, ILineChange} from 'vs/editor/common/editorCommon';
+import { ICharChange, ILineChange } from 'vs/editor/common/editorCommon';
 
 var MAXIMUM_RUN_TIME = 5000; // 5 seconds
 var MINIMUM_MATCHING_CHARACTER_LENGTH = 3;
@@ -17,24 +17,24 @@ interface IMarker {
 	offset: number;
 }
 
-function computeDiff(originalSequence:ISequence, modifiedSequence:ISequence, continueProcessingPredicate:()=>boolean): IDiffChange[] {
+function computeDiff(originalSequence: ISequence, modifiedSequence: ISequence, continueProcessingPredicate: () => boolean): IDiffChange[] {
 	var diffAlgo = new LcsDiff(originalSequence, modifiedSequence, continueProcessingPredicate);
 	return diffAlgo.ComputeDiff();
 }
 
 class MarkerSequence implements ISequence {
 
-	public buffer:string;
-	public startMarkers:IMarker[];
-	public endMarkers:IMarker[];
+	public buffer: string;
+	public startMarkers: IMarker[];
+	public endMarkers: IMarker[];
 
-	constructor(buffer:string, startMarkers:IMarker[], endMarkers:IMarker[]) {
+	constructor(buffer: string, startMarkers: IMarker[], endMarkers: IMarker[]) {
 		this.buffer = buffer;
 		this.startMarkers = startMarkers;
 		this.endMarkers = endMarkers;
 	}
 
-	public equals(other:any): boolean {
+	public equals(other: any): boolean {
 		if (!(other instanceof MarkerSequence)) {
 			return false;
 		}
@@ -56,11 +56,11 @@ class MarkerSequence implements ISequence {
 		return this.startMarkers.length;
 	}
 
-	public getElementHash(i:number): string {
+	public getElementHash(i: number): string {
 		return this.buffer.substring(this.startMarkers[i].offset, this.endMarkers[i].offset);
 	}
 
-	public getStartLineNumber(i:number): number {
+	public getStartLineNumber(i: number): number {
 		if (i === this.startMarkers.length) {
 			// This is the special case where a change happened after the last marker
 			return this.startMarkers[i - 1].lineNumber + 1;
@@ -68,15 +68,15 @@ class MarkerSequence implements ISequence {
 		return this.startMarkers[i].lineNumber;
 	}
 
-	public getStartColumn(i:number): number {
+	public getStartColumn(i: number): number {
 		return this.startMarkers[i].column;
 	}
 
-	public getEndLineNumber(i:number): number {
+	public getEndLineNumber(i: number): number {
 		return this.endMarkers[i].lineNumber;
 	}
 
-	public getEndColumn(i:number): number {
+	public getEndColumn(i: number): number {
 		return this.endMarkers[i].column;
 	}
 
@@ -84,10 +84,10 @@ class MarkerSequence implements ISequence {
 
 class LineMarkerSequence extends MarkerSequence {
 
-	constructor(lines:string[], shouldIgnoreTrimWhitespace:boolean) {
-		var i:number, length:number, pos:number;
+	constructor(lines: string[], shouldIgnoreTrimWhitespace: boolean) {
+		var i: number, length: number, pos: number;
 		var buffer = '';
-		var startMarkers:IMarker[] = [], endMarkers:IMarker[] = [], startColumn:number, endColumn:number;
+		var startMarkers: IMarker[] = [], endMarkers: IMarker[] = [], startColumn: number, endColumn: number;
 
 		for (pos = 0, i = 0, length = lines.length; i < length; i++) {
 			buffer += lines[i];
@@ -107,7 +107,7 @@ class LineMarkerSequence extends MarkerSequence {
 
 			endMarkers.push({
 				offset: pos + endColumn - 1,
-				lineNumber: i+1,
+				lineNumber: i + 1,
 				column: endColumn
 			});
 
@@ -117,7 +117,7 @@ class LineMarkerSequence extends MarkerSequence {
 		super(buffer, startMarkers, endMarkers);
 	}
 
-	private static _getFirstNonBlankColumn(txt:string, defaultValue:number): number {
+	private static _getFirstNonBlankColumn(txt: string, defaultValue: number): number {
 		var r = strings.firstNonWhitespaceIndex(txt);
 		if (r === -1) {
 			return defaultValue;
@@ -125,7 +125,7 @@ class LineMarkerSequence extends MarkerSequence {
 		return r + 1;
 	}
 
-	private static _getLastNonBlankColumn(txt:string, defaultValue:number): number {
+	private static _getLastNonBlankColumn(txt: string, defaultValue: number): number {
 		var r = strings.lastNonWhitespaceIndex(txt);
 		if (r === -1) {
 			return defaultValue;
@@ -133,8 +133,8 @@ class LineMarkerSequence extends MarkerSequence {
 		return r + 2;
 	}
 
-	public getCharSequence(startIndex:number, endIndex:number):MarkerSequence {
-		var startMarkers:IMarker[] = [], endMarkers:IMarker[] = [], index:number, i:number, startMarker:IMarker, endMarker:IMarker;
+	public getCharSequence(startIndex: number, endIndex: number): MarkerSequence {
+		var startMarkers: IMarker[] = [], endMarkers: IMarker[] = [], index: number, i: number, startMarker: IMarker, endMarker: IMarker;
 		for (index = startIndex; index <= endIndex; index++) {
 			startMarker = this.startMarkers[index];
 			endMarker = this.endMarkers[index];
@@ -157,17 +157,17 @@ class LineMarkerSequence extends MarkerSequence {
 
 class CharChange implements ICharChange {
 
-	public originalStartLineNumber:number;
-	public originalStartColumn:number;
-	public originalEndLineNumber:number;
-	public originalEndColumn:number;
+	public originalStartLineNumber: number;
+	public originalStartColumn: number;
+	public originalEndLineNumber: number;
+	public originalEndColumn: number;
 
-	public modifiedStartLineNumber:number;
-	public modifiedStartColumn:number;
-	public modifiedEndLineNumber:number;
-	public modifiedEndColumn:number;
+	public modifiedStartLineNumber: number;
+	public modifiedStartColumn: number;
+	public modifiedEndLineNumber: number;
+	public modifiedEndColumn: number;
 
-	constructor(diffChange:IDiffChange, originalCharSequence:MarkerSequence, modifiedCharSequence:MarkerSequence) {
+	constructor(diffChange: IDiffChange, originalCharSequence: MarkerSequence, modifiedCharSequence: MarkerSequence) {
 		if (diffChange.originalLength === 0) {
 			this.originalStartLineNumber = 0;
 			this.originalStartColumn = 0;
@@ -195,13 +195,13 @@ class CharChange implements ICharChange {
 
 }
 
-function postProcessCharChanges(rawChanges:IDiffChange[]): IDiffChange[] {
+function postProcessCharChanges(rawChanges: IDiffChange[]): IDiffChange[] {
 	if (rawChanges.length <= 1) {
 		return rawChanges;
 	}
-	var result = [ rawChanges[0] ];
+	var result = [rawChanges[0]];
 
-	var i:number, len:number, originalMatchingLength:number, modifiedMatchingLength:number, matchingLength:number, prevChange = result[0], currChange:IDiffChange;
+	var i: number, len: number, originalMatchingLength: number, modifiedMatchingLength: number, matchingLength: number, prevChange = result[0], currChange: IDiffChange;
 	for (i = 1, len = rawChanges.length; i < len; i++) {
 		currChange = rawChanges[i];
 
@@ -225,13 +225,13 @@ function postProcessCharChanges(rawChanges:IDiffChange[]): IDiffChange[] {
 }
 
 class LineChange implements ILineChange {
-	public originalStartLineNumber:number;
-	public originalEndLineNumber:number;
-	public modifiedStartLineNumber:number;
-	public modifiedEndLineNumber:number;
-	public charChanges:CharChange[];
+	public originalStartLineNumber: number;
+	public originalEndLineNumber: number;
+	public modifiedStartLineNumber: number;
+	public modifiedEndLineNumber: number;
+	public charChanges: CharChange[];
 
-	constructor(diffChange:IDiffChange, originalLineSequence:LineMarkerSequence, modifiedLineSequence:LineMarkerSequence, continueProcessingPredicate:()=>boolean, shouldPostProcessCharChanges:boolean) {
+	constructor(diffChange: IDiffChange, originalLineSequence: LineMarkerSequence, modifiedLineSequence: LineMarkerSequence, continueProcessingPredicate: () => boolean, shouldPostProcessCharChanges: boolean) {
 		if (diffChange.originalLength === 0) {
 			this.originalStartLineNumber = originalLineSequence.getStartLineNumber(diffChange.originalStart) - 1;
 			this.originalEndLineNumber = 0;
@@ -275,15 +275,15 @@ export interface IDiffComputerOpts {
 
 export class DiffComputer {
 
-	private shouldPostProcessCharChanges:boolean;
-	private shouldIgnoreTrimWhitespace:boolean;
-	private maximumRunTimeMs:number;
-	private original:LineMarkerSequence;
-	private modified:LineMarkerSequence;
+	private shouldPostProcessCharChanges: boolean;
+	private shouldIgnoreTrimWhitespace: boolean;
+	private maximumRunTimeMs: number;
+	private original: LineMarkerSequence;
+	private modified: LineMarkerSequence;
 
-	private computationStartTime:number;
+	private computationStartTime: number;
 
-	constructor(originalLines:string[], modifiedLines:string[], opts:IDiffComputerOpts) {
+	constructor(originalLines: string[], modifiedLines: string[], opts: IDiffComputerOpts) {
 		this.shouldPostProcessCharChanges = opts.shouldPostProcessCharChanges;
 		this.shouldIgnoreTrimWhitespace = opts.shouldIgnoreTrimWhitespace;
 		this.maximumRunTimeMs = MAXIMUM_RUN_TIME;
@@ -297,7 +297,7 @@ export class DiffComputer {
 		}
 	}
 
-	public computeDiff():ILineChange[] {
+	public computeDiff(): ILineChange[] {
 		this.computationStartTime = (new Date()).getTime();
 
 		var rawChanges = computeDiff(this.original, this.modified, this._continueProcessingPredicate.bind(this));
diff --git a/src/vs/editor/common/diff/nullDiffComputer.ts b/src/vs/editor/common/diff/nullDiffComputer.ts
index 610395f849d6b..0fc97653f95eb 100644
--- a/src/vs/editor/common/diff/nullDiffComputer.ts
+++ b/src/vs/editor/common/diff/nullDiffComputer.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ILineChange} from 'vs/editor/common/editorCommon';
+import { ILineChange } from 'vs/editor/common/editorCommon';
 
 export class DiffComputer {
 
-	constructor(originalLines:string[], modifiedLines:string[], shouldPostProcessCharChanges:boolean, shouldIgnoreTrimWhitespace:boolean) {
+	constructor(originalLines: string[], modifiedLines: string[], shouldPostProcessCharChanges: boolean, shouldIgnoreTrimWhitespace: boolean) {
 	}
 
 	public computeDiff(): ILineChange[] {
diff --git a/src/vs/editor/common/editorAction.ts b/src/vs/editor/common/editorAction.ts
index 9736969849077..404bd1646a4e6 100644
--- a/src/vs/editor/common/editorAction.ts
+++ b/src/vs/editor/common/editorAction.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IActionDescriptor, ICommonCodeEditor, IEditorAction} from 'vs/editor/common/editorCommon';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IActionDescriptor, ICommonCodeEditor, IEditorAction } from 'vs/editor/common/editorCommon';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
 
 export abstract class AbstractInternalEditorAction {
 
@@ -17,7 +17,7 @@ export abstract class AbstractInternalEditorAction {
 	public alias: string;
 	protected _editor: ICommonCodeEditor;
 
-	constructor(id:string, label:string, alias:string, editor:ICommonCodeEditor) {
+	constructor(id: string, label: string, alias: string, editor: ICommonCodeEditor) {
 		this.id = id;
 		this.label = label;
 		this.alias = alias;
@@ -28,14 +28,14 @@ export abstract class AbstractInternalEditorAction {
 export class InternalEditorAction extends AbstractInternalEditorAction implements IEditorAction {
 
 	private _actual: EditorAction;
-	private _instantiationService:IInstantiationService;
-	private _contextKeyService:IContextKeyService;
+	private _instantiationService: IInstantiationService;
+	private _contextKeyService: IContextKeyService;
 
 	constructor(
-		actual:EditorAction,
-		editor:ICommonCodeEditor,
-		@IInstantiationService instantiationService:IInstantiationService,
-		@IContextKeyService contextKeyService:IContextKeyService
+		actual: EditorAction,
+		editor: ICommonCodeEditor,
+		@IInstantiationService instantiationService: IInstantiationService,
+		@IContextKeyService contextKeyService: IContextKeyService
 	) {
 		super(actual.id, actual.label, actual.alias, editor);
 		this._actual = actual;
@@ -43,7 +43,7 @@ export class InternalEditorAction extends AbstractInternalEditorAction implement
 		this._contextKeyService = contextKeyService;
 	}
 
-	public isSupported():boolean {
+	public isSupported(): boolean {
 		return this._contextKeyService.contextMatchesRules(this._actual.precondition);
 	}
 
@@ -60,15 +60,15 @@ export class InternalEditorAction extends AbstractInternalEditorAction implement
 
 export class DynamicEditorAction extends AbstractInternalEditorAction implements IEditorAction {
 
-	private _run: (editor:ICommonCodeEditor)=>void;
+	private _run: (editor: ICommonCodeEditor) => void;
 
-	constructor(descriptor:IActionDescriptor, editor:ICommonCodeEditor) {
+	constructor(descriptor: IActionDescriptor, editor: ICommonCodeEditor) {
 		super(descriptor.id, descriptor.label, descriptor.label, editor);
 
 		this._run = descriptor.run;
 	}
 
-	public isSupported():boolean {
+	public isSupported(): boolean {
 		return true;
 	}
 
diff --git a/src/vs/editor/common/editorCommon.ts b/src/vs/editor/common/editorCommon.ts
index 08f35cc944f58..839522659d837 100644
--- a/src/vs/editor/common/editorCommon.ts
+++ b/src/vs/editor/common/editorCommon.ts
@@ -4,23 +4,23 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {BulkListenerCallback} from 'vs/base/common/eventEmitter';
-import {MarkedString} from 'vs/base/common/htmlContent';
+import { BulkListenerCallback } from 'vs/base/common/eventEmitter';
+import { MarkedString } from 'vs/base/common/htmlContent';
 import * as types from 'vs/base/common/types';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ServicesAccessor, IConstructorSignature1, IConstructorSignature2} from 'vs/platform/instantiation/common/instantiation';
-import {ILineContext, IMode} from 'vs/editor/common/modes';
-import {LineTokens} from 'vs/editor/common/core/lineTokens';
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {IndentRange} from 'vs/editor/common/model/indentRanges';
-import {ICommandHandlerDescription} from 'vs/platform/commands/common/commands';
-import {ContextKeyExpr, RawContextKey} from 'vs/platform/contextkey/common/contextkey';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ServicesAccessor, IConstructorSignature1, IConstructorSignature2 } from 'vs/platform/instantiation/common/instantiation';
+import { ILineContext, IMode } from 'vs/editor/common/modes';
+import { LineTokens } from 'vs/editor/common/core/lineTokens';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { IndentRange } from 'vs/editor/common/model/indentRanges';
+import { ICommandHandlerDescription } from 'vs/platform/commands/common/commands';
+import { ContextKeyExpr, RawContextKey } from 'vs/platform/contextkey/common/contextkey';
 
 /**
  * @internal
@@ -38,11 +38,11 @@ export interface IPosition {
 	/**
 	 * line number (starts at 1)
 	 */
-	lineNumber:number;
+	lineNumber: number;
 	/**
 	 * column (the first character in a line is between column 1 and column 2)
 	 */
-	column:number;
+	column: number;
 }
 
 /**
@@ -52,19 +52,19 @@ export interface IRange {
 	/**
 	 * Line number on which the range starts (starts at 1).
 	 */
-	startLineNumber:number;
+	startLineNumber: number;
 	/**
 	 * Column on which the range starts in line `startLineNumber` (starts at 1).
 	 */
-	startColumn:number;
+	startColumn: number;
 	/**
 	 * Line number on which the range ends.
 	 */
-	endLineNumber:number;
+	endLineNumber: number;
 	/**
 	 * Column on which the range ends in line `endLineNumber`.
 	 */
-	endColumn:number;
+	endColumn: number;
 }
 
 /**
@@ -98,34 +98,34 @@ export interface IEditorScrollbarOptions {
 	 * The size of arrows (if displayed).
 	 * Defaults to 11.
 	 */
-	arrowSize?:number;
+	arrowSize?: number;
 	/**
 	 * Render vertical scrollbar.
 	 * Accepted values: 'auto', 'visible', 'hidden'.
 	 * Defaults to 'auto'.
 	 */
-	vertical?:string;
+	vertical?: string;
 	/**
 	 * Render horizontal scrollbar.
 	 * Accepted values: 'auto', 'visible', 'hidden'.
 	 * Defaults to 'auto'.
 	 */
-	horizontal?:string;
+	horizontal?: string;
 	/**
 	 * Cast horizontal and vertical shadows when the content is scrolled.
 	 * Defaults to true.
 	 */
-	useShadows?:boolean;
+	useShadows?: boolean;
 	/**
 	 * Render arrows at the top and bottom of the vertical scrollbar.
 	 * Defaults to false.
 	 */
-	verticalHasArrows?:boolean;
+	verticalHasArrows?: boolean;
 	/**
 	 * Render arrows at the left and right of the horizontal scrollbar.
 	 * Defaults to false.
 	 */
-	horizontalHasArrows?:boolean;
+	horizontalHasArrows?: boolean;
 	/**
 	 * Listen to mouse wheel events and react to them by scrolling.
 	 * Defaults to true.
@@ -171,7 +171,7 @@ export enum WrappingIndent {
 	Indent = 2
 }
 
-export type LineNumbersOption = 'on' | 'off' | 'relative' | ((lineNumber:number)=>string);
+export type LineNumbersOption = 'on' | 'off' | 'relative' | ((lineNumber: number) => string);
 
 /**
  * Configuration options for the editor.
@@ -208,65 +208,65 @@ export interface IEditorOptions {
 	 * Otherwise, line numbers will not be rendered.
 	 * Defaults to true.
 	 */
-	lineNumbers?:LineNumbersOption;
+	lineNumbers?: LineNumbersOption;
 	/**
 	 * Should the corresponding line be selected when clicking on the line number?
 	 * Defaults to true.
 	 */
-	selectOnLineNumbers?:boolean;
+	selectOnLineNumbers?: boolean;
 	/**
 	 * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits.
 	 * Defaults to 5.
 	 */
-	lineNumbersMinChars?:number;
+	lineNumbersMinChars?: number;
 	/**
 	 * Enable the rendering of the glyph margin.
 	 * Defaults to false.
 	 */
-	glyphMargin?:boolean;
+	glyphMargin?: boolean;
 	/**
 	 * The width reserved for line decorations (in px).
 	 * Line decorations are placed between line numbers and the editor content.
 	 * Defaults to 10.
 	 */
-	lineDecorationsWidth?:number;
+	lineDecorationsWidth?: number;
 	/**
 	 * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
 	 * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport.
 	 * Defaults to 30 (px).
 	 */
-	revealHorizontalRightPadding?:number;
+	revealHorizontalRightPadding?: number;
 	/**
 	 * Render the editor selection with rounded borders.
 	 * Defaults to true.
 	 */
-	roundedSelection?:boolean;
+	roundedSelection?: boolean;
 	/**
 	 * Theme to be used for rendering. Consists of two parts, the UI theme and the syntax theme,
 	 * separated by a space.
 	 * The current available UI themes are: 'vs' (default), 'vs-dark', 'hc-black'
 	 * The syntax themes are contributed. The default is 'default-theme'
 	 */
-	theme?:string;
+	theme?: string;
 	/**
 	 * Should the editor be read only.
 	 * Defaults to false.
 	 */
-	readOnly?:boolean;
+	readOnly?: boolean;
 	/**
 	 * Control the behavior and rendering of the scrollbars.
 	 */
-	scrollbar?:IEditorScrollbarOptions;
+	scrollbar?: IEditorScrollbarOptions;
 	/**
 	 * The number of vertical lanes the overview ruler should render.
 	 * Defaults to 2.
 	 */
-	overviewRulerLanes?:number;
+	overviewRulerLanes?: number;
 	/**
 	 * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'.
 	 * Defaults to 'blink'.
 	 */
-	cursorBlinking?:string;
+	cursorBlinking?: string;
 	/**
 	 * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
 	 * Defaults to false.
@@ -276,33 +276,33 @@ export interface IEditorOptions {
 	 * Control the cursor style, either 'block' or 'line'.
 	 * Defaults to 'line'.
 	 */
-	cursorStyle?:string;
+	cursorStyle?: string;
 	/**
 	 * Enable font ligatures.
 	 * Defaults to false.
 	 */
-	fontLigatures?:boolean;
+	fontLigatures?: boolean;
 	/**
 	 * Disable the use of `translate3d`.
 	 * Defaults to false.
 	 */
-	disableTranslate3d?:boolean;
+	disableTranslate3d?: boolean;
 	/**
 	 * Should the cursor be hidden in the overview ruler.
 	 * Defaults to false.
 	 */
-	hideCursorInOverviewRuler?:boolean;
+	hideCursorInOverviewRuler?: boolean;
 	/**
 	 * Enable that scrolling can go one screen size after the last line.
 	 * Defaults to true.
 	 */
-	scrollBeyondLastLine?:boolean;
+	scrollBeyondLastLine?: boolean;
 	/**
 	 * Enable that the editor will install an interval to check if its container dom node size has changed.
 	 * Enabling this might have a severe performance impact.
 	 * Defaults to false.
 	 */
-	automaticLayout?:boolean;
+	automaticLayout?: boolean;
 	/**
 	 * Control the wrapping strategy of the editor.
 	 * Using -1 means no wrapping whatsoever.
@@ -310,13 +310,13 @@ export interface IEditorOptions {
 	 * Using a positive number means wrapping after a fixed number of characters.
 	 * Defaults to 300.
 	 */
-	wrappingColumn?:number;
+	wrappingColumn?: number;
 	/**
 	 * Control the alternate style of viewport wrapping.
 	 * When set to true viewport wrapping is used only when the window width is less than the number of columns specified in the wrappingColumn property. Has no effect if wrappingColumn is not a positive number.
 	 * Defaults to false.
 	 */
-	wordWrap?:boolean;
+	wordWrap?: boolean;
 	/**
 	 * Control indentation of wrapped lines. Can be: 'none', 'same' or 'indent'.
 	 * Defaults to 'none'.
@@ -343,17 +343,17 @@ export interface IEditorOptions {
 	 * Defaults to 10000 if wrappingColumn is -1. Defaults to -1 if wrappingColumn is >= 0.
 	 * Use -1 to never stop rendering
 	 */
-	stopRenderingLineAfter?:number;
+	stopRenderingLineAfter?: number;
 	/**
 	 * Enable hover.
 	 * Defaults to true.
 	 */
-	hover?:boolean;
+	hover?: boolean;
 	/**
 	 * Enable custom contextmenu.
 	 * Defaults to true.
 	 */
-	contextmenu?:boolean;
+	contextmenu?: boolean;
 	/**
 	 * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
 	 * Defaults to 1.
@@ -363,31 +363,31 @@ export interface IEditorOptions {
 	 * Enable quick suggestions (shadow suggestions)
 	 * Defaults to true.
 	 */
-	quickSuggestions?:boolean;
+	quickSuggestions?: boolean;
 	/**
 	 * Quick suggestions show delay (in ms)
 	 * Defaults to 500 (ms)
 	 */
-	quickSuggestionsDelay?:number;
+	quickSuggestionsDelay?: number;
 	/**
 	 * Enables parameter hints
 	 */
-	parameterHints?:boolean;
+	parameterHints?: boolean;
 	/**
 	 * Render icons in suggestions box.
 	 * Defaults to true.
 	 */
-	iconsInSuggestions?:boolean;
+	iconsInSuggestions?: boolean;
 	/**
 	 * Enable auto closing brackets.
 	 * Defaults to true.
 	 */
-	autoClosingBrackets?:boolean;
+	autoClosingBrackets?: boolean;
 	/**
 	 * Enable format on type.
 	 * Defaults to false.
 	 */
-	formatOnType?:boolean;
+	formatOnType?: boolean;
 	/**
 	 * Enable the suggestion box to pop-up on trigger characters.
 	 * Defaults to true.
@@ -424,7 +424,7 @@ export interface IEditorOptions {
 	 * Enable selection highlight.
 	 * Defaults to true.
 	 */
-	selectionHighlight?:boolean;
+	selectionHighlight?: boolean;
 	/**
 	 * Show code lens
 	 * Defaults to true.
@@ -471,7 +471,7 @@ export interface IEditorOptions {
 	/**
 	 * The font weight
 	 */
-	fontWeight?: 'normal'|'bold'|'bolder'|'lighter'|'initial'|'inherit'|'100'|'200'|'300'|'400'|'500'|'600'|'700'|'800'|'900';
+	fontWeight?: 'normal' | 'bold' | 'bolder' | 'lighter' | 'initial' | 'inherit' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';
 	/**
 	 * The font size
 	 */
@@ -511,12 +511,12 @@ export interface IDiffEditorOptions extends IEditorOptions {
 export class InternalEditorScrollbarOptions {
 	_internalEditorScrollbarOptionsBrand: void;
 
-	arrowSize:number;
-	vertical:ScrollbarVisibility;
-	horizontal:ScrollbarVisibility;
-	useShadows:boolean;
-	verticalHasArrows:boolean;
-	horizontalHasArrows:boolean;
+	arrowSize: number;
+	vertical: ScrollbarVisibility;
+	horizontal: ScrollbarVisibility;
+	useShadows: boolean;
+	verticalHasArrows: boolean;
+	horizontalHasArrows: boolean;
 	handleMouseWheel: boolean;
 	horizontalScrollbarSize: number;
 	horizontalSliderSize: number;
@@ -527,13 +527,13 @@ export class InternalEditorScrollbarOptions {
 	/**
 	 * @internal
 	 */
-	constructor(source:{
-		arrowSize:number;
-		vertical:ScrollbarVisibility;
-		horizontal:ScrollbarVisibility;
-		useShadows:boolean;
-		verticalHasArrows:boolean;
-		horizontalHasArrows:boolean;
+	constructor(source: {
+		arrowSize: number;
+		vertical: ScrollbarVisibility;
+		horizontal: ScrollbarVisibility;
+		useShadows: boolean;
+		verticalHasArrows: boolean;
+		horizontalHasArrows: boolean;
 		handleMouseWheel: boolean;
 		horizontalScrollbarSize: number;
 		horizontalSliderSize: number;
@@ -541,24 +541,24 @@ export class InternalEditorScrollbarOptions {
 		verticalSliderSize: number;
 		mouseWheelScrollSensitivity: number;
 	}) {
-		this.arrowSize = source.arrowSize|0;
-		this.vertical = source.vertical|0;
-		this.horizontal = source.horizontal|0;
+		this.arrowSize = source.arrowSize | 0;
+		this.vertical = source.vertical | 0;
+		this.horizontal = source.horizontal | 0;
 		this.useShadows = Boolean(source.useShadows);
 		this.verticalHasArrows = Boolean(source.verticalHasArrows);
 		this.horizontalHasArrows = Boolean(source.horizontalHasArrows);
 		this.handleMouseWheel = Boolean(source.handleMouseWheel);
-		this.horizontalScrollbarSize = source.horizontalScrollbarSize|0;
-		this.horizontalSliderSize = source.horizontalSliderSize|0;
-		this.verticalScrollbarSize = source.verticalScrollbarSize|0;
-		this.verticalSliderSize = source.verticalSliderSize|0;
+		this.horizontalScrollbarSize = source.horizontalScrollbarSize | 0;
+		this.horizontalSliderSize = source.horizontalSliderSize | 0;
+		this.verticalScrollbarSize = source.verticalScrollbarSize | 0;
+		this.verticalSliderSize = source.verticalSliderSize | 0;
 		this.mouseWheelScrollSensitivity = Number(source.mouseWheelScrollSensitivity);
 	}
 
 	/**
 	 * @internal
 	 */
-	public equals(other:InternalEditorScrollbarOptions): boolean {
+	public equals(other: InternalEditorScrollbarOptions): boolean {
 		return (
 			this.arrowSize === other.arrowSize
 			&& this.vertical === other.vertical
@@ -596,7 +596,7 @@ export class EditorWrappingInfo {
 	/**
 	 * @internal
 	 */
-	constructor(source:{
+	constructor(source: {
 		isViewportWrapping: boolean;
 		wrappingColumn: number;
 		wrappingIndent: WrappingIndent;
@@ -605,8 +605,8 @@ export class EditorWrappingInfo {
 		wordWrapBreakObtrusiveCharacters: string;
 	}) {
 		this.isViewportWrapping = Boolean(source.isViewportWrapping);
-		this.wrappingColumn = source.wrappingColumn|0;
-		this.wrappingIndent = source.wrappingIndent|0;
+		this.wrappingColumn = source.wrappingColumn | 0;
+		this.wrappingIndent = source.wrappingIndent | 0;
 		this.wordWrapBreakBeforeCharacters = String(source.wordWrapBreakBeforeCharacters);
 		this.wordWrapBreakAfterCharacters = String(source.wordWrapBreakAfterCharacters);
 		this.wordWrapBreakObtrusiveCharacters = String(source.wordWrapBreakObtrusiveCharacters);
@@ -615,7 +615,7 @@ export class EditorWrappingInfo {
 	/**
 	 * @internal
 	 */
-	public equals(other:EditorWrappingInfo): boolean {
+	public equals(other: EditorWrappingInfo): boolean {
 		return (
 			this.isViewportWrapping === other.isViewportWrapping
 			&& this.wrappingColumn === other.wrappingColumn
@@ -637,61 +637,61 @@ export class EditorWrappingInfo {
 export class InternalEditorViewOptions {
 	_internalEditorViewOptionsBrand: void;
 
-	theme:string;
-	canUseTranslate3d:boolean;
+	theme: string;
+	canUseTranslate3d: boolean;
 	experimentalScreenReader: boolean;
 	rulers: number[];
 	ariaLabel: string;
-	renderLineNumbers:boolean;
-	renderCustomLineNumbers: (lineNumber:number)=>string;
+	renderLineNumbers: boolean;
+	renderCustomLineNumbers: (lineNumber: number) => string;
 	renderRelativeLineNumbers: boolean;
-	selectOnLineNumbers:boolean;
-	glyphMargin:boolean;
-	revealHorizontalRightPadding:number;
-	roundedSelection:boolean;
-	overviewRulerLanes:number;
-	cursorBlinking:TextEditorCursorBlinkingStyle;
-	mouseWheelZoom:boolean;
-	cursorStyle:TextEditorCursorStyle;
-	hideCursorInOverviewRuler:boolean;
-	scrollBeyondLastLine:boolean;
+	selectOnLineNumbers: boolean;
+	glyphMargin: boolean;
+	revealHorizontalRightPadding: number;
+	roundedSelection: boolean;
+	overviewRulerLanes: number;
+	cursorBlinking: TextEditorCursorBlinkingStyle;
+	mouseWheelZoom: boolean;
+	cursorStyle: TextEditorCursorStyle;
+	hideCursorInOverviewRuler: boolean;
+	scrollBeyondLastLine: boolean;
 	editorClassName: string;
 	stopRenderingLineAfter: number;
 	renderWhitespace: 'none' | 'boundary' | 'all';
 	renderControlCharacters: boolean;
 	renderIndentGuides: boolean;
 	renderLineHighlight: boolean;
-	scrollbar:InternalEditorScrollbarOptions;
+	scrollbar: InternalEditorScrollbarOptions;
 
 	/**
 	 * @internal
 	 */
-	constructor(source:{
-		theme:string;
-		canUseTranslate3d:boolean;
+	constructor(source: {
+		theme: string;
+		canUseTranslate3d: boolean;
 		experimentalScreenReader: boolean;
 		rulers: number[];
 		ariaLabel: string;
-		renderLineNumbers:boolean;
-		renderCustomLineNumbers: (lineNumber:number)=>string;
+		renderLineNumbers: boolean;
+		renderCustomLineNumbers: (lineNumber: number) => string;
 		renderRelativeLineNumbers: boolean;
-		selectOnLineNumbers:boolean;
-		glyphMargin:boolean;
-		revealHorizontalRightPadding:number;
-		roundedSelection:boolean;
-		overviewRulerLanes:number;
-		cursorBlinking:TextEditorCursorBlinkingStyle;
-		mouseWheelZoom:boolean;
-		cursorStyle:TextEditorCursorStyle;
-		hideCursorInOverviewRuler:boolean;
-		scrollBeyondLastLine:boolean;
+		selectOnLineNumbers: boolean;
+		glyphMargin: boolean;
+		revealHorizontalRightPadding: number;
+		roundedSelection: boolean;
+		overviewRulerLanes: number;
+		cursorBlinking: TextEditorCursorBlinkingStyle;
+		mouseWheelZoom: boolean;
+		cursorStyle: TextEditorCursorStyle;
+		hideCursorInOverviewRuler: boolean;
+		scrollBeyondLastLine: boolean;
 		editorClassName: string;
 		stopRenderingLineAfter: number;
 		renderWhitespace: 'none' | 'boundary' | 'all';
 		renderControlCharacters: boolean;
 		renderIndentGuides: boolean;
 		renderLineHighlight: boolean;
-		scrollbar:InternalEditorScrollbarOptions;
+		scrollbar: InternalEditorScrollbarOptions;
 	}) {
 		this.theme = String(source.theme);
 		this.canUseTranslate3d = Boolean(source.canUseTranslate3d);
@@ -703,16 +703,16 @@ export class InternalEditorViewOptions {
 		this.renderRelativeLineNumbers = Boolean(source.renderRelativeLineNumbers);
 		this.selectOnLineNumbers = Boolean(source.selectOnLineNumbers);
 		this.glyphMargin = Boolean(source.glyphMargin);
-		this.revealHorizontalRightPadding = source.revealHorizontalRightPadding|0;
+		this.revealHorizontalRightPadding = source.revealHorizontalRightPadding | 0;
 		this.roundedSelection = Boolean(source.roundedSelection);
-		this.overviewRulerLanes = source.overviewRulerLanes|0;
-		this.cursorBlinking = source.cursorBlinking|0;
+		this.overviewRulerLanes = source.overviewRulerLanes | 0;
+		this.cursorBlinking = source.cursorBlinking | 0;
 		this.mouseWheelZoom = Boolean(source.mouseWheelZoom);
-		this.cursorStyle = source.cursorStyle|0;
+		this.cursorStyle = source.cursorStyle | 0;
 		this.hideCursorInOverviewRuler = Boolean(source.hideCursorInOverviewRuler);
 		this.scrollBeyondLastLine = Boolean(source.scrollBeyondLastLine);
 		this.editorClassName = String(source.editorClassName);
-		this.stopRenderingLineAfter = source.stopRenderingLineAfter|0;
+		this.stopRenderingLineAfter = source.stopRenderingLineAfter | 0;
 		this.renderWhitespace = source.renderWhitespace;
 		this.renderControlCharacters = Boolean(source.renderControlCharacters);
 		this.renderIndentGuides = Boolean(source.renderIndentGuides);
@@ -720,7 +720,7 @@ export class InternalEditorViewOptions {
 		this.scrollbar = source.scrollbar.clone();
 	}
 
-	private static _toSortedIntegerArray(source:any): number[] {
+	private static _toSortedIntegerArray(source: any): number[] {
 		if (!Array.isArray(source)) {
 			return [];
 		}
@@ -736,7 +736,7 @@ export class InternalEditorViewOptions {
 		return result;
 	}
 
-	private static _numberArraysEqual(a:number[], b:number[]): boolean {
+	private static _numberArraysEqual(a: number[], b: number[]): boolean {
 		if (a.length !== b.length) {
 			return false;
 		}
@@ -751,7 +751,7 @@ export class InternalEditorViewOptions {
 	/**
 	 * @internal
 	 */
-	public equals(other:InternalEditorViewOptions): boolean {
+	public equals(other: InternalEditorViewOptions): boolean {
 		return (
 			this.theme === other.theme
 			&& this.canUseTranslate3d === other.canUseTranslate3d
@@ -784,7 +784,7 @@ export class InternalEditorViewOptions {
 	/**
 	 * @internal
 	 */
-	public createChangeEvent(newOpts:InternalEditorViewOptions): IViewConfigurationChangedEvent {
+	public createChangeEvent(newOpts: InternalEditorViewOptions): IViewConfigurationChangedEvent {
 		return {
 			theme: this.theme !== newOpts.theme,
 			canUseTranslate3d: this.canUseTranslate3d !== newOpts.canUseTranslate3d,
@@ -852,13 +852,13 @@ export interface IViewConfigurationChangedEvent {
 
 export class EditorContribOptions {
 	selectionClipboard: boolean;
-	hover:boolean;
-	contextmenu:boolean;
-	quickSuggestions:boolean;
-	quickSuggestionsDelay:number;
+	hover: boolean;
+	contextmenu: boolean;
+	quickSuggestions: boolean;
+	quickSuggestionsDelay: number;
 	parameterHints: boolean;
-	iconsInSuggestions:boolean;
-	formatOnType:boolean;
+	iconsInSuggestions: boolean;
+	formatOnType: boolean;
 	suggestOnTriggerCharacters: boolean;
 	acceptSuggestionOnEnter: boolean;
 	snippetSuggestions: 'top' | 'bottom' | 'inline' | 'none';
@@ -866,22 +866,22 @@ export class EditorContribOptions {
 	wordBasedSuggestions: boolean;
 	suggestFontSize: number;
 	suggestLineHeight: number;
-	selectionHighlight:boolean;
+	selectionHighlight: boolean;
 	codeLens: boolean;
 	folding: boolean;
 
 	/**
 	 * @internal
 	 */
-	constructor(source:{
+	constructor(source: {
 		selectionClipboard: boolean;
-		hover:boolean;
-		contextmenu:boolean;
-		quickSuggestions:boolean;
-		quickSuggestionsDelay:number;
-		parameterHints:boolean;
-		iconsInSuggestions:boolean;
-		formatOnType:boolean;
+		hover: boolean;
+		contextmenu: boolean;
+		quickSuggestions: boolean;
+		quickSuggestionsDelay: number;
+		parameterHints: boolean;
+		iconsInSuggestions: boolean;
+		formatOnType: boolean;
 		suggestOnTriggerCharacters: boolean;
 		acceptSuggestionOnEnter: boolean;
 		snippetSuggestions: 'top' | 'bottom' | 'inline' | 'none';
@@ -889,7 +889,7 @@ export class EditorContribOptions {
 		wordBasedSuggestions: boolean;
 		suggestFontSize: number;
 		suggestLineHeight: number;
-		selectionHighlight:boolean;
+		selectionHighlight: boolean;
 		codeLens: boolean;
 		folding: boolean;
 	}) {
@@ -897,7 +897,7 @@ export class EditorContribOptions {
 		this.hover = Boolean(source.hover);
 		this.contextmenu = Boolean(source.contextmenu);
 		this.quickSuggestions = Boolean(source.quickSuggestions);
-		this.quickSuggestionsDelay = source.quickSuggestionsDelay||0;
+		this.quickSuggestionsDelay = source.quickSuggestionsDelay || 0;
 		this.parameterHints = Boolean(source.parameterHints);
 		this.iconsInSuggestions = Boolean(source.iconsInSuggestions);
 		this.formatOnType = Boolean(source.formatOnType);
@@ -953,14 +953,14 @@ export class EditorContribOptions {
 export class InternalEditorOptions {
 	_internalEditorOptionsBrand: void;
 
-	lineHeight:number; // todo: move to fontInfo
+	lineHeight: number; // todo: move to fontInfo
 
-	readOnly:boolean;
+	readOnly: boolean;
 	// ---- cursor options
 	wordSeparators: string;
-	autoClosingBrackets:boolean;
+	autoClosingBrackets: boolean;
 	useTabStops: boolean;
-	tabFocusMode:boolean;
+	tabFocusMode: boolean;
 	// ---- grouped options
 	layoutInfo: EditorLayoutInfo;
 	fontInfo: FontInfo;
@@ -972,19 +972,19 @@ export class InternalEditorOptions {
 	 * @internal
 	 */
 	constructor(source: {
-		lineHeight:number;
-		readOnly:boolean;
+		lineHeight: number;
+		readOnly: boolean;
 		wordSeparators: string;
-		autoClosingBrackets:boolean;
+		autoClosingBrackets: boolean;
 		useTabStops: boolean;
-		tabFocusMode:boolean;
+		tabFocusMode: boolean;
 		layoutInfo: EditorLayoutInfo;
 		fontInfo: FontInfo;
 		viewInfo: InternalEditorViewOptions;
 		wrappingInfo: EditorWrappingInfo;
 		contribInfo: EditorContribOptions;
 	}) {
-		this.lineHeight = source.lineHeight|0;
+		this.lineHeight = source.lineHeight | 0;
 		this.readOnly = Boolean(source.readOnly);
 		this.wordSeparators = String(source.wordSeparators);
 		this.autoClosingBrackets = Boolean(source.autoClosingBrackets);
@@ -1000,7 +1000,7 @@ export class InternalEditorOptions {
 	/**
 	 * @internal
 	 */
-	public equals(other:InternalEditorOptions): boolean {
+	public equals(other: InternalEditorOptions): boolean {
 		return (
 			this.lineHeight === other.lineHeight
 			&& this.readOnly === other.readOnly
@@ -1019,7 +1019,7 @@ export class InternalEditorOptions {
 	/**
 	 * @internal
 	 */
-	public createChangeEvent(newOpts:InternalEditorOptions): IConfigurationChangedEvent {
+	public createChangeEvent(newOpts: InternalEditorOptions): IConfigurationChangedEvent {
 		return {
 			lineHeight: (this.lineHeight !== newOpts.lineHeight),
 			readOnly: (this.readOnly !== newOpts.readOnly),
@@ -1098,54 +1098,54 @@ export interface IModelDecorationOptions {
 	 * Customize the growing behaviour of the decoration when typing at the edges of the decoration.
 	 * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
 	 */
-	stickiness?:TrackedRangeStickiness;
+	stickiness?: TrackedRangeStickiness;
 	/**
 	 * CSS class name describing the decoration.
 	 */
-	className?:string;
+	className?: string;
 	/**
 	 * Message to be rendered when hovering over the glyph margin decoration.
 	 * @internal
 	 */
-	glyphMarginHoverMessage?:string;
+	glyphMarginHoverMessage?: string;
 	/**
 	 * Array of MarkedString to render as the decoration message.
 	 */
-	hoverMessage?:MarkedString | MarkedString[];
+	hoverMessage?: MarkedString | MarkedString[];
 	/**
 	 * Should the decoration expand to encompass a whole line.
 	 */
-	isWholeLine?:boolean;
+	isWholeLine?: boolean;
 	/**
 	 * @deprecated : Use `overviewRuler` instead
 	 */
-	showInOverviewRuler?:string;
+	showInOverviewRuler?: string;
 	/**
 	 * If set, render this decoration in the overview ruler.
 	 */
-	overviewRuler?:IModelDecorationOverviewRulerOptions;
+	overviewRuler?: IModelDecorationOverviewRulerOptions;
 	/**
 	 * If set, the decoration will be rendered in the glyph margin with this CSS class name.
 	 */
-	glyphMarginClassName?:string;
+	glyphMarginClassName?: string;
 	/**
 	 * If set, the decoration will be rendered in the lines decorations with this CSS class name.
 	 */
-	linesDecorationsClassName?:string;
+	linesDecorationsClassName?: string;
 	/**
 	 * If set, the decoration will be rendered inline with the text with this CSS class name.
 	 * Please use this only for CSS rules that must impact the text. For example, use `className`
 	 * to have a background color decoration.
 	 */
-	inlineClassName?:string;
+	inlineClassName?: string;
 	/**
 	 * If set, the decoration will be rendered before the text with this CSS class name.
 	 */
-	beforeContentClassName?:string;
+	beforeContentClassName?: string;
 	/**
 	 * If set, the decoration will be rendered after the text with this CSS class name.
 	 */
-	afterContentClassName?:string;
+	afterContentClassName?: string;
 }
 
 /**
@@ -1210,24 +1210,24 @@ export interface IModelDecorationsChangeAccessor {
 	 * @param options Options associated with this decoration.
 	 * @return An unique identifier associated with this decoration.
 	 */
-	addDecoration(range:IRange, options:IModelDecorationOptions): string;
+	addDecoration(range: IRange, options: IModelDecorationOptions): string;
 	/**
 	 * Change the range that an existing decoration covers.
 	 * @param id The unique identifier associated with the decoration.
 	 * @param newRange The new range that this decoration covers.
 	 */
-	changeDecoration(id:string, newRange:IRange): void;
+	changeDecoration(id: string, newRange: IRange): void;
 	/**
 	 * Change the options associated with an existing decoration.
 	 * @param id The unique identifier associated with the decoration.
 	 * @param newOptions The new options associated with this decoration.
 	 */
-	changeDecorationOptions(id: string, newOptions:IModelDecorationOptions): void;
+	changeDecorationOptions(id: string, newOptions: IModelDecorationOptions): void;
 	/**
 	 * Remove an existing decoration.
 	 * @param id The unique identifier associated with the decoration.
 	 */
-	removeDecoration(id:string): void;
+	removeDecoration(id: string): void;
 	/**
 	 * Perform a minimum ammount of operations, in order to transform the decorations
 	 * identified by `oldDecorations` to the decorations described by `newDecorations`
@@ -1237,7 +1237,7 @@ export interface IModelDecorationsChangeAccessor {
 	 * @param newDecorations Array describing what decorations should result after the call.
 	 * @return An array containing the new decorations identifiers.
 	 */
-	deltaDecorations(oldDecorations:string[], newDecorations:IModelDeltaDecoration[]): string[];
+	deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[];
 }
 
 /**
@@ -1266,11 +1266,11 @@ export interface IWordRange {
 	/**
 	 * The index where the word starts.
 	 */
-	start:number;
+	start: number;
 	/**
 	 * The index where the word ends.
 	 */
-	end:number;
+	end: number;
 }
 
 /**
@@ -1355,11 +1355,11 @@ export interface ISingleEditOperationIdentifier {
 	/**
 	 * Identifier major
 	 */
-	major:number;
+	major: number;
 	/**
 	 * Identifier minor
 	 */
-	minor:number;
+	minor: number;
 }
 
 /**
@@ -1371,7 +1371,7 @@ export interface IEditOperationBuilder {
 	 * @param range The range to replace (delete). May be empty to represent a simple insert.
 	 * @param text The text to replace with. May be null to represent a simple delete.
 	 */
-	addEditOperation(range:Range, text:string): void;
+	addEditOperation(range: Range, text: string): void;
 
 	/**
 	 * Track `selection` when applying edit operations.
@@ -1382,7 +1382,7 @@ export interface IEditOperationBuilder {
 	 *           should clamp to the previous or the next character.
 	 * @return A unique identifer.
 	 */
-	trackSelection(selection:Selection, trackPreviousOnEmpty?:boolean): string;
+	trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string;
 }
 
 /**
@@ -1398,7 +1398,7 @@ export interface ICursorStateComputerData {
 	 * @param id The unique identifier returned by `trackSelection`.
 	 * @return The selection.
 	 */
-	getTrackedSelection(id:string): Selection;
+	getTrackedSelection(id: string): Selection;
 }
 
 /**
@@ -1410,14 +1410,14 @@ export interface ICommand {
 	 * @param model The model the command will execute on.
 	 * @param builder A helper to collect the needed edit operations and to track selections.
 	 */
-	getEditOperations(model:ITokenizedModel, builder:IEditOperationBuilder): void;
+	getEditOperations(model: ITokenizedModel, builder: IEditOperationBuilder): void;
 	/**
 	 * Compute the cursor state after the edit operations were applied.
 	 * @param model The model the commad has executed on.
 	 * @param helper A helper to get inverse edit operations and to get previously tracked selections.
 	 * @return The cursor state after the command executed.
 	 */
-	computeCursorState(model:ITokenizedModel, helper:ICursorStateComputerData): Selection;
+	computeCursorState(model: ITokenizedModel, helper: ICursorStateComputerData): Selection;
 }
 
 /**
@@ -1475,7 +1475,7 @@ export interface ICursorStateComputer {
 	/**
 	 * A callback that can compute the resulting cursors state after some edit operations have been executed.
 	 */
-	(inverseEditOperations:IIdentifiedSingleEditOperation[]): Selection[];
+	(inverseEditOperations: IIdentifiedSingleEditOperation[]): Selection[];
 }
 
 export interface ITextModelResolvedOptions {
@@ -1532,12 +1532,12 @@ export interface ITextModel {
 	/**
 	 * Replace the entire text buffer value contained in this model.
 	 */
-	setValue(newValue:string): void;
+	setValue(newValue: string): void;
 
 	/**
 	 * Replace the entire text buffer value contained in this model.
 	 */
-	setValueFromRawText(newValue:IRawText): void;
+	setValueFromRawText(newValue: IRawText): void;
 
 	/**
 	 * Get the text stored in this model.
@@ -1545,12 +1545,12 @@ export interface ITextModel {
 	 * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed.
 	 * @return The text.
 	 */
-	getValue(eol?:EndOfLinePreference, preserveBOM?:boolean): string;
+	getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string;
 
 	/**
 	 * Get the length of the text stored in this model.
 	 */
-	getValueLength(eol?:EndOfLinePreference, preserveBOM?:boolean): number;
+	getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number;
 
 	/**
 	 * Get the raw text stored in this model.
@@ -1560,7 +1560,7 @@ export interface ITextModel {
 	/**
 	 * Check if the raw text stored in this model equals another raw text.
 	 */
-	equals(other:IRawText): boolean;
+	equals(other: IRawText): boolean;
 
 	/**
 	 * Get the text in a certain range.
@@ -1568,14 +1568,14 @@ export interface ITextModel {
 	 * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`.
 	 * @return The text.
 	 */
-	getValueInRange(range:IRange, eol?:EndOfLinePreference): string;
+	getValueInRange(range: IRange, eol?: EndOfLinePreference): string;
 
 	/**
 	 * Get the length of text in a certain range.
 	 * @param range The range describing what text length to get.
 	 * @return The text length.
 	 */
-	getValueLengthInRange(range:IRange): number;
+	getValueLengthInRange(range: IRange): number;
 
 	/**
 	 * Splits characters in two buckets. First bucket (A) is of characters that
@@ -1594,12 +1594,12 @@ export interface ITextModel {
 	/**
 	 * Get the text for a certain line.
 	 */
-	getLineContent(lineNumber:number): string;
+	getLineContent(lineNumber: number): string;
 
 	/**
 	 * @internal
 	 */
-	getIndentLevel(lineNumber:number): number;
+	getIndentLevel(lineNumber: number): number;
 
 	/**
 	 * @internal
@@ -1609,7 +1609,7 @@ export interface ITextModel {
 	/**
 	 * @internal
 	 */
-	getLineIndentGuide(lineNumber:number): number;
+	getLineIndentGuide(lineNumber: number): number;
 
 	/**
 	 * Get the text for all lines.
@@ -1630,29 +1630,29 @@ export interface ITextModel {
 	/**
 	 * Get the minimum legal column for line at `lineNumber`
 	 */
-	getLineMinColumn(lineNumber:number): number;
+	getLineMinColumn(lineNumber: number): number;
 
 	/**
 	 * Get the maximum legal column for line at `lineNumber`
 	 */
-	getLineMaxColumn(lineNumber:number): number;
+	getLineMaxColumn(lineNumber: number): number;
 
 	/**
 	 * Returns the column before the first non whitespace character for line at `lineNumber`.
 	 * Returns 0 if line is empty or contains only whitespace.
 	 */
-	getLineFirstNonWhitespaceColumn(lineNumber:number): number;
+	getLineFirstNonWhitespaceColumn(lineNumber: number): number;
 
 	/**
 	 * Returns the column after the last non whitespace character for line at `lineNumber`.
 	 * Returns 0 if line is empty or contains only whitespace.
 	 */
-	getLineLastNonWhitespaceColumn(lineNumber:number): number;
+	getLineLastNonWhitespaceColumn(lineNumber: number): number;
 
 	/**
 	 * Create a valid position,
 	 */
-	validatePosition(position:IPosition): Position;
+	validatePosition(position: IPosition): Position;
 
 	/**
 	 * Advances the given position by the given offest (negative offsets are also accepted)
@@ -1669,7 +1669,7 @@ export interface ITextModel {
 	/**
 	 * Create a valid range.
 	 */
-	validateRange(range:IRange): Range;
+	validateRange(range: IRange): Range;
 
 	/**
 	 * Converts the position to a zero-based offset.
@@ -1723,7 +1723,7 @@ export interface ITextModel {
 	 * @param limitResultCount Limit the number of results
 	 * @return The ranges where the matches are. It is empty if not matches have been found.
 	 */
-	findMatches(searchString:string, searchOnlyEditableRange:boolean, isRegex:boolean, matchCase:boolean, wholeWord:boolean, limitResultCount?:number): Range[];
+	findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wholeWord: boolean, limitResultCount?: number): Range[];
 	/**
 	 * Search the model.
 	 * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
@@ -1734,7 +1734,7 @@ export interface ITextModel {
 	 * @param limitResultCount Limit the number of results
 	 * @return The ranges where the matches are. It is empty if no matches have been found.
 	 */
-	findMatches(searchString:string, searchScope:IRange, isRegex:boolean, matchCase:boolean, wholeWord:boolean, limitResultCount?:number): Range[];
+	findMatches(searchString: string, searchScope: IRange, isRegex: boolean, matchCase: boolean, wholeWord: boolean, limitResultCount?: number): Range[];
 	/**
 	 * Search the model for the next match. Loops to the beginning of the model if needed.
 	 * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
@@ -1744,7 +1744,7 @@ export interface ITextModel {
 	 * @param wholeWord Force the matching to match entire words only.
 	 * @return The range where the next match is. It is null if no next match has been found.
 	 */
-	findNextMatch(searchString:string, searchStart:IPosition, isRegex:boolean, matchCase:boolean, wholeWord:boolean): Range;
+	findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wholeWord: boolean): Range;
 	/**
 	 * Search the model for the previous match. Loops to the end of the model if needed.
 	 * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
@@ -1754,7 +1754,7 @@ export interface ITextModel {
 	 * @param wholeWord Force the matching to match entire words only.
 	 * @return The range where the previous match is. It is null if no previous match has been found.
 	 */
-	findPreviousMatch(searchString:string, searchStart:IPosition, isRegex:boolean, matchCase:boolean, wholeWord:boolean): Range;
+	findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wholeWord: boolean): Range;
 }
 
 export interface IReadOnlyModel extends ITextModel {
@@ -1774,7 +1774,7 @@ export interface IReadOnlyModel extends ITextModel {
 	 * @param skipSyntaxTokens Ignore syntax tokens, as identified by the mode.
 	 * @return The word under or besides `position`. Might be null.
 	 */
-	getWordAtPosition(position:IPosition): IWordAtPosition;
+	getWordAtPosition(position: IPosition): IWordAtPosition;
 
 	/**
 	 * Get the word under or besides `position` trimmed to `position`.column
@@ -1782,7 +1782,7 @@ export interface IReadOnlyModel extends ITextModel {
 	 * @param skipSyntaxTokens Ignore syntax tokens, as identified by the mode.
 	 * @return The word under or besides `position`. Will never be null.
 	 */
-	getWordUntilPosition(position:IPosition): IWordAtPosition;
+	getWordUntilPosition(position: IPosition): IWordAtPosition;
 }
 
 /**
@@ -1817,18 +1817,18 @@ export interface ITokenizedModel extends ITextModel {
 	 * @param inaccurateTokensAcceptable Are inaccurate tokens acceptable? Defaults to false
 	 * @internal
 	 */
-	getLineTokens(lineNumber:number, inaccurateTokensAcceptable?:boolean): LineTokens;
+	getLineTokens(lineNumber: number, inaccurateTokensAcceptable?: boolean): LineTokens;
 
 	/**
 	 * Tokenize if necessary and get the tokenization result for the line `lineNumber`, as returned by the language mode.
 	 * @internal
 	 */
-	getLineContext(lineNumber:number): ILineContext;
+	getLineContext(lineNumber: number): ILineContext;
 
 	/**
 	 * @internal
 	 */
-	_getLineModeTransitions(lineNumber:number): ModeTransition[];
+	_getLineModeTransitions(lineNumber: number): ModeTransition[];
 
 	/**
 	 * Get the current language mode associated with the model.
@@ -1844,13 +1844,13 @@ export interface ITokenizedModel extends ITextModel {
 	 * Set the current language mode associated with the model.
 	 * @internal
 	 */
-	setMode(languageId:string): void;
+	setMode(languageId: string): void;
 
 	/**
 	 * Returns the true (inner-most) language mode at a given position.
 	 * @internal
 	 */
-	getModeIdAtPosition(lineNumber:number, column:number): string;
+	getModeIdAtPosition(lineNumber: number, column: number): string;
 
 	/**
 	 * Get the word under or besides `position`.
@@ -1858,7 +1858,7 @@ export interface ITokenizedModel extends ITextModel {
 	 * @param skipSyntaxTokens Ignore syntax tokens, as identified by the mode.
 	 * @return The word under or besides `position`. Might be null.
 	 */
-	getWordAtPosition(position:IPosition): IWordAtPosition;
+	getWordAtPosition(position: IPosition): IWordAtPosition;
 
 	/**
 	 * Get the word under or besides `position` trimmed to `position`.column
@@ -1866,7 +1866,7 @@ export interface ITokenizedModel extends ITextModel {
 	 * @param skipSyntaxTokens Ignore syntax tokens, as identified by the mode.
 	 * @return The word under or besides `position`. Will never be null.
 	 */
-	getWordUntilPosition(position:IPosition): IWordAtPosition;
+	getWordUntilPosition(position: IPosition): IWordAtPosition;
 
 	/**
 	 * Returns an iterator that can be used to read
@@ -1875,7 +1875,7 @@ export interface ITokenizedModel extends ITextModel {
 	 * function and can't be used afterwards.
 	 * @internal
 	 */
-	tokenIterator(position: IPosition, callback: (it: ITokenIterator) =>any): any;
+	tokenIterator(position: IPosition, callback: (it: ITokenIterator) => any): any;
 
 	/**
 	 * Find the matching bracket of `request` up, counting brackets.
@@ -1884,7 +1884,7 @@ export interface ITokenizedModel extends ITextModel {
 	 * @return The range of the matching bracket, or null if the bracket match was not found.
 	 * @internal
 	 */
-	findMatchingBracketUp(bracket:string, position:IPosition): Range;
+	findMatchingBracketUp(bracket: string, position: IPosition): Range;
 
 	// /**
 	//  * Find the first bracket in the model before `position`.
@@ -1906,7 +1906,7 @@ export interface ITokenizedModel extends ITextModel {
 	 * @param position The position at which to look for a bracket.
 	 * @internal
 	 */
-	matchBracket(position:IPosition): [Range,Range];
+	matchBracket(position: IPosition): [Range, Range];
 }
 
 /**
@@ -1916,23 +1916,23 @@ export interface ITextModelWithMarkers extends ITextModel {
 	/**
 	 * @internal
 	 */
-	_addMarker(lineNumber:number, column:number, stickToPreviousCharacter:boolean): string;
+	_addMarker(lineNumber: number, column: number, stickToPreviousCharacter: boolean): string;
 	/**
 	 * @internal
 	 */
-	_changeMarker(id:string, newLineNumber:number, newColumn:number): void;
+	_changeMarker(id: string, newLineNumber: number, newColumn: number): void;
 	/**
 	 * @internal
 	 */
-	_changeMarkerStickiness(id:string, newStickToPreviousCharacter:boolean): void;
+	_changeMarkerStickiness(id: string, newStickToPreviousCharacter: boolean): void;
 	/**
 	 * @internal
 	 */
-	_getMarker(id:string): Position;
+	_getMarker(id: string): Position;
 	/**
 	 * @internal
 	 */
-	_removeMarker(id:string): void;
+	_removeMarker(id: string): void;
 	/**
 	 * @internal
 	 */
@@ -1944,7 +1944,7 @@ export interface ITextModelWithMarkers extends ITextModel {
  * @internal
  */
 export interface IChangedTrackedRanges {
-	[key:string]:IRange;
+	[key: string]: IRange;
 }
 
 /**
@@ -1968,7 +1968,7 @@ export interface ITextModelWithTrackedRanges extends ITextModel {
 	 * @return A unique identifier for the tracked range.
 	 * @internal
 	 */
-	addTrackedRange(range:IRange, stickiness:TrackedRangeStickiness): string;
+	addTrackedRange(range: IRange, stickiness: TrackedRangeStickiness): string;
 
 	/**
 	 * Change the range of a tracked range.
@@ -1976,7 +1976,7 @@ export interface ITextModelWithTrackedRanges extends ITextModel {
 	 * @param newRange The new range of the tracked range.
 	 * @internal
 	 */
-	changeTrackedRange(id:string, newRange:IRange): void;
+	changeTrackedRange(id: string, newRange: IRange): void;
 
 	/**
 	 * Change the stickiness (behaviour when typing at the edges of the range) for a tracked range.
@@ -1984,21 +1984,21 @@ export interface ITextModelWithTrackedRanges extends ITextModel {
 	 * @param newStickiness The new behaviour when typing at the edges of the range.
 	 * @internal
 	 */
-	changeTrackedRangeStickiness(id:string, newStickiness:TrackedRangeStickiness): void;
+	changeTrackedRangeStickiness(id: string, newStickiness: TrackedRangeStickiness): void;
 
 	/**
 	 * Remove a tracked range.
 	 * @param id The id of the tracked range, as returned by a `addTrackedRaneg` call.
 	 * @internal
 	 */
-	removeTrackedRange(id:string): void;
+	removeTrackedRange(id: string): void;
 
 	/**
 	 * Get the range of a tracked range.
 	 * @param id The id of the tracked range, as returned by a `addTrackedRaneg` call.
 	 * @internal
 	 */
-	getTrackedRange(id:string): Range;
+	getTrackedRange(id: string): Range;
 
 	/**
 	 * Gets all the tracked ranges for the lines between `startLineNumber` and `endLineNumber` as an array.
@@ -2007,7 +2007,7 @@ export interface ITextModelWithTrackedRanges extends ITextModel {
 	 * @return An array with the tracked ranges
 	 * @internal
 	 */
-	getLinesTrackedRanges(startLineNumber:number, endLineNumber:number): IModelTrackedRange[];
+	getLinesTrackedRanges(startLineNumber: number, endLineNumber: number): IModelTrackedRange[];
 }
 
 /**
@@ -2022,7 +2022,7 @@ export interface ITextModelWithDecorations {
 	 * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
 	 * @internal
 	 */
-	changeDecorations(callback: (changeAccessor:IModelDecorationsChangeAccessor)=>any, ownerId?:number): any;
+	changeDecorations(callback: (changeAccessor: IModelDecorationsChangeAccessor) => any, ownerId?: number): any;
 
 	/**
 	 * Perform a minimum ammount of operations, in order to transform the decorations
@@ -2034,28 +2034,28 @@ export interface ITextModelWithDecorations {
 	 * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
 	 * @return An array containing the new decorations identifiers.
 	 */
-	deltaDecorations(oldDecorations:string[], newDecorations:IModelDeltaDecoration[], ownerId?:number): string[];
+	deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[];
 
 	/**
 	 * Remove all decorations that have been added with this specific ownerId.
 	 * @param ownerId The owner id to search for.
 	 * @internal
 	 */
-	removeAllDecorationsWithOwnerId(ownerId:number): void;
+	removeAllDecorationsWithOwnerId(ownerId: number): void;
 
 	/**
 	 * Get the options associated with a decoration.
 	 * @param id The decoration id.
 	 * @return The decoration options or null if the decoration was not found.
 	 */
-	getDecorationOptions(id:string): IModelDecorationOptions;
+	getDecorationOptions(id: string): IModelDecorationOptions;
 
 	/**
 	 * Get the range associated with a decoration.
 	 * @param id The decoration id.
 	 * @return The decoration range or null if the decoration was not found.
 	 */
-	getDecorationRange(id:string): Range;
+	getDecorationRange(id: string): Range;
 
 	/**
 	 * Gets all the decorations for the line `lineNumber` as an array.
@@ -2064,7 +2064,7 @@ export interface ITextModelWithDecorations {
 	 * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
 	 * @return An array with the decorations
 	 */
-	getLineDecorations(lineNumber:number, ownerId?:number, filterOutValidation?:boolean): IModelDecoration[];
+	getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
 
 	/**
 	 * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array.
@@ -2074,7 +2074,7 @@ export interface ITextModelWithDecorations {
 	 * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
 	 * @return An array with the decorations
 	 */
-	getLinesDecorations(startLineNumber:number, endLineNumber:number, ownerId?:number, filterOutValidation?:boolean): IModelDecoration[];
+	getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
 
 	/**
 	 * Gets all the deocorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering.
@@ -2084,14 +2084,14 @@ export interface ITextModelWithDecorations {
 	 * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
 	 * @return An array with the decorations
 	 */
-	getDecorationsInRange(range:IRange, ownerId?:number, filterOutValidation?:boolean): IModelDecoration[];
+	getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
 
 	/**
 	 * Gets all the decorations as an array.
 	 * @param ownerId If set, it will ignore decorations belonging to other owners.
 	 * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
 	 */
-	getAllDecorations(ownerId?:number, filterOutValidation?:boolean): IModelDecoration[];
+	getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
 }
 
 /**
@@ -2102,7 +2102,7 @@ export interface IEditableTextModel extends ITextModelWithMarkers {
 	/**
 	 * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs).
 	 */
-	normalizeIndentation(str:string): string;
+	normalizeIndentation(str: string): string;
 
 	/**
 	 * Get what is considered to be one indent (e.g. a tab character or 4 spaces, etc.).
@@ -2112,12 +2112,12 @@ export interface IEditableTextModel extends ITextModelWithMarkers {
 	/**
 	 * Change the options of this model.
 	 */
-	updateOptions(newOpts:ITextModelUpdateOptions): void;
+	updateOptions(newOpts: ITextModelUpdateOptions): void;
 
 	/**
 	 * Detect the indentation options for this model from its content.
 	 */
-	detectIndentation(defaultInsertSpaces:boolean, defaultTabSize:number): void;
+	detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void;
 
 	/**
 	 * Push a stack element onto the undo stack. This acts as an undo/redo point.
@@ -2134,7 +2134,7 @@ export interface IEditableTextModel extends ITextModelWithMarkers {
 	 * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed.
 	 * @return The cursor state returned by the `cursorStateComputer`.
 	 */
-	pushEditOperations(beforeCursorState:Selection[], editOperations:IIdentifiedSingleEditOperation[], cursorStateComputer:ICursorStateComputer): Selection[];
+	pushEditOperations(beforeCursorState: Selection[], editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[];
 
 	/**
 	 * Edit the model without adding the edits to the undo stack.
@@ -2142,7 +2142,7 @@ export interface IEditableTextModel extends ITextModelWithMarkers {
 	 * @param operations The edit operations.
 	 * @return The inverse edit operations, that, when applied, will bring the model back to the previous state.
 	 */
-	applyEdits(operations:IIdentifiedSingleEditOperation[]): IIdentifiedSingleEditOperation[];
+	applyEdits(operations: IIdentifiedSingleEditOperation[]): IIdentifiedSingleEditOperation[];
 
 	/**
 	 * Undo edit operations until the first previous stop point created by `pushStackElement`.
@@ -2162,7 +2162,7 @@ export interface IEditableTextModel extends ITextModelWithMarkers {
 	 * Set an editable range on the model.
 	 * @internal
 	 */
-	setEditableRange(range:IRange): void;
+	setEditableRange(range: IRange): void;
 
 	/**
 	 * Check if the model has an editable range.
@@ -2186,32 +2186,32 @@ export interface IModel extends IReadOnlyModel, IEditableTextModel, ITextModelWi
 	 * An event emitted when the contents of the model have changed.
 	 * @internal
 	 */
-	onDidChangeRawContent(listener: (e:IModelContentChangedEvent)=>void): IDisposable;
+	onDidChangeRawContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the contents of the model have changed.
 	 */
-	onDidChangeContent(listener: (e:IModelContentChangedEvent2)=>void): IDisposable;
+	onDidChangeContent(listener: (e: IModelContentChangedEvent2) => void): IDisposable;
 	/**
 	 * An event emitted when decorations of the model have changed.
 	 */
-	onDidChangeDecorations(listener: (e:IModelDecorationsChangedEvent)=>void): IDisposable;
+	onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the model options have changed.
 	 */
-	onDidChangeOptions(listener: (e:IModelOptionsChangedEvent)=>void): IDisposable;
+	onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the language associated with the model has changed.
 	 */
-	onDidChangeMode(listener: (e:IModelModeChangedEvent)=>void): IDisposable;
+	onDidChangeMode(listener: (e: IModelModeChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted right before disposing the model.
 	 */
-	onWillDispose(listener: ()=>void): IDisposable;
+	onWillDispose(listener: () => void): IDisposable;
 
 	/**
 	 * @internal
 	 */
-	addBulkListener(listener:BulkListenerCallback):IDisposable;
+	addBulkListener(listener: BulkListenerCallback): IDisposable;
 
 	/**
 	 * A unique identifier associated with this model.
@@ -2252,8 +2252,8 @@ export interface IModel extends IReadOnlyModel, IEditableTextModel, ITextModelWi
  * @internal
  */
 export interface IRangeWithText {
-	text:string;
-	range:IRange;
+	text: string;
+	range: IRange;
 }
 
 /**
@@ -2263,11 +2263,11 @@ export interface IModelModeChangedEvent {
 	/**
 	 * Previous mode
 	 */
-	oldMode:IMode;
+	oldMode: IMode;
 	/**
 	 * New mode
 	 */
-	newMode:IMode;
+	newMode: IMode;
 }
 
 /**
@@ -2419,23 +2419,23 @@ export interface IModelDecorationsChangedEventDecorationData {
 	/**
 	 * The id of the decoration.
 	 */
-	id:string;
+	id: string;
 	/**
 	 * The owner id of the decoration.
 	 */
-	ownerId:number;
+	ownerId: number;
 	/**
 	 * The range of the decoration.
 	 */
-	range:IRange;
+	range: IRange;
 	/**
 	 * A flag describing if this is a problem decoration (e.g. warning/error).
 	 */
-	isForValidation:boolean;
+	isForValidation: boolean;
 	/**
 	 * The options for this decoration.
 	 */
-	options:IModelDecorationOptions;
+	options: IModelDecorationOptions;
 }
 /**
  * An event describing that model decorations have changed.
@@ -2444,23 +2444,23 @@ export interface IModelDecorationsChangedEvent {
 	/**
 	 * A summary with ids of decorations that have changed.
 	 */
-	ids:string[];
+	ids: string[];
 	/**
 	 * Lists of details for added or changed decorations.
 	 */
-	addedOrChangedDecorations:IModelDecorationsChangedEventDecorationData[];
+	addedOrChangedDecorations: IModelDecorationsChangedEventDecorationData[];
 	/**
 	 * List of ids for removed decorations.
 	 */
-	removedDecorations:string[];
+	removedDecorations: string[];
 	/**
 	 * Details regarding old options.
 	 */
-	oldOptions:{[decorationId:string]:IModelDecorationOptions;};
+	oldOptions: { [decorationId: string]: IModelDecorationOptions; };
 	/**
 	 * Details regarding old ranges.
 	 */
-	oldRanges:{[decorationId:string]:IRange;};
+	oldRanges: { [decorationId: string]: IRange; };
 }
 /**
  * An event describing that a range of lines has been tokenized
@@ -2469,11 +2469,11 @@ export interface IModelTokensChangedEvent {
 	/**
 	 * The start of the range (inclusive)
 	 */
-	fromLineNumber:number;
+	fromLineNumber: number;
 	/**
 	 * The end of the range (inclusive)
 	 */
-	toLineNumber:number;
+	toLineNumber: number;
 }
 
 /**
@@ -2516,31 +2516,31 @@ export interface ICursorPositionChangedEvent {
 	/**
 	 * Primary cursor's position.
 	 */
-	position:Position;
+	position: Position;
 	/**
 	 * Primary cursor's view position
 	 */
-	viewPosition:Position;
+	viewPosition: Position;
 	/**
 	 * Secondary cursors' position.
 	 */
-	secondaryPositions:Position[];
+	secondaryPositions: Position[];
 	/**
 	 * Secondary cursors' view position.
 	 */
-	secondaryViewPositions:Position[];
+	secondaryViewPositions: Position[];
 	/**
 	 * Reason.
 	 */
-	reason:CursorChangeReason;
+	reason: CursorChangeReason;
 	/**
 	 * Source of the call that caused the event.
 	 */
-	source:string;
+	source: string;
 	/**
 	 * Is the primary cursor in the editable range?
 	 */
-	isInEditableRange:boolean;
+	isInEditableRange: boolean;
 }
 /**
  * An event describing that the cursor selection has changed.
@@ -2549,27 +2549,27 @@ export interface ICursorSelectionChangedEvent {
 	/**
 	 * The primary selection.
 	 */
-	selection:Selection;
+	selection: Selection;
 	/**
 	 * The primary selection in view coordinates.
 	 */
-	viewSelection:Selection;
+	viewSelection: Selection;
 	/**
 	 * The secondary selections.
 	 */
-	secondarySelections:Selection[];
+	secondarySelections: Selection[];
 	/**
 	 * The secondary selections in view coordinates.
 	 */
-	secondaryViewSelections:Selection[];
+	secondaryViewSelections: Selection[];
 	/**
 	 * Source of the call that caused the event.
 	 */
-	source:string;
+	source: string;
 	/**
 	 * Reason.
 	 */
-	reason:CursorChangeReason;
+	reason: CursorChangeReason;
 }
 /**
  * @internal
@@ -2589,11 +2589,11 @@ export interface ICursorRevealRangeEvent {
 	/**
 	 * Range to be reavealed.
 	 */
-	range:Range;
+	range: Range;
 	/**
 	 * View range to be reavealed.
 	 */
-	viewRange:Range;
+	viewRange: Range;
 
 	verticalType: VerticalRevealType;
 	/**
@@ -2633,9 +2633,9 @@ export interface IModelChangedEvent {
  * @internal
  */
 export interface IEditorWhitespace {
-	id:number;
-	afterLineNumber:number;
-	heightInLines:number;
+	id: number;
+	afterLineNumber: number;
+	heightInLines: number;
 }
 
 /**
@@ -2647,39 +2647,39 @@ export class OverviewRulerPosition {
 	/**
 	 * Width of the overview ruler
 	 */
-	width:number;
+	width: number;
 	/**
 	 * Height of the overview ruler
 	 */
-	height:number;
+	height: number;
 	/**
 	 * Top position for the overview ruler
 	 */
-	top:number;
+	top: number;
 	/**
 	 * Right position for the overview ruler
 	 */
-	right:number;
+	right: number;
 
 	/**
 	 * @internal
 	 */
-	constructor(source:{
-		width:number;
-		height:number;
-		top:number;
-		right:number;
+	constructor(source: {
+		width: number;
+		height: number;
+		top: number;
+		right: number;
 	}) {
-		this.width = source.width|0;
-		this.height = source.height|0;
-		this.top = source.top|0;
-		this.right = source.right|0;
+		this.width = source.width | 0;
+		this.height = source.height | 0;
+		this.top = source.top | 0;
+		this.right = source.right | 0;
 	}
 
 	/**
 	 * @internal
 	 */
-	public equals(other:OverviewRulerPosition): boolean {
+	public equals(other: OverviewRulerPosition): boolean {
 		return (
 			this.width === other.width
 			&& this.height === other.height
@@ -2705,123 +2705,123 @@ export class EditorLayoutInfo {
 	/**
 	 * Full editor width.
 	 */
-	width:number;
+	width: number;
 	/**
 	 * Full editor height.
 	 */
-	height:number;
+	height: number;
 
 	/**
 	 * Left position for the glyph margin.
 	 */
-	glyphMarginLeft:number;
+	glyphMarginLeft: number;
 	/**
 	 * The width of the glyph margin.
 	 */
-	glyphMarginWidth:number;
+	glyphMarginWidth: number;
 	/**
 	 * The height of the glyph margin.
 	 */
-	glyphMarginHeight:number;
+	glyphMarginHeight: number;
 
 	/**
 	 * Left position for the line numbers.
 	 */
-	lineNumbersLeft:number;
+	lineNumbersLeft: number;
 	/**
 	 * The width of the line numbers.
 	 */
-	lineNumbersWidth:number;
+	lineNumbersWidth: number;
 	/**
 	 * The height of the line numbers.
 	 */
-	lineNumbersHeight:number;
+	lineNumbersHeight: number;
 
 	/**
 	 * Left position for the line decorations.
 	 */
-	decorationsLeft:number;
+	decorationsLeft: number;
 	/**
 	 * The width of the line decorations.
 	 */
-	decorationsWidth:number;
+	decorationsWidth: number;
 	/**
 	 * The height of the line decorations.
 	 */
-	decorationsHeight:number;
+	decorationsHeight: number;
 
 	/**
 	 * Left position for the content (actual text)
 	 */
-	contentLeft:number;
+	contentLeft: number;
 	/**
 	 * The width of the content (actual text)
 	 */
-	contentWidth:number;
+	contentWidth: number;
 	/**
 	 * The height of the content (actual height)
 	 */
-	contentHeight:number;
+	contentHeight: number;
 
 	/**
 	 * The width of the vertical scrollbar.
 	 */
-	verticalScrollbarWidth:number;
+	verticalScrollbarWidth: number;
 	/**
 	 * The height of the horizontal scrollbar.
 	 */
-	horizontalScrollbarHeight:number;
+	horizontalScrollbarHeight: number;
 
 	/**
 	 * The position of the overview ruler.
 	 */
-	overviewRuler:OverviewRulerPosition;
+	overviewRuler: OverviewRulerPosition;
 
 	/**
 	 * @internal
 	 */
-	constructor(source:{
-		width:number;
-		height:number;
-		glyphMarginLeft:number;
-		glyphMarginWidth:number;
-		glyphMarginHeight:number;
-		lineNumbersLeft:number;
-		lineNumbersWidth:number;
-		lineNumbersHeight:number;
-		decorationsLeft:number;
-		decorationsWidth:number;
-		decorationsHeight:number;
-		contentLeft:number;
-		contentWidth:number;
-		contentHeight:number;
-		verticalScrollbarWidth:number;
-		horizontalScrollbarHeight:number;
-		overviewRuler:OverviewRulerPosition;
+	constructor(source: {
+		width: number;
+		height: number;
+		glyphMarginLeft: number;
+		glyphMarginWidth: number;
+		glyphMarginHeight: number;
+		lineNumbersLeft: number;
+		lineNumbersWidth: number;
+		lineNumbersHeight: number;
+		decorationsLeft: number;
+		decorationsWidth: number;
+		decorationsHeight: number;
+		contentLeft: number;
+		contentWidth: number;
+		contentHeight: number;
+		verticalScrollbarWidth: number;
+		horizontalScrollbarHeight: number;
+		overviewRuler: OverviewRulerPosition;
 	}) {
-		this.width = source.width|0;
-		this.height = source.height|0;
-		this.glyphMarginLeft = source.glyphMarginLeft|0;
-		this.glyphMarginWidth = source.glyphMarginWidth|0;
-		this.glyphMarginHeight = source.glyphMarginHeight|0;
-		this.lineNumbersLeft = source.lineNumbersLeft|0;
-		this.lineNumbersWidth = source.lineNumbersWidth|0;
-		this.lineNumbersHeight = source.lineNumbersHeight|0;
-		this.decorationsLeft = source.decorationsLeft|0;
-		this.decorationsWidth = source.decorationsWidth|0;
-		this.decorationsHeight = source.decorationsHeight|0;
-		this.contentLeft = source.contentLeft|0;
-		this.contentWidth = source.contentWidth|0;
-		this.contentHeight = source.contentHeight|0;
-		this.verticalScrollbarWidth = source.verticalScrollbarWidth|0;
-		this.horizontalScrollbarHeight = source.horizontalScrollbarHeight|0;
+		this.width = source.width | 0;
+		this.height = source.height | 0;
+		this.glyphMarginLeft = source.glyphMarginLeft | 0;
+		this.glyphMarginWidth = source.glyphMarginWidth | 0;
+		this.glyphMarginHeight = source.glyphMarginHeight | 0;
+		this.lineNumbersLeft = source.lineNumbersLeft | 0;
+		this.lineNumbersWidth = source.lineNumbersWidth | 0;
+		this.lineNumbersHeight = source.lineNumbersHeight | 0;
+		this.decorationsLeft = source.decorationsLeft | 0;
+		this.decorationsWidth = source.decorationsWidth | 0;
+		this.decorationsHeight = source.decorationsHeight | 0;
+		this.contentLeft = source.contentLeft | 0;
+		this.contentWidth = source.contentWidth | 0;
+		this.contentHeight = source.contentHeight | 0;
+		this.verticalScrollbarWidth = source.verticalScrollbarWidth | 0;
+		this.horizontalScrollbarHeight = source.horizontalScrollbarHeight | 0;
 		this.overviewRuler = source.overviewRuler.clone();
 	}
 
 	/**
 	 * @internal
 	 */
-	public equals(other:EditorLayoutInfo): boolean {
+	public equals(other: EditorLayoutInfo): boolean {
 		return (
 			this.width === other.width
 			&& this.height === other.height
@@ -2858,7 +2858,7 @@ export interface ICodeEditorWidgetCreationOptions extends IEditorOptions {
 	/**
 	 * The initial model associated with this code editor.
 	 */
-	model?:IModel;
+	model?: IModel;
 }
 
 /**
@@ -2872,17 +2872,17 @@ export interface IEditorModel {
 export interface IEditorViewState {
 }
 export interface IDimension {
-	width:number;
-	height:number;
+	width: number;
+	height: number;
 }
 
 /**
  * A (serializable) state of the cursors.
  */
 export interface ICursorState {
-	inSelectionMode:boolean;
-	selectionStart:IPosition;
-	position:IPosition;
+	inSelectionMode: boolean;
+	selectionStart: IPosition;
+	position: IPosition;
 }
 /**
  * A (serializable) state of the view.
@@ -2896,9 +2896,9 @@ export interface IViewState {
  * A (serializable) state of the code editor.
  */
 export interface ICodeEditorViewState extends IEditorViewState {
-	cursorState:ICursorState[];
-	viewState:IViewState;
-	contributionsState: {[id:string]:any};
+	cursorState: ICursorState[];
+	viewState: IViewState;
+	contributionsState: { [id: string]: any };
 }
 
 /**
@@ -2983,25 +2983,25 @@ export interface IDiffEditorViewState extends IEditorViewState {
  * A change
  */
 export interface IChange {
-	originalStartLineNumber:number;
-	originalEndLineNumber:number;
-	modifiedStartLineNumber:number;
-	modifiedEndLineNumber:number;
+	originalStartLineNumber: number;
+	originalEndLineNumber: number;
+	modifiedStartLineNumber: number;
+	modifiedEndLineNumber: number;
 }
 /**
  * A character level change.
  */
 export interface ICharChange extends IChange {
-	originalStartColumn:number;
-	originalEndColumn:number;
-	modifiedStartColumn:number;
-	modifiedEndColumn:number;
+	originalStartColumn: number;
+	originalEndColumn: number;
+	modifiedStartColumn: number;
+	modifiedEndColumn: number;
 }
 /**
  * A line change
  */
 export interface ILineChange extends IChange {
-	charChanges:ICharChange[];
+	charChanges: ICharChange[];
 }
 /**
  * Information about a line in the diff editor
@@ -3035,7 +3035,7 @@ export namespace EditorContextKeys {
 	/**
 	 * @internal
 	 */
-	export const Writable:ContextKeyExpr = ReadOnly.toNegated();
+	export const Writable: ContextKeyExpr = ReadOnly.toNegated();
 
 	/**
 	 * A context key that is set when the editor has a non-collapsed selection.
@@ -3045,7 +3045,7 @@ export namespace EditorContextKeys {
 	/**
 	 * @internal
 	 */
-	export const HasOnlyEmptySelection:ContextKeyExpr = HasNonEmptySelection.toNegated();
+	export const HasOnlyEmptySelection: ContextKeyExpr = HasNonEmptySelection.toNegated();
 
 	/**
 	 * A context key that is set when the editor has multiple selections (multiple cursors).
@@ -3055,7 +3055,7 @@ export namespace EditorContextKeys {
 	/**
 	 * @internal
 	 */
-	export const HasSingleSelection:ContextKeyExpr = HasMultipleSelections.toNegated();
+	export const HasSingleSelection: ContextKeyExpr = HasMultipleSelections.toNegated();
 
 	/**
 	 * @internal
@@ -3064,7 +3064,7 @@ export namespace EditorContextKeys {
 	/**
 	 * @internal
 	 */
-	export const TabDoesNotMoveFocus:ContextKeyExpr = TabMovesFocus.toNegated();
+	export const TabDoesNotMoveFocus: ContextKeyExpr = TabMovesFocus.toNegated();
 
 	/**
 	 * A context key that is set to the language associated with the model associated with the editor.
@@ -3145,7 +3145,7 @@ export class BareFontInfo {
 		this.fontFamily = String(opts.fontFamily);
 		this.fontWeight = String(opts.fontWeight);
 		this.fontSize = opts.fontSize;
-		this.lineHeight = opts.lineHeight|0;
+		this.lineHeight = opts.lineHeight | 0;
 	}
 
 	/**
@@ -3159,22 +3159,22 @@ export class BareFontInfo {
 export class FontInfo extends BareFontInfo {
 	_editorStylingBrand: void;
 
-	typicalHalfwidthCharacterWidth:number;
-	typicalFullwidthCharacterWidth:number;
-	spaceWidth:number;
+	typicalHalfwidthCharacterWidth: number;
+	typicalFullwidthCharacterWidth: number;
+	spaceWidth: number;
 	maxDigitWidth: number;
 
 	/**
 	 * @internal
 	 */
-	constructor(opts:{
+	constructor(opts: {
 		fontFamily: string;
 		fontWeight: string;
 		fontSize: number;
 		lineHeight: number;
-		typicalHalfwidthCharacterWidth:number;
-		typicalFullwidthCharacterWidth:number;
-		spaceWidth:number;
+		typicalHalfwidthCharacterWidth: number;
+		typicalFullwidthCharacterWidth: number;
+		spaceWidth: number;
 		maxDigitWidth: number;
 	}) {
 		super(opts);
@@ -3187,7 +3187,7 @@ export class FontInfo extends BareFontInfo {
 	/**
 	 * @internal
 	 */
-	public equals(other:FontInfo): boolean {
+	public equals(other: FontInfo): boolean {
 		return (
 			this.fontFamily === other.fontFamily
 			&& this.fontWeight === other.fontWeight
@@ -3214,9 +3214,9 @@ export class FontInfo extends BareFontInfo {
 export interface IConfiguration {
 	onDidChange: Event<IConfigurationChangedEvent>;
 
-	editor:InternalEditorOptions;
+	editor: InternalEditorOptions;
 
-	setMaxLineNumber(maxLineNumber:number): void;
+	setMaxLineNumber(maxLineNumber: number): void;
 }
 
 // --- view
@@ -3398,10 +3398,10 @@ export interface IViewScrollRequestEvent {
  * @internal
  */
 export interface IViewWhitespaceViewportData {
-	id:number;
-	afterLineNumber:number;
-	verticalOffset:number;
-	height:number;
+	id: number;
+	afterLineNumber: number;
+	verticalOffset: number;
+	height: number;
 }
 
 /**
@@ -3415,11 +3415,11 @@ export class Viewport {
 	width: number;
 	height: number;
 
-	constructor(top:number, left:number, width:number, height:number) {
-		this.top = top|0;
-		this.left = left|0;
-		this.width = width|0;
-		this.height = height|0;
+	constructor(top: number, left: number, width: number, height: number) {
+		this.top = top | 0;
+		this.left = left | 0;
+		this.width = width | 0;
+		this.height = height | 0;
 	}
 }
 
@@ -3461,7 +3461,7 @@ export interface IActionDescriptor {
 	 * Method that will be executed when the action is triggered.
 	 * @param editor The editor instance is passed in as a convinience
 	 */
-	run:(editor:ICommonCodeEditor)=>TPromise<void>;
+	run: (editor: ICommonCodeEditor) => TPromise<void>;
 }
 
 /**
@@ -3469,9 +3469,9 @@ export interface IActionDescriptor {
  * @internal
  */
 export interface IEditorActionDescriptorData {
-	id:string;
-	label:string;
-	alias?:string;
+	id: string;
+	label: string;
+	alias?: string;
 }
 
 /**
@@ -3488,7 +3488,7 @@ export interface IEditorAction {
 	id: string;
 	label: string;
 	alias: string;
-	isSupported():boolean;
+	isSupported(): boolean;
 	run(): TPromise<void>;
 }
 
@@ -3501,35 +3501,35 @@ export interface IEditor {
 	 * An event emitted when the content of the current model has changed.
 	 * @internal
 	 */
-	onDidChangeModelRawContent(listener: (e:IModelContentChangedEvent)=>void): IDisposable;
+	onDidChangeModelRawContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the content of the current model has changed.
 	 */
-	onDidChangeModelContent(listener: (e:IModelContentChangedEvent2)=>void): IDisposable;
+	onDidChangeModelContent(listener: (e: IModelContentChangedEvent2) => void): IDisposable;
 	/**
 	 * An event emitted when the language of the current model has changed.
 	 */
-	onDidChangeModelMode(listener: (e:IModelModeChangedEvent)=>void): IDisposable;
+	onDidChangeModelMode(listener: (e: IModelModeChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the options of the current model has changed.
 	 */
-	onDidChangeModelOptions(listener: (e:IModelOptionsChangedEvent)=>void): IDisposable;
+	onDidChangeModelOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
 	 */
-	onDidChangeConfiguration(listener: (e:IConfigurationChangedEvent)=>void): IDisposable;
+	onDidChangeConfiguration(listener: (e: IConfigurationChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the cursor position has changed.
 	 */
-	onDidChangeCursorPosition(listener: (e:ICursorPositionChangedEvent)=>void): IDisposable;
+	onDidChangeCursorPosition(listener: (e: ICursorPositionChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the cursor selection has changed.
 	 */
-	onDidChangeCursorSelection(listener: (e:ICursorSelectionChangedEvent)=>void): IDisposable;
+	onDidChangeCursorSelection(listener: (e: ICursorSelectionChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the editor has been disposed.
 	 */
-	onDidDispose(listener: ()=>void): IDisposable;
+	onDidDispose(listener: () => void): IDisposable;
 
 	/**
 	 * Dispose the editor.
@@ -3574,7 +3574,7 @@ export interface IEditor {
 	 * Instructs the editor to remeasure its container. This method should
 	 * be called when the container of the editor gets resized.
 	 */
-	layout(dimension?:IDimension): void;
+	layout(dimension?: IDimension): void;
 
 	/**
 	 * Brings browser focus to the editor text
@@ -3589,7 +3589,7 @@ export interface IEditor {
 	/**
 	 * Add a new action to this editor.
 	 */
-	addAction(descriptor:IActionDescriptor): void;
+	addAction(descriptor: IActionDescriptor): void;
 
 	/**
 	 * Returns all actions associated with this editor.
@@ -3614,7 +3614,7 @@ export interface IEditor {
 	/**
 	 * Given a position, returns a column number that takes tab-widths into account.
 	 */
-	getVisibleColumnFromPosition(position:IPosition): number;
+	getVisibleColumnFromPosition(position: IPosition): number;
 
 	/**
 	 * Returns the primary position of the cursor.
@@ -3625,7 +3625,7 @@ export interface IEditor {
 	 * Set the primary position of the cursor. This will remove any secondary cursors.
 	 * @param position New primary cursor's position
 	 */
-	setPosition(position:IPosition): void;
+	setPosition(position: IPosition): void;
 
 	/**
 	 * Scroll vertically as necessary and reveal a line.
@@ -3671,28 +3671,28 @@ export interface IEditor {
 	 * Set the primary selection of the editor. This will remove any secondary cursors.
 	 * @param selection The new selection
 	 */
-	setSelection(selection:IRange): void;
+	setSelection(selection: IRange): void;
 	/**
 	 * Set the primary selection of the editor. This will remove any secondary cursors.
 	 * @param selection The new selection
 	 */
-	setSelection(selection:Range): void;
+	setSelection(selection: Range): void;
 	/**
 	 * Set the primary selection of the editor. This will remove any secondary cursors.
 	 * @param selection The new selection
 	 */
-	setSelection(selection:ISelection): void;
+	setSelection(selection: ISelection): void;
 	/**
 	 * Set the primary selection of the editor. This will remove any secondary cursors.
 	 * @param selection The new selection
 	 */
-	setSelection(selection:Selection): void;
+	setSelection(selection: Selection): void;
 
 	/**
 	 * Set the selections for all the cursors of the editor.
 	 * Cursors will be removed or added, as necessary.
 	 */
-	setSelections(selections:ISelection[]): void;
+	setSelections(selections: ISelection[]): void;
 
 	/**
 	 * Scroll vertically as necessary and reveal lines.
@@ -3731,7 +3731,7 @@ export interface IEditor {
 	 * @param handlerId The id of the handler or the id of a contribution.
 	 * @param payload Extra data to be sent to the handler.
 	 */
-	trigger(source:string, handlerId:string, payload:any): void;
+	trigger(source: string, handlerId: string, payload: any): void;
 
 	/**
 	 * Gets the current model attached to this editor.
@@ -3746,7 +3746,7 @@ export interface IEditor {
 	 * will not be destroyed.
 	 * It is safe to call setModel(null) to simply detach the current model from the editor.
 	 */
-	setModel(model:IEditorModel): void;
+	setModel(model: IEditorModel): void;
 
 	/**
 	 * Change the decorations. All decorations added through this changeAccessor
@@ -3755,14 +3755,14 @@ export interface IEditor {
 	 * @see IModel.changeDecorations
 	 * @internal
 	 */
-	changeDecorations(callback: (changeAccessor:IModelDecorationsChangeAccessor)=>any): any;
+	changeDecorations(callback: (changeAccessor: IModelDecorationsChangeAccessor) => any): any;
 }
 
 /**
  * @internal
  */
 export interface ICodeEditorState {
-	validate(editor:ICommonCodeEditor): boolean;
+	validate(editor: ICommonCodeEditor): boolean;
 }
 
 /**
@@ -3808,7 +3808,7 @@ export interface IThemeDecorationRenderOptions {
 	outlineStyle?: string;
 	outlineWidth?: string;
 
-	border?:string;
+	border?: string;
 	borderColor?: string;
 	borderRadius?: string;
 	borderSpacing?: string;
@@ -3879,7 +3879,7 @@ export interface IDecorationInstanceRenderOptions extends IThemeDecorationInstan
 export interface IDecorationOptions {
 	range: IRange;
 	hoverMessage?: MarkedString | MarkedString[];
-	renderOptions? : IDecorationInstanceRenderOptions;
+	renderOptions?: IDecorationInstanceRenderOptions;
 }
 
 
@@ -3887,27 +3887,27 @@ export interface ICommonCodeEditor extends IEditor {
 	/**
 	 * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
 	 */
-	onDidChangeModel(listener: (e:IModelChangedEvent)=>void): IDisposable;
+	onDidChangeModel(listener: (e: IModelChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the decorations of the current model have changed.
 	 */
-	onDidChangeModelDecorations(listener: (e:IModelDecorationsChangedEvent)=>void): IDisposable;
+	onDidChangeModelDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
 	/**
 	 * An event emitted when the text inside this editor gained focus (i.e. cursor blinking).
 	 */
-	onDidFocusEditorText(listener: ()=>void): IDisposable;
+	onDidFocusEditorText(listener: () => void): IDisposable;
 	/**
 	 * An event emitted when the text inside this editor lost focus.
 	 */
-	onDidBlurEditorText(listener: ()=>void): IDisposable;
+	onDidBlurEditorText(listener: () => void): IDisposable;
 	/**
 	 * An event emitted when the text inside this editor or an editor widget gained focus.
 	 */
-	onDidFocusEditor(listener: ()=>void): IDisposable;
+	onDidFocusEditor(listener: () => void): IDisposable;
 	/**
 	 * An event emitted when the text inside this editor or an editor widget lost focus.
 	 */
-	onDidBlurEditor(listener: ()=>void): IDisposable;
+	onDidBlurEditor(listener: () => void): IDisposable;
 
 	/**
 	 * Returns true if this editor or one of its widgets has keyboard focus.
@@ -3924,13 +3924,13 @@ export interface ICommonCodeEditor extends IEditor {
 	/**
 	 * @internal
 	 */
-	captureState(...flags:CodeEditorStateFlag[]): ICodeEditorState;
+	captureState(...flags: CodeEditorStateFlag[]): ICodeEditorState;
 
 	/**
 	 * Execute `fn` with the editor's services.
 	 * @internal
 	 */
-	invokeWithinContext<T>(fn:(accessor:ServicesAccessor)=>T): T;
+	invokeWithinContext<T>(fn: (accessor: ServicesAccessor) => T): T;
 
 	/**
 	 * Type the getModel() of IEditor.
@@ -4043,7 +4043,7 @@ export interface ICommonCodeEditor extends IEditor {
 	/**
 	 * @internal
 	 */
-	removeDecorations(decorationTypeKey:string): void;
+	removeDecorations(decorationTypeKey: string): void;
 
 	/**
 	 * Get the layout info for the editor.
@@ -4065,7 +4065,7 @@ export interface ICommonDiffEditor extends IEditor {
 	/**
 	 * An event emitted when the diff information computed by this diff editor has been updated.
 	 */
-	onDidUpdateDiff(listener: ()=>void): IDisposable;
+	onDidUpdateDiff(listener: () => void): IDisposable;
 
 	/**
 	 * Type the getModel() of IEditor.
@@ -4092,19 +4092,19 @@ export interface ICommonDiffEditor extends IEditor {
 	 * If the diff computation is not finished or the model is missing, will return null.
 	 * @internal
 	 */
-	getDiffLineInformationForOriginal(lineNumber:number): IDiffLineInformation;
+	getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation;
 
 	/**
 	 * Get information based on computed diff about a line number from the modified model.
 	 * If the diff computation is not finished or the model is missing, will return null.
 	 * @internal
 	 */
-	getDiffLineInformationForModified(lineNumber:number): IDiffLineInformation;
+	getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation;
 
 	/**
 	 * @see ICodeEditor.getValue
 	 */
-	getValue(options?:{ preserveBOM:boolean; lineEnding:string; }): string;
+	getValue(options?: { preserveBOM: boolean; lineEnding: string; }): string;
 
 	/**
 	 * Returns whether the diff editor is ignoring trim whitespace or not.
@@ -4257,7 +4257,7 @@ export interface CursorMoveArguments {
 /**
  * @internal
  */
-const isCursorMoveArgs= function(arg): boolean  {
+const isCursorMoveArgs = function (arg): boolean {
 	if (!types.isObject(arg)) {
 		return false;
 	}
@@ -4314,7 +4314,7 @@ export interface EditorScrollArguments {
 /**
  * @internal
  */
-const isEditorScrollArgs= function(arg): boolean  {
+const isEditorScrollArgs = function (arg): boolean {
 	if (!types.isObject(arg)) {
 		return false;
 	}
@@ -4360,7 +4360,7 @@ export const RevealLineAtArgument = {
 /**
  * @internal
  */
-const isRevealLineArgs= function(arg): boolean  {
+const isRevealLineArgs = function (arg): boolean {
 	if (!types.isObject(arg)) {
 		return false;
 	}
@@ -4449,129 +4449,129 @@ export var CommandDescription = {
  * Built-in commands.
  */
 export var Handler = {
-	ExecuteCommand:				'executeCommand',
-	ExecuteCommands:			'executeCommands',
+	ExecuteCommand: 'executeCommand',
+	ExecuteCommands: 'executeCommands',
 
-	CursorLeft:					'cursorLeft',
-	CursorLeftSelect:			'cursorLeftSelect',
+	CursorLeft: 'cursorLeft',
+	CursorLeftSelect: 'cursorLeftSelect',
 
-	CursorWordLeft:				'cursorWordLeft',
-	CursorWordStartLeft:		'cursorWordStartLeft',
-	CursorWordEndLeft:			'cursorWordEndLeft',
+	CursorWordLeft: 'cursorWordLeft',
+	CursorWordStartLeft: 'cursorWordStartLeft',
+	CursorWordEndLeft: 'cursorWordEndLeft',
 
-	CursorWordLeftSelect:		'cursorWordLeftSelect',
-	CursorWordStartLeftSelect:	'cursorWordStartLeftSelect',
-	CursorWordEndLeftSelect:	'cursorWordEndLeftSelect',
+	CursorWordLeftSelect: 'cursorWordLeftSelect',
+	CursorWordStartLeftSelect: 'cursorWordStartLeftSelect',
+	CursorWordEndLeftSelect: 'cursorWordEndLeftSelect',
 
-	CursorRight:				'cursorRight',
-	CursorRightSelect:			'cursorRightSelect',
+	CursorRight: 'cursorRight',
+	CursorRightSelect: 'cursorRightSelect',
 
-	CursorWordRight:			'cursorWordRight',
-	CursorWordStartRight:		'cursorWordStartRight',
-	CursorWordEndRight:			'cursorWordEndRight',
+	CursorWordRight: 'cursorWordRight',
+	CursorWordStartRight: 'cursorWordStartRight',
+	CursorWordEndRight: 'cursorWordEndRight',
 
-	CursorWordRightSelect:		'cursorWordRightSelect',
-	CursorWordStartRightSelect:	'cursorWordStartRightSelect',
-	CursorWordEndRightSelect:	'cursorWordEndRightSelect',
+	CursorWordRightSelect: 'cursorWordRightSelect',
+	CursorWordStartRightSelect: 'cursorWordStartRightSelect',
+	CursorWordEndRightSelect: 'cursorWordEndRightSelect',
 
-	CursorUp:					'cursorUp',
-	CursorUpSelect:				'cursorUpSelect',
-	CursorDown:					'cursorDown',
-	CursorDownSelect:			'cursorDownSelect',
+	CursorUp: 'cursorUp',
+	CursorUpSelect: 'cursorUpSelect',
+	CursorDown: 'cursorDown',
+	CursorDownSelect: 'cursorDownSelect',
 
-	CursorPageUp:				'cursorPageUp',
-	CursorPageUpSelect:			'cursorPageUpSelect',
-	CursorPageDown:				'cursorPageDown',
-	CursorPageDownSelect:		'cursorPageDownSelect',
+	CursorPageUp: 'cursorPageUp',
+	CursorPageUpSelect: 'cursorPageUpSelect',
+	CursorPageDown: 'cursorPageDown',
+	CursorPageDownSelect: 'cursorPageDownSelect',
 
-	CursorHome:					'cursorHome',
-	CursorHomeSelect:			'cursorHomeSelect',
+	CursorHome: 'cursorHome',
+	CursorHomeSelect: 'cursorHomeSelect',
 
-	CursorEnd:					'cursorEnd',
-	CursorEndSelect:			'cursorEndSelect',
+	CursorEnd: 'cursorEnd',
+	CursorEndSelect: 'cursorEndSelect',
 
-	ExpandLineSelection:		'expandLineSelection',
+	ExpandLineSelection: 'expandLineSelection',
 
-	CursorTop:					'cursorTop',
-	CursorTopSelect:			'cursorTopSelect',
-	CursorBottom:				'cursorBottom',
-	CursorBottomSelect:			'cursorBottomSelect',
+	CursorTop: 'cursorTop',
+	CursorTopSelect: 'cursorTopSelect',
+	CursorBottom: 'cursorBottom',
+	CursorBottomSelect: 'cursorBottomSelect',
 
-	CursorColumnSelectLeft:		'cursorColumnSelectLeft',
-	CursorColumnSelectRight:	'cursorColumnSelectRight',
-	CursorColumnSelectUp:		'cursorColumnSelectUp',
-	CursorColumnSelectPageUp:	'cursorColumnSelectPageUp',
-	CursorColumnSelectDown:		'cursorColumnSelectDown',
-	CursorColumnSelectPageDown:	'cursorColumnSelectPageDown',
+	CursorColumnSelectLeft: 'cursorColumnSelectLeft',
+	CursorColumnSelectRight: 'cursorColumnSelectRight',
+	CursorColumnSelectUp: 'cursorColumnSelectUp',
+	CursorColumnSelectPageUp: 'cursorColumnSelectPageUp',
+	CursorColumnSelectDown: 'cursorColumnSelectDown',
+	CursorColumnSelectPageDown: 'cursorColumnSelectPageDown',
 
-	CursorMove:					'cursorMove',
+	CursorMove: 'cursorMove',
 
-	AddCursorDown:				'addCursorDown',
-	AddCursorUp:				'addCursorUp',
-	CursorUndo:					'cursorUndo',
-	MoveTo:						'moveTo',
-	MoveToSelect:				'moveToSelect',
-	ColumnSelect:				'columnSelect',
-	CreateCursor:				'createCursor',
-	LastCursorMoveToSelect:		'lastCursorMoveToSelect',
+	AddCursorDown: 'addCursorDown',
+	AddCursorUp: 'addCursorUp',
+	CursorUndo: 'cursorUndo',
+	MoveTo: 'moveTo',
+	MoveToSelect: 'moveToSelect',
+	ColumnSelect: 'columnSelect',
+	CreateCursor: 'createCursor',
+	LastCursorMoveToSelect: 'lastCursorMoveToSelect',
 
-	JumpToBracket:				'jumpToBracket',
+	JumpToBracket: 'jumpToBracket',
 
-	Type:						'type',
-	ReplacePreviousChar:		'replacePreviousChar',
-	CompositionStart:			'compositionStart',
-	CompositionEnd:				'compositionEnd',
-	Paste:						'paste',
+	Type: 'type',
+	ReplacePreviousChar: 'replacePreviousChar',
+	CompositionStart: 'compositionStart',
+	CompositionEnd: 'compositionEnd',
+	Paste: 'paste',
 
-	Tab:						'tab',
-	Indent:						'indent',
-	Outdent:					'outdent',
+	Tab: 'tab',
+	Indent: 'indent',
+	Outdent: 'outdent',
 
-	DeleteLeft:					'deleteLeft',
-	DeleteRight:				'deleteRight',
+	DeleteLeft: 'deleteLeft',
+	DeleteRight: 'deleteRight',
 
-	DeleteWordLeft:				'deleteWordLeft',
-	DeleteWordStartLeft:		'deleteWordStartLeft',
-	DeleteWordEndLeft:			'deleteWordEndLeft',
+	DeleteWordLeft: 'deleteWordLeft',
+	DeleteWordStartLeft: 'deleteWordStartLeft',
+	DeleteWordEndLeft: 'deleteWordEndLeft',
 
-	DeleteWordRight:			'deleteWordRight',
-	DeleteWordStartRight:		'deleteWordStartRight',
-	DeleteWordEndRight:			'deleteWordEndRight',
+	DeleteWordRight: 'deleteWordRight',
+	DeleteWordStartRight: 'deleteWordStartRight',
+	DeleteWordEndRight: 'deleteWordEndRight',
 
-	DeleteAllLeft:				'deleteAllLeft',
-	DeleteAllRight:				'deleteAllRight',
+	DeleteAllLeft: 'deleteAllLeft',
+	DeleteAllRight: 'deleteAllRight',
 
-	RemoveSecondaryCursors: 	'removeSecondaryCursors',
-	CancelSelection:			'cancelSelection',
+	RemoveSecondaryCursors: 'removeSecondaryCursors',
+	CancelSelection: 'cancelSelection',
 
-	Cut:						'cut',
+	Cut: 'cut',
 
-	Undo:						'undo',
-	Redo:						'redo',
+	Undo: 'undo',
+	Redo: 'redo',
 
-	WordSelect:					'wordSelect',
-	WordSelectDrag:				'wordSelectDrag',
-	LastCursorWordSelect: 		'lastCursorWordSelect',
+	WordSelect: 'wordSelect',
+	WordSelectDrag: 'wordSelectDrag',
+	LastCursorWordSelect: 'lastCursorWordSelect',
 
-	LineSelect:					'lineSelect',
-	LineSelectDrag:				'lineSelectDrag',
-	LastCursorLineSelect:		'lastCursorLineSelect',
-	LastCursorLineSelectDrag:	'lastCursorLineSelectDrag',
-	LineInsertBefore:			'lineInsertBefore',
-	LineInsertAfter:			'lineInsertAfter',
-	LineBreakInsert:			'lineBreakInsert',
+	LineSelect: 'lineSelect',
+	LineSelectDrag: 'lineSelectDrag',
+	LastCursorLineSelect: 'lastCursorLineSelect',
+	LastCursorLineSelectDrag: 'lastCursorLineSelectDrag',
+	LineInsertBefore: 'lineInsertBefore',
+	LineInsertAfter: 'lineInsertAfter',
+	LineBreakInsert: 'lineBreakInsert',
 
-	SelectAll:					'selectAll',
+	SelectAll: 'selectAll',
 
-	EditorScroll:				'editorScroll',
+	EditorScroll: 'editorScroll',
 
-	ScrollLineUp:				'scrollLineUp',
-	ScrollLineDown:				'scrollLineDown',
+	ScrollLineUp: 'scrollLineUp',
+	ScrollLineDown: 'scrollLineDown',
 
-	ScrollPageUp:				'scrollPageUp',
-	ScrollPageDown:				'scrollPageDown',
+	ScrollPageUp: 'scrollPageUp',
+	ScrollPageDown: 'scrollPageDown',
 
-	RevealLine:					'revealLine'
+	RevealLine: 'revealLine'
 };
 
 /**
@@ -4625,7 +4625,7 @@ export enum TextEditorCursorBlinkingStyle {
 /**
  * @internal
  */
-export function cursorStyleToString(cursorStyle:TextEditorCursorStyle): string {
+export function cursorStyleToString(cursorStyle: TextEditorCursorStyle): string {
 	if (cursorStyle === TextEditorCursorStyle.Line) {
 		return 'line';
 	} else if (cursorStyle === TextEditorCursorStyle.Block) {
@@ -4648,11 +4648,11 @@ export class ColorZone {
 	colorId: number;
 	position: OverviewRulerLane;
 
-	constructor(from:number, to:number, colorId:number, position: OverviewRulerLane) {
-		this.from = from|0;
-		this.to = to|0;
-		this.colorId = colorId|0;
-		this.position = position|0;
+	constructor(from: number, to: number, colorId: number, position: OverviewRulerLane) {
+		this.from = from | 0;
+		this.to = to | 0;
+		this.colorId = colorId | 0;
+		this.position = position | 0;
 	}
 }
 
@@ -4688,14 +4688,14 @@ export class OverviewRulerZone {
 		this._colorZones = null;
 	}
 
-	public getColor(useDarkColor:boolean): string {
+	public getColor(useDarkColor: boolean): string {
 		if (useDarkColor) {
 			return this._darkColor;
 		}
 		return this._color;
 	}
 
-	public equals(other:OverviewRulerZone): boolean {
+	public equals(other: OverviewRulerZone): boolean {
 		return (
 			this.startLineNumber === other.startLineNumber
 			&& this.endLineNumber === other.endLineNumber
@@ -4706,7 +4706,7 @@ export class OverviewRulerZone {
 		);
 	}
 
-	public compareTo(other:OverviewRulerZone): number {
+	public compareTo(other: OverviewRulerZone): number {
 		if (this.startLineNumber === other.startLineNumber) {
 			if (this.endLineNumber === other.endLineNumber) {
 				if (this.forceHeight === other.forceHeight) {
@@ -4728,7 +4728,7 @@ export class OverviewRulerZone {
 		return this.startLineNumber - other.startLineNumber;
 	}
 
-	public setColorZones(colorZones:ColorZone[]): void {
+	public setColorZones(colorZones: ColorZone[]): void {
 		this._colorZones = colorZones;
 	}
 
diff --git a/src/vs/editor/common/editorCommonExtensions.ts b/src/vs/editor/common/editorCommonExtensions.ts
index 8a5b6a086883f..9967cc7266f79 100644
--- a/src/vs/editor/common/editorCommonExtensions.ts
+++ b/src/vs/editor/common/editorCommonExtensions.ts
@@ -4,19 +4,19 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {illegalArgument} from 'vs/base/common/errors';
+import { illegalArgument } from 'vs/base/common/errors';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {Registry} from 'vs/platform/platform';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {ICommandOptions, Command as ConfigBasicCommand, EditorCommand as ConfigEditorCommand} from 'vs/editor/common/config/config';
-import {Position} from 'vs/editor/common/core/position';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { Registry } from 'vs/platform/platform';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { ICommandOptions, Command as ConfigBasicCommand, EditorCommand as ConfigEditorCommand } from 'vs/editor/common/config/config';
+import { Position } from 'vs/editor/common/core/position';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {MenuId, MenuRegistry, IMenuItem} from 'vs/platform/actions/common/actions';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { MenuId, MenuRegistry, IMenuItem } from 'vs/platform/actions/common/actions';
 
 export type ServicesAccessor = ServicesAccessor;
 export const Command = ConfigBasicCommand;
@@ -38,7 +38,7 @@ export abstract class EditorAction extends ConfigEditorCommand {
 	public alias: string;
 	private menuOpts: IEditorCommandMenuOptions;
 
-	constructor(opts:IActionOptions) {
+	constructor(opts: IActionOptions) {
 		super(opts);
 		this.label = opts.label;
 		this.alias = opts.alias;
@@ -61,16 +61,16 @@ export abstract class EditorAction extends ConfigEditorCommand {
 		};
 	}
 
-	public runEditorCommand(accessor:ServicesAccessor, editor: editorCommon.ICommonCodeEditor, args: any): void | TPromise<void> {
+	public runEditorCommand(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor, args: any): void | TPromise<void> {
 		this.reportTelemetry(accessor);
 		return this.run(accessor, editor);
 	}
 
-	protected reportTelemetry(accessor:ServicesAccessor){
+	protected reportTelemetry(accessor: ServicesAccessor) {
 		accessor.get(ITelemetryService).publicLog('editorActionInvoked', { name: this.label, id: this.id });
 	}
 
-	public abstract run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void | TPromise<void>;
+	public abstract run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void | TPromise<void>;
 }
 
 export interface IHandlerActionOptions extends IActionOptions {
@@ -84,18 +84,18 @@ export abstract class HandlerEditorAction extends EditorAction {
 		this._handlerId = opts.handlerId;
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void {
 		editor.trigger(this.id, this._handlerId, null);
 	}
 }
 
 // --- Editor Actions
 
-export function editorAction(ctor:{ new(): EditorAction; }): void {
+export function editorAction(ctor: { new (): EditorAction; }): void {
 	CommonEditorRegistry.registerEditorAction(new ctor());
 }
 
-export function commonEditorContribution(ctor:editorCommon.ICommonEditorContributionCtor): void {
+export function commonEditorContribution(ctor: editorCommon.ICommonEditorContributionCtor): void {
 	EditorContributionRegistry.INSTANCE.registerEditorContribution(ctor);
 }
 
@@ -103,7 +103,7 @@ export module CommonEditorRegistry {
 
 	// --- Editor Actions
 
-	export function registerEditorAction(desc:EditorAction) {
+	export function registerEditorAction(desc: EditorAction) {
 		EditorContributionRegistry.INSTANCE.registerEditorAction(desc);
 	}
 	export function getEditorActions(): EditorAction[] {
@@ -131,7 +131,7 @@ export module CommonEditorRegistry {
 	}
 
 	export function registerDefaultLanguageCommand(id: string, handler: (model: editorCommon.IModel, position: Position, args: { [n: string]: any }) => any) {
-		registerLanguageCommand(id, function(accessor, args) {
+		registerLanguageCommand(id, function (accessor, args) {
 
 			const {resource, position} = args;
 			if (!(resource instanceof URI) || !Position.isIPosition(position)) {
@@ -167,11 +167,11 @@ class EditorContributionRegistry {
 		this.editorActions = [];
 	}
 
-	public registerEditorContribution(ctor:editorCommon.ICommonEditorContributionCtor): void {
+	public registerEditorContribution(ctor: editorCommon.ICommonEditorContributionCtor): void {
 		this.editorContributions.push(ctor);
 	}
 
-	public registerEditorAction(action:EditorAction) {
+	public registerEditorAction(action: EditorAction) {
 
 		let menuItem = action.toMenuItem();
 		if (menuItem) {
diff --git a/src/vs/editor/common/model/editStack.ts b/src/vs/editor/common/model/editStack.ts
index 760545d95215c..87b4be6e0611c 100644
--- a/src/vs/editor/common/model/editStack.ts
+++ b/src/vs/editor/common/model/editStack.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {ICursorStateComputer, IEditableTextModel, IIdentifiedSingleEditOperation} from 'vs/editor/common/editorCommon';
-import {Selection} from 'vs/editor/common/core/selection';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { ICursorStateComputer, IEditableTextModel, IIdentifiedSingleEditOperation } from 'vs/editor/common/editorCommon';
+import { Selection } from 'vs/editor/common/core/selection';
 
 interface IEditOperation {
 	operations: IIdentifiedSingleEditOperation[];
@@ -29,12 +29,12 @@ export interface IUndoRedoResult {
 
 export class EditStack {
 
-	private model:IEditableTextModel;
-	private currentOpenStackElement:IStackElement;
-	private past:IStackElement[];
-	private future:IStackElement[];
+	private model: IEditableTextModel;
+	private currentOpenStackElement: IStackElement;
+	private past: IStackElement[];
+	private future: IStackElement[];
 
-	constructor(model:IEditableTextModel) {
+	constructor(model: IEditableTextModel) {
 		this.model = model;
 		this.currentOpenStackElement = null;
 		this.past = [];
@@ -54,7 +54,7 @@ export class EditStack {
 		this.future = [];
 	}
 
-	public pushEditOperation(beforeCursorState: Selection[], editOperations:IIdentifiedSingleEditOperation[], cursorStateComputer:ICursorStateComputer): Selection[] {
+	public pushEditOperation(beforeCursorState: Selection[], editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] {
 		// No support for parallel universes :(
 		this.future = [];
 
@@ -68,7 +68,7 @@ export class EditStack {
 			};
 		}
 
-		var inverseEditOperation:IEditOperation = {
+		var inverseEditOperation: IEditOperation = {
 			operations: this.model.applyEdits(editOperations)
 		};
 
@@ -97,7 +97,7 @@ export class EditStack {
 						operations: this.model.applyEdits(pastStackElement.editOperations[i].operations)
 					};
 				}
-			} catch(e) {
+			} catch (e) {
 				this.clear();
 				return null;
 			}
@@ -129,7 +129,7 @@ export class EditStack {
 						operations: this.model.applyEdits(futureStackElement.editOperations[i].operations)
 					};
 				}
-			} catch(e) {
+			} catch (e) {
 				this.clear();
 				return null;
 			}
diff --git a/src/vs/editor/common/model/editableTextModel.ts b/src/vs/editor/common/model/editableTextModel.ts
index 1885e0eea5276..7f51e34d80dbf 100644
--- a/src/vs/editor/common/model/editableTextModel.ts
+++ b/src/vs/editor/common/model/editableTextModel.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Range} from 'vs/editor/common/core/range';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {EditStack} from 'vs/editor/common/model/editStack';
-import {ILineEdit, ILineMarker, ModelLine} from 'vs/editor/common/model/modelLine';
-import {DeferredEventsBuilder, TextModelWithDecorations} from 'vs/editor/common/model/textModelWithDecorations';
+import { EditStack } from 'vs/editor/common/model/editStack';
+import { ILineEdit, ILineMarker, ModelLine } from 'vs/editor/common/model/modelLine';
+import { DeferredEventsBuilder, TextModelWithDecorations } from 'vs/editor/common/model/textModelWithDecorations';
 import * as strings from 'vs/base/common/strings';
-import {Selection} from 'vs/editor/common/core/selection';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { Selection } from 'vs/editor/common/core/selection';
+import { IDisposable } from 'vs/base/common/lifecycle';
 
 export interface IValidatedEditOperation {
 	sortIndex: number;
@@ -23,32 +23,32 @@ export interface IValidatedEditOperation {
 	isAutoWhitespaceEdit: boolean;
 }
 
-interface IIdentifiedLineEdit extends ILineEdit{
+interface IIdentifiedLineEdit extends ILineEdit {
 	lineNumber: number;
 }
 
 export class EditableTextModel extends TextModelWithDecorations implements editorCommon.IEditableTextModel {
 
-	public onDidChangeRawContent(listener: (e:editorCommon.IModelContentChangedEvent)=>void): IDisposable {
+	public onDidChangeRawContent(listener: (e: editorCommon.IModelContentChangedEvent) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelRawContentChanged, listener);
 	}
-	public onDidChangeContent(listener: (e:editorCommon.IModelContentChangedEvent2)=>void): IDisposable {
+	public onDidChangeContent(listener: (e: editorCommon.IModelContentChangedEvent2) => void): IDisposable {
 		return this.addListener2(editorCommon.EventType.ModelContentChanged2, listener);
 	}
 
-	private _commandManager:EditStack;
+	private _commandManager: EditStack;
 
 	// for extra details about change events:
-	private _isUndoing:boolean;
-	private _isRedoing:boolean;
+	private _isUndoing: boolean;
+	private _isRedoing: boolean;
 
 	// editable range
-	private _hasEditableRange:boolean;
-	private _editableRangeId:string;
+	private _hasEditableRange: boolean;
+	private _editableRangeId: string;
 
 	private _trimAutoWhitespaceLines: number[];
 
-	constructor(allowedEventTypes:string[], rawText:editorCommon.IRawText, languageId:string) {
+	constructor(allowedEventTypes: string[], rawText: editorCommon.IRawText, languageId: string) {
 		allowedEventTypes.push(editorCommon.EventType.ModelRawContentChanged);
 		allowedEventTypes.push(editorCommon.EventType.ModelContentChanged2);
 		super(allowedEventTypes, rawText, languageId);
@@ -68,7 +68,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		super.dispose();
 	}
 
-	protected _resetValue(e:editorCommon.IModelContentChangedFlushEvent, newValue:editorCommon.IRawText): void {
+	protected _resetValue(e: editorCommon.IModelContentChangedFlushEvent, newValue: editorCommon.IRawText): void {
 		super._resetValue(e, newValue);
 
 		// Destroy my edit history and settings
@@ -82,7 +82,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		this._commandManager.pushStackElement();
 	}
 
-	public pushEditOperations(beforeCursorState:Selection[], editOperations:editorCommon.IIdentifiedSingleEditOperation[], cursorStateComputer:editorCommon.ICursorStateComputer): Selection[] {
+	public pushEditOperations(beforeCursorState: Selection[], editOperations: editorCommon.IIdentifiedSingleEditOperation[], cursorStateComputer: editorCommon.ICursorStateComputer): Selection[] {
 		return this.deferredEmit(() => {
 			if (this._options.trimAutoWhitespace && this._trimAutoWhitespaceLines) {
 				// Go through each saved line number and insert a trim whitespace edit
@@ -170,7 +170,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 	 * Transform operations such that they represent the same logic edit,
 	 * but that they also do not cause OOM crashes.
 	 */
-	private _reduceOperations(operations:IValidatedEditOperation[]): IValidatedEditOperation[] {
+	private _reduceOperations(operations: IValidatedEditOperation[]): IValidatedEditOperation[] {
 		if (operations.length < 1000) {
 			// We know from empirical testing that a thousand edits work fine regardless of their shape.
 			return operations;
@@ -184,10 +184,10 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		return [this._toSingleEditOperation(operations)];
 	}
 
-	_toSingleEditOperation(operations:IValidatedEditOperation[]): IValidatedEditOperation {
+	_toSingleEditOperation(operations: IValidatedEditOperation[]): IValidatedEditOperation {
 		let forceMoveMarkers = false,
 			firstEditRange = operations[0].range,
-			lastEditRange = operations[operations.length-1].range,
+			lastEditRange = operations[operations.length - 1].range,
 			entireEditRange = new Range(firstEditRange.startLineNumber, firstEditRange.startColumn, lastEditRange.endLineNumber, lastEditRange.endColumn),
 			lastEndLineNumber = firstEditRange.startLineNumber,
 			lastEndColumn = firstEditRange.startColumn,
@@ -241,7 +241,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		};
 	}
 
-	private static _sortOpsAscending(a:IValidatedEditOperation, b:IValidatedEditOperation): number {
+	private static _sortOpsAscending(a: IValidatedEditOperation, b: IValidatedEditOperation): number {
 		let r = Range.compareRangesUsingEnds(a.range, b.range);
 		if (r === 0) {
 			return a.sortIndex - b.sortIndex;
@@ -249,7 +249,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		return r;
 	}
 
-	private static _sortOpsDescending(a:IValidatedEditOperation, b:IValidatedEditOperation): number {
+	private static _sortOpsDescending(a: IValidatedEditOperation, b: IValidatedEditOperation): number {
 		let r = Range.compareRangesUsingEnds(a.range, b.range);
 		if (r === 0) {
 			return b.sortIndex - a.sortIndex;
@@ -257,12 +257,12 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		return -r;
 	}
 
-	public applyEdits(rawOperations:editorCommon.IIdentifiedSingleEditOperation[]): editorCommon.IIdentifiedSingleEditOperation[] {
+	public applyEdits(rawOperations: editorCommon.IIdentifiedSingleEditOperation[]): editorCommon.IIdentifiedSingleEditOperation[] {
 		if (rawOperations.length === 0) {
 			return [];
 		}
 
-		let operations:IValidatedEditOperation[] = [];
+		let operations: IValidatedEditOperation[] = [];
 		for (let i = 0; i < rawOperations.length; i++) {
 			let op = rawOperations[i];
 			let validatedRange = this.validateRange(op.range);
@@ -306,7 +306,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		let reverseRanges = EditableTextModel._getInverseEditRanges(operations);
 		let reverseOperations: editorCommon.IIdentifiedSingleEditOperation[] = [];
 
-		let newTrimAutoWhitespaceCandidates: { lineNumber:number,oldContent:string }[] = [];
+		let newTrimAutoWhitespaceCandidates: { lineNumber: number, oldContent: string }[] = [];
 
 		for (let i = 0; i < operations.length; i++) {
 			let op = operations[i];
@@ -329,7 +329,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 							continue;
 						}
 					}
-					newTrimAutoWhitespaceCandidates.push({ lineNumber:lineNumber, oldContent:currentLineContent });
+					newTrimAutoWhitespaceCandidates.push({ lineNumber: lineNumber, oldContent: currentLineContent });
 				}
 			}
 		}
@@ -339,7 +339,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		this._trimAutoWhitespaceLines = null;
 		if (this._options.trimAutoWhitespace && newTrimAutoWhitespaceCandidates.length > 0) {
 			// sort line numbers auto whitespace removal candidates for next edit descending
-			newTrimAutoWhitespaceCandidates.sort((a,b) => b.lineNumber - a.lineNumber);
+			newTrimAutoWhitespaceCandidates.sort((a, b) => b.lineNumber - a.lineNumber);
 
 			this._trimAutoWhitespaceLines = [];
 			for (let i = 0, len = newTrimAutoWhitespaceCandidates.length; i < len; i++) {
@@ -366,12 +366,12 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 	/**
 	 * Assumes `operations` are validated and sorted ascending
 	 */
-	public static _getInverseEditRanges(operations:IValidatedEditOperation[]): Range[] {
-		let result:Range[] = [];
+	public static _getInverseEditRanges(operations: IValidatedEditOperation[]): Range[] {
+		let result: Range[] = [];
 
 		let prevOpEndLineNumber: number;
 		let prevOpEndColumn: number;
-		let prevOp:IValidatedEditOperation = null;
+		let prevOp: IValidatedEditOperation = null;
 		for (let i = 0, len = operations.length; i < len; i++) {
 			let op = operations[i];
 
@@ -421,7 +421,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		return result;
 	}
 
-	private _applyEdits(operations:IValidatedEditOperation[]): void {
+	private _applyEdits(operations: IValidatedEditOperation[]): void {
 
 		const tabSize = this._options.tabSize;
 
@@ -429,12 +429,12 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		operations.sort(EditableTextModel._sortOpsDescending);
 
 
-		this._withDeferredEvents((deferredEventsBuilder:DeferredEventsBuilder) => {
+		this._withDeferredEvents((deferredEventsBuilder: DeferredEventsBuilder) => {
 			let contentChangedEvents: editorCommon.IModelContentChangedEvent[] = [];
 			let contentChanged2Events: editorCommon.IModelContentChangedEvent2[] = [];
 			let lineEditsQueue: IIdentifiedLineEdit[] = [];
 
-			let queueLineEdit = (lineEdit:IIdentifiedLineEdit) => {
+			let queueLineEdit = (lineEdit: IIdentifiedLineEdit) => {
 				if (lineEdit.startColumn === lineEdit.endColumn && lineEdit.text.length === 0) {
 					// empty edit => ignore it
 					return;
@@ -587,8 +587,8 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 					this._invalidateLine(spliceLineNumber - 1);
 
 					// Lines in the middle
-					let newLinesContent:string[] = [];
-					let newLinesLengths:number[] = [];
+					let newLinesContent: string[] = [];
+					let newLinesLengths: number[] = [];
 					for (let j = editingLinesCnt + 1; j <= insertingLinesCnt; j++) {
 						let newLineNumber = startLineNumber + j;
 						this._lines.splice(newLineNumber - 1, 0, new ModelLine(newLineNumber, op.lines[j], tabSize));
@@ -647,10 +647,10 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 				let finalVersionId = this.getVersionId() + versionBumps;
 				this._setVersionId(finalVersionId);
 
-				for (let i = contentChangedEvents.length - 1, versionId = finalVersionId; i >= 0; i--, versionId--) {
+				for (let i = contentChangedEvents.length - 1, versionId = finalVersionId; i >= 0; i-- , versionId--) {
 					contentChangedEvents[i].versionId = versionId;
 				}
-				for (let i = contentChanged2Events.length - 1, versionId = finalVersionId; i >= 0; i--, versionId--) {
+				for (let i = contentChanged2Events.length - 1, versionId = finalVersionId; i >= 0; i-- , versionId--) {
 					contentChanged2Events[i].versionId = versionId;
 				}
 
@@ -726,7 +726,7 @@ export class EditableTextModel extends TextModelWithDecorations implements edito
 		});
 	}
 
-	public setEditableRange(range:editorCommon.IRange): void {
+	public setEditableRange(range: editorCommon.IRange): void {
 		this._commandManager.clear();
 		if (this._hasEditableRange) {
 			this.removeTrackedRange(this._editableRangeId);
diff --git a/src/vs/editor/common/model/indentRanges.ts b/src/vs/editor/common/model/indentRanges.ts
index 5e3e75a1fa93c..f220df0cfbab5 100644
--- a/src/vs/editor/common/model/indentRanges.ts
+++ b/src/vs/editor/common/model/indentRanges.ts
@@ -5,22 +5,22 @@
 
 'use strict';
 
-import {ITextModel} from 'vs/editor/common/editorCommon';
+import { ITextModel } from 'vs/editor/common/editorCommon';
 
 export class IndentRange {
 	_indentRangeBrand: void;
-	startLineNumber:number;
-	endLineNumber:number;
-	indent:number;
+	startLineNumber: number;
+	endLineNumber: number;
+	indent: number;
 
-	constructor(startLineNumber:number, endLineNumber:number, indent:number) {
+	constructor(startLineNumber: number, endLineNumber: number, indent: number) {
 		this.startLineNumber = startLineNumber;
 		this.endLineNumber = endLineNumber;
 		this.indent = indent;
 	}
 
-	public static deepCloneArr(indentRanges:IndentRange[]): IndentRange[] {
-		let result:IndentRange[] = [];
+	public static deepCloneArr(indentRanges: IndentRange[]): IndentRange[] {
+		let result: IndentRange[] = [];
 		for (let i = 0, len = indentRanges.length; i < len; i++) {
 			let r = indentRanges[i];
 			result[i] = new IndentRange(r.startLineNumber, r.endLineNumber, r.indent);
diff --git a/src/vs/editor/common/model/indentationGuesser.ts b/src/vs/editor/common/model/indentationGuesser.ts
index 368454d94fe1f..f35506555c66f 100644
--- a/src/vs/editor/common/model/indentationGuesser.ts
+++ b/src/vs/editor/common/model/indentationGuesser.ts
@@ -4,19 +4,19 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {CharCode} from 'vs/base/common/charCode';
+import { CharCode } from 'vs/base/common/charCode';
 
 /**
  * Compute the diff in spaces between two line's indentation.
  */
-function spacesDiff(a:string, aLength:number, b:string, bLength:number): number {
+function spacesDiff(a: string, aLength: number, b: string, bLength: number): number {
 
 	// This can go both ways (e.g.):
 	//  - a: "\t"
 	//  - b: "\t    "
 	//  => This should count 1 tab and 4 spaces
 
-	let i:number;
+	let i: number;
 
 	for (i = 0; i < aLength && i < bLength; i++) {
 		let aCharCode = a.charCodeAt(i);
@@ -80,7 +80,7 @@ export interface IGuessedIndentation {
 	insertSpaces: boolean;
 }
 
-export function guessIndentation(lines:string[], defaultTabSize:number, defaultInsertSpaces:boolean): IGuessedIndentation {
+export function guessIndentation(lines: string[], defaultTabSize: number, defaultInsertSpaces: boolean): IGuessedIndentation {
 	let linesIndentedWithTabsCount = 0;				// number of lines that contain at least one tab in indentation
 	let linesIndentedWithSpacesCount = 0;			// number of lines that contain only spaces in indentation
 
@@ -90,7 +90,7 @@ export function guessIndentation(lines:string[], defaultTabSize:number, defaultI
 	const ALLOWED_TAB_SIZE_GUESSES = [2, 4, 6, 8];	// limit guesses for `tabSize` to 2, 4, 6 or 8.
 	const MAX_ALLOWED_TAB_SIZE_GUESS = 8;			// max(2,4,6,8) = 8
 
-	let spacesDiffCount = [0,0,0,0,0,0,0,0,0];		// `tabSize` scores
+	let spacesDiffCount = [0, 0, 0, 0, 0, 0, 0, 0, 0];		// `tabSize` scores
 
 	for (let i = 0, len = lines.length; i < len; i++) {
 		let currentLineText = lines[i];
diff --git a/src/vs/editor/common/model/mirrorModel2.ts b/src/vs/editor/common/model/mirrorModel2.ts
index 26172089f54ca..3fe8aca6d6f0e 100644
--- a/src/vs/editor/common/model/mirrorModel2.ts
+++ b/src/vs/editor/common/model/mirrorModel2.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {IModelContentChangedEvent2, IPosition, IRange} from 'vs/editor/common/editorCommon';
-import {PrefixSumComputer} from 'vs/editor/common/viewModel/prefixSumComputer';
+import { IModelContentChangedEvent2, IPosition, IRange } from 'vs/editor/common/editorCommon';
+import { PrefixSumComputer } from 'vs/editor/common/viewModel/prefixSumComputer';
 
 export class MirrorModel2 {
 
@@ -67,7 +67,7 @@ export class MirrorModel2 {
 
 	protected _ensureLineStarts(): void {
 		if (!this._lineStarts) {
-			const lineStartValues:number[] = [];
+			const lineStartValues: number[] = [];
 			const eolLength = this._eol.length;
 			for (let i = 0, len = this._lines.length; i < len; i++) {
 				lineStartValues.push(this._lines[i].length + eolLength);
@@ -79,7 +79,7 @@ export class MirrorModel2 {
 	/**
 	 * All changes to a line's text go through this method
 	 */
-	private _setLineText(lineIndex:number, newValue:string): void {
+	private _setLineText(lineIndex: number, newValue: string): void {
 		this._lines[lineIndex] = newValue;
 		if (this._lineStarts) {
 			// update prefix sum
@@ -116,7 +116,7 @@ export class MirrorModel2 {
 		}
 	}
 
-	private _acceptInsertText(position: IPosition, insertText:string): void {
+	private _acceptInsertText(position: IPosition, insertText: string): void {
 		if (insertText.length === 0) {
 			// Nothing to insert
 			return;
@@ -142,7 +142,7 @@ export class MirrorModel2 {
 		);
 
 		// Insert new lines & store lengths
-		let newLengths:number[] = new Array<number>(insertLines.length - 1);
+		let newLengths: number[] = new Array<number>(insertLines.length - 1);
 		for (let i = 1; i < insertLines.length; i++) {
 			this._lines.splice(position.lineNumber + i - 1, 0, insertLines[i]);
 			newLengths[i - 1] = insertLines[i].length + this._eol.length;
diff --git a/src/vs/editor/common/model/model.ts b/src/vs/editor/common/model/model.ts
index a38b3886b82c0..43582ccc5c79b 100644
--- a/src/vs/editor/common/model/model.ts
+++ b/src/vs/editor/common/model/model.ts
@@ -9,17 +9,17 @@ import {
 	EventType, IModel, ITextModelCreationOptions, IModelDecorationsChangedEvent,
 	IModelOptionsChangedEvent, IModelModeChangedEvent, IRawText
 } from 'vs/editor/common/editorCommon';
-import {EditableTextModel} from 'vs/editor/common/model/editableTextModel';
-import {TextModel} from 'vs/editor/common/model/textModel';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {BulkListenerCallback} from 'vs/base/common/eventEmitter';
+import { EditableTextModel } from 'vs/editor/common/model/editableTextModel';
+import { TextModel } from 'vs/editor/common/model/textModel';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { BulkListenerCallback } from 'vs/base/common/eventEmitter';
 
 // The hierarchy is:
 // Model -> EditableTextModel -> TextModelWithDecorations -> TextModelWithTrackedRanges -> TextModelWithMarkers -> TextModelWithTokens -> TextModel
 
 var MODEL_ID = 0;
 
-var aliveModels:{[modelId:string]:boolean;} = {};
+var aliveModels: { [modelId: string]: boolean; } = {};
 
 // var LAST_CNT = 0;
 // setInterval(() => {
@@ -34,32 +34,32 @@ var aliveModels:{[modelId:string]:boolean;} = {};
 
 export class Model extends EditableTextModel implements IModel {
 
-	public onDidChangeDecorations(listener: (e:IModelDecorationsChangedEvent)=>void): IDisposable {
+	public onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable {
 		return this.addListener2(EventType.ModelDecorationsChanged, listener);
 	}
-	public onDidChangeOptions(listener: (e:IModelOptionsChangedEvent)=>void): IDisposable {
+	public onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable {
 		return this.addListener2(EventType.ModelOptionsChanged, listener);
 	}
-	public onWillDispose(listener: ()=>void): IDisposable {
+	public onWillDispose(listener: () => void): IDisposable {
 		return this.addListener2(EventType.ModelDispose, listener);
 	}
-	public onDidChangeMode(listener: (e:IModelModeChangedEvent)=>void): IDisposable {
+	public onDidChangeMode(listener: (e: IModelModeChangedEvent) => void): IDisposable {
 		return this.addListener2(EventType.ModelModeChanged, listener);
 	}
 
-	public addBulkListener(listener:BulkListenerCallback):IDisposable {
+	public addBulkListener(listener: BulkListenerCallback): IDisposable {
 		return super.addBulkListener(listener);
 	}
 
-	public static createFromString(text:string, options:ITextModelCreationOptions = TextModel.DEFAULT_CREATION_OPTIONS, languageId:string = null, uri:URI = null): Model {
+	public static createFromString(text: string, options: ITextModelCreationOptions = TextModel.DEFAULT_CREATION_OPTIONS, languageId: string = null, uri: URI = null): Model {
 		let rawText = TextModel.toRawText(text, options);
 		return new Model(rawText, languageId, uri);
 	}
 
-	public id:string;
+	public id: string;
 
-	private _associatedResource:URI;
-	private _attachedEditorCount:number;
+	private _associatedResource: URI;
+	private _attachedEditorCount: number;
 
 	/**
 	 * Instantiates a new model
@@ -74,8 +74,8 @@ export class Model extends EditableTextModel implements IModel {
 	 *   The resource associated with this model. If the value is not provided an
 	 *   unique in memory URL is constructed as the associated resource.
 	 */
-	constructor(rawText:IRawText, languageId:string, associatedResource:URI=null) {
-		super([ EventType.ModelDispose ], rawText, languageId);
+	constructor(rawText: IRawText, languageId: string, associatedResource: URI = null) {
+		super([EventType.ModelDispose], rawText, languageId);
 
 		// Generate a new unique model id
 		MODEL_ID++;
diff --git a/src/vs/editor/common/model/modelLine.ts b/src/vs/editor/common/model/modelLine.ts
index edf773d8cb788..2b1ce5aef7e6c 100644
--- a/src/vs/editor/common/model/modelLine.ts
+++ b/src/vs/editor/common/model/modelLine.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IReadOnlyLineMarker} from 'vs/editor/common/editorCommon';
-import {IState} from 'vs/editor/common/modes';
-import {TokensBinaryEncoding, DEFLATED_TOKENS_EMPTY_TEXT, DEFLATED_TOKENS_NON_EMPTY_TEXT, TokensBinaryEncodingValues, TokensInflatorMap} from 'vs/editor/common/model/tokensBinaryEncoding';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {Token} from 'vs/editor/common/core/token';
-import {CharCode} from 'vs/base/common/charCode';
-import {LineTokens} from 'vs/editor/common/core/lineTokens';
+import { IReadOnlyLineMarker } from 'vs/editor/common/editorCommon';
+import { IState } from 'vs/editor/common/modes';
+import { TokensBinaryEncoding, DEFLATED_TOKENS_EMPTY_TEXT, DEFLATED_TOKENS_NON_EMPTY_TEXT, TokensBinaryEncodingValues, TokensInflatorMap } from 'vs/editor/common/model/tokensBinaryEncoding';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { Token } from 'vs/editor/common/core/token';
+import { CharCode } from 'vs/base/common/charCode';
+import { LineTokens } from 'vs/editor/common/core/lineTokens';
 
 export interface ILineEdit {
 	startColumn: number;
@@ -20,18 +20,18 @@ export interface ILineEdit {
 }
 
 export interface ILineMarker extends IReadOnlyLineMarker {
-	id:string;
-	column:number;
-	stickToPreviousCharacter:boolean;
+	id: string;
+	column: number;
+	stickToPreviousCharacter: boolean;
 
-	oldLineNumber:number;
-	oldColumn:number;
+	oldLineNumber: number;
+	oldColumn: number;
 
-	line:ModelLine;
+	line: ModelLine;
 }
 
 export interface IChangedMarkers {
-	[markerId:string]: boolean;
+	[markerId: string]: boolean;
 }
 
 export interface ITextWithMarkers {
@@ -40,24 +40,24 @@ export interface ITextWithMarkers {
 }
 
 interface ITokensAdjuster {
-	adjust(toColumn:number, delta:number, minimumAllowedColumn:number): void;
-	finish(delta:number, lineTextLength:number): void;
+	adjust(toColumn: number, delta: number, minimumAllowedColumn: number): void;
+	finish(delta: number, lineTextLength: number): void;
 }
 
 interface IMarkersAdjuster {
-	adjustDelta(toColumn:number, delta:number, minimumAllowedColumn:number, moveSemantics:MarkerMoveSemantics): void;
-	adjustSet(toColumn:number, newColumn:number, moveSemantics:MarkerMoveSemantics): void;
-	finish(delta:number, lineTextLength:number): void;
+	adjustDelta(toColumn: number, delta: number, minimumAllowedColumn: number, moveSemantics: MarkerMoveSemantics): void;
+	adjustSet(toColumn: number, newColumn: number, moveSemantics: MarkerMoveSemantics): void;
+	finish(delta: number, lineTextLength: number): void;
 }
 
 var NO_OP_TOKENS_ADJUSTER: ITokensAdjuster = {
-	adjust: () => {},
-	finish: () => {}
+	adjust: () => { },
+	finish: () => { }
 };
 var NO_OP_MARKERS_ADJUSTER: IMarkersAdjuster = {
-	adjustDelta: () => {},
-	adjustSet: () => {},
-	finish: () => {}
+	adjustDelta: () => { },
+	adjustSet: () => { },
+	finish: () => { }
 };
 
 const enum MarkerMoveSemantics {
@@ -96,23 +96,23 @@ function computePlusOneIndentLevel(line: string, tabSize: number): number {
 }
 
 export class ModelLine {
-	private _lineNumber:number;
-	public get lineNumber():number { return this._lineNumber; }
+	private _lineNumber: number;
+	public get lineNumber(): number { return this._lineNumber; }
 
-	private _text:string;
-	public get text():string { return this._text; }
+	private _text: string;
+	public get text(): string { return this._text; }
 
 	/**
 	 * bits 31 - 1 => indentLevel
 	 * bit 0 => isInvalid
 	 */
-	private _metadata:number;
+	private _metadata: number;
 
 	public get isInvalid(): boolean {
 		return (this._metadata & 0x00000001) ? true : false;
 	}
 
-	public set isInvalid(value:boolean) {
+	public set isInvalid(value: boolean) {
 		this._metadata = (this._metadata & 0xfffffffe) | (value ? 1 : 0);
 	}
 
@@ -125,11 +125,11 @@ export class ModelLine {
 		return ((this._metadata & 0xfffffffe) >> 1) - 1;
 	}
 
-	private _setPlusOneIndentLevel(value:number): void {
+	private _setPlusOneIndentLevel(value: number): void {
 		this._metadata = (this._metadata & 0x00000001) | ((value & 0xefffffff) << 1);
 	}
 
-	public updateTabSize(tabSize:number): void {
+	public updateTabSize(tabSize: number): void {
 		if (tabSize === 0) {
 			// don't care mark
 			this._metadata = this._metadata & 0x00000001;
@@ -138,13 +138,13 @@ export class ModelLine {
 		}
 	}
 
-	private _state:IState;
+	private _state: IState;
 	private _modeTransitions: ModeTransition[];
 	private _lineTokens: number[];
-	private _markers:ILineMarker[];
+	private _markers: ILineMarker[];
 
-	constructor(lineNumber:number, text:string, tabSize:number) {
-		this._lineNumber = lineNumber|0;
+	constructor(lineNumber: number, text: string, tabSize: number) {
+		this._lineNumber = lineNumber | 0;
 		this._metadata = 0;
 		this._setText(text, tabSize);
 		this._state = null;
@@ -173,7 +173,7 @@ export class ModelLine {
 
 	// --- BEGIN MODE TRANSITIONS
 
-	public getModeTransitions(topLevelModeId:string): ModeTransition[] {
+	public getModeTransitions(topLevelModeId: string): ModeTransition[] {
 		if (this._modeTransitions) {
 			return this._modeTransitions;
 		} else {
@@ -185,16 +185,16 @@ export class ModelLine {
 
 	// --- BEGIN TOKENS
 
-	public setTokens(map: TokensInflatorMap, tokens: Token[], modeTransitions:ModeTransition[]): void {
+	public setTokens(map: TokensInflatorMap, tokens: Token[], modeTransitions: ModeTransition[]): void {
 		this._lineTokens = toLineTokensFromInflated(map, tokens, this._text.length);
 		this._modeTransitions = toModeTransitions(map.topLevelModeId, modeTransitions);
 	}
 
-	private _setLineTokensFromDeflated(tokens:number[]): void {
+	private _setLineTokensFromDeflated(tokens: number[]): void {
 		this._lineTokens = toLineTokensFromDeflated(tokens, this._text.length);
 	}
 
-	public getTokens(map:TokensInflatorMap): LineTokens {
+	public getTokens(map: TokensInflatorMap): LineTokens {
 		const textLength = this._text.length;
 
 		let lineTokens = this._lineTokens;
@@ -222,7 +222,7 @@ export class ModelLine {
 		let tokensIndex = 0;
 		let currentTokenStartIndex = 0;
 
-		let adjust = (toColumn:number, delta:number, minimumAllowedColumn:number) => {
+		let adjust = (toColumn: number, delta: number, minimumAllowedColumn: number) => {
 			// console.log('before call: tokensIndex: ' + tokensIndex + ': ' + String(this.getTokens()));
 			// console.log('adjustTokens: ' + toColumn + ' with delta: ' + delta + ' and [' + minimumAllowedColumn + ']');
 			// console.log('currentTokenStartIndex: ' + currentTokenStartIndex);
@@ -262,7 +262,7 @@ export class ModelLine {
 			// console.log('after call: tokensIndex: ' + tokensIndex + ': ' + String(this.getTokens()));
 		};
 
-		let finish = (delta:number, lineTextLength:number) => {
+		let finish = (delta: number, lineTextLength: number) => {
 			adjust(Number.MAX_VALUE, delta, 1);
 		};
 
@@ -272,7 +272,7 @@ export class ModelLine {
 		};
 	}
 
-	private _setText(text:string, tabSize:number): void {
+	private _setText(text: string, tabSize: number): void {
 		this._text = text;
 		if (tabSize === 0) {
 			// don't care mark
@@ -319,7 +319,7 @@ export class ModelLine {
 	// 	return '[' + markers.map(printMarker).join(', ') + ']';
 	// }
 
-	private _createMarkersAdjuster(changedMarkers:IChangedMarkers): IMarkersAdjuster {
+	private _createMarkersAdjuster(changedMarkers: IChangedMarkers): IMarkersAdjuster {
 		if (!this._markers) {
 			return NO_OP_MARKERS_ADJUSTER;
 		}
@@ -336,7 +336,7 @@ export class ModelLine {
 
 		// console.log('------------- INITIAL MARKERS: ' + this._printMarkers());
 
-		let adjustMarkerBeforeColumn = (toColumn:number, moveSemantics:MarkerMoveSemantics) => {
+		let adjustMarkerBeforeColumn = (toColumn: number, moveSemantics: MarkerMoveSemantics) => {
 			if (marker.column < toColumn) {
 				return true;
 			}
@@ -352,7 +352,7 @@ export class ModelLine {
 			return marker.stickToPreviousCharacter;
 		};
 
-		let adjustDelta = (toColumn:number, delta:number, minimumAllowedColumn:number, moveSemantics:MarkerMoveSemantics) => {
+		let adjustDelta = (toColumn: number, delta: number, minimumAllowedColumn: number, moveSemantics: MarkerMoveSemantics) => {
 			// console.log('------------------------------');
 			// console.log('adjustDelta called: toColumn: ' + toColumn + ', delta: ' + delta + ', minimumAllowedColumn: ' + minimumAllowedColumn + ', moveSemantics: ' + MarkerMoveSemantics[moveSemantics]);
 			// console.log('BEFORE::: markersIndex: ' + markersIndex + ' : ' + this._printMarkers());
@@ -377,7 +377,7 @@ export class ModelLine {
 			// console.log('AFTER::: markersIndex: ' + markersIndex + ' : ' + this._printMarkers());
 		};
 
-		let adjustSet = (toColumn:number, newColumn:number, moveSemantics:MarkerMoveSemantics) => {
+		let adjustSet = (toColumn: number, newColumn: number, moveSemantics: MarkerMoveSemantics) => {
 			// console.log('------------------------------');
 			// console.log('adjustSet called: toColumn: ' + toColumn + ', newColumn: ' + newColumn + ', moveSemantics: ' + MarkerMoveSemantics[moveSemantics]);
 			// console.log('BEFORE::: markersIndex: ' + markersIndex + ' : ' + this._printMarkers());
@@ -399,7 +399,7 @@ export class ModelLine {
 			// console.log('AFTER::: markersIndex: ' + markersIndex + ' : ' + this._printMarkers());
 		};
 
-		let finish = (delta:number, lineTextLength:number) => {
+		let finish = (delta: number, lineTextLength: number) => {
 			adjustDelta(Number.MAX_VALUE, delta, 1, MarkerMoveSemantics.MarkerDefined);
 
 			// console.log('------------- FINAL MARKERS: ' + this._printMarkers());
@@ -412,7 +412,7 @@ export class ModelLine {
 		};
 	}
 
-	public applyEdits(changedMarkers: IChangedMarkers, edits:ILineEdit[], tabSize:number): number {
+	public applyEdits(changedMarkers: IChangedMarkers, edits: ILineEdit[], tabSize: number): number {
 		let deltaColumn = 0;
 		let resultText = this._text;
 
@@ -468,7 +468,7 @@ export class ModelLine {
 		return deltaColumn;
 	}
 
-	public split(changedMarkers: IChangedMarkers, splitColumn:number, forceMoveMarkers:boolean, tabSize:number): ModelLine {
+	public split(changedMarkers: IChangedMarkers, splitColumn: number, forceMoveMarkers: boolean, tabSize: number): ModelLine {
 		// console.log('--> split @ ' + splitColumn + '::: ' + this._printMarkers());
 		var myText = this._text.substring(0, splitColumn - 1);
 		var otherText = this._text.substring(splitColumn - 1);
@@ -518,7 +518,7 @@ export class ModelLine {
 		return otherLine;
 	}
 
-	public append(changedMarkers: IChangedMarkers, other:ModelLine, tabSize:number): void {
+	public append(changedMarkers: IChangedMarkers, other: ModelLine, tabSize: number): void {
 		// console.log('--> append: THIS :: ' + this._printMarkers());
 		// console.log('--> append: OTHER :: ' + this._printMarkers());
 		var thisTextLength = this._text.length;
@@ -571,7 +571,7 @@ export class ModelLine {
 		}
 	}
 
-	public addMarker(marker:ILineMarker): void {
+	public addMarker(marker: ILineMarker): void {
 		marker.line = this;
 		if (!this._markers) {
 			this._markers = [marker];
@@ -580,13 +580,13 @@ export class ModelLine {
 		}
 	}
 
-	public addMarkers(markers:ILineMarker[]): void {
+	public addMarkers(markers: ILineMarker[]): void {
 		if (markers.length === 0) {
 			return;
 		}
 
-		var i:number,
-			len:number;
+		var i: number,
+			len: number;
 
 		for (i = 0, len = markers.length; i < len; i++) {
 			markers[i].line = this;
@@ -599,14 +599,14 @@ export class ModelLine {
 		}
 	}
 
-	private static _compareMarkers(a:ILineMarker, b:ILineMarker): number {
+	private static _compareMarkers(a: ILineMarker, b: ILineMarker): number {
 		if (a.column === b.column) {
 			return (a.stickToPreviousCharacter ? 0 : 1) - (b.stickToPreviousCharacter ? 0 : 1);
 		}
 		return a.column - b.column;
 	}
 
-	public removeMarker(marker:ILineMarker): void {
+	public removeMarker(marker: ILineMarker): void {
 		if (!this._markers) {
 			return;
 		}
@@ -620,7 +620,7 @@ export class ModelLine {
 		}
 	}
 
-	public removeMarkers(deleteMarkers: {[markerId:string]:boolean;}): void {
+	public removeMarkers(deleteMarkers: { [markerId: string]: boolean; }): void {
 		if (!this._markers) {
 			return;
 		}
@@ -664,7 +664,7 @@ export class ModelLine {
 		this._lineNumber = newLineNumber;
 	}
 
-	public deleteLine(changedMarkers: IChangedMarkers, setMarkersColumn:number, setMarkersOldLineNumber:number): ILineMarker[] {
+	public deleteLine(changedMarkers: IChangedMarkers, setMarkersColumn: number, setMarkersOldLineNumber: number): ILineMarker[] {
 		// console.log('--> deleteLine: ');
 		if (this._markers) {
 			var markers = this._markers,
@@ -687,7 +687,7 @@ export class ModelLine {
 		return [];
 	}
 
-	private _indexOfMarkerId(markerId:string): number {
+	private _indexOfMarkerId(markerId: string): number {
 		let markers = this._markers;
 		for (let i = 0, len = markers.length; i < len; i++) {
 			if (markers[i].id === markerId) {
@@ -697,7 +697,7 @@ export class ModelLine {
 	}
 }
 
-function toLineTokensFromInflated(map:TokensInflatorMap, tokens:Token[], textLength:number): number[] {
+function toLineTokensFromInflated(map: TokensInflatorMap, tokens: Token[], textLength: number): number[] {
 	if (textLength === 0) {
 		return null;
 	}
@@ -713,7 +713,7 @@ function toLineTokensFromInflated(map:TokensInflatorMap, tokens:Token[], textLen
 	return TokensBinaryEncoding.deflateArr(map, tokens);
 }
 
-function toLineTokensFromDeflated(tokens:number[], textLength:number): number[] {
+function toLineTokensFromDeflated(tokens: number[], textLength: number): number[] {
 	if (textLength === 0) {
 		return null;
 	}
@@ -728,7 +728,7 @@ function toLineTokensFromDeflated(tokens:number[], textLength:number): number[]
 	return tokens;
 }
 
-function toModeTransitions(topLevelModeId:string, modeTransitions:ModeTransition[]): ModeTransition[] {
+function toModeTransitions(topLevelModeId: string, modeTransitions: ModeTransition[]): ModeTransition[] {
 
 	if (!modeTransitions || modeTransitions.length === 0) {
 		return null;
diff --git a/src/vs/editor/common/model/textModel.ts b/src/vs/editor/common/model/textModel.ts
index a3743ef3dbba0..fae5fb652076a 100644
--- a/src/vs/editor/common/model/textModel.ts
+++ b/src/vs/editor/common/model/textModel.ts
@@ -4,17 +4,17 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {OrderGuaranteeEventEmitter} from 'vs/base/common/eventEmitter';
+import { OrderGuaranteeEventEmitter } from 'vs/base/common/eventEmitter';
 import * as strings from 'vs/base/common/strings';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ModelLine} from 'vs/editor/common/model/modelLine';
-import {guessIndentation} from 'vs/editor/common/model/indentationGuesser';
-import {DEFAULT_INDENTATION, DEFAULT_TRIM_AUTO_WHITESPACE} from 'vs/editor/common/config/defaultConfig';
-import {PrefixSumComputer} from 'vs/editor/common/viewModel/prefixSumComputer';
-import {IndentRange, computeRanges} from 'vs/editor/common/model/indentRanges';
-import {CharCode} from 'vs/base/common/charCode';
+import { ModelLine } from 'vs/editor/common/model/modelLine';
+import { guessIndentation } from 'vs/editor/common/model/indentationGuesser';
+import { DEFAULT_INDENTATION, DEFAULT_TRIM_AUTO_WHITESPACE } from 'vs/editor/common/config/defaultConfig';
+import { PrefixSumComputer } from 'vs/editor/common/viewModel/prefixSumComputer';
+import { IndentRange, computeRanges } from 'vs/editor/common/model/indentRanges';
+import { CharCode } from 'vs/base/common/charCode';
 
 const LIMIT_FIND_COUNT = 999;
 export const LONG_LINE_BOUNDARY = 1000;
@@ -31,25 +31,25 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		trimAutoWhitespace: DEFAULT_TRIM_AUTO_WHITESPACE,
 	};
 
-	/*protected*/ _lines:ModelLine[];
-	protected _EOL:string;
-	protected _isDisposed:boolean;
-	protected _isDisposing:boolean;
+	/*protected*/ _lines: ModelLine[];
+	protected _EOL: string;
+	protected _isDisposed: boolean;
+	protected _isDisposing: boolean;
 	protected _options: editorCommon.ITextModelResolvedOptions;
 	protected _lineStarts: PrefixSumComputer;
 	private _indentRanges: IndentRange[];
 
-	private _versionId:number;
+	private _versionId: number;
 	/**
 	 * Unlike, versionId, this can go down (via undo) or go to previous values (via redo)
 	 */
 	private _alternativeVersionId: number;
-	private _BOM:string;
+	private _BOM: string;
 
 	private _shouldSimplifyMode: boolean;
 	private _shouldDenyMode: boolean;
 
-	constructor(allowedEventTypes:string[], rawText:editorCommon.IRawText) {
+	constructor(allowedEventTypes: string[], rawText: editorCommon.IRawText) {
 		allowedEventTypes.push(editorCommon.EventType.ModelRawContentChanged, editorCommon.EventType.ModelOptionsChanged);
 		super(allowedEventTypes);
 
@@ -75,9 +75,9 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return this._options;
 	}
 
-	public updateOptions(newOpts:editorCommon.ITextModelUpdateOptions): void {
+	public updateOptions(newOpts: editorCommon.ITextModelUpdateOptions): void {
 		let somethingChanged = false;
-		let changed:editorCommon.IModelOptionsChangedEvent = {
+		let changed: editorCommon.IModelOptionsChangedEvent = {
 			tabSize: false,
 			insertSpaces: false,
 			trimAutoWhitespace: false
@@ -115,7 +115,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		}
 	}
 
-	public detectIndentation(defaultInsertSpaces:boolean, defaultTabSize:number): void {
+	public detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void {
 		let lines = this._lines.map(line => line.text);
 		let guessedIndentation = guessIndentation(lines, defaultTabSize, defaultInsertSpaces);
 		this.updateOptions({
@@ -124,7 +124,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		});
 	}
 
-	private _normalizeIndentationFromWhitespace(str:string): string {
+	private _normalizeIndentationFromWhitespace(str: string): string {
 		let tabSize = this._options.tabSize;
 		let insertSpaces = this._options.insertSpaces;
 
@@ -153,7 +153,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return result;
 	}
 
-	public normalizeIndentation(str:string): string {
+	public normalizeIndentation(str: string): string {
 		let firstNonWhitespaceIndex = strings.firstNonWhitespaceIndex(str);
 		if (firstNonWhitespaceIndex === -1) {
 			firstNonWhitespaceIndex = str.length;
@@ -186,7 +186,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 
 	private _ensureLineStarts(): void {
 		if (!this._lineStarts) {
-			const lineStartValues:number[] = [];
+			const lineStartValues: number[] = [];
 			const eolLength = this._EOL.length;
 			for (let i = 0, len = this._lines.length; i < len; i++) {
 				lineStartValues.push(this._lines[i].text.length + eolLength);
@@ -218,12 +218,12 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		this._setVersionId(this._versionId + 1);
 	}
 
-	protected _setVersionId(newVersionId:number): void {
+	protected _setVersionId(newVersionId: number): void {
 		this._versionId = newVersionId;
 		this._alternativeVersionId = this._versionId;
 	}
 
-	protected _overwriteAlternativeVersionId(newAlternativeVersionId:number): void {
+	protected _overwriteAlternativeVersionId(newAlternativeVersionId: number): void {
 		this._alternativeVersionId = newAlternativeVersionId;
 	}
 
@@ -252,8 +252,8 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		};
 	}
 
-	protected _emitContentChanged2(startLineNumber:number, startColumn:number, endLineNumber:number, endColumn:number, rangeLength:number, text:string, isUndoing:boolean, isRedoing:boolean): void {
-		var e:editorCommon.IModelContentChangedEvent2 = {
+	protected _emitContentChanged2(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, rangeLength: number, text: string, isUndoing: boolean, isRedoing: boolean): void {
+		var e: editorCommon.IModelContentChangedEvent2 = {
 			range: new Range(startLineNumber, startColumn, endLineNumber, endColumn),
 			rangeLength: rangeLength,
 			text: text,
@@ -267,7 +267,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		}
 	}
 
-	protected _resetValue(e:editorCommon.IModelContentChangedFlushEvent, newValue:editorCommon.IRawText): void {
+	protected _resetValue(e: editorCommon.IModelContentChangedFlushEvent, newValue: editorCommon.IRawText): void {
 		this._constructLines(newValue);
 
 		this._increaseVersionId();
@@ -304,7 +304,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return true;
 	}
 
-	public setValue(value:string): void {
+	public setValue(value: string): void {
 		if (value === null) {
 			// There's nothing to do
 			return;
@@ -320,7 +320,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		this.setValueFromRawText(rawText);
 	}
 
-	public setValueFromRawText(newValue:editorCommon.IRawText): void {
+	public setValueFromRawText(newValue: editorCommon.IRawText): void {
 		if (newValue === null) {
 			// There's nothing to do
 			return;
@@ -336,7 +336,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		this._emitContentChanged2(1, 1, endLineNumber, endColumn, oldModelValueLength, this.getValue(), false, false);
 	}
 
-	public getValue(eol?:editorCommon.EndOfLinePreference, preserveBOM:boolean=false): string {
+	public getValue(eol?: editorCommon.EndOfLinePreference, preserveBOM: boolean = false): string {
 		var fullModelRange = this.getFullModelRange();
 		var fullModelValue = this.getValueInRange(fullModelRange, eol);
 
@@ -358,7 +358,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return fullModelValue;
 	}
 
-	public getEmptiedValueInRange(rawRange:editorCommon.IRange, fillCharacter: string = '', eol:editorCommon.EndOfLinePreference=editorCommon.EndOfLinePreference.TextDefined): string {
+	public getEmptiedValueInRange(rawRange: editorCommon.IRange, fillCharacter: string = '', eol: editorCommon.EndOfLinePreference = editorCommon.EndOfLinePreference.TextDefined): string {
 		var range = this.validateRange(rawRange);
 
 		if (range.isEmpty()) {
@@ -372,7 +372,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		var lineEnding = this._getEndOfLine(eol),
 			startLineIndex = range.startLineNumber - 1,
 			endLineIndex = range.endLineNumber - 1,
-			resultLines:string[] = [];
+			resultLines: string[] = [];
 
 		resultLines.push(this._repeatCharacter(fillCharacter, this._lines[startLineIndex].text.length - range.startColumn + 1));
 		for (var i = startLineIndex + 1; i < endLineIndex; i++) {
@@ -383,7 +383,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return resultLines.join(lineEnding);
 	}
 
-	private _repeatCharacter(fillCharacter:string, count:number): string {
+	private _repeatCharacter(fillCharacter: string, count: number): string {
 		var r = '';
 		for (var i = 0; i < count; i++) {
 			r += fillCharacter;
@@ -391,7 +391,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return r;
 	}
 
-	public getValueInRange(rawRange:editorCommon.IRange, eol:editorCommon.EndOfLinePreference=editorCommon.EndOfLinePreference.TextDefined): string {
+	public getValueInRange(rawRange: editorCommon.IRange, eol: editorCommon.EndOfLinePreference = editorCommon.EndOfLinePreference.TextDefined): string {
 		var range = this.validateRange(rawRange);
 
 		if (range.isEmpty()) {
@@ -405,7 +405,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		var lineEnding = this._getEndOfLine(eol),
 			startLineIndex = range.startLineNumber - 1,
 			endLineIndex = range.endLineNumber - 1,
-			resultLines:string[] = [];
+			resultLines: string[] = [];
 
 		resultLines.push(this._lines[startLineIndex].text.substring(range.startColumn - 1));
 		for (var i = startLineIndex + 1; i < endLineIndex; i++) {
@@ -416,7 +416,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return resultLines.join(lineEnding);
 	}
 
-	public getValueLengthInRange(rawRange:editorCommon.IRange, eol:editorCommon.EndOfLinePreference=editorCommon.EndOfLinePreference.TextDefined): number {
+	public getValueLengthInRange(rawRange: editorCommon.IRange, eol: editorCommon.EndOfLinePreference = editorCommon.EndOfLinePreference.TextDefined): number {
 		var range = this.validateRange(rawRange);
 
 		if (range.isEmpty()) {
@@ -456,7 +456,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return this._lines.length;
 	}
 
-	public getLineContent(lineNumber:number): string {
+	public getLineContent(lineNumber: number): string {
 		if (lineNumber < 1 || lineNumber > this.getLineCount()) {
 			throw new Error('Illegal value ' + lineNumber + ' for `lineNumber`');
 		}
@@ -464,7 +464,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return this._lines[lineNumber - 1].text;
 	}
 
-	public getIndentLevel(lineNumber:number): number {
+	public getIndentLevel(lineNumber: number): number {
 		if (lineNumber < 1 || lineNumber > this.getLineCount()) {
 			throw new Error('Illegal value ' + lineNumber + ' for `lineNumber`');
 		}
@@ -488,7 +488,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return IndentRange.deepCloneArr(indentRanges);
 	}
 
-	private _toValidLineIndentGuide(lineNumber:number, indentGuide:number): number {
+	private _toValidLineIndentGuide(lineNumber: number, indentGuide: number): number {
 		let lineIndentLevel = this._lines[lineNumber - 1].getIndentLevel();
 		if (lineIndentLevel === -1) {
 			return indentGuide;
@@ -497,7 +497,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return Math.min(maxIndentGuide, indentGuide);
 	}
 
-	public getLineIndentGuide(lineNumber:number): number {
+	public getLineIndentGuide(lineNumber: number): number {
 		if (lineNumber < 1 || lineNumber > this.getLineCount()) {
 			throw new Error('Illegal value ' + lineNumber + ' for `lineNumber`');
 		}
@@ -565,11 +565,11 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		this._emitContentChanged2(1, 1, endLineNumber, endColumn, oldModelValueLength, this.getValue(), false, false);
 	}
 
-	public getLineMinColumn(lineNumber:number): number {
+	public getLineMinColumn(lineNumber: number): number {
 		return 1;
 	}
 
-	public getLineMaxColumn(lineNumber:number): number {
+	public getLineMaxColumn(lineNumber: number): number {
 		if (lineNumber < 1 || lineNumber > this.getLineCount()) {
 			throw new Error('Illegal value ' + lineNumber + ' for `lineNumber`');
 		}
@@ -601,7 +601,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return result + 2;
 	}
 
-	public validateLineNumber(lineNumber:number): number {
+	public validateLineNumber(lineNumber: number): number {
 		if (lineNumber < 1) {
 			lineNumber = 1;
 		}
@@ -614,7 +614,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 	/**
 	 * @param strict Do NOT allow a position inside a high-low surrogate pair
 	 */
-	private _validatePosition(_lineNumber:number, _column:number, strict:boolean): Position {
+	private _validatePosition(_lineNumber: number, _column: number, strict: boolean): Position {
 		const lineNumber = Math.floor(typeof _lineNumber === 'number' ? _lineNumber : 1);
 		const column = Math.floor(typeof _column === 'number' ? _column : 1);
 
@@ -648,11 +648,11 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return new Position(lineNumber, column);
 	}
 
-	public validatePosition(position:editorCommon.IPosition): Position {
+	public validatePosition(position: editorCommon.IPosition): Position {
 		return this._validatePosition(position.lineNumber, position.column, true);
 	}
 
-	public validateRange(_range:editorCommon.IRange): Range {
+	public validateRange(_range: editorCommon.IRange): Range {
 		const start = this._validatePosition(_range.startLineNumber, _range.startColumn, false);
 		const end = this._validatePosition(_range.endLineNumber, _range.endColumn, false);
 
@@ -693,7 +693,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return new Range(startLineNumber, startColumn, endLineNumber, endColumn + 1);
 	}
 
-	public modifyPosition(rawPosition: editorCommon.IPosition, offset: number) : Position {
+	public modifyPosition(rawPosition: editorCommon.IPosition, offset: number): Position {
 		return this.getPositionAt(this.getOffsetAt(rawPosition) + offset);
 	}
 
@@ -702,13 +702,13 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return new Range(1, 1, lineCount, this.getLineMaxColumn(lineCount));
 	}
 
-	protected _emitModelContentChangedFlushEvent(e:editorCommon.IModelContentChangedFlushEvent): void {
+	protected _emitModelContentChangedFlushEvent(e: editorCommon.IModelContentChangedFlushEvent): void {
 		if (!this._isDisposing) {
 			this.emit(editorCommon.EventType.ModelRawContentChanged, e);
 		}
 	}
 
-	public static toRawText(rawText:string, opts:editorCommon.ITextModelCreationOptions): editorCommon.IRawText {
+	public static toRawText(rawText: string, opts: editorCommon.ITextModelCreationOptions): editorCommon.IRawText {
 		// Count the number of lines that end with \r\n
 		var carriageReturnCnt = 0,
 			lastCarriageReturnIndex = -1;
@@ -766,7 +766,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		};
 	}
 
-	protected _constructLines(rawText:editorCommon.IRawText): void {
+	protected _constructLines(rawText: editorCommon.IRawText): void {
 		const tabSize = rawText.options.tabSize;
 		let rawLines = rawText.lines;
 		let modelLines: ModelLine[] = [];
@@ -781,7 +781,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		this._resetIndentRanges();
 	}
 
-	private _getEndOfLine(eol:editorCommon.EndOfLinePreference): string {
+	private _getEndOfLine(eol: editorCommon.EndOfLinePreference): string {
 		switch (eol) {
 			case editorCommon.EndOfLinePreference.LF:
 				return '\n';
@@ -793,7 +793,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		throw new Error('Unknown EOL preference');
 	}
 
-	private static _isMultiline(searchString:string): boolean {
+	private static _isMultiline(searchString: string): boolean {
 		if (!searchString || searchString.length === 0) {
 			return false;
 		}
@@ -821,7 +821,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return false;
 	}
 
-	public static parseSearchRequest(searchString:string, isRegex:boolean, matchCase:boolean, wholeWord:boolean): RegExp {
+	public static parseSearchRequest(searchString: string, isRegex: boolean, matchCase: boolean, wholeWord: boolean): RegExp {
 		if (searchString === '') {
 			return null;
 		}
@@ -830,7 +830,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		var regex: RegExp = null;
 		var multiline = isRegex && TextModel._isMultiline(searchString);
 		try {
-			regex = strings.createRegExp(searchString, isRegex, {matchCase, wholeWord, multiline, global: true});
+			regex = strings.createRegExp(searchString, isRegex, { matchCase, wholeWord, multiline, global: true });
 		} catch (err) {
 			return null;
 		}
@@ -842,13 +842,13 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return regex;
 	}
 
-	public findMatches(searchString:string, rawSearchScope:any, isRegex:boolean, matchCase:boolean, wholeWord:boolean, limitResultCount:number = LIMIT_FIND_COUNT): Range[] {
+	public findMatches(searchString: string, rawSearchScope: any, isRegex: boolean, matchCase: boolean, wholeWord: boolean, limitResultCount: number = LIMIT_FIND_COUNT): Range[] {
 		let regex = TextModel.parseSearchRequest(searchString, isRegex, matchCase, wholeWord);
 		if (!regex) {
 			return [];
 		}
 
-		let searchRange:Range;
+		let searchRange: Range;
 		if (Range.isIRange(rawSearchScope)) {
 			searchRange = this.validateRange(rawSearchScope);
 		} else {
@@ -861,7 +861,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return this._doFindMatchesLineByLine(searchRange, regex, limitResultCount);
 	}
 
-	private _doFindMatchesMultiline(searchRange:Range, searchRegex:RegExp, limitResultCount:number): Range[] {
+	private _doFindMatchesMultiline(searchRange: Range, searchRegex: RegExp, limitResultCount: number): Range[] {
 		let deltaOffset = this.getOffsetAt(searchRange.getStartPosition());
 		let text = this.getValueInRange(searchRange);
 
@@ -870,7 +870,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		let prevEndOffset = 0;
 		let counter = 0;
 
-		let m:RegExpExecArray;
+		let m: RegExpExecArray;
 		while ((m = searchRegex.exec(text))) {
 			let startOffset = deltaOffset + m.index;
 			let endOffset = startOffset + m[0].length;
@@ -895,8 +895,8 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return result;
 	}
 
-	private _doFindMatchesLineByLine(searchRange:Range, searchRegex:RegExp, limitResultCount:number): Range[] {
-		let result:Range[] = [];
+	private _doFindMatchesLineByLine(searchRange: Range, searchRegex: RegExp, limitResultCount: number): Range[] {
+		let result: Range[] = [];
 		let text: string;
 		let counter = 0;
 
@@ -925,7 +925,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return result;
 	}
 
-	public findNextMatch(searchString:string, rawSearchStart:editorCommon.IPosition, isRegex:boolean, matchCase:boolean, wholeWord:boolean): Range {
+	public findNextMatch(searchString: string, rawSearchStart: editorCommon.IPosition, isRegex: boolean, matchCase: boolean, wholeWord: boolean): Range {
 		let regex = TextModel.parseSearchRequest(searchString, isRegex, matchCase, wholeWord);
 		if (!regex) {
 			return null;
@@ -961,7 +961,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return null;
 	}
 
-	private _doFindNextMatchLineByLine(searchStart:Position, searchRegex:RegExp): Range {
+	private _doFindNextMatchLineByLine(searchStart: Position, searchRegex: RegExp): Range {
 		let lineCount = this.getLineCount();
 		let startLineNumber = searchStart.lineNumber;
 		let text: string;
@@ -986,7 +986,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return null;
 	}
 
-	public findPreviousMatch(searchString:string, rawSearchStart:editorCommon.IPosition, isRegex:boolean, matchCase:boolean, wholeWord:boolean): Range {
+	public findPreviousMatch(searchString: string, rawSearchStart: editorCommon.IPosition, isRegex: boolean, matchCase: boolean, wholeWord: boolean): Range {
 		let regex = TextModel.parseSearchRequest(searchString, isRegex, matchCase, wholeWord);
 		if (!regex) {
 			return null;
@@ -999,7 +999,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return this._doFindPreviousMatchLineByLine(searchStart, regex);
 	}
 
-	private _doFindPreviousMatchMultiline(searchStart:Position, searchRegex:RegExp): Range {
+	private _doFindPreviousMatchMultiline(searchStart: Position, searchRegex: RegExp): Range {
 		let matches = this._doFindMatchesMultiline(new Range(1, 1, searchStart.lineNumber, searchStart.column), searchRegex, 10 * LIMIT_FIND_COUNT);
 		if (matches.length > 0) {
 			return matches[matches.length - 1];
@@ -1013,7 +1013,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return null;
 	}
 
-	private _doFindPreviousMatchLineByLine(searchStart:Position, searchRegex:RegExp): Range {
+	private _doFindPreviousMatchLineByLine(searchStart: Position, searchRegex: RegExp): Range {
 		let lineCount = this.getLineCount();
 		let startLineNumber = searchStart.lineNumber;
 		let text: string;
@@ -1045,9 +1045,9 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return m ? new Range(lineNumber, m.index + 1, lineNumber, m.index + 1 + m[0].length) : null;
 	}
 
-	private _findLastMatchInLine(searchRegex:RegExp, text:string, lineNumber:number): Range {
+	private _findLastMatchInLine(searchRegex: RegExp, text: string, lineNumber: number): Range {
 		let bestResult: Range = null;
-		let m:RegExpExecArray;
+		let m: RegExpExecArray;
 		while ((m = searchRegex.exec(text))) {
 			let result = new Range(lineNumber, m.index + 1, lineNumber, m.index + 1 + m[0].length);
 			if (result.equalsRange(bestResult)) {
@@ -1062,8 +1062,8 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 		return bestResult;
 	}
 
-	private _findMatchesInLine(searchRegex:RegExp, text:string, lineNumber:number, deltaOffset:number, counter:number, result:Range[], limitResultCount:number): number {
-		var m:RegExpExecArray;
+	private _findMatchesInLine(searchRegex: RegExp, text: string, lineNumber: number, deltaOffset: number, counter: number, result: Range[], limitResultCount: number): number {
+		var m: RegExpExecArray;
 		// Reset regex to search from the beginning
 		searchRegex.lastIndex = 0;
 		do {
@@ -1084,18 +1084,18 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
 					return counter;
 				}
 			}
-		} while(m);
+		} while (m);
 		return counter;
 	}
 }
 
 export class RawText {
 
-	public static fromString(rawText:string, opts:editorCommon.ITextModelCreationOptions): editorCommon.IRawText {
+	public static fromString(rawText: string, opts: editorCommon.ITextModelCreationOptions): editorCommon.IRawText {
 		return TextModel.toRawText(rawText, opts);
 	}
 
-	public static fromStringWithModelOptions(rawText:string, model:editorCommon.IModel): editorCommon.IRawText {
+	public static fromStringWithModelOptions(rawText: string, model: editorCommon.IModel): editorCommon.IRawText {
 		let opts = model.getOptions();
 		return TextModel.toRawText(rawText, {
 			tabSize: opts.tabSize,
diff --git a/src/vs/editor/common/model/textModelWithDecorations.ts b/src/vs/editor/common/model/textModelWithDecorations.ts
index 49a9f71ca32d0..151c9b4fa663e 100644
--- a/src/vs/editor/common/model/textModelWithDecorations.ts
+++ b/src/vs/editor/common/model/textModelWithDecorations.ts
@@ -4,23 +4,23 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {MarkedString, markedStringsEquals} from 'vs/base/common/htmlContent';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { MarkedString, markedStringsEquals } from 'vs/base/common/htmlContent';
 import * as strings from 'vs/base/common/strings';
-import {IdGenerator} from 'vs/base/common/idGenerator';
-import {Range} from 'vs/editor/common/core/range';
+import { IdGenerator } from 'vs/base/common/idGenerator';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {TextModelWithTrackedRanges} from 'vs/editor/common/model/textModelWithTrackedRanges';
+import { TextModelWithTrackedRanges } from 'vs/editor/common/model/textModelWithTrackedRanges';
 
 export class DeferredEventsBuilder {
 
-	public changedMarkers:{[markerId:string]:boolean;};
+	public changedMarkers: { [markerId: string]: boolean; };
 
-	public oldDecorationRange:{[decorationId:string]:editorCommon.IRange;};
-	public oldDecorationOptions:{[decorationId:string]:editorCommon.IModelDecorationOptions;};
+	public oldDecorationRange: { [decorationId: string]: editorCommon.IRange; };
+	public oldDecorationOptions: { [decorationId: string]: editorCommon.IModelDecorationOptions; };
 
-	public newOrChangedDecorations:{[decorationId:string]:boolean;};
-	public removedDecorations:{[decorationId:string]:boolean;};
+	public newOrChangedDecorations: { [decorationId: string]: boolean; };
+	public removedDecorations: { [decorationId: string]: boolean; };
 
 	constructor() {
 		this.changedMarkers = {};
@@ -32,11 +32,11 @@ export class DeferredEventsBuilder {
 
 	// --- Build decoration events
 
-	public addNewDecoration(id:string): void {
+	public addNewDecoration(id: string): void {
 		this.newOrChangedDecorations[id] = true;
 	}
 
-	public addRemovedDecoration(id:string, ownerId:number, range:editorCommon.IRange, options:editorCommon.IModelDecorationOptions): void {
+	public addRemovedDecoration(id: string, ownerId: number, range: editorCommon.IRange, options: editorCommon.IModelDecorationOptions): void {
 		if (this.newOrChangedDecorations.hasOwnProperty(id)) {
 			delete this.newOrChangedDecorations[id];
 		}
@@ -49,14 +49,14 @@ export class DeferredEventsBuilder {
 		this.removedDecorations[id] = true;
 	}
 
-	public addMovedDecoration(id:string, oldRange:editorCommon.IRange): void {
+	public addMovedDecoration(id: string, oldRange: editorCommon.IRange): void {
 		if (!this.oldDecorationRange.hasOwnProperty(id)) {
 			this.oldDecorationRange[id] = oldRange;
 		}
 		this.newOrChangedDecorations[id] = true;
 	}
 
-	public addUpdatedDecoration(id:string, oldOptions:editorCommon.IModelDecorationOptions): void {
+	public addUpdatedDecoration(id: string, oldOptions: editorCommon.IModelDecorationOptions): void {
 		if (!this.oldDecorationOptions.hasOwnProperty(id)) {
 			this.oldDecorationOptions[id] = oldOptions;
 		}
@@ -65,18 +65,18 @@ export class DeferredEventsBuilder {
 }
 
 interface IInternalDecoration {
-	id:string;
-	ownerId:number;
-	rangeId:string;
-	options:ModelDecorationOptions;
+	id: string;
+	ownerId: number;
+	rangeId: string;
+	options: ModelDecorationOptions;
 }
 
 interface IInternalDecorationsMap {
-	[key:string]:IInternalDecoration;
+	[key: string]: IInternalDecoration;
 }
 
 interface IRangeIdToDecorationIdMap {
-	[key:string]:string;
+	[key: string]: string;
 }
 
 interface IOldDecoration {
@@ -89,12 +89,12 @@ var _INSTANCE_COUNT = 0;
 
 export class TextModelWithDecorations extends TextModelWithTrackedRanges implements editorCommon.ITextModelWithDecorations {
 
-	private _currentDeferredEvents:DeferredEventsBuilder;
+	private _currentDeferredEvents: DeferredEventsBuilder;
 	private _decorationIdGenerator: IdGenerator;
-	private decorations:IInternalDecorationsMap;
-	private rangeIdToDecorationId:IRangeIdToDecorationIdMap;
+	private decorations: IInternalDecorationsMap;
+	private rangeIdToDecorationId: IRangeIdToDecorationIdMap;
 
-	constructor(allowedEventTypes:string[], rawText:editorCommon.IRawText, languageId:string) {
+	constructor(allowedEventTypes: string[], rawText: editorCommon.IRawText, languageId: string) {
 		allowedEventTypes.push(editorCommon.EventType.ModelDecorationsChanged);
 		super(allowedEventTypes, rawText, languageId);
 
@@ -111,7 +111,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		super.dispose();
 	}
 
-	protected _resetValue(e:editorCommon.IModelContentChangedFlushEvent, newValue:editorCommon.IRawText): void {
+	protected _resetValue(e: editorCommon.IModelContentChangedFlushEvent, newValue: editorCommon.IRawText): void {
 		super._resetValue(e, newValue);
 
 		// Destroy all my decorations
@@ -119,22 +119,22 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		this.rangeIdToDecorationId = {};
 	}
 
-	public changeDecorations(callback: (changeAccessor:editorCommon.IModelDecorationsChangeAccessor)=>any, ownerId:number=0): any {
-		return this._withDeferredEvents((deferredEventsBuilder:DeferredEventsBuilder) => {
-			var changeAccessor:editorCommon.IModelDecorationsChangeAccessor = {
-				addDecoration: (range:editorCommon.IRange, options:editorCommon.IModelDecorationOptions): string => {
+	public changeDecorations(callback: (changeAccessor: editorCommon.IModelDecorationsChangeAccessor) => any, ownerId: number = 0): any {
+		return this._withDeferredEvents((deferredEventsBuilder: DeferredEventsBuilder) => {
+			var changeAccessor: editorCommon.IModelDecorationsChangeAccessor = {
+				addDecoration: (range: editorCommon.IRange, options: editorCommon.IModelDecorationOptions): string => {
 					return this._addDecorationImpl(deferredEventsBuilder, ownerId, this.validateRange(range), _normalizeOptions(options));
 				},
-				changeDecoration: (id:string, newRange:editorCommon.IRange): void => {
+				changeDecoration: (id: string, newRange: editorCommon.IRange): void => {
 					this._changeDecorationImpl(deferredEventsBuilder, id, this.validateRange(newRange));
 				},
-				changeDecorationOptions: (id: string, options:editorCommon.IModelDecorationOptions) => {
+				changeDecorationOptions: (id: string, options: editorCommon.IModelDecorationOptions) => {
 					this._changeDecorationOptionsImpl(deferredEventsBuilder, id, _normalizeOptions(options));
 				},
-				removeDecoration: (id:string): void => {
+				removeDecoration: (id: string): void => {
 					this._removeDecorationImpl(deferredEventsBuilder, id);
 				},
-				deltaDecorations: (oldDecorations:string[], newDecorations:editorCommon.IModelDeltaDecoration[]): string[] => {
+				deltaDecorations: (oldDecorations: string[], newDecorations: editorCommon.IModelDeltaDecoration[]): string[] => {
 					return this._deltaDecorationsImpl(deferredEventsBuilder, ownerId, oldDecorations, this._normalizeDeltaDecorations(newDecorations));
 				}
 			};
@@ -153,7 +153,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		});
 	}
 
-	public deltaDecorations(oldDecorations:string[], newDecorations:editorCommon.IModelDeltaDecoration[], ownerId:number=0): string[] {
+	public deltaDecorations(oldDecorations: string[], newDecorations: editorCommon.IModelDeltaDecoration[], ownerId: number = 0): string[] {
 		if (!oldDecorations) {
 			oldDecorations = [];
 		}
@@ -162,8 +162,8 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		}, ownerId);
 	}
 
-	public removeAllDecorationsWithOwnerId(ownerId:number): void {
-		let toRemove:string[] = [];
+	public removeAllDecorationsWithOwnerId(ownerId: number): void {
+		let toRemove: string[] = [];
 
 		let keys = Object.keys(this.decorations);
 		for (let i = 0, len = keys.length; i < len; i++) {
@@ -178,14 +178,14 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		this._removeDecorationsImpl(null, toRemove);
 	}
 
-	public getDecorationOptions(decorationId:string): editorCommon.IModelDecorationOptions {
+	public getDecorationOptions(decorationId: string): editorCommon.IModelDecorationOptions {
 		if (this.decorations.hasOwnProperty(decorationId)) {
 			return this.decorations[decorationId].options;
 		}
 		return null;
 	}
 
-	public getDecorationRange(decorationId:string): Range {
+	public getDecorationRange(decorationId: string): Range {
 		if (this.decorations.hasOwnProperty(decorationId)) {
 			var decoration = this.decorations[decorationId];
 			return this.getTrackedRange(decoration.rangeId);
@@ -193,7 +193,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		return null;
 	}
 
-	public getLineDecorations(lineNumber:number, ownerId:number=0, filterOutValidation:boolean=false): editorCommon.IModelDecoration[] {
+	public getLineDecorations(lineNumber: number, ownerId: number = 0, filterOutValidation: boolean = false): editorCommon.IModelDecoration[] {
 		if (lineNumber < 1 || lineNumber > this.getLineCount()) {
 			return [];
 		}
@@ -201,13 +201,13 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		return this.getLinesDecorations(lineNumber, lineNumber, ownerId, filterOutValidation);
 	}
 
-	private _getDecorationsInRange(startLineNumber:number, startColumn:number, endLineNumber:number, endColumn:number, ownerId:number, filterOutValidation:boolean): editorCommon.IModelDecoration[] {
-		var result:editorCommon.IModelDecoration[] = [],
-			decoration:IInternalDecoration,
+	private _getDecorationsInRange(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, ownerId: number, filterOutValidation: boolean): editorCommon.IModelDecoration[] {
+		var result: editorCommon.IModelDecoration[] = [],
+			decoration: IInternalDecoration,
 			lineRanges = this.getLinesTrackedRanges(startLineNumber, endLineNumber),
-			i:number,
+			i: number,
 			lineRange: editorCommon.IModelTrackedRange,
-			len:number;
+			len: number;
 
 		for (i = 0, len = lineRanges.length; i < len; i++) {
 			lineRange = lineRanges[i];
@@ -246,7 +246,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		return result;
 	}
 
-	public getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId:number=0, filterOutValidation:boolean=false): editorCommon.IModelDecoration[] {
+	public getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId: number = 0, filterOutValidation: boolean = false): editorCommon.IModelDecoration[] {
 		var lineCount = this.getLineCount();
 		startLineNumber = Math.min(lineCount, Math.max(1, startLineNumber));
 		endLineNumber = Math.min(lineCount, Math.max(1, endLineNumber));
@@ -258,8 +258,8 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		return this._getDecorationsInRange(validatedRange.startLineNumber, validatedRange.startColumn, validatedRange.endLineNumber, validatedRange.endColumn, ownerId, filterOutValidation);
 	}
 
-	public getAllDecorations(ownerId:number=0, filterOutValidation:boolean=false): editorCommon.IModelDecoration[] {
-		let result:editorCommon.IModelDecoration[] = [];
+	public getAllDecorations(ownerId: number = 0, filterOutValidation: boolean = false): editorCommon.IModelDecoration[] {
+		let result: editorCommon.IModelDecoration[] = [];
 
 		let keys = Object.keys(this.decorations);
 		for (let i = 0, len = keys.length; i < len; i++) {
@@ -287,7 +287,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		return result;
 	}
 
-	protected _withDeferredEvents(callback:(deferredEventsBuilder:DeferredEventsBuilder)=>any): any {
+	protected _withDeferredEvents(callback: (deferredEventsBuilder: DeferredEventsBuilder) => any): any {
 		return this.deferredEmit(() => {
 			var createDeferredEvents = this._currentDeferredEvents ? false : true;
 			if (createDeferredEvents) {
@@ -309,7 +309,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		});
 	}
 
-	private _handleCollectedEvents(b:DeferredEventsBuilder): void {
+	private _handleCollectedEvents(b: DeferredEventsBuilder): void {
 		// Normalize changed markers into an array
 		var changedMarkers = this._getMarkersInMap(b.changedMarkers);
 
@@ -329,7 +329,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		}
 	}
 
-	private _onChangedRanges(eventBuilder:DeferredEventsBuilder, changedRanges:editorCommon.IChangedTrackedRanges): void {
+	private _onChangedRanges(eventBuilder: DeferredEventsBuilder, changedRanges: editorCommon.IChangedTrackedRanges): void {
 		let keys = Object.keys(changedRanges);
 		for (let i = 0, len = keys.length; i < len; i++) {
 			let rangeId = keys[i];
@@ -341,12 +341,12 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		}
 	}
 
-	private _handleCollectedDecorationsEvents(b:DeferredEventsBuilder): void {
-		var addedOrChangedDecorations:editorCommon.IModelDecorationsChangedEventDecorationData[] = [],
-			removedDecorations:string[] = [],
-			decorationIds:string[] = [],
-			decorationData:editorCommon.IModelDecorationsChangedEventDecorationData,
-			oldRange:editorCommon.IRange;
+	private _handleCollectedDecorationsEvents(b: DeferredEventsBuilder): void {
+		var addedOrChangedDecorations: editorCommon.IModelDecorationsChangedEventDecorationData[] = [],
+			removedDecorations: string[] = [],
+			decorationIds: string[] = [],
+			decorationData: editorCommon.IModelDecorationsChangedEventDecorationData,
+			oldRange: editorCommon.IRange;
 
 		let keys = Object.keys(b.newOrChangedDecorations);
 		for (let i = 0, len = keys.length; i < len; i++) {
@@ -373,7 +373,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		}
 
 		if (decorationIds.length > 0) {
-			var e:editorCommon.IModelDecorationsChangedEvent = {
+			var e: editorCommon.IModelDecorationsChangedEvent = {
 				ids: decorationIds,
 				addedOrChangedDecorations: addedOrChangedDecorations,
 				removedDecorations: removedDecorations,
@@ -384,7 +384,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		}
 	}
 
-	private _getDecorationData(decorationId:string): editorCommon.IModelDecorationsChangedEventDecorationData {
+	private _getDecorationData(decorationId: string): editorCommon.IModelDecorationsChangedEventDecorationData {
 		var decoration = this.decorations[decorationId];
 		return {
 			id: decoration.id,
@@ -395,14 +395,14 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		};
 	}
 
-	private emitModelDecorationsChangedEvent(e:editorCommon.IModelDecorationsChangedEvent): void {
+	private emitModelDecorationsChangedEvent(e: editorCommon.IModelDecorationsChangedEvent): void {
 		if (!this._isDisposing) {
 			this.emit(editorCommon.EventType.ModelDecorationsChanged, e);
 		}
 	}
 
-	private _normalizeDeltaDecorations(deltaDecorations:editorCommon.IModelDeltaDecoration[]): ModelDeltaDecoration[] {
-		let result:ModelDeltaDecoration[] = [];
+	private _normalizeDeltaDecorations(deltaDecorations: editorCommon.IModelDeltaDecoration[]): ModelDeltaDecoration[] {
+		let result: ModelDeltaDecoration[] = [];
 		for (let i = 0, len = deltaDecorations.length; i < len; i++) {
 			let deltaDecoration = deltaDecorations[i];
 			result.push(new ModelDeltaDecoration(i, this.validateRange(deltaDecoration.range), _normalizeOptions(deltaDecoration.options)));
@@ -410,7 +410,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		return result;
 	}
 
-	private _addDecorationImpl(eventBuilder:DeferredEventsBuilder, ownerId:number, range:Range, options:ModelDecorationOptions): string {
+	private _addDecorationImpl(eventBuilder: DeferredEventsBuilder, ownerId: number, range: Range, options: ModelDecorationOptions): string {
 		var rangeId = this.addTrackedRange(range, options.stickiness);
 
 		var decoration = new ModelInternalDecoration(this._decorationIdGenerator.nextId(), ownerId, rangeId, options);
@@ -423,7 +423,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		return decoration.id;
 	}
 
-	private _addDecorationsImpl(eventBuilder:DeferredEventsBuilder, ownerId:number, newDecorations: ModelDeltaDecoration[]): string[] {
+	private _addDecorationsImpl(eventBuilder: DeferredEventsBuilder, ownerId: number, newDecorations: ModelDeltaDecoration[]): string[] {
 		var rangeIds = this._addTrackedRanges(newDecorations.map(d => d.range), newDecorations.map(d => d.options.stickiness));
 		var result: string[] = [];
 
@@ -443,7 +443,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		return result;
 	}
 
-	private _changeDecorationImpl(eventBuilder:DeferredEventsBuilder, id:string, newRange:Range): void {
+	private _changeDecorationImpl(eventBuilder: DeferredEventsBuilder, id: string, newRange: Range): void {
 		if (this.decorations.hasOwnProperty(id)) {
 			var decoration = this.decorations[id];
 			var oldRange = this.getTrackedRange(decoration.rangeId);
@@ -454,7 +454,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		}
 	}
 
-	private _changeDecorationOptionsImpl(eventBuilder:DeferredEventsBuilder, id:string, options:ModelDecorationOptions): void {
+	private _changeDecorationOptionsImpl(eventBuilder: DeferredEventsBuilder, id: string, options: ModelDecorationOptions): void {
 		if (this.decorations.hasOwnProperty(id)) {
 			var decoration = this.decorations[id];
 			var oldOptions = decoration.options;
@@ -469,10 +469,10 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		}
 	}
 
-	private _removeDecorationImpl(eventBuilder:DeferredEventsBuilder, id:string): void {
+	private _removeDecorationImpl(eventBuilder: DeferredEventsBuilder, id: string): void {
 		if (this.decorations.hasOwnProperty(id)) {
 			var decoration = this.decorations[id];
-			var oldRange:Range = null;
+			var oldRange: Range = null;
 			if (eventBuilder) {
 				oldRange = this.getTrackedRange(decoration.rangeId);
 			}
@@ -487,7 +487,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		}
 	}
 
-	private _removeDecorationsImpl(eventBuilder:DeferredEventsBuilder, ids:string[]): void {
+	private _removeDecorationsImpl(eventBuilder: DeferredEventsBuilder, ids: string[]): void {
 		var removeTrackedRanges: string[] = [];
 
 		for (let i = 0, len = ids.length; i < len; i++) {
@@ -514,8 +514,8 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		}
 	}
 
-	private _resolveOldDecorations(oldDecorations:string[]): IOldDecoration[] {
-		let result:IOldDecoration[] = [];
+	private _resolveOldDecorations(oldDecorations: string[]): IOldDecoration[] {
+		let result: IOldDecoration[] = [];
 		for (let i = 0, len = oldDecorations.length; i < len; i++) {
 			let id = oldDecorations[i];
 			if (!this.decorations.hasOwnProperty(id)) {
@@ -533,7 +533,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		return result;
 	}
 
-	private _deltaDecorationsImpl(eventBuilder:DeferredEventsBuilder, ownerId:number, oldDecorationsIds:string[], newDecorations: ModelDeltaDecoration[]): string[] {
+	private _deltaDecorationsImpl(eventBuilder: DeferredEventsBuilder, ownerId: number, oldDecorationsIds: string[], newDecorations: ModelDeltaDecoration[]): string[] {
 
 		if (oldDecorationsIds.length === 0) {
 			// Nothing to remove
@@ -551,7 +551,7 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 		oldDecorations.sort((a, b) => Range.compareRangesUsingStarts(a.range, b.range));
 		newDecorations.sort((a, b) => Range.compareRangesUsingStarts(a.range, b.range));
 
-		let result:string[] = [],
+		let result: string[] = [],
 			oldDecorationsIndex = 0,
 			oldDecorationsLength = oldDecorations.length,
 			newDecorationsIndex = 0,
@@ -622,17 +622,17 @@ export class TextModelWithDecorations extends TextModelWithTrackedRanges impleme
 	}
 }
 
-function cleanClassName(className:string): string {
+function cleanClassName(className: string): string {
 	return className.replace(/[^a-z0-9\-]/gi, ' ');
 }
 
 class ModelInternalDecoration implements IInternalDecoration {
-	id:string;
-	ownerId:number;
-	rangeId:string;
-	options:ModelDecorationOptions;
+	id: string;
+	ownerId: number;
+	rangeId: string;
+	options: ModelDecorationOptions;
 
-	constructor(id:string, ownerId:number, rangeId:string, options:ModelDecorationOptions) {
+	constructor(id: string, ownerId: number, rangeId: string, options: ModelDecorationOptions) {
 		this.id = id;
 		this.ownerId = ownerId;
 		this.rangeId = rangeId;
@@ -642,34 +642,34 @@ class ModelInternalDecoration implements IInternalDecoration {
 
 class ModelDecorationOptions implements editorCommon.IModelDecorationOptions {
 
-	stickiness:editorCommon.TrackedRangeStickiness;
-	className:string;
-	glyphMarginHoverMessage:string;
-	hoverMessage:MarkedString | MarkedString[];
-	isWholeLine:boolean;
-	showInOverviewRuler:string;
-	overviewRuler:editorCommon.IModelDecorationOverviewRulerOptions;
-	glyphMarginClassName:string;
-	linesDecorationsClassName:string;
-	inlineClassName:string;
-	beforeContentClassName:string;
-	afterContentClassName:string;
-
-	constructor(options:editorCommon.IModelDecorationOptions) {
-		this.stickiness = options.stickiness||editorCommon.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges;
-		this.className = cleanClassName(options.className||strings.empty);
-		this.glyphMarginHoverMessage = options.glyphMarginHoverMessage||strings.empty;
-		this.hoverMessage = options.hoverMessage||[];
-		this.isWholeLine = options.isWholeLine||false;
+	stickiness: editorCommon.TrackedRangeStickiness;
+	className: string;
+	glyphMarginHoverMessage: string;
+	hoverMessage: MarkedString | MarkedString[];
+	isWholeLine: boolean;
+	showInOverviewRuler: string;
+	overviewRuler: editorCommon.IModelDecorationOverviewRulerOptions;
+	glyphMarginClassName: string;
+	linesDecorationsClassName: string;
+	inlineClassName: string;
+	beforeContentClassName: string;
+	afterContentClassName: string;
+
+	constructor(options: editorCommon.IModelDecorationOptions) {
+		this.stickiness = options.stickiness || editorCommon.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges;
+		this.className = cleanClassName(options.className || strings.empty);
+		this.glyphMarginHoverMessage = options.glyphMarginHoverMessage || strings.empty;
+		this.hoverMessage = options.hoverMessage || [];
+		this.isWholeLine = options.isWholeLine || false;
 		this.overviewRuler = _normalizeOverviewRulerOptions(options.overviewRuler, options.showInOverviewRuler);
-		this.glyphMarginClassName = cleanClassName(options.glyphMarginClassName||strings.empty);
-		this.linesDecorationsClassName = cleanClassName(options.linesDecorationsClassName||strings.empty);
-		this.inlineClassName = cleanClassName(options.inlineClassName||strings.empty);
-		this.beforeContentClassName = cleanClassName(options.beforeContentClassName||strings.empty);
-		this.afterContentClassName = cleanClassName(options.afterContentClassName||strings.empty);
+		this.glyphMarginClassName = cleanClassName(options.glyphMarginClassName || strings.empty);
+		this.linesDecorationsClassName = cleanClassName(options.linesDecorationsClassName || strings.empty);
+		this.inlineClassName = cleanClassName(options.inlineClassName || strings.empty);
+		this.beforeContentClassName = cleanClassName(options.beforeContentClassName || strings.empty);
+		this.afterContentClassName = cleanClassName(options.afterContentClassName || strings.empty);
 	}
 
-	private static _overviewRulerEquals(a:editorCommon.IModelDecorationOverviewRulerOptions, b:editorCommon.IModelDecorationOverviewRulerOptions): boolean {
+	private static _overviewRulerEquals(a: editorCommon.IModelDecorationOverviewRulerOptions, b: editorCommon.IModelDecorationOverviewRulerOptions): boolean {
 		return (
 			a.color === b.color
 			&& a.position === b.position
@@ -677,7 +677,7 @@ class ModelDecorationOptions implements editorCommon.IModelDecorationOptions {
 		);
 	}
 
-	public equals(other:ModelDecorationOptions): boolean {
+	public equals(other: ModelDecorationOptions): boolean {
 		return (
 			this.stickiness === other.stickiness
 			&& this.className === other.className
@@ -708,7 +708,7 @@ class ModelDeltaDecoration implements editorCommon.IModelDeltaDecoration {
 	}
 }
 
-function _normalizeOptions(options:editorCommon.IModelDecorationOptions): ModelDecorationOptions {
+function _normalizeOptions(options: editorCommon.IModelDecorationOptions): ModelDecorationOptions {
 	return new ModelDecorationOptions(options);
 }
 
@@ -717,7 +717,7 @@ class ModelDecorationOverviewRulerOptions implements editorCommon.IModelDecorati
 	darkColor: string;
 	position: editorCommon.OverviewRulerLane;
 
-	constructor(options:editorCommon.IModelDecorationOverviewRulerOptions, legacyShowInOverviewRuler:string) {
+	constructor(options: editorCommon.IModelDecorationOverviewRulerOptions, legacyShowInOverviewRuler: string) {
 		this.color = strings.empty;
 		this.darkColor = strings.empty;
 		this.position = editorCommon.OverviewRulerLane.Center;
@@ -737,6 +737,6 @@ class ModelDecorationOverviewRulerOptions implements editorCommon.IModelDecorati
 	}
 }
 
-function _normalizeOverviewRulerOptions(options:editorCommon.IModelDecorationOverviewRulerOptions, legacyShowInOverviewRuler: string = null): editorCommon.IModelDecorationOverviewRulerOptions {
+function _normalizeOverviewRulerOptions(options: editorCommon.IModelDecorationOverviewRulerOptions, legacyShowInOverviewRuler: string = null): editorCommon.IModelDecorationOverviewRulerOptions {
 	return new ModelDecorationOverviewRulerOptions(options, legacyShowInOverviewRuler);
 }
diff --git a/src/vs/editor/common/model/textModelWithMarkers.ts b/src/vs/editor/common/model/textModelWithMarkers.ts
index 534383b323225..653b589a9a4cf 100644
--- a/src/vs/editor/common/model/textModelWithMarkers.ts
+++ b/src/vs/editor/common/model/textModelWithMarkers.ts
@@ -4,32 +4,32 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IdGenerator} from 'vs/base/common/idGenerator';
-import {Position} from 'vs/editor/common/core/position';
-import {IModelContentChangedFlushEvent, IRawText, IReadOnlyLineMarker, ITextModelWithMarkers} from 'vs/editor/common/editorCommon';
-import {ILineMarker, ModelLine} from 'vs/editor/common/model/modelLine';
-import {TextModelWithTokens} from 'vs/editor/common/model/textModelWithTokens';
+import { IdGenerator } from 'vs/base/common/idGenerator';
+import { Position } from 'vs/editor/common/core/position';
+import { IModelContentChangedFlushEvent, IRawText, IReadOnlyLineMarker, ITextModelWithMarkers } from 'vs/editor/common/editorCommon';
+import { ILineMarker, ModelLine } from 'vs/editor/common/model/modelLine';
+import { TextModelWithTokens } from 'vs/editor/common/model/textModelWithTokens';
 
 export interface IMarkerIdToMarkerMap {
-	[key:string]:ILineMarker;
+	[key: string]: ILineMarker;
 }
 
 export interface INewMarker {
-	lineNumber:number;
-	column:number;
-	stickToPreviousCharacter:boolean;
+	lineNumber: number;
+	column: number;
+	stickToPreviousCharacter: boolean;
 }
 
 export class LineMarker implements ILineMarker {
 
-	id:string;
-	column:number;
-	stickToPreviousCharacter:boolean;
-	oldLineNumber:number;
-	oldColumn:number;
-	line:ModelLine;
+	id: string;
+	column: number;
+	stickToPreviousCharacter: boolean;
+	oldLineNumber: number;
+	oldColumn: number;
+	line: ModelLine;
 
-	constructor(id:string, column:number, stickToPreviousCharacter:boolean) {
+	constructor(id: string, column: number, stickToPreviousCharacter: boolean) {
 		this.id = id;
 		this.column = column;
 		this.stickToPreviousCharacter = stickToPreviousCharacter;
@@ -49,7 +49,7 @@ export class TextModelWithMarkers extends TextModelWithTokens implements ITextMo
 
 	private _markerIdGenerator: IdGenerator;
 	protected _markerIdToMarker: IMarkerIdToMarkerMap;
-	constructor(allowedEventTypes:string[], rawText:IRawText, languageId:string) {
+	constructor(allowedEventTypes: string[], rawText: IRawText, languageId: string) {
 		super(allowedEventTypes, rawText, languageId);
 		this._markerIdGenerator = new IdGenerator((++_INSTANCE_COUNT) + ';');
 		this._markerIdToMarker = {};
@@ -60,14 +60,14 @@ export class TextModelWithMarkers extends TextModelWithTokens implements ITextMo
 		super.dispose();
 	}
 
-	protected _resetValue(e:IModelContentChangedFlushEvent, newValue:IRawText): void {
+	protected _resetValue(e: IModelContentChangedFlushEvent, newValue: IRawText): void {
 		super._resetValue(e, newValue);
 
 		// Destroy all my markers
 		this._markerIdToMarker = {};
 	}
 
-	_addMarker(lineNumber:number, column:number, stickToPreviousCharacter:boolean): string {
+	_addMarker(lineNumber: number, column: number, stickToPreviousCharacter: boolean): string {
 		var pos = this.validatePosition(new Position(lineNumber, column));
 
 		var marker = new LineMarker(this._markerIdGenerator.nextId(), pos.column, stickToPreviousCharacter);
@@ -78,12 +78,12 @@ export class TextModelWithMarkers extends TextModelWithTokens implements ITextMo
 		return marker.id;
 	}
 
-	protected _addMarkers(newMarkers:INewMarker[]): string[] {
+	protected _addMarkers(newMarkers: INewMarker[]): string[] {
 		let addMarkersPerLine: {
-			[lineNumber:number]: LineMarker[];
+			[lineNumber: number]: LineMarker[];
 		} = Object.create(null);
 
-		let result:string[] = [];
+		let result: string[] = [];
 		for (let i = 0, len = newMarkers.length; i < len; i++) {
 			let newMarker = newMarkers[i];
 
@@ -107,7 +107,7 @@ export class TextModelWithMarkers extends TextModelWithTokens implements ITextMo
 		return result;
 	}
 
-	_changeMarker(id:string, lineNumber:number, column:number): void {
+	_changeMarker(id: string, lineNumber: number, column: number): void {
 		if (this._markerIdToMarker.hasOwnProperty(id)) {
 			var marker = this._markerIdToMarker[id];
 			var newPos = this.validatePosition(new Position(lineNumber, column));
@@ -123,7 +123,7 @@ export class TextModelWithMarkers extends TextModelWithTokens implements ITextMo
 		}
 	}
 
-	_changeMarkerStickiness(id:string, newStickToPreviousCharacter:boolean): void {
+	_changeMarkerStickiness(id: string, newStickToPreviousCharacter: boolean): void {
 		if (this._markerIdToMarker.hasOwnProperty(id)) {
 			var marker = this._markerIdToMarker[id];
 
@@ -133,7 +133,7 @@ export class TextModelWithMarkers extends TextModelWithTokens implements ITextMo
 		}
 	}
 
-	_getMarker(id:string): Position {
+	_getMarker(id: string): Position {
 		if (this._markerIdToMarker.hasOwnProperty(id)) {
 			var marker = this._markerIdToMarker[id];
 			return new Position(marker.line.lineNumber, marker.column);
@@ -153,7 +153,7 @@ export class TextModelWithMarkers extends TextModelWithTokens implements ITextMo
 		return this._lines[lineNumber - 1].getMarkers();
 	}
 
-	_removeMarker(id:string): void {
+	_removeMarker(id: string): void {
 		if (this._markerIdToMarker.hasOwnProperty(id)) {
 			var marker = this._markerIdToMarker[id];
 			marker.line.removeMarker(marker);
@@ -161,10 +161,10 @@ export class TextModelWithMarkers extends TextModelWithTokens implements ITextMo
 		}
 	}
 
-	protected _removeMarkers(ids:string[]): void {
+	protected _removeMarkers(ids: string[]): void {
 		let removeMarkersPerLine: {
-			[lineNumber:number]: {
-				[markerId:string]: boolean;
+			[lineNumber: number]: {
+				[markerId: string]: boolean;
 			};
 		} = Object.create(null);
 
@@ -193,7 +193,7 @@ export class TextModelWithMarkers extends TextModelWithTokens implements ITextMo
 		}
 	}
 
-	protected _getMarkersInMap(markersMap:{[markerId:string]:boolean;}): ILineMarker[] {
+	protected _getMarkersInMap(markersMap: { [markerId: string]: boolean; }): ILineMarker[] {
 		let result: ILineMarker[] = [];
 		let keys = Object.keys(markersMap);
 		for (let i = 0, len = keys.length; i < len; i++) {
diff --git a/src/vs/editor/common/model/textModelWithTokens.ts b/src/vs/editor/common/model/textModelWithTokens.ts
index 9ac5dba854336..1d303de1d13db 100644
--- a/src/vs/editor/common/model/textModelWithTokens.ts
+++ b/src/vs/editor/common/model/textModelWithTokens.ts
@@ -5,32 +5,32 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {StopWatch} from 'vs/base/common/stopwatch';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { StopWatch } from 'vs/base/common/stopwatch';
 import * as timer from 'vs/base/common/timer';
-import {Range} from 'vs/editor/common/core/range';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ModelLine} from 'vs/editor/common/model/modelLine';
-import {TextModel} from 'vs/editor/common/model/textModel';
-import {WordHelper} from 'vs/editor/common/model/textModelWithTokensHelpers';
-import {TokenIterator} from 'vs/editor/common/model/tokenIterator';
-import {ITokenizationSupport, ILineContext, ILineTokens, IMode, IState, TokenizationRegistry, IRichEditBrackets} from 'vs/editor/common/modes';
-import {NULL_MODE_ID, nullTokenize} from 'vs/editor/common/modes/nullMode';
-import {ignoreBracketsInToken} from 'vs/editor/common/modes/supports';
-import {BracketsUtils} from 'vs/editor/common/modes/supports/richEditBrackets';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {TokensInflatorMap} from 'vs/editor/common/model/tokensBinaryEncoding';
-import {Position} from 'vs/editor/common/core/position';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {Token} from 'vs/editor/common/core/token';
-import {LineTokens, LineToken} from 'vs/editor/common/core/lineTokens';
+import { ModelLine } from 'vs/editor/common/model/modelLine';
+import { TextModel } from 'vs/editor/common/model/textModel';
+import { WordHelper } from 'vs/editor/common/model/textModelWithTokensHelpers';
+import { TokenIterator } from 'vs/editor/common/model/tokenIterator';
+import { ITokenizationSupport, ILineContext, ILineTokens, IMode, IState, TokenizationRegistry, IRichEditBrackets } from 'vs/editor/common/modes';
+import { NULL_MODE_ID, nullTokenize } from 'vs/editor/common/modes/nullMode';
+import { ignoreBracketsInToken } from 'vs/editor/common/modes/supports';
+import { BracketsUtils } from 'vs/editor/common/modes/supports/richEditBrackets';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { TokensInflatorMap } from 'vs/editor/common/model/tokensBinaryEncoding';
+import { Position } from 'vs/editor/common/core/position';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { Token } from 'vs/editor/common/core/token';
+import { LineTokens, LineToken } from 'vs/editor/common/core/lineTokens';
 
 class Mode implements IMode {
 
-	private _languageId:string;
+	private _languageId: string;
 
-	constructor(languageId:string) {
+	constructor(languageId: string) {
 		this._languageId = languageId;
 	}
 
@@ -44,11 +44,11 @@ class Mode implements IMode {
  */
 class LineContext implements ILineContext {
 
-	public modeTransitions:ModeTransition[];
-	private _text:string;
-	private _lineTokens:LineTokens;
+	public modeTransitions: ModeTransition[];
+	private _text: string;
+	private _lineTokens: LineTokens;
 
-	constructor (topLevelModeId:string, line:ModelLine, map:TokensInflatorMap) {
+	constructor(topLevelModeId: string, line: ModelLine, map: TokensInflatorMap) {
 		this.modeTransitions = line.getModeTransitions(topLevelModeId);
 		this._text = line.text;
 		this._lineTokens = line.getTokens(map);
@@ -62,15 +62,15 @@ class LineContext implements ILineContext {
 		return this._lineTokens.getTokenCount();
 	}
 
-	public getTokenStartOffset(tokenIndex:number): number {
+	public getTokenStartOffset(tokenIndex: number): number {
 		return this._lineTokens.getTokenStartOffset(tokenIndex);
 	}
 
-	public getTokenType(tokenIndex:number): string {
+	public getTokenType(tokenIndex: number): string {
 		return this._lineTokens.getTokenType(tokenIndex);
 	}
 
-	public findIndexOfOffset(offset:number): number {
+	public findIndexOfOffset(offset: number): number {
 		return this._lineTokens.findTokenIndexAtOffset(offset);
 	}
 }
@@ -82,14 +82,14 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 	private _languageId: string;
 	private _tokenizationListener: IDisposable;
 	private _tokenizationSupport: ITokenizationSupport;
-	private _tokensInflatorMap:TokensInflatorMap;
+	private _tokensInflatorMap: TokensInflatorMap;
 
-	private _invalidLineStartIndex:number;
-	private _lastState:IState;
+	private _invalidLineStartIndex: number;
+	private _lastState: IState;
 
-	private _revalidateTokensTimeout:number;
+	private _revalidateTokensTimeout: number;
 
-	constructor(allowedEventTypes:string[], rawText:editorCommon.IRawText, languageId:string) {
+	constructor(allowedEventTypes: string[], rawText: editorCommon.IRawText, languageId: string) {
 		allowedEventTypes.push(editorCommon.EventType.ModelTokensChanged);
 		allowedEventTypes.push(editorCommon.EventType.ModelModeChanged);
 		super(allowedEventTypes, rawText);
@@ -126,7 +126,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return false;
 	}
 
-	protected _resetValue(e:editorCommon.IModelContentChangedFlushEvent, newValue:editorCommon.IRawText): void {
+	protected _resetValue(e: editorCommon.IModelContentChangedFlushEvent, newValue: editorCommon.IRawText): void {
 		super._resetValue(e, newValue);
 		// Cancel tokenization, clear all tokens and begin tokenizing
 		this._resetTokenizationState();
@@ -144,7 +144,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		}
 
 		if (this._tokenizationSupport) {
-			let initialState:IState = null;
+			let initialState: IState = null;
 			try {
 				initialState = this._tokenizationSupport.getInitialState();
 			} catch (e) {
@@ -171,7 +171,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		}
 	}
 
-	public getLineTokens(lineNumber:number, inaccurateTokensAcceptable:boolean = false): LineTokens {
+	public getLineTokens(lineNumber: number, inaccurateTokensAcceptable: boolean = false): LineTokens {
 		if (lineNumber < 1 || lineNumber > this.getLineCount()) {
 			throw new Error('Illegal value ' + lineNumber + ' for `lineNumber`');
 		}
@@ -182,7 +182,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return this._lines[lineNumber - 1].getTokens(this._tokensInflatorMap);
 	}
 
-	public getLineContext(lineNumber:number): ILineContext {
+	public getLineContext(lineNumber: number): ILineContext {
 		if (lineNumber < 1 || lineNumber > this.getLineCount()) {
 			throw new Error('Illegal value ' + lineNumber + ' for `lineNumber`');
 		}
@@ -200,13 +200,13 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return this.getMode().getId();
 	}
 
-	public setMode(languageId:string): void {
+	public setMode(languageId: string): void {
 		if (this._languageId === languageId) {
 			// There's nothing to do
 			return;
 		}
 
-		let e:editorCommon.IModelModeChangedEvent = {
+		let e: editorCommon.IModelModeChangedEvent = {
 			oldMode: new Mode(this._languageId),
 			newMode: new Mode(languageId)
 		};
@@ -220,7 +220,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		this._emitModelModeChangedEvent(e);
 	}
 
-	public getModeIdAtPosition(_lineNumber:number, _column:number): string {
+	public getModeIdAtPosition(_lineNumber: number, _column: number): string {
 		if (!this._tokenizationSupport) {
 			return this.getModeId();
 		}
@@ -243,7 +243,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		}
 	}
 
-	protected _invalidateLine(lineIndex:number): void {
+	protected _invalidateLine(lineIndex: number): void {
 		this._lines[lineIndex].isInvalid = true;
 		if (lineIndex < this._invalidLineStartIndex) {
 			if (this._invalidLineStartIndex < this._lines.length) {
@@ -282,7 +282,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		}
 	}
 
-	private _revalidateTokensNow(toLineNumber:number = this._invalidLineStartIndex + 1000000): void {
+	private _revalidateTokensNow(toLineNumber: number = this._invalidLineStartIndex + 1000000): void {
 
 		var t1 = timer.start(timer.Topic.EDITOR, 'backgroundTokenization');
 		toLineNumber = Math.min(this._lines.length, toLineNumber);
@@ -337,17 +337,17 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		t1.stop();
 	}
 
-	private getStateBeforeLine(lineNumber:number): IState {
+	private getStateBeforeLine(lineNumber: number): IState {
 		this._updateTokensUntilLine(lineNumber - 1, true);
 		return this._lines[lineNumber - 1].getState();
 	}
 
-	private getStateAfterLine(lineNumber:number): IState {
+	private getStateAfterLine(lineNumber: number): IState {
 		this._updateTokensUntilLine(lineNumber, true);
 		return lineNumber < this._lines.length ? this._lines[lineNumber].getState() : this._lastState;
 	}
 
-	_getLineModeTransitions(lineNumber:number): ModeTransition[] {
+	_getLineModeTransitions(lineNumber: number): ModeTransition[] {
 		if (lineNumber < 1 || lineNumber > this.getLineCount()) {
 			throw new Error('Illegal value ' + lineNumber + ' for `lineNumber`');
 		}
@@ -355,7 +355,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return this._lines[lineNumber - 1].getModeTransitions(this.getModeId());
 	}
 
-	private _updateTokensUntilLine(lineNumber:number, emitEvents:boolean): void {
+	private _updateTokensUntilLine(lineNumber: number, emitEvents: boolean): void {
 		if (!this._tokenizationSupport) {
 			this._invalidLineStartIndex = this._lines.length;
 			return;
@@ -370,7 +370,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		// Validate all states up to and including endLineIndex
 		for (var lineIndex = this._invalidLineStartIndex; lineIndex <= endLineIndex; lineIndex++) {
 			var endStateIndex = lineIndex + 1;
-			var r:ILineTokens = null;
+			var r: ILineTokens = null;
 			var text = this._lines[lineIndex].text;
 
 			try {
@@ -442,8 +442,8 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		}
 	}
 
-	private emitModelTokensChangedEvent(fromLineNumber:number, toLineNumber:number): void {
-		var e:editorCommon.IModelTokensChangedEvent = {
+	private emitModelTokensChangedEvent(fromLineNumber: number, toLineNumber: number): void {
+		var e: editorCommon.IModelTokensChangedEvent = {
 			fromLineNumber: fromLineNumber,
 			toLineNumber: toLineNumber
 		};
@@ -452,7 +452,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		}
 	}
 
-	private _emitModelModeChangedEvent(e:editorCommon.IModelModeChangedEvent): void {
+	private _emitModelModeChangedEvent(e: editorCommon.IModelModeChangedEvent): void {
 		if (!this._isDisposing) {
 			this.emit(editorCommon.EventType.ModelModeChanged, e);
 		}
@@ -460,7 +460,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 
 	// Having tokens allows implementing additional helper methods
 
-	_lineIsTokenized(lineNumber:number): boolean {
+	_lineIsTokenized(lineNumber: number): boolean {
 		return this._invalidLineStartIndex > lineNumber - 1;
 	}
 
@@ -468,7 +468,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return WordHelper.massageWordDefinitionOf(this.getModeId());
 	}
 
-	public getWordAtPosition(position:editorCommon.IPosition): editorCommon.IWordAtPosition {
+	public getWordAtPosition(position: editorCommon.IPosition): editorCommon.IWordAtPosition {
 		return WordHelper.getWordAtPosition(this, this.validatePosition(position));
 	}
 
@@ -488,14 +488,14 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		};
 	}
 
-	public tokenIterator(position:editorCommon.IPosition, callback:(it:TokenIterator)=>any): any {
+	public tokenIterator(position: editorCommon.IPosition, callback: (it: TokenIterator) => any): any {
 		var iter = new TokenIterator(this, this.validatePosition(position));
 		var result = callback(iter);
 		iter._invalidate();
 		return result;
 	}
 
-	public findMatchingBracketUp(_bracket:string, _position:editorCommon.IPosition): Range {
+	public findMatchingBracketUp(_bracket: string, _position: editorCommon.IPosition): Range {
 		let bracket = _bracket.toLowerCase();
 		let position = this.validatePosition(_position);
 
@@ -517,11 +517,11 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return this._findMatchingBracketUp(data, position);
 	}
 
-	public matchBracket(position:editorCommon.IPosition): [Range,Range] {
+	public matchBracket(position: editorCommon.IPosition): [Range, Range] {
 		return this._matchBracket(this.validatePosition(position));
 	}
 
-	private _matchBracket(position:Position): [Range,Range] {
+	private _matchBracket(position: Position): [Range, Range] {
 		const lineNumber = position.lineNumber;
 		const lineTokens = this._lines[lineNumber - 1].getTokens(this._tokensInflatorMap);
 		const lineText = this._lines[lineNumber - 1].text;
@@ -608,7 +608,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return null;
 	}
 
-	private _matchFoundBracket(foundBracket:Range, data:editorCommon.IRichEditBracket, isOpen:boolean): [Range,Range] {
+	private _matchFoundBracket(foundBracket: Range, data: editorCommon.IRichEditBracket, isOpen: boolean): [Range, Range] {
 		if (isOpen) {
 			let matched = this._findMatchingBracketDown(data, foundBracket.getEndPosition());
 			if (matched) {
@@ -624,7 +624,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return null;
 	}
 
-	private _findMatchingBracketUp(bracket:editorCommon.IRichEditBracket, position:Position): Range {
+	private _findMatchingBracketUp(bracket: editorCommon.IRichEditBracket, position: Position): Range {
 		// console.log('_findMatchingBracketUp: ', 'bracket: ', JSON.stringify(bracket), 'startPosition: ', String(position));
 
 		const modeId = bracket.modeId;
@@ -647,7 +647,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 				}
 			}
 
-			while(currentToken) {
+			while (currentToken) {
 				if (currentToken.modeId === modeId && !ignoreBracketsInToken(currentToken.type)) {
 
 					while (true) {
@@ -683,7 +683,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return null;
 	}
 
-	private _findMatchingBracketDown(bracket:editorCommon.IRichEditBracket, position:Position): Range {
+	private _findMatchingBracketDown(bracket: editorCommon.IRichEditBracket, position: Position): Range {
 		// console.log('_findMatchingBracketDown: ', 'bracket: ', JSON.stringify(bracket), 'startPosition: ', String(position));
 
 		const modeId = bracket.modeId;
@@ -741,7 +741,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return null;
 	}
 
-	public findPrevBracket(_position:editorCommon.IPosition): editorCommon.IFoundBracket {
+	public findPrevBracket(_position: editorCommon.IPosition): editorCommon.IFoundBracket {
 		const position = this.validatePosition(_position);
 
 		let modeId: string = null;
@@ -784,7 +784,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return null;
 	}
 
-	public findNextBracket(_position:editorCommon.IPosition): editorCommon.IFoundBracket {
+	public findNextBracket(_position: editorCommon.IPosition): editorCommon.IFoundBracket {
 		const position = this.validatePosition(_position);
 
 		let modeId: string = null;
@@ -827,7 +827,7 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke
 		return null;
 	}
 
-	private _toFoundBracket(modeBrackets: IRichEditBrackets, r:Range): editorCommon.IFoundBracket {
+	private _toFoundBracket(modeBrackets: IRichEditBrackets, r: Range): editorCommon.IFoundBracket {
 		if (!r) {
 			return null;
 		}
diff --git a/src/vs/editor/common/model/textModelWithTokensHelpers.ts b/src/vs/editor/common/model/textModelWithTokensHelpers.ts
index 575e207de2d5c..bac95c1ede0ed 100644
--- a/src/vs/editor/common/model/textModelWithTokensHelpers.ts
+++ b/src/vs/editor/common/model/textModelWithTokensHelpers.ts
@@ -4,33 +4,33 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IPosition, IWordAtPosition} from 'vs/editor/common/editorCommon';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {getWordAtText, ensureValidWordDefinition} from 'vs/editor/common/model/wordHelper';
+import { IPosition, IWordAtPosition } from 'vs/editor/common/editorCommon';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { getWordAtText, ensureValidWordDefinition } from 'vs/editor/common/model/wordHelper';
 
 export interface ITextSource {
 
-	_lineIsTokenized(lineNumber:number): boolean;
+	_lineIsTokenized(lineNumber: number): boolean;
 
-	getLineContent(lineNumber:number): string;
+	getLineContent(lineNumber: number): string;
 
 	getModeId(): string;
 
-	_getLineModeTransitions(lineNumber:number): ModeTransition[];
+	_getLineModeTransitions(lineNumber: number): ModeTransition[];
 }
 
 export class WordHelper {
 
-	private static _safeGetWordDefinition(modeId:string): RegExp {
+	private static _safeGetWordDefinition(modeId: string): RegExp {
 		return LanguageConfigurationRegistry.getWordDefinition(modeId);
 	}
 
-	public static massageWordDefinitionOf(modeId:string): RegExp {
+	public static massageWordDefinitionOf(modeId: string): RegExp {
 		return ensureValidWordDefinition(WordHelper._safeGetWordDefinition(modeId));
 	}
 
-	private static _getWordAtColumn(txt:string, column:number, modeIndex: number, modeTransitions:ModeTransition[]): IWordAtPosition {
+	private static _getWordAtColumn(txt: string, column: number, modeIndex: number, modeTransitions: ModeTransition[]): IWordAtPosition {
 		let modeStartIndex = modeTransitions[modeIndex].startIndex;
 		let modeEndIndex = (modeIndex + 1 < modeTransitions.length ? modeTransitions[modeIndex + 1].startIndex : txt.length);
 		let modeId = modeTransitions[modeIndex].modeId;
@@ -41,7 +41,7 @@ export class WordHelper {
 		);
 	}
 
-	public static getWordAtPosition(textSource:ITextSource, position:IPosition): IWordAtPosition {
+	public static getWordAtPosition(textSource: ITextSource, position: IPosition): IWordAtPosition {
 
 		if (!textSource._lineIsTokenized(position.lineNumber)) {
 			return getWordAtText(position.column, WordHelper.massageWordDefinitionOf(textSource.getModeId()), textSource.getLineContent(position.lineNumber), 0);
diff --git a/src/vs/editor/common/model/textModelWithTrackedRanges.ts b/src/vs/editor/common/model/textModelWithTrackedRanges.ts
index c188b1604a311..85703fb87196e 100644
--- a/src/vs/editor/common/model/textModelWithTrackedRanges.ts
+++ b/src/vs/editor/common/model/textModelWithTrackedRanges.ts
@@ -4,33 +4,33 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IdGenerator} from 'vs/base/common/idGenerator';
-import {Range} from 'vs/editor/common/core/range';
+import { IdGenerator } from 'vs/base/common/idGenerator';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ILineMarker} from 'vs/editor/common/model/modelLine';
-import {INewMarker, TextModelWithMarkers} from 'vs/editor/common/model/textModelWithMarkers';
-import {Position} from 'vs/editor/common/core/position';
+import { ILineMarker } from 'vs/editor/common/model/modelLine';
+import { INewMarker, TextModelWithMarkers } from 'vs/editor/common/model/textModelWithMarkers';
+import { Position } from 'vs/editor/common/core/position';
 
 interface ITrackedRange {
-	id:string;
-	startMarkerId:string;
-	endMarkerId:string;
+	id: string;
+	startMarkerId: string;
+	endMarkerId: string;
 }
 
 interface ITrackedRangesMap {
-	[key:string]:ITrackedRange;
+	[key: string]: ITrackedRange;
 }
 
 interface IMarkerIdToRangeIdMap {
-	[key:string]:string;
+	[key: string]: string;
 }
 
 class TrackedRange implements ITrackedRange {
-	id:string;
-	startMarkerId:string;
-	endMarkerId:string;
+	id: string;
+	startMarkerId: string;
+	endMarkerId: string;
 
-	constructor(id:string, startMarkedId:string, endMarkerId:string) {
+	constructor(id: string, startMarkedId: string, endMarkerId: string) {
 		this.id = id;
 		this.startMarkerId = startMarkedId;
 		this.endMarkerId = endMarkerId;
@@ -42,11 +42,11 @@ var _INSTANCE_COUNT = 0;
 export class TextModelWithTrackedRanges extends TextModelWithMarkers implements editorCommon.ITextModelWithTrackedRanges {
 
 	private _rangeIdGenerator: IdGenerator;
-	private _ranges:ITrackedRangesMap;
-	private _markerIdToRangeId:IMarkerIdToRangeIdMap;
-	private _multiLineTrackedRanges: { [key:string]: boolean; };
+	private _ranges: ITrackedRangesMap;
+	private _markerIdToRangeId: IMarkerIdToRangeIdMap;
+	private _multiLineTrackedRanges: { [key: string]: boolean; };
 
-	constructor(allowedEventTypes:string[], rawText:editorCommon.IRawText, languageId:string) {
+	constructor(allowedEventTypes: string[], rawText: editorCommon.IRawText, languageId: string) {
 		super(allowedEventTypes, rawText, languageId);
 		this._rangeIdGenerator = new IdGenerator((++_INSTANCE_COUNT) + ';');
 		this._ranges = {};
@@ -61,7 +61,7 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		super.dispose();
 	}
 
-	protected _resetValue(e:editorCommon.IModelContentChangedFlushEvent, newValue:editorCommon.IRawText): void {
+	protected _resetValue(e: editorCommon.IModelContentChangedFlushEvent, newValue: editorCommon.IRawText): void {
 		super._resetValue(e, newValue);
 
 		// Destroy all my tracked ranges
@@ -79,14 +79,14 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		}
 	}
 
-	private _shouldStartMarkerSticksToPreviousCharacter(stickiness:editorCommon.TrackedRangeStickiness): boolean {
+	private _shouldStartMarkerSticksToPreviousCharacter(stickiness: editorCommon.TrackedRangeStickiness): boolean {
 		if (stickiness === editorCommon.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges || stickiness === editorCommon.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore) {
 			return true;
 		}
 		return false;
 	}
 
-	private _shouldEndMarkerSticksToPreviousCharacter(stickiness:editorCommon.TrackedRangeStickiness): boolean {
+	private _shouldEndMarkerSticksToPreviousCharacter(stickiness: editorCommon.TrackedRangeStickiness): boolean {
 		if (stickiness === editorCommon.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges || stickiness === editorCommon.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore) {
 			return true;
 		}
@@ -97,7 +97,7 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		return Object.keys(this._ranges).length;
 	}
 
-	public addTrackedRange(textRange:editorCommon.IRange, stickiness:editorCommon.TrackedRangeStickiness): string {
+	public addTrackedRange(textRange: editorCommon.IRange, stickiness: editorCommon.TrackedRangeStickiness): string {
 		textRange = this.validateRange(textRange);
 
 		var startMarkerSticksToPreviousCharacter = this._shouldStartMarkerSticksToPreviousCharacter(stickiness);
@@ -116,7 +116,7 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		return range.id;
 	}
 
-	protected _addTrackedRanges(textRanges:editorCommon.IRange[], stickinessArr:editorCommon.TrackedRangeStickiness[]): string[] {
+	protected _addTrackedRanges(textRanges: editorCommon.IRange[], stickinessArr: editorCommon.TrackedRangeStickiness[]): string[] {
 		let addMarkers: INewMarker[] = [];
 		for (let i = 0, len = textRanges.length; i < len; i++) {
 			let textRange = textRanges[i];
@@ -136,7 +136,7 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 
 		let markerIds = this._addMarkers(addMarkers);
 
-		let result:string[] = [];
+		let result: string[] = [];
 		for (let i = 0, len = textRanges.length; i < len; i++) {
 			let textRange = textRanges[i];
 			let startMarkerId = markerIds[2 * i];
@@ -155,7 +155,7 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		return result;
 	}
 
-	public changeTrackedRange(rangeId:string, newTextRange:editorCommon.IRange): void {
+	public changeTrackedRange(rangeId: string, newTextRange: editorCommon.IRange): void {
 		if (this._ranges.hasOwnProperty(rangeId)) {
 			newTextRange = this.validateRange(newTextRange);
 
@@ -167,7 +167,7 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		}
 	}
 
-	public changeTrackedRangeStickiness(rangeId:string, newStickiness:editorCommon.TrackedRangeStickiness): void {
+	public changeTrackedRangeStickiness(rangeId: string, newStickiness: editorCommon.TrackedRangeStickiness): void {
 		if (this._ranges.hasOwnProperty(rangeId)) {
 			var range = this._ranges[rangeId];
 			this._changeMarkerStickiness(range.startMarkerId, this._shouldStartMarkerSticksToPreviousCharacter(newStickiness));
@@ -175,14 +175,14 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		}
 	}
 
-	public isValidTrackedRange(rangeId:string): boolean {
+	public isValidTrackedRange(rangeId: string): boolean {
 		if (this._isDisposed || !this._ranges) {
 			return false;
 		}
 		return this._ranges.hasOwnProperty(rangeId);
 	}
 
-	public removeTrackedRange(rangeId:string): void {
+	public removeTrackedRange(rangeId: string): void {
 		if (this._ranges.hasOwnProperty(rangeId)) {
 			var range = this._ranges[rangeId];
 
@@ -196,7 +196,7 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		}
 	}
 
-	protected removeTrackedRanges(ids:string[]): void {
+	protected removeTrackedRanges(ids: string[]): void {
 		let removeMarkers: string[] = [];
 
 		for (let i = 0, len = ids.length; i < len; i++) {
@@ -233,7 +233,7 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		return new Range(startPosition.lineNumber, startPosition.column, endPosition.lineNumber, endPosition.column);
 	}
 
-	public getTrackedRange(rangeId:string): Range {
+	public getTrackedRange(rangeId: string): Range {
 		var range = this._ranges[rangeId];
 		var startMarker = this._getMarker(range.startMarkerId);
 		var endMarker = this._getMarker(range.endMarkerId);
@@ -271,9 +271,9 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		return result;
 	}
 
-	public getLinesTrackedRanges(startLineNumber:number, endLineNumber:number): editorCommon.IModelTrackedRange[] {
+	public getLinesTrackedRanges(startLineNumber: number, endLineNumber: number): editorCommon.IModelTrackedRange[] {
 		var result = this._getMultiLineTrackedRanges(startLineNumber, endLineNumber),
-			resultMap: { [rangeId:string]: boolean; } = {},
+			resultMap: { [rangeId: string]: boolean; } = {},
 			lineMarkers: editorCommon.IReadOnlyLineMarker[],
 			lineMarker: editorCommon.IReadOnlyLineMarker,
 			rangeId: string,
@@ -311,14 +311,14 @@ export class TextModelWithTrackedRanges extends TextModelWithMarkers implements
 		return result;
 	}
 
-	protected _onChangedMarkers(changedMarkers:ILineMarker[]): editorCommon.IChangedTrackedRanges {
-		var changedRanges:editorCommon.IChangedTrackedRanges = {},
-			changedRange:editorCommon.IRange,
-			range:ITrackedRange,
-			rangeId:string,
-			marker:ILineMarker,
-			i:number,
-			len:number;
+	protected _onChangedMarkers(changedMarkers: ILineMarker[]): editorCommon.IChangedTrackedRanges {
+		var changedRanges: editorCommon.IChangedTrackedRanges = {},
+			changedRange: editorCommon.IRange,
+			range: ITrackedRange,
+			rangeId: string,
+			marker: ILineMarker,
+			i: number,
+			len: number;
 
 		for (i = 0, len = changedMarkers.length; i < len; i++) {
 			marker = changedMarkers[i];
diff --git a/src/vs/editor/common/model/tokenIterator.ts b/src/vs/editor/common/model/tokenIterator.ts
index 57a3d033768f1..f37dfb66e4e6f 100644
--- a/src/vs/editor/common/model/tokenIterator.ts
+++ b/src/vs/editor/common/model/tokenIterator.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {LineToken} from 'vs/editor/common/core/lineTokens';
-import {Position} from 'vs/editor/common/core/position';
+import { LineToken } from 'vs/editor/common/core/lineTokens';
+import { Position } from 'vs/editor/common/core/position';
 
 class TokenInfo implements editorCommon.ITokenInfo {
 	_tokenInfoBrand: void;
@@ -17,7 +17,7 @@ class TokenInfo implements editorCommon.ITokenInfo {
 	public endColumn: number;
 	public type: string;
 
-	constructor(actual:LineToken, lineNumber:number) {
+	constructor(actual: LineToken, lineNumber: number) {
 		this._actual = actual;
 		this.lineNumber = lineNumber;
 		this.startColumn = this._actual.startOffset + 1;
@@ -26,7 +26,7 @@ class TokenInfo implements editorCommon.ITokenInfo {
 	}
 }
 
-function findClosestNonEmptyLine(model:editorCommon.ITokenizedModel, position:Position): Position {
+function findClosestNonEmptyLine(model: editorCommon.ITokenizedModel, position: Position): Position {
 	const lineNumber = position.lineNumber;
 	if (model.getLineMaxColumn(lineNumber) !== 1) {
 		return position;
@@ -68,12 +68,12 @@ function findClosestNonEmptyLine(model:editorCommon.ITokenizedModel, position:Po
 
 export class TokenIterator implements editorCommon.ITokenIterator {
 
-	private _model:editorCommon.ITokenizedModel;
-	private _lineCount:number;
-	private _prev:TokenInfo;
-	private _next:TokenInfo;
+	private _model: editorCommon.ITokenizedModel;
+	private _lineCount: number;
+	private _prev: TokenInfo;
+	private _next: TokenInfo;
 
-	constructor(model:editorCommon.ITokenizedModel, position:Position) {
+	constructor(model: editorCommon.ITokenizedModel, position: Position) {
 		this._model = model;
 		this._lineCount = this._model.getLineCount();
 		this._prev = null;
@@ -153,7 +153,7 @@ export class TokenIterator implements editorCommon.ITokenIterator {
 
 	public _invalidate() {
 		// replace all public functions with errors
-		var errorFn = function(): any {
+		var errorFn = function (): any {
 			throw new Error('iteration isn\'t valid anymore');
 		};
 		this.hasNext = errorFn;
diff --git a/src/vs/editor/common/model/tokensBinaryEncoding.ts b/src/vs/editor/common/model/tokensBinaryEncoding.ts
index 97df63dc4e67d..7ac1b7e089179 100644
--- a/src/vs/editor/common/model/tokensBinaryEncoding.ts
+++ b/src/vs/editor/common/model/tokensBinaryEncoding.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
+import { onUnexpectedError } from 'vs/base/common/errors';
 import * as strings from 'vs/base/common/strings';
-import {ViewLineToken} from 'vs/editor/common/core/viewLineToken';
-import {Token} from 'vs/editor/common/core/token';
+import { ViewLineToken } from 'vs/editor/common/core/viewLineToken';
+import { Token } from 'vs/editor/common/core/token';
 
 export const enum TokensBinaryEncodingValues {
 	START_INDEX_MASK = 0xffffffff,
@@ -17,31 +17,31 @@ export const enum TokensBinaryEncodingValues {
 }
 
 const DEFAULT_VIEW_TOKEN = new ViewLineToken(0, '');
-const INFLATED_TOKENS_EMPTY_TEXT:ViewLineToken[] = [];
-export const DEFLATED_TOKENS_EMPTY_TEXT:number[] = [];
-const INFLATED_TOKENS_NON_EMPTY_TEXT:ViewLineToken[] = [DEFAULT_VIEW_TOKEN];
-export const DEFLATED_TOKENS_NON_EMPTY_TEXT:number[] = [0];
+const INFLATED_TOKENS_EMPTY_TEXT: ViewLineToken[] = [];
+export const DEFLATED_TOKENS_EMPTY_TEXT: number[] = [];
+const INFLATED_TOKENS_NON_EMPTY_TEXT: ViewLineToken[] = [DEFAULT_VIEW_TOKEN];
+export const DEFLATED_TOKENS_NON_EMPTY_TEXT: number[] = [0];
 
 export class TokensInflatorMap {
 	_tokensInflatorMapBrand: void;
 
 	public topLevelModeId: string;
-	public _inflate:string[];
+	public _inflate: string[];
 
 	public _deflate: {
-		[token:string]:number;
+		[token: string]: number;
 	};
 
 	constructor(topLevelModeId: string) {
 		this.topLevelModeId = topLevelModeId;
-		this._inflate = [ '' ];
+		this._inflate = [''];
 		this._deflate = { '': 0 };
 	}
 }
 
 export class TokensBinaryEncoding {
 
-	public static deflateArr(map:TokensInflatorMap, tokens:Token[]): number[] {
+	public static deflateArr(map: TokensInflatorMap, tokens: Token[]): number[] {
 		if (tokens.length === 0) {
 			return DEFLATED_TOKENS_EMPTY_TEXT;
 		}
@@ -49,15 +49,15 @@ export class TokensBinaryEncoding {
 			return DEFLATED_TOKENS_NON_EMPTY_TEXT;
 		}
 
-		var i:number,
-			len:number,
-			deflatedToken:number,
-			deflated:number,
-			token:Token,
+		var i: number,
+			len: number,
+			deflatedToken: number,
+			deflated: number,
+			token: Token,
 			inflateMap = map._inflate,
 			deflateMap = map._deflate,
-			prevStartIndex:number = -1,
-			result:number[] = new Array(tokens.length);
+			prevStartIndex: number = -1,
+			result: number[] = new Array(tokens.length);
 
 		for (i = 0, len = tokens.length; i < len; i++) {
 			token = tokens[i];
@@ -101,11 +101,11 @@ export class TokensBinaryEncoding {
 		return result;
 	}
 
-	public static getStartIndex(binaryEncodedToken:number): number {
+	public static getStartIndex(binaryEncodedToken: number): number {
 		return (binaryEncodedToken / TokensBinaryEncodingValues.START_INDEX_OFFSET) & TokensBinaryEncodingValues.START_INDEX_MASK;
 	}
 
-	public static getType(map:TokensInflatorMap, binaryEncodedToken:number): string {
+	public static getType(map: TokensInflatorMap, binaryEncodedToken: number): string {
 		var deflatedType = (binaryEncodedToken / TokensBinaryEncodingValues.TYPE_OFFSET) & TokensBinaryEncodingValues.TYPE_MASK;
 		if (deflatedType === 0) {
 			return strings.empty;
@@ -113,7 +113,7 @@ export class TokensBinaryEncoding {
 		return map._inflate[deflatedType];
 	}
 
-	public static inflateArr(map:TokensInflatorMap, binaryEncodedTokens:number[]): ViewLineToken[] {
+	public static inflateArr(map: TokensInflatorMap, binaryEncodedTokens: number[]): ViewLineToken[] {
 		if (binaryEncodedTokens.length === 0) {
 			return INFLATED_TOKENS_EMPTY_TEXT;
 		}
@@ -136,11 +136,11 @@ export class TokensBinaryEncoding {
 		return result;
 	}
 
-	public static findIndexOfOffset(binaryEncodedTokens:number[], offset:number): number {
+	public static findIndexOfOffset(binaryEncodedTokens: number[], offset: number): number {
 		return this.findIndexInSegmentsArray(binaryEncodedTokens, offset);
 	}
 
-	public static sliceAndInflate(map:TokensInflatorMap, binaryEncodedTokens:number[], startOffset:number, endOffset:number, deltaStartIndex:number): ViewLineToken[] {
+	public static sliceAndInflate(map: TokensInflatorMap, binaryEncodedTokens: number[], startOffset: number, endOffset: number, deltaStartIndex: number): ViewLineToken[] {
 		if (binaryEncodedTokens.length === 0) {
 			return INFLATED_TOKENS_EMPTY_TEXT;
 		}
@@ -173,16 +173,16 @@ export class TokensBinaryEncoding {
 		return result;
 	}
 
-	private static findIndexInSegmentsArray(arr:number[], desiredIndex: number):number {
+	private static findIndexInSegmentsArray(arr: number[], desiredIndex: number): number {
 
 		var low = 0,
 			high = arr.length - 1,
-			mid:number,
-			value:number;
+			mid: number,
+			value: number;
 
 		while (low < high) {
 
-			mid = low + Math.ceil((high - low)/2);
+			mid = low + Math.ceil((high - low) / 2);
 
 			value = arr[mid] & 0xffffffff;
 
diff --git a/src/vs/editor/common/model/wordHelper.ts b/src/vs/editor/common/model/wordHelper.ts
index 2fefeae019dc1..a2e4e65ddbd79 100644
--- a/src/vs/editor/common/model/wordHelper.ts
+++ b/src/vs/editor/common/model/wordHelper.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IWordAtPosition} from 'vs/editor/common/editorCommon';
+import { IWordAtPosition } from 'vs/editor/common/editorCommon';
 
 export const USUAL_WORD_SEPARATORS = '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?';
 
@@ -15,7 +15,7 @@ export const USUAL_WORD_SEPARATORS = '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?';
  * The default would look like this:
  * /(-?\d*\.\d\w*)|([^\`\~\!\@\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g
  */
-function createWordRegExp(allowInWords:string = ''): RegExp {
+function createWordRegExp(allowInWords: string = ''): RegExp {
 	var usualSeparators = USUAL_WORD_SEPARATORS;
 	var source = '(-?\\d*\\.\\d\\w*)|([^';
 	for (var i = 0; i < usualSeparators.length; i++) {
@@ -31,7 +31,7 @@ function createWordRegExp(allowInWords:string = ''): RegExp {
 // catches numbers (including floating numbers) in the first group, and alphanum in the second
 export const DEFAULT_WORD_REGEXP = createWordRegExp();
 
-export function ensureValidWordDefinition(wordDefinition?:RegExp): RegExp {
+export function ensureValidWordDefinition(wordDefinition?: RegExp): RegExp {
 	var result: RegExp = DEFAULT_WORD_REGEXP;
 
 	if (wordDefinition && (wordDefinition instanceof RegExp)) {
@@ -54,17 +54,17 @@ export function ensureValidWordDefinition(wordDefinition?:RegExp): RegExp {
 	return result;
 }
 
-export function getWordAtText(column:number, wordDefinition:RegExp, text:string, textOffset:number): IWordAtPosition {
+export function getWordAtText(column: number, wordDefinition: RegExp, text: string, textOffset: number): IWordAtPosition {
 
 	// console.log('_getWordAtText: ', column, text, textOffset);
 
 	var words = text.match(wordDefinition),
-		k:number,
-		startWord:number,
-		endWord:number,
-		startColumn:number,
-		endColumn:number,
-		word:string;
+		k: number,
+		startWord: number,
+		endWord: number,
+		startColumn: number,
+		endColumn: number,
+		word: string;
 
 	if (words) {
 		for (k = 0; k < words.length; k++) {
diff --git a/src/vs/editor/common/modes.ts b/src/vs/editor/common/modes.ts
index 90339beb8d0db..f1de4d19405a8 100644
--- a/src/vs/editor/common/modes.ts
+++ b/src/vs/editor/common/modes.ts
@@ -4,36 +4,36 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {MarkedString} from 'vs/base/common/htmlContent';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { MarkedString } from 'vs/base/common/htmlContent';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IFilter} from 'vs/base/common/filters';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IFilter } from 'vs/base/common/filters';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {Token} from 'vs/editor/common/core/token';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { Token } from 'vs/editor/common/core/token';
 import LanguageFeatureRegistry from 'vs/editor/common/modes/languageFeatureRegistry';
-import {CancellationToken} from 'vs/base/common/cancellation';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import Event, {Emitter} from 'vs/base/common/event';
+import { CancellationToken } from 'vs/base/common/cancellation';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import Event, { Emitter } from 'vs/base/common/event';
 
 /**
  * @internal
  */
 export interface IState {
-	clone():IState;
-	equals(other:IState):boolean;
-	getModeId():string;
+	clone(): IState;
+	equals(other: IState): boolean;
+	getModeId(): string;
 	getStateData(): IState;
-	setStateData(state:IState):void;
+	setStateData(state: IState): void;
 }
 
 /**
  * @internal
  */
 export interface IModeDescriptor {
-	id:string;
+	id: string;
 }
 
 /**
@@ -58,12 +58,12 @@ export interface ILineContext {
 	/**
 	 * Get the start offset of the token at `tokenIndex`.
 	 */
-	getTokenStartOffset(tokenIndex:number): number;
+	getTokenStartOffset(tokenIndex: number): number;
 
 	/**
 	 * Get the type of the token at `tokenIndex`.
 	 */
-	getTokenType(tokenIndex:number): string;
+	getTokenType(tokenIndex: number): string;
 
 	/**
 	 * Find the token containing offset `offset`.
@@ -74,7 +74,7 @@ export interface ILineContext {
 	 * @param offset The search offset
 	 * @return The index of the token containing the offset.
 	 */
-	findIndexOfOffset(offset:number): number;
+	findIndexOfOffset(offset: number): number;
 }
 
 /**
@@ -101,11 +101,11 @@ export interface ILineTokens {
  */
 export interface ITokenizationSupport {
 
-	getInitialState():IState;
+	getInitialState(): IState;
 
 	// add offsetDelta to each of the returned indices
 	// stop tokenizing at absolute value stopAtOffset (i.e. stream.pos() + offsetDelta > stopAtOffset)
-	tokenize(line:string, state:IState, offsetDelta?:number, stopAtOffset?:number):ILineTokens;
+	tokenize(line: string, state: IState, offsetDelta?: number, stopAtOffset?: number): ILineTokens;
 }
 
 /**
@@ -113,7 +113,7 @@ export interface ITokenizationSupport {
  */
 export interface IToken2 {
 	startIndex: number;
-	scopes: string|string[];
+	scopes: string | string[];
 }
 /**
  * The result of a line tokenization.
@@ -139,8 +139,8 @@ export interface ILineTokens2 {
  * The model will clone the previous line's state and pass it in to tokenize the next line.
  */
 export interface IState2 {
-	clone():IState2;
-	equals(other:IState2):boolean;
+	clone(): IState2;
+	equals(other: IState2): boolean;
 }
 /**
  * A "manual" provider of tokens.
@@ -153,7 +153,7 @@ export interface TokensProvider {
 	/**
 	 * Tokenize a line given the state at the beginning of the line.
 	 */
-	tokenize(line:string, state:IState2): ILineTokens2;
+	tokenize(line: string, state: IState2): ILineTokens2;
 }
 
 /**
@@ -184,7 +184,7 @@ export interface HoverProvider {
 	 * position will be merged by the editor. A hover can have a range which defaults
 	 * to the word range at the position when omitted.
 	 */
-	provideHover(model:editorCommon.IReadOnlyModel, position:Position, token:CancellationToken): Hover | Thenable<Hover>;
+	provideHover(model: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken): Hover | Thenable<Hover>;
 }
 
 /**
@@ -234,7 +234,7 @@ export interface ISuggestion {
  */
 export interface ISuggestResult {
 	currentWord: string;
-	suggestions:ISuggestion[];
+	suggestions: ISuggestion[];
 	incomplete?: boolean;
 }
 
@@ -247,9 +247,9 @@ export interface ISuggestSupport {
 
 	filter?: IFilter;
 
-	provideCompletionItems(model:editorCommon.IReadOnlyModel, position:Position, token:CancellationToken): ISuggestResult | Thenable<ISuggestResult>;
+	provideCompletionItems(model: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken): ISuggestResult | Thenable<ISuggestResult>;
 
-	resolveCompletionItem?(model:editorCommon.IReadOnlyModel, position:Position, item: ISuggestion, token: CancellationToken): ISuggestion | Thenable<ISuggestion>;
+	resolveCompletionItem?(model: editorCommon.IReadOnlyModel, position: Position, item: ISuggestion, token: CancellationToken): ISuggestion | Thenable<ISuggestion>;
 }
 
 /**
@@ -268,7 +268,7 @@ export interface CodeActionProvider {
 	/**
 	 * Provide commands for the given document and range.
 	 */
-	provideCodeActions(model:editorCommon.IReadOnlyModel, range:Range, token: CancellationToken): CodeAction[] | Thenable<CodeAction[]>;
+	provideCodeActions(model: editorCommon.IReadOnlyModel, range: Range, token: CancellationToken): CodeAction[] | Thenable<CodeAction[]>;
 }
 
 /**
@@ -403,7 +403,7 @@ export interface ReferenceProvider {
 	/**
 	 * Provide a set of project-wide references for the given position and document.
 	 */
-	provideReferences(model:editorCommon.IReadOnlyModel, position:Position, context: ReferenceContext, token: CancellationToken): Location[] | Thenable<Location[]>;
+	provideReferences(model: editorCommon.IReadOnlyModel, position: Position, context: ReferenceContext, token: CancellationToken): Location[] | Thenable<Location[]>;
 }
 
 /**
@@ -435,7 +435,7 @@ export interface DefinitionProvider {
 	/**
 	 * Provide the definition of the symbol at the given position and document.
 	 */
-	provideDefinition(model:editorCommon.IReadOnlyModel, position:Position, token:CancellationToken): Definition | Thenable<Definition>;
+	provideDefinition(model: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken): Definition | Thenable<Definition>;
 }
 
 
@@ -594,7 +594,7 @@ export interface DocumentSymbolProvider {
 	/**
 	 * Provide symbol information for the given document.
 	 */
-	provideDocumentSymbols(model:editorCommon.IReadOnlyModel, token: CancellationToken): SymbolInformation[] | Thenable<SymbolInformation[]>;
+	provideDocumentSymbols(model: editorCommon.IReadOnlyModel, token: CancellationToken): SymbolInformation[] | Thenable<SymbolInformation[]>;
 }
 
 /**
@@ -604,11 +604,11 @@ export interface FormattingOptions {
 	/**
 	 * Size of a tab in spaces.
 	 */
-	tabSize:number;
+	tabSize: number;
 	/**
 	 * Prefer spaces over tabs.
 	 */
-	insertSpaces:boolean;
+	insertSpaces: boolean;
 }
 /**
  * The document formatting provider interface defines the contract between extensions and
@@ -655,7 +655,7 @@ export interface OnTypeFormattingEditProvider {
  */
 export interface IInplaceReplaceSupportResult {
 	value: string;
-	range:editorCommon.IRange;
+	range: editorCommon.IRange;
 }
 
 /**
@@ -684,7 +684,7 @@ export interface WorkspaceEdit {
 	rejectReason?: string;
 }
 export interface RenameProvider {
-	provideRenameEdits(model:editorCommon.IReadOnlyModel, position:Position, newName: string, token: CancellationToken): WorkspaceEdit | Thenable<WorkspaceEdit>;
+	provideRenameEdits(model: editorCommon.IReadOnlyModel, position: Position, newName: string, token: CancellationToken): WorkspaceEdit | Thenable<WorkspaceEdit>;
 }
 
 
@@ -699,8 +699,8 @@ export interface ICodeLensSymbol {
 	command?: Command;
 }
 export interface CodeLensProvider {
-	provideCodeLenses(model:editorCommon.IReadOnlyModel, token: CancellationToken): ICodeLensSymbol[] | Thenable<ICodeLensSymbol[]>;
-	resolveCodeLens?(model:editorCommon.IReadOnlyModel, codeLens: ICodeLensSymbol, token: CancellationToken): ICodeLensSymbol | Thenable<ICodeLensSymbol>;
+	provideCodeLenses(model: editorCommon.IReadOnlyModel, token: CancellationToken): ICodeLensSymbol[] | Thenable<ICodeLensSymbol[]>;
+	resolveCodeLens?(model: editorCommon.IReadOnlyModel, codeLens: ICodeLensSymbol, token: CancellationToken): ICodeLensSymbol | Thenable<ICodeLensSymbol>;
 }
 
 /**
@@ -723,13 +723,13 @@ export interface IElectricAction {
 
 	// The line will be indented at the same level of the line
 	// which contains the matching given bracket type.
-	matchOpenBracket?:string;
+	matchOpenBracket?: string;
 
 	// The text will be appended after the electric character.
-	appendText?:string;
+	appendText?: string;
 
 	// The number of characters to advance the cursor, useful with appendText
-	advanceCount?:number;
+	advanceCount?: number;
 }
 
 /**
@@ -763,31 +763,31 @@ export interface EnterAction {
 	/**
 	 * Describe what to do with the indentation.
 	 */
-	indentAction:IndentAction;
+	indentAction: IndentAction;
 	/**
 	 * Describes text to be appended after the new line and after the indentation.
 	 */
-	appendText?:string;
+	appendText?: string;
 	/**
 	 * Describes the number of characters to remove from the new line's indentation.
 	 */
-	removeText?:number;
+	removeText?: number;
 }
 
 /**
  * @internal
  */
 export interface IRichEditElectricCharacter {
-	getElectricCharacters():string[];
+	getElectricCharacters(): string[];
 	// Should return opening bracket type to match indentation with
-	onElectricCharacter(context:ILineContext, offset:number):IElectricAction;
+	onElectricCharacter(context: ILineContext, offset: number): IElectricAction;
 }
 
 /**
  * @internal
  */
 export interface IRichEditOnEnter {
-	onEnter(model:editorCommon.ITokenizedModel, position: editorCommon.IPosition): EnterAction;
+	onEnter(model: editorCommon.ITokenizedModel, position: editorCommon.IPosition): EnterAction;
 }
 
 /**
@@ -795,23 +795,23 @@ export interface IRichEditOnEnter {
  * @internal
  */
 export interface ICommentsConfiguration {
-	lineCommentToken?:string;
-	blockCommentStartToken?:string;
-	blockCommentEndToken?:string;
+	lineCommentToken?: string;
+	blockCommentStartToken?: string;
+	blockCommentEndToken?: string;
 }
 
 export interface IAutoClosingPair {
-	open:string;
-	close:string;
+	open: string;
+	close: string;
 }
 
 /**
  * @internal
  */
 export interface IRichEditCharacterPair {
-	getAutoClosingPairs():IAutoClosingPairConditional[];
-	shouldAutoClosePair(character:string, context:ILineContext, offset:number):boolean;
-	getSurroundingPairs():IAutoClosingPair[];
+	getAutoClosingPairs(): IAutoClosingPairConditional[];
+	shouldAutoClosePair(character: string, context: ILineContext, offset: number): boolean;
+	getSurroundingPairs(): IAutoClosingPair[];
 }
 
 /**
@@ -822,8 +822,8 @@ export interface IRichEditBrackets {
 	forwardRegex: RegExp;
 	reversedRegex: RegExp;
 	brackets: editorCommon.IRichEditBracket[];
-	textIsBracket: {[text:string]:editorCommon.IRichEditBracket;};
-	textIsOpenBracket: {[text:string]:boolean;};
+	textIsBracket: { [text: string]: editorCommon.IRichEditBracket; };
+	textIsOpenBracket: { [text: string]: boolean; };
 }
 
 // --- feature registries ------
@@ -910,7 +910,7 @@ export interface ITokenizationSupportChangedEvent {
  */
 export class TokenizationRegistryImpl {
 
-	private _map: {[languageId:string]:ITokenizationSupport};
+	private _map: { [languageId: string]: ITokenizationSupport };
 
 	private _onDidChange: Emitter<ITokenizationSupportChangedEvent> = new Emitter<ITokenizationSupportChangedEvent>();
 	public onDidChange: Event<ITokenizationSupportChangedEvent> = this._onDidChange.event;
@@ -923,11 +923,11 @@ export class TokenizationRegistryImpl {
 	 * Fire a change event for a language.
 	 * This is useful for languages that embed other languages.
 	 */
-	public fire(languageId:string): void {
+	public fire(languageId: string): void {
 		this._onDidChange.fire({ languageId: languageId });
 	}
 
-	public register(languageId:string, support:ITokenizationSupport): IDisposable {
+	public register(languageId: string, support: ITokenizationSupport): IDisposable {
 		this._map[languageId] = support;
 		this.fire(languageId);
 		return {
@@ -941,7 +941,7 @@ export class TokenizationRegistryImpl {
 		};
 	}
 
-	public get(languageId:string): ITokenizationSupport {
+	public get(languageId: string): ITokenizationSupport {
 		return (this._map[languageId] || null);
 	}
 }
diff --git a/src/vs/editor/common/modes/TMState.ts b/src/vs/editor/common/modes/TMState.ts
index e05ffc62d6daa..70aa03b87a699 100644
--- a/src/vs/editor/common/modes/TMState.ts
+++ b/src/vs/editor/common/modes/TMState.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IState} from 'vs/editor/common/modes';
-import {AbstractState} from 'vs/editor/common/modes/abstractState';
-import {StackElement} from 'vscode-textmate';
+import { IState } from 'vs/editor/common/modes';
+import { AbstractState } from 'vs/editor/common/modes/abstractState';
+import { StackElement } from 'vscode-textmate';
 
 export class TMState implements IState {
 
@@ -20,12 +20,12 @@ export class TMState implements IState {
 		this._ruleStack = ruleStack;
 	}
 
-	public clone():TMState {
+	public clone(): TMState {
 		let parentEmbedderStateClone = AbstractState.safeClone(this._parentEmbedderState);
 		return new TMState(this._modeId, parentEmbedderStateClone, this._ruleStack);
 	}
 
-	public equals(other:IState):boolean {
+	public equals(other: IState): boolean {
 		if (!other || !(other instanceof TMState)) {
 			return false;
 		}
@@ -46,15 +46,15 @@ export class TMState implements IState {
 		return this._ruleStack.equals(otherState._ruleStack);
 	}
 
-	public getModeId():string {
+	public getModeId(): string {
 		return this._modeId;
 	}
 
-	public getStateData():IState {
+	public getStateData(): IState {
 		return this._parentEmbedderState;
 	}
 
-	public setStateData(state:IState):void {
+	public setStateData(state: IState): void {
 		this._parentEmbedderState = state;
 	}
 
@@ -62,7 +62,7 @@ export class TMState implements IState {
 		return this._ruleStack;
 	}
 
-	public setRuleStack(ruleStack:StackElement): void {
+	public setRuleStack(ruleStack: StackElement): void {
 		this._ruleStack = ruleStack;
 	}
 }
\ No newline at end of file
diff --git a/src/vs/editor/common/modes/abstractMode.ts b/src/vs/editor/common/modes/abstractMode.ts
index d7769f9f7f273..5e0371cc1b339 100644
--- a/src/vs/editor/common/modes/abstractMode.ts
+++ b/src/vs/editor/common/modes/abstractMode.ts
@@ -4,18 +4,18 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {optional} from 'vs/platform/instantiation/common/instantiation';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
+import { optional } from 'vs/platform/instantiation/common/instantiation';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
 import * as modes from 'vs/editor/common/modes';
-import {TextualSuggestSupport} from 'vs/editor/common/modes/supports/suggestSupport';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
+import { TextualSuggestSupport } from 'vs/editor/common/modes/supports/suggestSupport';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
 
 // TODO@Alex: inline to FrankensteinMode, review optional IEditorWorkerService
 export abstract class AbstractMode implements modes.IMode {
 
 	private _modeId: string;
 
-	constructor(modeId:string) {
+	constructor(modeId: string) {
 		this._modeId = modeId;
 	}
 
diff --git a/src/vs/editor/common/modes/abstractState.ts b/src/vs/editor/common/modes/abstractState.ts
index 16aba109b605a..6896735554920 100644
--- a/src/vs/editor/common/modes/abstractState.ts
+++ b/src/vs/editor/common/modes/abstractState.ts
@@ -4,43 +4,43 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IState} from 'vs/editor/common/modes';
-import {LineStream} from 'vs/editor/common/modes/lineStream';
+import { IState } from 'vs/editor/common/modes';
+import { LineStream } from 'vs/editor/common/modes/lineStream';
 
 /**
  * @internal
  */
 export interface ITokenizationResult {
-	type?:string;
-	dontMergeWithPrev?:boolean;
-	nextState?:AbstractState;
+	type?: string;
+	dontMergeWithPrev?: boolean;
+	nextState?: AbstractState;
 }
 
 export abstract class AbstractState implements IState {
 
 	_abstractStateBrand: void;
 
-	private modeId:string;
-	private stateData:IState;
+	private modeId: string;
+	private stateData: IState;
 
-	constructor(modeId:string, stateData:IState = null) {
+	constructor(modeId: string, stateData: IState = null) {
 		this.modeId = modeId;
 		this.stateData = stateData;
 	}
 
-	public getModeId():string {
+	public getModeId(): string {
 		return this.modeId;
 	}
 
-	public clone():AbstractState {
-		var result:AbstractState = this.makeClone();
+	public clone(): AbstractState {
+		var result: AbstractState = this.makeClone();
 		result.initializeFrom(this);
 		return result;
 	}
 
-	protected abstract makeClone():AbstractState;
+	protected abstract makeClone(): AbstractState;
 
-	protected initializeFrom(other:AbstractState): void {
+	protected initializeFrom(other: AbstractState): void {
 		this.stateData = other.stateData !== null ? other.stateData.clone() : null;
 	}
 
@@ -48,11 +48,11 @@ export abstract class AbstractState implements IState {
 		return this.stateData;
 	}
 
-	public setStateData(state:IState):void {
+	public setStateData(state: IState): void {
 		this.stateData = state;
 	}
 
-	public equals(other:IState):boolean {
+	public equals(other: IState): boolean {
 		if (other === null || this.modeId !== other.getModeId()) {
 			return false;
 		}
@@ -62,7 +62,7 @@ export abstract class AbstractState implements IState {
 		return false;
 	}
 
-	public abstract tokenize(stream:LineStream):ITokenizationResult;
+	public abstract tokenize(stream: LineStream): ITokenizationResult;
 
 	public static safeEquals(a: IState, b: IState): boolean {
 		if (a === null && b === null) {
diff --git a/src/vs/editor/common/modes/editorModeContext.ts b/src/vs/editor/common/modes/editorModeContext.ts
index 915d3b705b7ff..389e19e1be9f8 100644
--- a/src/vs/editor/common/modes/editorModeContext.ts
+++ b/src/vs/editor/common/modes/editorModeContext.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IContextKey, IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
 import * as modes from 'vs/editor/common/modes';
-import {ICommonCodeEditor, ModeContextKeys, EditorContextKeys} from 'vs/editor/common/editorCommon';
+import { ICommonCodeEditor, ModeContextKeys, EditorContextKeys } from 'vs/editor/common/editorCommon';
 
 export class EditorModeContext {
 
diff --git a/src/vs/editor/common/modes/languageConfigurationRegistry.ts b/src/vs/editor/common/modes/languageConfigurationRegistry.ts
index d48b49d90d486..3153f9563c2b8 100644
--- a/src/vs/editor/common/modes/languageConfigurationRegistry.ts
+++ b/src/vs/editor/common/modes/languageConfigurationRegistry.ts
@@ -4,20 +4,22 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ICommentsConfiguration, IRichEditBrackets, IRichEditCharacterPair, IAutoClosingPair,
+import {
+	ICommentsConfiguration, IRichEditBrackets, IRichEditCharacterPair, IAutoClosingPair,
 	IAutoClosingPairConditional, IRichEditOnEnter, CharacterPair,
-	IRichEditElectricCharacter, EnterAction, IndentAction} from 'vs/editor/common/modes';
-import {CharacterPairSupport} from 'vs/editor/common/modes/supports/characterPair';
-import {BracketElectricCharacterSupport, IBracketElectricCharacterContribution} from 'vs/editor/common/modes/supports/electricCharacter';
-import {IndentationRule, OnEnterRule, IOnEnterSupportOptions, OnEnterSupport} from 'vs/editor/common/modes/supports/onEnter';
-import {RichEditBrackets} from 'vs/editor/common/modes/supports/richEditBrackets';
-import Event, {Emitter} from 'vs/base/common/event';
-import {ITokenizedModel} from 'vs/editor/common/editorCommon';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {Position} from 'vs/editor/common/core/position';
+	IRichEditElectricCharacter, EnterAction, IndentAction
+} from 'vs/editor/common/modes';
+import { CharacterPairSupport } from 'vs/editor/common/modes/supports/characterPair';
+import { BracketElectricCharacterSupport, IBracketElectricCharacterContribution } from 'vs/editor/common/modes/supports/electricCharacter';
+import { IndentationRule, OnEnterRule, IOnEnterSupportOptions, OnEnterSupport } from 'vs/editor/common/modes/supports/onEnter';
+import { RichEditBrackets } from 'vs/editor/common/modes/supports/richEditBrackets';
+import Event, { Emitter } from 'vs/base/common/event';
+import { ITokenizedModel } from 'vs/editor/common/editorCommon';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { Position } from 'vs/editor/common/core/position';
 import * as strings from 'vs/base/common/strings';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {DEFAULT_WORD_REGEXP} from 'vs/editor/common/model/wordHelper';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { DEFAULT_WORD_REGEXP } from 'vs/editor/common/model/wordHelper';
 
 /**
  * Describes how comments for a language work.
@@ -93,9 +95,9 @@ export class RichEditSupport {
 	public onEnter: IRichEditOnEnter;
 	public brackets: IRichEditBrackets;
 
-	constructor(modeId:string, previous:RichEditSupport, rawConf:LanguageConfiguration) {
+	constructor(modeId: string, previous: RichEditSupport, rawConf: LanguageConfiguration) {
 
-		let prev:LanguageConfiguration = null;
+		let prev: LanguageConfiguration = null;
 		if (previous) {
 			prev = previous._conf;
 		}
@@ -116,7 +118,7 @@ export class RichEditSupport {
 		this.wordDefinition = this._conf.wordPattern || DEFAULT_WORD_REGEXP;
 	}
 
-	private static _mergeConf(prev:LanguageConfiguration, current:LanguageConfiguration): LanguageConfiguration {
+	private static _mergeConf(prev: LanguageConfiguration, current: LanguageConfiguration): LanguageConfiguration {
 		return {
 			comments: (prev ? current.comments || prev.comments : current.comments),
 			brackets: (prev ? current.brackets || prev.brackets : current.brackets),
@@ -129,7 +131,7 @@ export class RichEditSupport {
 		};
 	}
 
-	private _handleOnEnter(modeId:string, conf:LanguageConfiguration): void {
+	private _handleOnEnter(modeId: string, conf: LanguageConfiguration): void {
 		// on enter
 		let onEnter: IOnEnterSupportOptions = {};
 		let empty = true;
@@ -152,7 +154,7 @@ export class RichEditSupport {
 		}
 	}
 
-	private _handleComments(modeId:string, conf:LanguageConfiguration): void {
+	private _handleComments(modeId: string, conf: LanguageConfiguration): void {
 		let commentRule = conf.comments;
 
 		// comment configuration
@@ -174,7 +176,7 @@ export class RichEditSupport {
 
 export class LanguageConfigurationRegistryImpl {
 
-	private _entries: {[languageId:string]:RichEditSupport;};
+	private _entries: { [languageId: string]: RichEditSupport; };
 
 	private _onDidChange: Emitter<void> = new Emitter<void>();
 	public onDidChange: Event<void> = this._onDidChange.event;
@@ -183,20 +185,20 @@ export class LanguageConfigurationRegistryImpl {
 		this._entries = Object.create(null);
 	}
 
-	public register(languageId:string, configuration:LanguageConfiguration): IDisposable {
+	public register(languageId: string, configuration: LanguageConfiguration): IDisposable {
 		let previous = this._entries[languageId] || null;
 		this._entries[languageId] = new RichEditSupport(languageId, previous, configuration);
 		this._onDidChange.fire(void 0);
 		return {
-			dispose: () => {}
+			dispose: () => { }
 		};
 	}
 
-	private _getRichEditSupport(modeId:string): RichEditSupport {
+	private _getRichEditSupport(modeId: string): RichEditSupport {
 		return this._entries[modeId];
 	}
 
-	public getElectricCharacterSupport(modeId:string): IRichEditElectricCharacter {
+	public getElectricCharacterSupport(modeId: string): IRichEditElectricCharacter {
 		let value = this._getRichEditSupport(modeId);
 		if (!value) {
 			return null;
@@ -204,7 +206,7 @@ export class LanguageConfigurationRegistryImpl {
 		return value.electricCharacter || null;
 	}
 
-	public getComments(modeId:string): ICommentsConfiguration {
+	public getComments(modeId: string): ICommentsConfiguration {
 		let value = this._getRichEditSupport(modeId);
 		if (!value) {
 			return null;
@@ -212,7 +214,7 @@ export class LanguageConfigurationRegistryImpl {
 		return value.comments || null;
 	}
 
-	public getCharacterPairSupport(modeId:string): IRichEditCharacterPair {
+	public getCharacterPairSupport(modeId: string): IRichEditCharacterPair {
 		let value = this._getRichEditSupport(modeId);
 		if (!value) {
 			return null;
@@ -220,7 +222,7 @@ export class LanguageConfigurationRegistryImpl {
 		return value.characterPair || null;
 	}
 
-	public getWordDefinition(modeId:string): RegExp {
+	public getWordDefinition(modeId: string): RegExp {
 		let value = this._getRichEditSupport(modeId);
 		if (!value) {
 			return null;
@@ -228,7 +230,7 @@ export class LanguageConfigurationRegistryImpl {
 		return value.wordDefinition || null;
 	}
 
-	public getOnEnterSupport(modeId:string): IRichEditOnEnter {
+	public getOnEnterSupport(modeId: string): IRichEditOnEnter {
 		let value = this._getRichEditSupport(modeId);
 		if (!value) {
 			return null;
@@ -236,8 +238,8 @@ export class LanguageConfigurationRegistryImpl {
 		return value.onEnter || null;
 	}
 
-	public getRawEnterActionAtPosition(model:ITokenizedModel, lineNumber:number, column:number): EnterAction {
-		let result:EnterAction;
+	public getRawEnterActionAtPosition(model: ITokenizedModel, lineNumber: number, column: number): EnterAction {
+		let result: EnterAction;
 
 		let onEnterSupport = this.getOnEnterSupport(model.getMode().getId());
 
@@ -252,7 +254,7 @@ export class LanguageConfigurationRegistryImpl {
 		return result;
 	}
 
-	public getEnterActionAtPosition(model:ITokenizedModel, lineNumber:number, column:number): { enterAction: EnterAction; indentation: string; } {
+	public getEnterActionAtPosition(model: ITokenizedModel, lineNumber: number, column: number): { enterAction: EnterAction; indentation: string; } {
 		let lineText = model.getLineContent(lineNumber);
 		let indentation = strings.getLeadingWhitespace(lineText);
 		if (indentation.length > column - 1) {
@@ -266,7 +268,7 @@ export class LanguageConfigurationRegistryImpl {
 				appendText: '',
 			};
 		} else {
-			if(!enterAction.appendText) {
+			if (!enterAction.appendText) {
 				if (
 					(enterAction.indentAction === IndentAction.Indent) ||
 					(enterAction.indentAction === IndentAction.IndentOutdent)
@@ -288,7 +290,7 @@ export class LanguageConfigurationRegistryImpl {
 		};
 	}
 
-	public getBracketsSupport(modeId:string): IRichEditBrackets {
+	public getBracketsSupport(modeId: string): IRichEditBrackets {
 		let value = this._getRichEditSupport(modeId);
 		if (!value) {
 			return null;
diff --git a/src/vs/editor/common/modes/languageFeatureRegistry.ts b/src/vs/editor/common/modes/languageFeatureRegistry.ts
index de8864558a6ec..aafa32e29826d 100644
--- a/src/vs/editor/common/modes/languageFeatureRegistry.ts
+++ b/src/vs/editor/common/modes/languageFeatureRegistry.ts
@@ -5,10 +5,10 @@
 
 'use strict';
 
-import Event, {Emitter} from 'vs/base/common/event';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {IReadOnlyModel} from 'vs/editor/common/editorCommon';
-import {LanguageSelector, score} from 'vs/editor/common/modes/languageSelector';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { IReadOnlyModel } from 'vs/editor/common/editorCommon';
+import { LanguageSelector, score } from 'vs/editor/common/modes/languageSelector';
 
 interface Entry<T> {
 	selector: LanguageSelector;
diff --git a/src/vs/editor/common/modes/languageSelector.ts b/src/vs/editor/common/modes/languageSelector.ts
index 86a1f148df203..1ca97e8c37cb3 100644
--- a/src/vs/editor/common/modes/languageSelector.ts
+++ b/src/vs/editor/common/modes/languageSelector.ts
@@ -6,7 +6,7 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {match as matchGlobPattern} from 'vs/base/common/glob'; // TODO@Alex
+import { match as matchGlobPattern } from 'vs/base/common/glob'; // TODO@Alex
 
 export interface LanguageFilter {
 	language?: string;
diff --git a/src/vs/editor/common/modes/lineStream.ts b/src/vs/editor/common/modes/lineStream.ts
index e0b59398ba49b..7ca72304148b8 100644
--- a/src/vs/editor/common/modes/lineStream.ts
+++ b/src/vs/editor/common/modes/lineStream.ts
@@ -12,11 +12,11 @@
  */
 export class LineStream {
 
-	private _source:string;
-	private _sourceLength:number;
-	private _pos:number;
+	private _source: string;
+	private _sourceLength: number;
+	private _pos: number;
 
-	constructor(source:string) {
+	constructor(source: string) {
 		this._source = source;
 		this._sourceLength = source.length;
 		this._pos = 0;
@@ -25,7 +25,7 @@ export class LineStream {
 	/**
 	 * Returns the current character position of the stream on the line.
 	 */
-	public pos():number {
+	public pos(): number {
 		return this._pos;
 	}
 
@@ -39,7 +39,7 @@ export class LineStream {
 	/**
 	 * Returns the next character in the stream.
 	 */
-	public peek():string {
+	public peek(): string {
 		// Check EOS
 		if (this._pos >= this._sourceLength) {
 			throw new Error('Stream is at the end');
@@ -60,7 +60,7 @@ export class LineStream {
 	/**
 	 * Advances the stream until the end of the line.
 	 */
-	public advanceToEOS():string {
+	public advanceToEOS(): string {
 		const oldPos = this._pos;
 		this._pos = this._sourceLength;
 		return this._source.substring(oldPos, this._pos);
@@ -69,7 +69,7 @@ export class LineStream {
 	/**
 	 * Brings the stream back `n` characters.
 	 */
-	public goBack(n:number) {
+	public goBack(n: number) {
 		this._pos -= n;
 	}
 }
diff --git a/src/vs/editor/common/modes/linkComputer.ts b/src/vs/editor/common/modes/linkComputer.ts
index cd4597402347a..c49ce01600fb9 100644
--- a/src/vs/editor/common/modes/linkComputer.ts
+++ b/src/vs/editor/common/modes/linkComputer.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ILink} from 'vs/editor/common/modes';
-import {CharCode} from 'vs/base/common/charCode';
-import {CharacterClassifier} from 'vs/editor/common/core/characterClassifier';
+import { ILink } from 'vs/editor/common/modes';
+import { CharCode } from 'vs/base/common/charCode';
+import { CharacterClassifier } from 'vs/editor/common/core/characterClassifier';
 
 export interface ILinkComputerTarget {
 	getLineCount(): number;
-	getLineContent(lineNumber:number): string;
+	getLineContent(lineNumber: number): string;
 }
 
 const enum State {
@@ -30,14 +30,14 @@ const enum State {
 	Accept = 13
 }
 
-type Edge = [State,number,State];
+type Edge = [State, number, State];
 
 class StateMachine {
 
 	private _states: State[][];
 	private _maxCharCode: number;
 
-	constructor(edges:Edge[]) {
+	constructor(edges: Edge[]) {
 		let maxCharCode = 0;
 		let maxState = State.Invalid;
 		for (let i = 0, len = edges.length; i < len; i++) {
@@ -53,9 +53,9 @@ class StateMachine {
 			}
 		}
 
-		let states:number[][] = [];
+		let states: number[][] = [];
 		for (let i = 0; i <= maxState; i++) {
-			let tmp:number[] = [];
+			let tmp: number[] = [];
 			for (let j = 0; j <= maxCharCode; j++) {
 				tmp[j] = State.Invalid;
 			}
@@ -71,7 +71,7 @@ class StateMachine {
 		this._maxCharCode = maxCharCode;
 	}
 
-	public nextState(currentState:State, chCode:number): State {
+	public nextState(currentState: State, chCode: number): State {
 		if (chCode < 0 || chCode > this._maxCharCode) {
 			return State.Invalid;
 		}
@@ -121,7 +121,7 @@ const enum CharacterClass {
 	CannotEndIn = 2
 }
 
-const classifier = (function() {
+const classifier = (function () {
 	let result = new CharacterClassifier(CharacterClass.None);
 
 	const FORCE_TERMINATION_CHARACTERS = ' \t<>\'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…';
@@ -139,7 +139,7 @@ const classifier = (function() {
 
 class LinkComputer {
 
-	private static _createLink(line:string, lineNumber:number, linkBeginIndex:number, linkEndIndex:number):ILink {
+	private static _createLink(line: string, lineNumber: number, linkBeginIndex: number, linkEndIndex: number): ILink {
 		// Do not allow to end link in certain characters...
 		let lastIncludedCharIndex = linkEndIndex - 1;
 		do {
@@ -162,8 +162,8 @@ class LinkComputer {
 		};
 	}
 
-	public static computeLinks(model:ILinkComputerTarget):ILink[] {
-		let result:ILink[] = [];
+	public static computeLinks(model: ILinkComputerTarget): ILink[] {
+		let result: ILink[] = [];
 		for (let i = 1, lineCount = model.getLineCount(); i <= lineCount; i++) {
 			const line = model.getLineContent(i);
 			const len = line.length;
@@ -181,7 +181,7 @@ class LinkComputer {
 				const chCode = line.charCodeAt(j);
 
 				if (state === State.Accept) {
-					let chClass:CharacterClass;
+					let chClass: CharacterClass;
 					switch (chCode) {
 						case CharCode.OpenParen:
 							hasOpenParens = true;
@@ -257,7 +257,7 @@ class LinkComputer {
  * document. *Note* that this operation is computational
  * expensive and should not run in the UI thread.
  */
-export function computeLinks(model:ILinkComputerTarget):ILink[] {
+export function computeLinks(model: ILinkComputerTarget): ILink[] {
 	if (!model || typeof model.getLineCount !== 'function' || typeof model.getLineContent !== 'function') {
 		// Unknown caller!
 		return [];
diff --git a/src/vs/editor/common/modes/modesRegistry.ts b/src/vs/editor/common/modes/modesRegistry.ts
index bac659c4eb741..94b4432a588d6 100644
--- a/src/vs/editor/common/modes/modesRegistry.ts
+++ b/src/vs/editor/common/modes/modesRegistry.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import Event, {Emitter} from 'vs/base/common/event';
-import {Registry} from 'vs/platform/platform';
-import {ILanguageExtensionPoint} from 'vs/editor/common/services/modeService';
+import Event, { Emitter } from 'vs/base/common/event';
+import { Registry } from 'vs/platform/platform';
+import { ILanguageExtensionPoint } from 'vs/editor/common/services/modeService';
 
 // Define extension point ids
 export var Extensions = {
@@ -27,11 +27,11 @@ export class EditorModesRegistry {
 
 	// --- languages
 
-	public registerLanguage(def:ILanguageExtensionPoint): void {
+	public registerLanguage(def: ILanguageExtensionPoint): void {
 		this._languages.push(def);
 		this._onDidAddLanguages.fire([def]);
 	}
-	public registerLanguages(def:ILanguageExtensionPoint[]): void {
+	public registerLanguages(def: ILanguageExtensionPoint[]): void {
 		this._languages = this._languages.concat(def);
 		this._onDidAddLanguages.fire(def);
 	}
diff --git a/src/vs/editor/common/modes/monarch/monarchCommon.ts b/src/vs/editor/common/modes/monarch/monarchCommon.ts
index d048dfb0a249f..fd72d1d0cad5d 100644
--- a/src/vs/editor/common/modes/monarch/monarchCommon.ts
+++ b/src/vs/editor/common/modes/monarch/monarchCommon.ts
@@ -133,7 +133,7 @@ export function throwError(lexer: ILexerMin, msg: string) {
 export function substituteMatches(lexer: ILexerMin, str: string, id: string, matches: string[], state: string) {
 	var re = /\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;
 	var stateMatches: string[] = null;
-	return str.replace(re, function(full, sub?, dollar?, hash?, n?, s?, attr?, ofs?, total?) {
+	return str.replace(re, function (full, sub?, dollar?, hash?, n?, s?, attr?, ofs?, total?) {
 		if (!empty(dollar)) {
 			return '$'; // $$
 		}
diff --git a/src/vs/editor/common/modes/monarch/monarchCompile.ts b/src/vs/editor/common/modes/monarch/monarchCompile.ts
index 45a0e1eb93846..7f5fc6ebf60f1 100644
--- a/src/vs/editor/common/modes/monarch/monarchCompile.ts
+++ b/src/vs/editor/common/modes/monarch/monarchCompile.ts
@@ -11,7 +11,7 @@
 
 import * as objects from 'vs/base/common/objects';
 import * as monarchCommon from 'vs/editor/common/modes/monarch/monarchCommon';
-import {IMonarchLanguage, IMonarchLanguageBracket} from 'vs/editor/common/modes/monarch/monarchTypes';
+import { IMonarchLanguage, IMonarchLanguageBracket } from 'vs/editor/common/modes/monarch/monarchTypes';
 
 /*
  * Type helpers
@@ -40,7 +40,7 @@ function isArrayOf(elemType: (x: any) => boolean, obj: any): boolean {
 	return true;
 }
 
-function bool(prop: any, def?: boolean, onerr?: () => void ): boolean {
+function bool(prop: any, def?: boolean, onerr?: () => void): boolean {
 	if (typeof (prop) === 'boolean') {
 		return prop;
 	}
@@ -50,7 +50,7 @@ function bool(prop: any, def?: boolean, onerr?: () => void ): boolean {
 	return (def === undefined ? null : def);
 }
 
-function string(prop: any, def?: string, onerr?: () => void ): string {
+function string(prop: any, def?: string, onerr?: () => void): string {
 	if (typeof (prop) === 'string') {
 		return prop;
 	}
@@ -75,7 +75,7 @@ function compileRegExp(lexer: monarchCommon.ILexerMin, str: string): RegExp {
 	var n = 0;
 	while (str.indexOf('@') >= 0 && n < 5) { // at most 5 expansions
 		n++;
-		str = str.replace(/@(\w+)/g, function(s, attr?) {
+		str = str.replace(/@(\w+)/g, function (s, attr?) {
 			var sub = '';
 			if (typeof (lexer[attr]) === 'string') {
 				sub = lexer[attr];
@@ -156,27 +156,27 @@ function createGuard(lexer: monarchCommon.ILexerMin, ruleName: string, tkey: str
 	// special case a regexp that matches just words
 	if ((op === '~' || op === '!~') && /^(\w|\|)*$/.test(pat)) {
 		var inWords = objects.createKeywordMatcher(pat.split('|'), lexer.ignoreCase);
-		tester = function(s) { return (op === '~' ? inWords(s) : !inWords(s)); };
+		tester = function (s) { return (op === '~' ? inWords(s) : !inWords(s)); };
 	}
 	else if (op === '@' || op === '!@') {
 		var words = lexer[pat];
 		if (!words) {
 			monarchCommon.throwError(lexer, 'the @ match target \'' + pat + '\' is not defined, in rule: ' + ruleName);
 		}
-		if (!(isArrayOf(function(elem) { return (typeof (elem) === 'string'); }, words))) {
+		if (!(isArrayOf(function (elem) { return (typeof (elem) === 'string'); }, words))) {
 			monarchCommon.throwError(lexer, 'the @ match target \'' + pat + '\' must be an array of strings, in rule: ' + ruleName);
 		}
 		var inWords = objects.createKeywordMatcher(words, lexer.ignoreCase);
-		tester = function(s) { return (op === '@' ? inWords(s) : !inWords(s)); };
+		tester = function (s) { return (op === '@' ? inWords(s) : !inWords(s)); };
 	}
 	else if (op === '~' || op === '!~') {
 		if (pat.indexOf('$') < 0) {
 			// precompile regular expression
 			var re = compileRegExp(lexer, '^' + pat + '$');
-			tester = function(s) { return (op === '~' ? re.test(s) : !re.test(s)); };
+			tester = function (s) { return (op === '~' ? re.test(s) : !re.test(s)); };
 		}
 		else {
-			tester = function(s, id, matches, state) {
+			tester = function (s, id, matches, state) {
 				var re = compileRegExp(lexer, '^' + monarchCommon.substituteMatches(lexer, pat, id, matches, state) + '$');
 				return re.test(s);
 			};
@@ -185,11 +185,11 @@ function createGuard(lexer: monarchCommon.ILexerMin, ruleName: string, tkey: str
 	else { // if (op==='==' || op==='!=') {
 		if (pat.indexOf('$') < 0) {
 			var patx = monarchCommon.fixCase(lexer, pat);
-			tester = function(s) { return (op === '==' ? s === patx : s !== patx); };
+			tester = function (s) { return (op === '==' ? s === patx : s !== patx); };
 		}
 		else {
 			var patx = monarchCommon.fixCase(lexer, pat);
-			tester = function(s, id, matches, state, eos) {
+			tester = function (s, id, matches, state, eos) {
 				var patexp = monarchCommon.substituteMatches(lexer, patx, id, matches, state);
 				return (op === '==' ? s === patexp : s !== patexp);
 			};
@@ -199,14 +199,14 @@ function createGuard(lexer: monarchCommon.ILexerMin, ruleName: string, tkey: str
 	// return the branch object
 	if (scrut === -1) {
 		return {
-			name: tkey, value: val, test: function(id, matches, state, eos) {
+			name: tkey, value: val, test: function (id, matches, state, eos) {
 				return tester(id, id, matches, state, eos);
 			}
 		};
 	}
 	else {
 		return {
-			name: tkey, value: val, test: function(id, matches, state, eos) {
+			name: tkey, value: val, test: function (id, matches, state, eos) {
 				var scrutinee = selectScrutinee(id, matches, state, scrut);
 				return tester(!scrutinee ? '' : scrutinee, id, matches, state, eos);
 			}
@@ -309,7 +309,7 @@ function compileAction(lexer: monarchCommon.ILexerMin, ruleName: string, action:
 					cases.push({ test: null, value: val, name: tkey });
 				}
 				else if (tkey === '@eos') {
-					cases.push({ test: function(id, matches, state, eos) { return eos; }, value: val, name: tkey });
+					cases.push({ test: function (id, matches, state, eos) { return eos; }, value: val, name: tkey });
 				}
 				else {
 					cases.push(createGuard(lexer, ruleName, tkey, val));  // call separate function to avoid local variable capture
@@ -320,7 +320,7 @@ function compileAction(lexer: monarchCommon.ILexerMin, ruleName: string, action:
 		// create a matching function
 		var def = lexer.defaultToken;
 		return {
-			test: function(id, matches, state, eos) {
+			test: function (id, matches, state, eos) {
 				var idx: string;
 				for (idx in cases) {
 					if (cases.hasOwnProperty(idx)) {
@@ -386,7 +386,7 @@ class Rule implements monarchCommon.IRule {
  * (Currently we have no samples that need this so perhaps we should always have
  * jsonStrict to true).
  */
-export function compile(languageId:string, json: IMonarchLanguage): monarchCommon.ILexer {
+export function compile(languageId: string, json: IMonarchLanguage): monarchCommon.ILexer {
 	if (!json || typeof (json) !== 'object') {
 		throw new Error('Monarch: expecting a language definition object');
 	}
@@ -512,10 +512,10 @@ export function compile(languageId:string, json: IMonarchLanguage): monarchCommo
 			{ open: '(', close: ')', token: 'delimiter.parenthesis' },
 			{ open: '<', close: '>', token: 'delimiter.angle' }];
 	}
-	var brackets : IMonarchLanguageBracket[] = [];
+	var brackets: IMonarchLanguageBracket[] = [];
 	for (var bracketIdx in json.brackets) {
 		if (json.brackets.hasOwnProperty(bracketIdx)) {
-			var desc = <any> json.brackets[bracketIdx];
+			var desc = <any>json.brackets[bracketIdx];
 			if (desc && Array.isArray(desc) && desc.length === 3) {
 				desc = { token: desc[2], open: desc[0], close: desc[1] };
 			}
diff --git a/src/vs/editor/common/modes/monarch/monarchLexer.ts b/src/vs/editor/common/modes/monarch/monarchLexer.ts
index e467c5aedf3f4..cbf72a5469ebb 100644
--- a/src/vs/editor/common/modes/monarch/monarchLexer.ts
+++ b/src/vs/editor/common/modes/monarch/monarchLexer.ts
@@ -10,11 +10,11 @@
  */
 
 import * as modes from 'vs/editor/common/modes';
-import {AbstractState, ITokenizationResult} from 'vs/editor/common/modes/abstractState';
-import {LineStream} from 'vs/editor/common/modes/lineStream';
+import { AbstractState, ITokenizationResult } from 'vs/editor/common/modes/abstractState';
+import { LineStream } from 'vs/editor/common/modes/lineStream';
 import * as monarchCommon from 'vs/editor/common/modes/monarch/monarchCommon';
-import {IModeLocator, TokenizationSupport} from 'vs/editor/common/modes/supports/tokenizationSupport';
-import {IModeService} from 'vs/editor/common/services/modeService';
+import { IModeLocator, TokenizationSupport } from 'vs/editor/common/modes/supports/tokenizationSupport';
+import { IModeService } from 'vs/editor/common/services/modeService';
 
 /**
  * The MonarchLexer class implements a monaco lexer that highlights source code.
@@ -25,7 +25,7 @@ export class MonarchLexer extends AbstractState {
 
 	static ID = 0;
 
-	private modeService:IModeService;
+	private modeService: IModeService;
 
 	private id: number;
 	private lexer: monarchCommon.ILexer;
@@ -39,7 +39,7 @@ export class MonarchLexer extends AbstractState {
 	private groupMatched: string[];
 	private groupRule: monarchCommon.IRule;
 
-	constructor(modeId: string, modeService:IModeService, lexer: monarchCommon.ILexer, stack?: string[], embeddedMode?: string) {
+	constructor(modeId: string, modeService: IModeService, lexer: monarchCommon.ILexer, stack?: string[], embeddedMode?: string) {
 		super(modeId);
 		this.id = MonarchLexer.ID++; // for debugging, assigns unique id to each instance
 		this.modeService = modeService;
@@ -122,7 +122,7 @@ export class MonarchLexer extends AbstractState {
 				this.groupRule = null;
 			}
 		}
-			// otherwise we match on the token stream
+		// otherwise we match on the token stream
 		else {
 			// nothing to do
 			if (stream.eos()) {
@@ -320,7 +320,7 @@ export class MonarchLexer extends AbstractState {
 			stream.goBack(matched.length);
 			return this.tokenize(stream);  // call recursively to initiate first result match
 		}
-			// regular result
+		// regular result
 		else {
 			// check for '@rematch'
 			if (result === '@rematch') {
@@ -386,7 +386,7 @@ function findBracket(lexer: monarchCommon.ILexer, matched: string) {
 	return null;
 }
 
-export function createTokenizationSupport(_modeService:IModeService, modeId:string, lexer: monarchCommon.ILexer): modes.ITokenizationSupport {
+export function createTokenizationSupport(_modeService: IModeService, modeId: string, lexer: monarchCommon.ILexer): modes.ITokenizationSupport {
 	return new TokenizationSupport(_modeService, modeId, {
 		getInitialState: (): AbstractState => {
 			return new MonarchLexer(modeId, _modeService, lexer);
@@ -399,7 +399,7 @@ export function createTokenizationSupport(_modeService:IModeService, modeId:stri
 			return false;
 		},
 
-		getNestedMode: (rawState: modes.IState, locator:IModeLocator): modes.IMode => {
+		getNestedMode: (rawState: modes.IState, locator: IModeLocator): modes.IMode => {
 			let mime = (<MonarchLexer>rawState).embeddedMode;
 			return locator.getMode(mime);
 		},
diff --git a/src/vs/editor/common/modes/monarch/monarchTypes.ts b/src/vs/editor/common/modes/monarch/monarchTypes.ts
index 611a6e0fd8fcd..55a1416550720 100644
--- a/src/vs/editor/common/modes/monarch/monarchTypes.ts
+++ b/src/vs/editor/common/modes/monarch/monarchTypes.ts
@@ -17,7 +17,7 @@ export interface IMonarchLanguage {
 	/**
 	 * map from string to ILanguageRule[]
 	 */
-	tokenizer: {[name:string]:IMonarchLanguageRule[]};
+	tokenizer: { [name: string]: IMonarchLanguageRule[] };
 	/**
 	 * is the language case insensitive?
 	 */
@@ -49,7 +49,7 @@ export interface IMonarchLanguageRule {
 	/**
 	 * match tokens
 	 */
-	regex?: string|RegExp;
+	regex?: string | RegExp;
 	/**
 	 * action to take on match
 	 */
diff --git a/src/vs/editor/common/modes/nullMode.ts b/src/vs/editor/common/modes/nullMode.ts
index 5b55b42d5e012..14796c36e62b4 100644
--- a/src/vs/editor/common/modes/nullMode.ts
+++ b/src/vs/editor/common/modes/nullMode.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IState, ILineTokens} from 'vs/editor/common/modes';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {Token} from 'vs/editor/common/core/token';
-import {ITokenizationResult} from 'vs/editor/common/modes/abstractState';
-import {LineStream} from 'vs/editor/common/modes/lineStream';
+import { IState, ILineTokens } from 'vs/editor/common/modes';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { Token } from 'vs/editor/common/core/token';
+import { ITokenizationResult } from 'vs/editor/common/modes/abstractState';
+import { LineStream } from 'vs/editor/common/modes/lineStream';
 
 export class NullState implements IState {
 
@@ -21,11 +21,11 @@ export class NullState implements IState {
 	}
 
 	public clone(): IState {
-		let stateDataClone:IState = (this.stateData ? this.stateData.clone() : null);
+		let stateDataClone: IState = (this.stateData ? this.stateData.clone() : null);
 		return new NullState(this.modeId, stateDataClone);
 	}
 
-	public equals(other:IState): boolean {
+	public equals(other: IState): boolean {
 		if (this.modeId !== other.getModeId()) {
 			return false;
 		}
@@ -43,26 +43,26 @@ export class NullState implements IState {
 		return this.modeId;
 	}
 
-	public tokenize(stream:LineStream):ITokenizationResult {
+	public tokenize(stream: LineStream): ITokenizationResult {
 		stream.advanceToEOS();
-		return { type:'' };
+		return { type: '' };
 	}
 
 	public getStateData(): IState {
 		return this.stateData;
 	}
 
-	public setStateData(stateData:IState):void {
+	public setStateData(stateData: IState): void {
 		this.stateData = stateData;
 	}
 }
 
 export const NULL_MODE_ID = 'vs.editor.nullMode';
 
-export function nullTokenize(modeId: string, buffer:string, state: IState, deltaOffset:number = 0, stopAtOffset?:number): ILineTokens {
-	let tokens:Token[] = [new Token(deltaOffset, '')];
+export function nullTokenize(modeId: string, buffer: string, state: IState, deltaOffset: number = 0, stopAtOffset?: number): ILineTokens {
+	let tokens: Token[] = [new Token(deltaOffset, '')];
 
-	let modeTransitions:ModeTransition[] = [new ModeTransition(deltaOffset, modeId)];
+	let modeTransitions: ModeTransition[] = [new ModeTransition(deltaOffset, modeId)];
 
 	return {
 		tokens: tokens,
diff --git a/src/vs/editor/common/modes/snippetsRegistry.ts b/src/vs/editor/common/modes/snippetsRegistry.ts
index 3cdc0b5a732b9..10809d4f83758 100644
--- a/src/vs/editor/common/modes/snippetsRegistry.ts
+++ b/src/vs/editor/common/modes/snippetsRegistry.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {localize} from 'vs/nls';
+import { localize } from 'vs/nls';
 import * as strings from 'vs/base/common/strings';
-import {IReadOnlyModel, IPosition} from 'vs/editor/common/editorCommon';
-import {ISuggestion} from 'vs/editor/common/modes';
-import {Registry} from 'vs/platform/platform';
+import { IReadOnlyModel, IPosition } from 'vs/editor/common/editorCommon';
+import { ISuggestion } from 'vs/editor/common/modes';
+import { Registry } from 'vs/platform/platform';
 
 export const Extensions = {
 	Snippets: 'base.contributions.snippets'
@@ -128,7 +128,7 @@ class SnippetsRegistry implements ISnippetsRegistry {
 		return result;
 	}
 
-	private static _compareSuggestionsByLabel(a: ISuggestion, b: ISuggestion): number{
+	private static _compareSuggestionsByLabel(a: ISuggestion, b: ISuggestion): number {
 		return strings.compare(a.label, b.label);
 	}
 }
@@ -137,7 +137,7 @@ export interface ISimpleModel {
 	getLineContent(lineNumber): string;
 }
 
-export function getNonWhitespacePrefix(model: ISimpleModel, position: IPosition) : string {
+export function getNonWhitespacePrefix(model: ISimpleModel, position: IPosition): string {
 	/**
 	 * Do not analyze more characters
 	 */
diff --git a/src/vs/editor/common/modes/supports.ts b/src/vs/editor/common/modes/supports.ts
index 2d1f0d90a1824..36d10ab586772 100644
--- a/src/vs/editor/common/modes/supports.ts
+++ b/src/vs/editor/common/modes/supports.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as modes from 'vs/editor/common/modes';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {Token} from 'vs/editor/common/core/token';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { Token } from 'vs/editor/common/core/token';
 
 export class LineTokens implements modes.ILineTokens {
 	_lineTokensBrand: void;
@@ -18,7 +18,7 @@ export class LineTokens implements modes.ILineTokens {
 	endState: modes.IState;
 	retokenize: TPromise<void>;
 
-	constructor(tokens:Token[], modeTransitions: ModeTransition[], actualStopOffset:number, endState:modes.IState) {
+	constructor(tokens: Token[], modeTransitions: ModeTransition[], actualStopOffset: number, endState: modes.IState) {
 		this.tokens = tokens;
 		this.modeTransitions = modeTransitions;
 		this.actualStopOffset = actualStopOffset;
@@ -27,7 +27,7 @@ export class LineTokens implements modes.ILineTokens {
 	}
 }
 
-export function handleEvent<T>(context:modes.ILineContext, offset:number, runner:(modeId:string, newContext:modes.ILineContext, offset:number)=>T):T {
+export function handleEvent<T>(context: modes.ILineContext, offset: number, runner: (modeId: string, newContext: modes.ILineContext, offset: number) => T): T {
 	let modeTransitions = context.modeTransitions;
 	if (modeTransitions.length === 1) {
 		return runner(modeTransitions[0].modeId, context, offset);
@@ -57,15 +57,15 @@ export class FilteredLineContext implements modes.ILineContext {
 
 	public modeTransitions: ModeTransition[];
 
-	private _actual:modes.ILineContext;
-	private _firstTokenInModeIndex:number;
-	private _nextTokenAfterMode:number;
-	private _firstTokenCharacterOffset:number;
-	private _nextCharacterAfterModeIndex:number;
+	private _actual: modes.ILineContext;
+	private _firstTokenInModeIndex: number;
+	private _nextTokenAfterMode: number;
+	private _firstTokenCharacterOffset: number;
+	private _nextCharacterAfterModeIndex: number;
 
-	constructor(actual:modes.ILineContext, modeId:string,
-			firstTokenInModeIndex:number, nextTokenAfterMode:number,
-			firstTokenCharacterOffset:number, nextCharacterAfterModeIndex:number) {
+	constructor(actual: modes.ILineContext, modeId: string,
+		firstTokenInModeIndex: number, nextTokenAfterMode: number,
+		firstTokenCharacterOffset: number, nextCharacterAfterModeIndex: number) {
 
 		this.modeTransitions = [new ModeTransition(0, modeId)];
 		this._actual = actual;
@@ -84,20 +84,20 @@ export class FilteredLineContext implements modes.ILineContext {
 		return this._nextTokenAfterMode - this._firstTokenInModeIndex;
 	}
 
-	public findIndexOfOffset(offset:number): number {
+	public findIndexOfOffset(offset: number): number {
 		return this._actual.findIndexOfOffset(offset + this._firstTokenCharacterOffset) - this._firstTokenInModeIndex;
 	}
 
-	public getTokenStartOffset(tokenIndex:number): number {
+	public getTokenStartOffset(tokenIndex: number): number {
 		return this._actual.getTokenStartOffset(tokenIndex + this._firstTokenInModeIndex) - this._firstTokenCharacterOffset;
 	}
 
-	public getTokenType(tokenIndex:number): string {
+	public getTokenType(tokenIndex: number): string {
 		return this._actual.getTokenType(tokenIndex + this._firstTokenInModeIndex);
 	}
 }
 
 const IGNORE_IN_TOKENS = /\b(comment|string|regex)\b/;
-export function ignoreBracketsInToken(tokenType:string): boolean {
+export function ignoreBracketsInToken(tokenType: string): boolean {
 	return IGNORE_IN_TOKENS.test(tokenType);
 }
diff --git a/src/vs/editor/common/modes/supports/characterPair.ts b/src/vs/editor/common/modes/supports/characterPair.ts
index 5ec20e82c0bc0..998f8fef5ad09 100644
--- a/src/vs/editor/common/modes/supports/characterPair.ts
+++ b/src/vs/editor/common/modes/supports/characterPair.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IAutoClosingPair, IAutoClosingPairConditional, ILineContext, IRichEditCharacterPair, CharacterPair} from 'vs/editor/common/modes';
-import {handleEvent} from 'vs/editor/common/modes/supports';
-import {LanguageConfigurationRegistryImpl} from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { IAutoClosingPair, IAutoClosingPairConditional, ILineContext, IRichEditCharacterPair, CharacterPair } from 'vs/editor/common/modes';
+import { handleEvent } from 'vs/editor/common/modes/supports';
+import { LanguageConfigurationRegistryImpl } from 'vs/editor/common/modes/languageConfigurationRegistry';
 
 export class CharacterPairSupport implements IRichEditCharacterPair {
 
@@ -15,7 +15,7 @@ export class CharacterPairSupport implements IRichEditCharacterPair {
 	private _autoClosingPairs: IAutoClosingPairConditional[];
 	private _surroundingPairs: IAutoClosingPair[];
 
-	constructor(registry: LanguageConfigurationRegistryImpl, modeId: string, config: { brackets?: CharacterPair[]; autoClosingPairs?: IAutoClosingPairConditional[], surroundingPairs?: IAutoClosingPair[]}) {
+	constructor(registry: LanguageConfigurationRegistryImpl, modeId: string, config: { brackets?: CharacterPair[]; autoClosingPairs?: IAutoClosingPairConditional[], surroundingPairs?: IAutoClosingPair[] }) {
 		this._registry = registry;
 		this._modeId = modeId;
 		this._autoClosingPairs = config.autoClosingPairs;
@@ -29,8 +29,8 @@ export class CharacterPairSupport implements IRichEditCharacterPair {
 		return this._autoClosingPairs;
 	}
 
-	public shouldAutoClosePair(character:string, context:ILineContext, offset:number): boolean {
-		return handleEvent(context, offset, (nestedModeId:string, context:ILineContext, offset:number) => {
+	public shouldAutoClosePair(character: string, context: ILineContext, offset: number): boolean {
+		return handleEvent(context, offset, (nestedModeId: string, context: ILineContext, offset: number) => {
 			if (this._modeId === nestedModeId) {
 
 				// Always complete on empty line
@@ -66,7 +66,7 @@ export class CharacterPairSupport implements IRichEditCharacterPair {
 		});
 	}
 
-	public getSurroundingPairs(): IAutoClosingPair[]{
+	public getSurroundingPairs(): IAutoClosingPair[] {
 		return this._surroundingPairs;
 	}
 }
diff --git a/src/vs/editor/common/modes/supports/electricCharacter.ts b/src/vs/editor/common/modes/supports/electricCharacter.ts
index 82271cea75e80..b0a0be8b3a9eb 100644
--- a/src/vs/editor/common/modes/supports/electricCharacter.ts
+++ b/src/vs/editor/common/modes/supports/electricCharacter.ts
@@ -6,9 +6,9 @@
 
 import * as strings from 'vs/base/common/strings';
 import * as modes from 'vs/editor/common/modes';
-import {handleEvent, ignoreBracketsInToken} from 'vs/editor/common/modes/supports';
-import {BracketsUtils} from 'vs/editor/common/modes/supports/richEditBrackets';
-import {LanguageConfigurationRegistryImpl} from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { handleEvent, ignoreBracketsInToken } from 'vs/editor/common/modes/supports';
+import { BracketsUtils } from 'vs/editor/common/modes/supports/richEditBrackets';
+import { LanguageConfigurationRegistryImpl } from 'vs/editor/common/modes/languageConfigurationRegistry';
 
 /**
  * Definition of documentation comments (e.g. Javadoc/JSdoc)
@@ -32,22 +32,22 @@ export class BracketElectricCharacterSupport implements modes.IRichEditElectricC
 	private contribution: IBracketElectricCharacterContribution;
 	private brackets: Brackets;
 
-	constructor(registry:LanguageConfigurationRegistryImpl, modeId: string, brackets: modes.IRichEditBrackets, autoClosePairs: modes.IAutoClosingPairConditional[], contribution: IBracketElectricCharacterContribution) {
+	constructor(registry: LanguageConfigurationRegistryImpl, modeId: string, brackets: modes.IRichEditBrackets, autoClosePairs: modes.IAutoClosingPairConditional[], contribution: IBracketElectricCharacterContribution) {
 		this._registry = registry;
 		this._modeId = modeId;
 		this.contribution = contribution || {};
 		this.brackets = new Brackets(modeId, brackets, autoClosePairs, this.contribution.docComment);
 	}
 
-	public getElectricCharacters(): string[]{
+	public getElectricCharacters(): string[] {
 		if (Array.isArray(this.contribution.embeddedElectricCharacters)) {
 			return this.contribution.embeddedElectricCharacters.concat(this.brackets.getElectricCharacters());
 		}
 		return this.brackets.getElectricCharacters();
 	}
 
-	public onElectricCharacter(context:modes.ILineContext, offset:number): modes.IElectricAction {
-		return handleEvent(context, offset, (nestedModeId:string, context:modes.ILineContext, offset:number) => {
+	public onElectricCharacter(context: modes.ILineContext, offset: number): modes.IElectricAction {
+		return handleEvent(context, offset, (nestedModeId: string, context: modes.ILineContext, offset: number) => {
 			if (this._modeId === nestedModeId) {
 				return this.brackets.onElectricCharacter(context, offset);
 			}
@@ -78,7 +78,7 @@ export class Brackets {
 		}
 	}
 
-	public getElectricCharacters():string[] {
+	public getElectricCharacters(): string[] {
 		var result: string[] = [];
 
 		if (this._richEditBrackets) {
@@ -181,7 +181,7 @@ export class Brackets {
 
 			// check if the full open bracket matches
 			let lastTokenIndex = context.findIndexOfOffset(offset);
-			if (line.substring(context.getTokenStartOffset(lastTokenIndex), offset+1/* include electric char*/) !== pair.open) {
+			if (line.substring(context.getTokenStartOffset(lastTokenIndex), offset + 1/* include electric char*/) !== pair.open) {
 				continue;
 			}
 
@@ -193,7 +193,7 @@ export class Brackets {
 				}
 			}
 
-			return { appendText: pair.close};
+			return { appendText: pair.close };
 		}
 
 	}
diff --git a/src/vs/editor/common/modes/supports/inplaceReplaceSupport.ts b/src/vs/editor/common/modes/supports/inplaceReplaceSupport.ts
index 8dbc01f0df8f4..66585229566be 100644
--- a/src/vs/editor/common/modes/supports/inplaceReplaceSupport.ts
+++ b/src/vs/editor/common/modes/supports/inplaceReplaceSupport.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IRange} from 'vs/editor/common/editorCommon';
-import {IInplaceReplaceSupportResult} from 'vs/editor/common/modes';
+import { IRange } from 'vs/editor/common/editorCommon';
+import { IInplaceReplaceSupportResult } from 'vs/editor/common/modes';
 
 export class BasicInplaceReplace {
 
 	public static INSTANCE = new BasicInplaceReplace();
 
-	public navigateValueSet(range1:IRange, text1:string, range2:IRange, text2:string, up:boolean): IInplaceReplaceSupportResult {
+	public navigateValueSet(range1: IRange, text1: string, range2: IRange, text2: string, up: boolean): IInplaceReplaceSupportResult {
 
 		if (range1 && text1) {
 			let result = this.doNavigateValueSet(text1, up);
@@ -36,7 +36,7 @@ export class BasicInplaceReplace {
 		return null;
 	}
 
-	private doNavigateValueSet(text:string, up:boolean): string {
+	private doNavigateValueSet(text: string, up: boolean): string {
 		let numberResult = this.numberReplace(text, up);
 		if (numberResult !== null) {
 			return numberResult;
@@ -44,17 +44,17 @@ export class BasicInplaceReplace {
 		return this.textReplace(text, up);
 	}
 
-	private numberReplace(value:string, up:boolean):string {
+	private numberReplace(value: string, up: boolean): string {
 		var precision = Math.pow(10, value.length - (value.lastIndexOf('.') + 1)),
 			n1 = Number(value),
 			n2 = parseFloat(value);
 
-		if(!isNaN(n1) && !isNaN(n2) && n1 === n2) {
+		if (!isNaN(n1) && !isNaN(n2) && n1 === n2) {
 
-			if(n1 === 0 && !up) {
+			if (n1 === 0 && !up) {
 				return null; // don't do negative
-//			} else if(n1 === 9 && up) {
-//				return null; // don't insert 10 into a number
+				//			} else if(n1 === 9 && up) {
+				//				return null; // don't insert 10 into a number
 			} else {
 				n1 = Math.floor(n1 * precision);
 				n1 += up ? precision : -precision;
@@ -72,23 +72,23 @@ export class BasicInplaceReplace {
 		['public', 'protected', 'private'],
 	];
 
-	private textReplace(value:string, up:boolean):string {
+	private textReplace(value: string, up: boolean): string {
 		return this.valueSetsReplace(this._defaultValueSet, value, up);
 	}
 
-	private valueSetsReplace(valueSets:string[][], value:string, up:boolean):string {
-		var result:string = null;
+	private valueSetsReplace(valueSets: string[][], value: string, up: boolean): string {
+		var result: string = null;
 		for (let i = 0, len = valueSets.length; result === null && i < len; i++) {
 			result = this.valueSetReplace(valueSets[i], value, up);
 		}
 		return result;
 	}
 
-	private valueSetReplace(valueSet:string[], value:string, up:boolean):string {
+	private valueSetReplace(valueSet: string[], value: string, up: boolean): string {
 		var idx = valueSet.indexOf(value);
-		if(idx >= 0) {
+		if (idx >= 0) {
 			idx += up ? +1 : -1;
-			if(idx < 0) {
+			if (idx < 0) {
 				idx = valueSet.length - 1;
 			} else {
 				idx %= valueSet.length;
diff --git a/src/vs/editor/common/modes/supports/onEnter.ts b/src/vs/editor/common/modes/supports/onEnter.ts
index eca2b6e72539d..159ee91886ccd 100644
--- a/src/vs/editor/common/modes/supports/onEnter.ts
+++ b/src/vs/editor/common/modes/supports/onEnter.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
+import { onUnexpectedError } from 'vs/base/common/errors';
 import * as strings from 'vs/base/common/strings';
-import {IPosition, ITextModel, ITokenizedModel} from 'vs/editor/common/editorCommon';
-import {EnterAction, ILineContext, IRichEditOnEnter, IndentAction, CharacterPair} from 'vs/editor/common/modes';
-import {handleEvent} from 'vs/editor/common/modes/supports';
-import {LanguageConfigurationRegistryImpl} from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { IPosition, ITextModel, ITokenizedModel } from 'vs/editor/common/editorCommon';
+import { EnterAction, ILineContext, IRichEditOnEnter, IndentAction, CharacterPair } from 'vs/editor/common/modes';
+import { handleEvent } from 'vs/editor/common/modes/supports';
+import { LanguageConfigurationRegistryImpl } from 'vs/editor/common/modes/languageConfigurationRegistry';
 
 /**
  * Describes indentation rules for a language.
@@ -76,7 +76,7 @@ export class OnEnterSupport implements IRichEditOnEnter {
 	private _indentationRules: IndentationRule;
 	private _regExpRules: OnEnterRule[];
 
-	constructor(registry: LanguageConfigurationRegistryImpl, modeId: string, opts?:IOnEnterSupportOptions) {
+	constructor(registry: LanguageConfigurationRegistryImpl, modeId: string, opts?: IOnEnterSupportOptions) {
 		this._registry = registry;
 		opts = opts || {};
 		opts.brackets = opts.brackets || [
@@ -98,10 +98,10 @@ export class OnEnterSupport implements IRichEditOnEnter {
 		this._indentationRules = opts.indentationRules;
 	}
 
-	public onEnter(model:ITokenizedModel, position: IPosition): EnterAction {
+	public onEnter(model: ITokenizedModel, position: IPosition): EnterAction {
 		var context = model.getLineContext(position.lineNumber);
 
-		return handleEvent(context, position.column - 1, (nestedModeId:string, context:ILineContext, offset:number) => {
+		return handleEvent(context, position.column - 1, (nestedModeId: string, context: ILineContext, offset: number) => {
 			if (this._modeId === nestedModeId) {
 				return this._onEnter(model, position);
 			}
@@ -115,7 +115,7 @@ export class OnEnterSupport implements IRichEditOnEnter {
 		});
 	}
 
-	private _onEnter(model:ITextModel, position: IPosition): EnterAction {
+	private _onEnter(model: ITextModel, position: IPosition): EnterAction {
 		let lineText = model.getLineContent(position.lineNumber);
 		let beforeEnterText = lineText.substr(0, position.column - 1);
 		let afterEnterText = lineText.substr(position.column - 1);
@@ -125,7 +125,7 @@ export class OnEnterSupport implements IRichEditOnEnter {
 		return this._actualOnEnter(oneLineAboveText, beforeEnterText, afterEnterText);
 	}
 
-	_actualOnEnter(oneLineAboveText:string, beforeEnterText:string, afterEnterText:string): EnterAction {
+	_actualOnEnter(oneLineAboveText: string, beforeEnterText: string, afterEnterText: string): EnterAction {
 		// (1): `regExpRules`
 		for (let i = 0, len = this._regExpRules.length; i < len; i++) {
 			let rule = this._regExpRules[i];
@@ -182,7 +182,7 @@ export class OnEnterSupport implements IRichEditOnEnter {
 		return null;
 	}
 
-	private static _createOpenBracketRegExp(bracket:string): RegExp {
+	private static _createOpenBracketRegExp(bracket: string): RegExp {
 		var str = strings.escapeRegExpCharacters(bracket);
 		if (!/\B/.test(str.charAt(0))) {
 			str = '\\b' + str;
@@ -191,7 +191,7 @@ export class OnEnterSupport implements IRichEditOnEnter {
 		return OnEnterSupport._safeRegExp(str);
 	}
 
-	private static _createCloseBracketRegExp(bracket:string): RegExp {
+	private static _createCloseBracketRegExp(bracket: string): RegExp {
 		var str = strings.escapeRegExpCharacters(bracket);
 		if (!/\B/.test(str.charAt(str.length - 1))) {
 			str = str + '\\b';
@@ -200,10 +200,10 @@ export class OnEnterSupport implements IRichEditOnEnter {
 		return OnEnterSupport._safeRegExp(str);
 	}
 
-	private static _safeRegExp(def:string): RegExp {
+	private static _safeRegExp(def: string): RegExp {
 		try {
 			return new RegExp(def);
-		} catch(err) {
+		} catch (err) {
 			onUnexpectedError(err);
 			return null;
 		}
diff --git a/src/vs/editor/common/modes/supports/richEditBrackets.ts b/src/vs/editor/common/modes/supports/richEditBrackets.ts
index e0ed782193d43..13d5efcd312d4 100644
--- a/src/vs/editor/common/modes/supports/richEditBrackets.ts
+++ b/src/vs/editor/common/modes/supports/richEditBrackets.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as strings from 'vs/base/common/strings';
-import {Range} from 'vs/editor/common/core/range';
-import {IRichEditBracket} from 'vs/editor/common/editorCommon';
-import {IRichEditBrackets, CharacterPair} from 'vs/editor/common/modes';
+import { Range } from 'vs/editor/common/core/range';
+import { IRichEditBracket } from 'vs/editor/common/editorCommon';
+import { IRichEditBrackets, CharacterPair } from 'vs/editor/common/modes';
 
 interface ISimpleInternalBracket {
 	open: string;
@@ -20,8 +20,8 @@ export class RichEditBrackets implements IRichEditBrackets {
 	public forwardRegex: RegExp;
 	public reversedRegex: RegExp;
 	public maxBracketLength: number;
-	public textIsBracket: {[text:string]:IRichEditBracket;};
-	public textIsOpenBracket: {[text:string]:boolean;};
+	public textIsBracket: { [text: string]: IRichEditBracket; };
+	public textIsOpenBracket: { [text: string]: boolean; };
 
 	constructor(modeId: string, brackets: CharacterPair[]) {
 		this.brackets = brackets.map((b) => {
@@ -50,9 +50,9 @@ export class RichEditBrackets implements IRichEditBrackets {
 	}
 }
 
-function once<T, R>(keyFn:(input:T)=>string, computeFn:(input:T)=>R):(input:T)=>R {
-	let cache: {[key:string]:R;} = {};
-	return (input:T):R => {
+function once<T, R>(keyFn: (input: T) => string, computeFn: (input: T) => R): (input: T) => R {
+	let cache: { [key: string]: R; } = {};
+	return (input: T): R => {
 		let key = keyFn(input);
 		if (!cache.hasOwnProperty(key)) {
 			cache[key] = computeFn(input);
@@ -61,21 +61,21 @@ function once<T, R>(keyFn:(input:T)=>string, computeFn:(input:T)=>R):(input:T)=>
 	};
 }
 
-var getRegexForBracketPair = once<ISimpleInternalBracket,RegExp>(
+var getRegexForBracketPair = once<ISimpleInternalBracket, RegExp>(
 	(input) => `${input.open};${input.close}`,
 	(input) => {
 		return createOrRegex([input.open, input.close]);
 	}
 );
 
-var getReversedRegexForBracketPair = once<ISimpleInternalBracket,RegExp>(
+var getReversedRegexForBracketPair = once<ISimpleInternalBracket, RegExp>(
 	(input) => `${input.open};${input.close}`,
 	(input) => {
 		return createOrRegex([toReversedString(input.open), toReversedString(input.close)]);
 	}
 );
 
-var getRegexForBrackets = once<ISimpleInternalBracket[],RegExp>(
+var getRegexForBrackets = once<ISimpleInternalBracket[], RegExp>(
 	(input) => input.map(b => `${b.open};${b.close}`).join(';'),
 	(input) => {
 		let pieces: string[] = [];
@@ -87,7 +87,7 @@ var getRegexForBrackets = once<ISimpleInternalBracket[],RegExp>(
 	}
 );
 
-var getReversedRegexForBrackets = once<ISimpleInternalBracket[],RegExp>(
+var getReversedRegexForBrackets = once<ISimpleInternalBracket[], RegExp>(
 	(input) => input.map(b => `${b.open};${b.close}`).join(';'),
 	(input) => {
 		let pieces: string[] = [];
@@ -99,14 +99,14 @@ var getReversedRegexForBrackets = once<ISimpleInternalBracket[],RegExp>(
 	}
 );
 
-function createOrRegex(pieces:string[]): RegExp {
+function createOrRegex(pieces: string[]): RegExp {
 	let regexStr = `(${pieces.map(strings.escapeRegExpCharacters).join(')|(')})`;
 	return strings.createRegExp(regexStr, true);
 }
 
-let toReversedString = (function() {
+let toReversedString = (function () {
 
-	function reverse(str:string): string {
+	function reverse(str: string): string {
 		let reversedStr = '';
 		for (let i = str.length - 1; i >= 0; i--) {
 			reversedStr += str.charAt(i);
@@ -116,7 +116,7 @@ let toReversedString = (function() {
 
 	let lastInput: string = null;
 	let lastOutput: string = null;
-	return function toReversedString(str:string): string {
+	return function toReversedString(str: string): string {
 		if (lastInput !== str) {
 			lastInput = str;
 			lastOutput = reverse(lastInput);
@@ -127,7 +127,7 @@ let toReversedString = (function() {
 
 export class BracketsUtils {
 
-	private static _findPrevBracketInText(reversedBracketRegex:RegExp, lineNumber:number, reversedText:string, offset:number): Range {
+	private static _findPrevBracketInText(reversedBracketRegex: RegExp, lineNumber: number, reversedText: string, offset: number): Range {
 		let m = reversedText.match(reversedBracketRegex);
 
 		if (!m) {
@@ -141,7 +141,7 @@ export class BracketsUtils {
 		return new Range(lineNumber, absoluteMatchOffset - matchLength + 1, lineNumber, absoluteMatchOffset + 1);
 	}
 
-	public static findPrevBracketInToken(reversedBracketRegex:RegExp, lineNumber:number, lineText:string, currentTokenStart:number, currentTokenEnd:number): Range {
+	public static findPrevBracketInToken(reversedBracketRegex: RegExp, lineNumber: number, lineText: string, currentTokenStart: number, currentTokenEnd: number): Range {
 		// Because JS does not support backwards regex search, we search forwards in a reversed string with a reversed regex ;)
 		let reversedLineText = toReversedString(lineText);
 		let reversedTokenText = reversedLineText.substring(lineText.length - currentTokenEnd, lineText.length - currentTokenStart);
@@ -149,7 +149,7 @@ export class BracketsUtils {
 		return this._findPrevBracketInText(reversedBracketRegex, lineNumber, reversedTokenText, currentTokenStart);
 	}
 
-	public static findNextBracketInText(bracketRegex:RegExp, lineNumber:number, text:string, offset:number): Range {
+	public static findNextBracketInText(bracketRegex: RegExp, lineNumber: number, text: string, offset: number): Range {
 		let m = text.match(bracketRegex);
 
 		if (!m) {
@@ -163,7 +163,7 @@ export class BracketsUtils {
 		return new Range(lineNumber, absoluteMatchOffset + 1, lineNumber, absoluteMatchOffset + 1 + matchLength);
 	}
 
-	public static findNextBracketInToken(bracketRegex:RegExp, lineNumber:number, lineText:string, currentTokenStart:number, currentTokenEnd:number): Range {
+	public static findNextBracketInToken(bracketRegex: RegExp, lineNumber: number, lineText: string, currentTokenStart: number, currentTokenEnd: number): Range {
 		let currentTokenText = lineText.substring(currentTokenStart, currentTokenEnd);
 
 		return this.findNextBracketInText(bracketRegex, lineNumber, currentTokenText, currentTokenStart);
diff --git a/src/vs/editor/common/modes/supports/suggestSupport.ts b/src/vs/editor/common/modes/supports/suggestSupport.ts
index 8319a3ade9fee..0b0ff3023711d 100644
--- a/src/vs/editor/common/modes/supports/suggestSupport.ts
+++ b/src/vs/editor/common/modes/supports/suggestSupport.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IReadOnlyModel} from 'vs/editor/common/editorCommon';
-import {ISuggestResult, ISuggestSupport} from 'vs/editor/common/modes';
-import {IFilter, matchesPrefix, fuzzyContiguousFilter} from 'vs/base/common/filters';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {CancellationToken} from 'vs/base/common/cancellation';
-import {wireCancellationToken} from 'vs/base/common/async';
-import {Position} from 'vs/editor/common/core/position';
+import { IReadOnlyModel } from 'vs/editor/common/editorCommon';
+import { ISuggestResult, ISuggestSupport } from 'vs/editor/common/modes';
+import { IFilter, matchesPrefix, fuzzyContiguousFilter } from 'vs/base/common/filters';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { CancellationToken } from 'vs/base/common/cancellation';
+import { wireCancellationToken } from 'vs/base/common/async';
+import { Position } from 'vs/editor/common/core/position';
 
 export class TextualSuggestSupport implements ISuggestSupport {
 
@@ -31,7 +31,7 @@ export class TextualSuggestSupport implements ISuggestSupport {
 		this._configurationService = configurationService;
 	}
 
-	public provideCompletionItems(model:IReadOnlyModel, position:Position, token:CancellationToken): Thenable<ISuggestResult> {
+	public provideCompletionItems(model: IReadOnlyModel, position: Position, token: CancellationToken): Thenable<ISuggestResult> {
 		let config = this._configurationService.getConfiguration<{ wordBasedSuggestions: boolean }>('editor');
 		if (!config || config.wordBasedSuggestions) {
 			return wireCancellationToken(token, this._editorWorkerService.textualSuggest(model.uri, position));
diff --git a/src/vs/editor/common/modes/supports/tokenizationSupport.ts b/src/vs/editor/common/modes/supports/tokenizationSupport.ts
index 786578635a35f..74b0f498df864 100644
--- a/src/vs/editor/common/modes/supports/tokenizationSupport.ts
+++ b/src/vs/editor/common/modes/supports/tokenizationSupport.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import * as modes from 'vs/editor/common/modes';
-import {LineStream} from 'vs/editor/common/modes/lineStream';
-import {NullState, nullTokenize, NULL_MODE_ID} from 'vs/editor/common/modes/nullMode';
-import {Token} from 'vs/editor/common/core/token';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {AbstractState, ITokenizationResult} from 'vs/editor/common/modes/abstractState';
+import { LineStream } from 'vs/editor/common/modes/lineStream';
+import { NullState, nullTokenize, NULL_MODE_ID } from 'vs/editor/common/modes/nullMode';
+import { Token } from 'vs/editor/common/core/token';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { AbstractState, ITokenizationResult } from 'vs/editor/common/modes/abstractState';
 
 export interface ILeavingNestedModeData {
 	/**
@@ -36,16 +36,16 @@ export interface IModeLocator {
 
 export interface ITokenizationCustomization {
 
-	getInitialState():AbstractState;
+	getInitialState(): AbstractState;
 
-	enterNestedMode?: (state:AbstractState) => boolean;
+	enterNestedMode?: (state: AbstractState) => boolean;
 
-	getNestedMode?: (state:AbstractState, locator:IModeLocator) => modes.IMode;
+	getNestedMode?: (state: AbstractState, locator: IModeLocator) => modes.IMode;
 
 	/**
 	 * Return null if the line does not leave the nested mode
 	 */
-	getLeavingNestedModeData?: (line:string, state:modes.IState) => ILeavingNestedModeData;
+	getLeavingNestedModeData?: (line: string, state: modes.IState) => ILeavingNestedModeData;
 }
 
 function isFunction(something) {
@@ -56,21 +56,21 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 
 	static MAX_EMBEDDED_LEVELS = 5;
 
-	private customization:ITokenizationCustomization;
+	private customization: ITokenizationCustomization;
 	private defaults: {
 		enterNestedMode: boolean;
 		getNestedMode: boolean;
 		getLeavingNestedModeData: boolean;
 	};
 
-	private supportsNestedModes:boolean;
+	private supportsNestedModes: boolean;
 
-	private _modeService:IModeService;
-	private _modeId:string;
-	private _embeddedModes: {[modeId:string]:boolean;};
+	private _modeService: IModeService;
+	private _modeId: string;
+	private _embeddedModes: { [modeId: string]: boolean; };
 	private _tokenizationRegistryListener: IDisposable;
 
-	constructor(modeService:IModeService, modeId:string, customization:ITokenizationCustomization, supportsNestedModes:boolean) {
+	constructor(modeService: IModeService, modeId: string, customization: ITokenizationCustomization, supportsNestedModes: boolean) {
 		this._modeService = modeService;
 		this._modeId = modeId;
 		this.customization = customization;
@@ -106,7 +106,7 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 		return this.customization.getInitialState();
 	}
 
-	public tokenize(line:string, state:modes.IState, deltaOffset:number = 0, stopAtOffset:number = deltaOffset + line.length):modes.ILineTokens {
+	public tokenize(line: string, state: modes.IState, deltaOffset: number = 0, stopAtOffset: number = deltaOffset + line.length): modes.ILineTokens {
 		if (state.getModeId() !== this._modeId) {
 			return this._nestedTokenize(line, state, deltaOffset, stopAtOffset, [], []);
 		} else {
@@ -118,7 +118,7 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 	 * Precondition is: nestedModeState.getModeId() !== this._modeId
 	 * This means we are in a nested mode when parsing starts on this line.
 	 */
-	private _nestedTokenize(buffer:string, nestedModeState:modes.IState, deltaOffset:number, stopAtOffset:number, prependTokens:Token[], prependModeTransitions:ModeTransition[]):modes.ILineTokens {
+	private _nestedTokenize(buffer: string, nestedModeState: modes.IState, deltaOffset: number, stopAtOffset: number, prependTokens: Token[], prependModeTransitions: ModeTransition[]): modes.ILineTokens {
 		let myStateBeforeNestedMode = nestedModeState.getStateData();
 		let leavingNestedModeData = this._getLeavingNestedModeData(buffer, myStateBeforeNestedMode);
 
@@ -133,7 +133,7 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 
 		if (!leavingNestedModeData) {
 			// tokenization will not leave nested mode
-			let result:modes.ILineTokens;
+			let result: modes.ILineTokens;
 			let tokenizationSupport = modes.TokenizationRegistry.get(nestedModeId);
 			if (tokenizationSupport) {
 				result = tokenizationSupport.tokenize(buffer, nestedModeState, deltaOffset, stopAtOffset);
@@ -150,7 +150,7 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 		let nestedModeBuffer = leavingNestedModeData.nestedModeBuffer;
 		if (nestedModeBuffer.length > 0) {
 			// Tokenize with the nested mode
-			let nestedModeLineTokens:modes.ILineTokens;
+			let nestedModeLineTokens: modes.ILineTokens;
 			let tokenizationSupport = modes.TokenizationRegistry.get(nestedModeId);
 			if (tokenizationSupport) {
 				nestedModeLineTokens = tokenizationSupport.tokenize(nestedModeBuffer, nestedModeState, deltaOffset, stopAtOffset);
@@ -179,15 +179,15 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 	 * Precondition is: state.getMode() === this
 	 * This means we are in the current mode when parsing starts on this line.
 	 */
-	private _myTokenize(buffer:string, myState:AbstractState, deltaOffset:number, stopAtOffset:number, prependTokens:Token[], prependModeTransitions:ModeTransition[]):modes.ILineTokens {
+	private _myTokenize(buffer: string, myState: AbstractState, deltaOffset: number, stopAtOffset: number, prependTokens: Token[], prependModeTransitions: ModeTransition[]): modes.ILineTokens {
 		let lineStream = new LineStream(buffer);
-		let tokenResult:ITokenizationResult, beforeTokenizeStreamPos:number;
-		let previousType:string = null;
+		let tokenResult: ITokenizationResult, beforeTokenizeStreamPos: number;
+		let previousType: string = null;
 
 		myState = myState.clone();
-		if (prependModeTransitions.length <= 0 || prependModeTransitions[prependModeTransitions.length-1].modeId !== this._modeId) {
+		if (prependModeTransitions.length <= 0 || prependModeTransitions[prependModeTransitions.length - 1].modeId !== this._modeId) {
 			// Avoid transitioning to the same mode (this can happen in case of empty embedded modes)
-			prependModeTransitions.push(new ModeTransition(deltaOffset,this._modeId));
+			prependModeTransitions.push(new ModeTransition(deltaOffset, this._modeId));
 		}
 
 		let maxPos = Math.min(stopAtOffset - deltaOffset, buffer.length);
@@ -198,7 +198,7 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 				tokenResult = myState.tokenize(lineStream);
 				if (tokenResult === null || tokenResult === undefined ||
 					((tokenResult.type === undefined || tokenResult.type === null) &&
-					(tokenResult.nextState === undefined || tokenResult.nextState === null))) {
+						(tokenResult.nextState === undefined || tokenResult.nextState === null))) {
 					throw new Error('Tokenizer must return a valid state');
 				}
 
@@ -248,16 +248,16 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 		};
 	}
 
-	private _getEmbeddedLevel(state:modes.IState): number {
+	private _getEmbeddedLevel(state: modes.IState): number {
 		let result = -1;
-		while(state) {
+		while (state) {
 			result++;
 			state = state.getStateData();
 		}
 		return result;
 	}
 
-	private _enterNestedMode(state:AbstractState): boolean {
+	private _enterNestedMode(state: AbstractState): boolean {
 		if (this.defaults.enterNestedMode) {
 			return false;
 		}
@@ -265,12 +265,12 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 
 	}
 
-	private _getNestedMode(state:AbstractState): modes.IMode {
+	private _getNestedMode(state: AbstractState): modes.IMode {
 		if (this.defaults.getNestedMode) {
 			return null;
 		}
 
-		let locator:IModeLocator = {
+		let locator: IModeLocator = {
 			getMode: (mimetypeOrModeId: string): modes.IMode => {
 				if (!mimetypeOrModeId || !this._modeService.isRegisteredMode(mimetypeOrModeId)) {
 					return null;
@@ -297,7 +297,7 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 		return this.customization.getNestedMode(state, locator);
 	}
 
-	private _getNestedModeInitialState(state:AbstractState): modes.IState {
+	private _getNestedModeInitialState(state: AbstractState): modes.IState {
 		let nestedMode = this._getNestedMode(state);
 		if (nestedMode) {
 			let tokenizationSupport = modes.TokenizationRegistry.get(nestedMode.getId());
@@ -311,7 +311,7 @@ export class TokenizationSupport implements modes.ITokenizationSupport, IDisposa
 		return new NullState(nestedMode ? nestedMode.getId() : NULL_MODE_ID, state);
 	}
 
-	private _getLeavingNestedModeData(line:string, state:modes.IState): ILeavingNestedModeData {
+	private _getLeavingNestedModeData(line: string, state: modes.IState): ILeavingNestedModeData {
 		if (this.defaults.getLeavingNestedModeData) {
 			return null;
 		}
diff --git a/src/vs/editor/common/modes/textToHtmlTokenizer.ts b/src/vs/editor/common/modes/textToHtmlTokenizer.ts
index 829eb05ab4182..2b62bf5c803a3 100644
--- a/src/vs/editor/common/modes/textToHtmlTokenizer.ts
+++ b/src/vs/editor/common/modes/textToHtmlTokenizer.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IHTMLContentElement} from 'vs/base/common/htmlContent';
+import { IHTMLContentElement } from 'vs/base/common/htmlContent';
 import * as strings from 'vs/base/common/strings';
-import {IState, ITokenizationSupport, TokenizationRegistry} from 'vs/editor/common/modes';
-import {NullState, nullTokenize} from 'vs/editor/common/modes/nullMode';
+import { IState, ITokenizationSupport, TokenizationRegistry } from 'vs/editor/common/modes';
+import { NullState, nullTokenize } from 'vs/editor/common/modes/nullMode';
 
 export function tokenizeToHtmlContent(text: string, languageId: string): IHTMLContentElement {
 	return _tokenizeToHtmlContent(text, _getSafeTokenizationSupport(languageId));
@@ -24,7 +24,7 @@ function _getSafeTokenizationSupport(languageId: string): ITokenizationSupport {
 	}
 	return {
 		getInitialState: () => new NullState(null, null),
-		tokenize: (buffer:string, state: IState, deltaOffset:number = 0, stopAtOffset?:number) => nullTokenize(null, buffer, state, deltaOffset, stopAtOffset)
+		tokenize: (buffer: string, state: IState, deltaOffset: number = 0, stopAtOffset?: number) => nullTokenize(null, buffer, state, deltaOffset, stopAtOffset)
 	};
 }
 
@@ -96,7 +96,7 @@ function _tokenizeLines(text: string, tokenizationSupport: ITokenizationSupport,
 	}
 }
 
-function _tokenizeLine(line: string, tokenizationSupport:ITokenizationSupport, emitToken: IEmitTokenFunc, startState: IState): IState {
+function _tokenizeLine(line: string, tokenizationSupport: ITokenizationSupport, emitToken: IEmitTokenFunc, startState: IState): IState {
 	var tokenized = tokenizationSupport.tokenize(line, startState),
 		endState = tokenized.endState,
 		tokens = tokenized.tokens,
diff --git a/src/vs/editor/common/services/abstractCodeEditorService.ts b/src/vs/editor/common/services/abstractCodeEditorService.ts
index ab2ea9a4690a8..e84f7666e371b 100644
--- a/src/vs/editor/common/services/abstractCodeEditorService.ts
+++ b/src/vs/editor/common/services/abstractCodeEditorService.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import Event, {Emitter} from 'vs/base/common/event';
-import {ICommonCodeEditor, IDecorationRenderOptions, IModelDecorationOptions} from 'vs/editor/common/editorCommon';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
+import Event, { Emitter } from 'vs/base/common/event';
+import { ICommonCodeEditor, IDecorationRenderOptions, IModelDecorationOptions } from 'vs/editor/common/editorCommon';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
 
 export abstract class AbstractCodeEditorService implements ICodeEditorService {
 	public _serviceBrand: any;
@@ -37,7 +37,7 @@ export abstract class AbstractCodeEditorService implements ICodeEditorService {
 		}
 	}
 
-	public get onCodeEditorRemove(): Event<ICommonCodeEditor>{
+	public get onCodeEditorRemove(): Event<ICommonCodeEditor> {
 		return this._onCodeEditorRemove.event;
 	}
 
@@ -69,7 +69,7 @@ export abstract class AbstractCodeEditorService implements ICodeEditorService {
 		return editorWithWidgetFocus;
 	}
 
-	public abstract registerDecorationType(key:string, options: IDecorationRenderOptions, parentTypeKey?: string): void;
-	public abstract removeDecorationType(key:string): void;
-	public abstract resolveDecorationOptions(decorationTypeKey:string, writable: boolean): IModelDecorationOptions;
+	public abstract registerDecorationType(key: string, options: IDecorationRenderOptions, parentTypeKey?: string): void;
+	public abstract removeDecorationType(key: string): void;
+	public abstract resolveDecorationOptions(decorationTypeKey: string, writable: boolean): IModelDecorationOptions;
 }
diff --git a/src/vs/editor/common/services/bulkEdit.ts b/src/vs/editor/common/services/bulkEdit.ts
index 6061edc103043..e2e08216d8c65 100644
--- a/src/vs/editor/common/services/bulkEdit.ts
+++ b/src/vs/editor/common/services/bulkEdit.ts
@@ -5,19 +5,19 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {merge} from 'vs/base/common/arrays';
-import {IStringDictionary, forEach, values} from 'vs/base/common/collections';
+import { merge } from 'vs/base/common/arrays';
+import { IStringDictionary, forEach, values } from 'vs/base/common/collections';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IEditorService} from 'vs/platform/editor/common/editor';
-import {IEventService} from 'vs/platform/event/common/event';
-import {EventType as FileEventType, FileChangesEvent, IFileChange} from 'vs/platform/files/common/files';
-import {EditOperation} from 'vs/editor/common/core/editOperation';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {IIdentifiedSingleEditOperation, IModel, IRange, ISelection} from 'vs/editor/common/editorCommon';
-import {ICommonCodeEditor} from 'vs/editor/common/editorCommon';
-import {IProgressRunner} from 'vs/platform/progress/common/progress';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IEditorService } from 'vs/platform/editor/common/editor';
+import { IEventService } from 'vs/platform/event/common/event';
+import { EventType as FileEventType, FileChangesEvent, IFileChange } from 'vs/platform/files/common/files';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { IIdentifiedSingleEditOperation, IModel, IRange, ISelection } from 'vs/editor/common/editorCommon';
+import { ICommonCodeEditor } from 'vs/editor/common/editorCommon';
+import { IProgressRunner } from 'vs/platform/progress/common/progress';
 
 export interface IResourceEdit {
 	resource: URI;
@@ -43,7 +43,7 @@ class ChangeRecorder {
 
 		var changes: IStringDictionary<IFileChange[]> = Object.create(null);
 
-		var stop = this._eventService.addListener2(FileEventType.FILE_CHANGES,(event: FileChangesEvent) => {
+		var stop = this._eventService.addListener2(FileEventType.FILE_CHANGES, (event: FileChangesEvent) => {
 			event.changes.forEach(change => {
 
 				var key = String(change.resource),
@@ -109,7 +109,7 @@ class EditTask {
 		return [initialSelection];
 	}
 
-	private _getEndCursorSelections(inverseEditOperations:IIdentifiedSingleEditOperation[]): Selection[] {
+	private _getEndCursorSelections(inverseEditOperations: IIdentifiedSingleEditOperation[]): Selection[] {
 		var relevantEditIndex = 0;
 		for (var i = 0; i < inverseEditOperations.length; i++) {
 			var editRange = inverseEditOperations[i].range;
@@ -143,9 +143,9 @@ class EditTask {
 
 class SourceModelEditTask extends EditTask {
 
-	private _knownInitialSelections:Selection[];
+	private _knownInitialSelections: Selection[];
 
-	constructor(model: IModel, initialSelections:Selection[]) {
+	constructor(model: IModel, initialSelections: Selection[]) {
 		super(model);
 		this._knownInitialSelections = initialSelections;
 	}
@@ -166,7 +166,7 @@ class BulkEditModel {
 	private _sourceSelections: Selection[];
 	private _sourceModelTask: SourceModelEditTask;
 
-	constructor(editorService: IEditorService, sourceModel: URI, sourceSelections: Selection[], edits: IResourceEdit[], private progress: IProgressRunner= null) {
+	constructor(editorService: IEditorService, sourceModel: URI, sourceSelections: Selection[], edits: IResourceEdit[], private progress: IProgressRunner = null) {
 		this._editorService = editorService;
 		this._sourceModel = sourceModel;
 		this._sourceSelections = sourceSelections;
@@ -217,7 +217,7 @@ class BulkEditModel {
 				var textEditorModel = <IModel>model.textEditorModel,
 					task: EditTask;
 
-				if (this._sourceModel && textEditorModel.uri.toString() ===  this._sourceModel.toString()) {
+				if (this._sourceModel && textEditorModel.uri.toString() === this._sourceModel.toString()) {
 					this._sourceModelTask = new SourceModelEditTask(textEditorModel, this._sourceSelections);
 					task = this._sourceModelTask;
 				} else {
@@ -260,7 +260,7 @@ export interface BulkEdit {
 	finish(): TPromise<ISelection>;
 }
 
-export function bulkEdit(eventService:IEventService, editorService:IEditorService, editor:ICommonCodeEditor, edits:IResourceEdit[], progress: IProgressRunner= null):TPromise<any> {
+export function bulkEdit(eventService: IEventService, editorService: IEditorService, editor: ICommonCodeEditor, edits: IResourceEdit[], progress: IProgressRunner = null): TPromise<any> {
 	let bulk = createBulkEdit(eventService, editorService, editor);
 	bulk.add(edits);
 	bulk.progress(progress);
@@ -274,7 +274,7 @@ export function createBulkEdit(eventService: IEventService, editorService: IEdit
 	let progressRunner: IProgressRunner;
 
 	function progress(progress: IProgressRunner) {
-		progressRunner= progress;
+		progressRunner = progress;
 	}
 
 	function add(edits: IResourceEdit[]): void {
diff --git a/src/vs/editor/common/services/codeEditorService.ts b/src/vs/editor/common/services/codeEditorService.ts
index 47dccd1cb5976..91742fe816300 100644
--- a/src/vs/editor/common/services/codeEditorService.ts
+++ b/src/vs/editor/common/services/codeEditorService.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import Event from 'vs/base/common/event';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {ICommonCodeEditor, ICommonDiffEditor, isCommonCodeEditor, isCommonDiffEditor, IDecorationRenderOptions, IModelDecorationOptions} from 'vs/editor/common/editorCommon';
-import {IEditor} from 'vs/platform/editor/common/editor';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { ICommonCodeEditor, ICommonDiffEditor, isCommonCodeEditor, isCommonDiffEditor, IDecorationRenderOptions, IModelDecorationOptions } from 'vs/editor/common/editorCommon';
+import { IEditor } from 'vs/platform/editor/common/editor';
 
 export var ICodeEditorService = createDecorator<ICodeEditorService>('codeEditorService');
 
@@ -29,15 +29,15 @@ export interface ICodeEditorService {
 	 */
 	getFocusedCodeEditor(): ICommonCodeEditor;
 
-	registerDecorationType(key:string, options: IDecorationRenderOptions, parentTypeKey?: string): void;
-	removeDecorationType(key:string): void;
-	resolveDecorationOptions(typeKey:string, writable: boolean): IModelDecorationOptions;
+	registerDecorationType(key: string, options: IDecorationRenderOptions, parentTypeKey?: string): void;
+	removeDecorationType(key: string): void;
+	resolveDecorationOptions(typeKey: string, writable: boolean): IModelDecorationOptions;
 }
 
 /**
  * Uses `editor.getControl()` and returns either a `codeEditor` or a `diffEditor` or nothing.
  */
-export function getCodeOrDiffEditor(editor:IEditor): { codeEditor: ICommonCodeEditor; diffEditor: ICommonDiffEditor} {
+export function getCodeOrDiffEditor(editor: IEditor): { codeEditor: ICommonCodeEditor; diffEditor: ICommonDiffEditor } {
 	if (editor) {
 		let control = editor.getControl();
 		if (control) {
@@ -65,7 +65,7 @@ export function getCodeOrDiffEditor(editor:IEditor): { codeEditor: ICommonCodeEd
 /**
  * Uses `editor.getControl()` and returns either the code editor, or the modified editor of a diff editor or nothing.
  */
-export function getCodeEditor(editor:IEditor): ICommonCodeEditor {
+export function getCodeEditor(editor: IEditor): ICommonCodeEditor {
 	let r = getCodeOrDiffEditor(editor);
 	return r.codeEditor || (r.diffEditor && r.diffEditor.getModifiedEditor()) || null;
 }
diff --git a/src/vs/editor/common/services/editorSimpleWorker.ts b/src/vs/editor/common/services/editorSimpleWorker.ts
index b4e8ec5e988e6..527609a7ed2b2 100644
--- a/src/vs/editor/common/services/editorSimpleWorker.ts
+++ b/src/vs/editor/common/services/editorSimpleWorker.ts
@@ -6,20 +6,20 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {IRequestHandler} from 'vs/base/common/worker/simpleWorker';
-import {Range} from 'vs/editor/common/core/range';
-import {fuzzyContiguousFilter} from 'vs/base/common/filters';
-import {DiffComputer} from 'vs/editor/common/diff/diffComputer';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { IRequestHandler } from 'vs/base/common/worker/simpleWorker';
+import { Range } from 'vs/editor/common/core/range';
+import { fuzzyContiguousFilter } from 'vs/base/common/filters';
+import { DiffComputer } from 'vs/editor/common/diff/diffComputer';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {MirrorModel2} from 'vs/editor/common/model/mirrorModel2';
-import {IInplaceReplaceSupportResult, ILink, ISuggestResult, ISuggestion} from 'vs/editor/common/modes';
-import {computeLinks} from 'vs/editor/common/modes/linkComputer';
-import {BasicInplaceReplace} from 'vs/editor/common/modes/supports/inplaceReplaceSupport';
-import {IRawModelData} from 'vs/editor/common/services/editorSimpleWorkerCommon';
-import {getWordAtText, ensureValidWordDefinition} from 'vs/editor/common/model/wordHelper';
-import {createMonacoBaseAPI} from 'vs/editor/common/standalone/standaloneBase';
+import { MirrorModel2 } from 'vs/editor/common/model/mirrorModel2';
+import { IInplaceReplaceSupportResult, ILink, ISuggestResult, ISuggestion } from 'vs/editor/common/modes';
+import { computeLinks } from 'vs/editor/common/modes/linkComputer';
+import { BasicInplaceReplace } from 'vs/editor/common/modes/supports/inplaceReplaceSupport';
+import { IRawModelData } from 'vs/editor/common/services/editorSimpleWorkerCommon';
+import { getWordAtText, ensureValidWordDefinition } from 'vs/editor/common/model/wordHelper';
+import { createMonacoBaseAPI } from 'vs/editor/common/standalone/standaloneBase';
 
 export interface IMirrorModel {
 	uri: URI;
@@ -44,11 +44,11 @@ export interface ICommonModel {
 
 	getLinesContent(): string[];
 	getLineCount(): number;
-	getLineContent(lineNumber:number): string;
-	getWordUntilPosition(position: editorCommon.IPosition, wordDefinition:RegExp): editorCommon.IWordAtPosition;
-	getAllUniqueWords(wordDefinition:RegExp, skipWordOnce?:string) : string[];
-	getValueInRange(range:editorCommon.IRange): string;
-	getWordAtPosition(position:editorCommon.IPosition, wordDefinition:RegExp): Range;
+	getLineContent(lineNumber: number): string;
+	getWordUntilPosition(position: editorCommon.IPosition, wordDefinition: RegExp): editorCommon.IWordAtPosition;
+	getAllUniqueWords(wordDefinition: RegExp, skipWordOnce?: string): string[];
+	getValueInRange(range: editorCommon.IRange): string;
+	getWordAtPosition(position: editorCommon.IPosition, wordDefinition: RegExp): Range;
 }
 
 /**
@@ -76,11 +76,11 @@ export class MirrorModel extends MirrorModel2 implements ICommonModel {
 		return this._lines.length;
 	}
 
-	public getLineContent(lineNumber:number): string {
+	public getLineContent(lineNumber: number): string {
 		return this._lines[lineNumber - 1];
 	}
 
-	public getWordAtPosition(position:editorCommon.IPosition, wordDefinition:RegExp): Range {
+	public getWordAtPosition(position: editorCommon.IPosition, wordDefinition: RegExp): Range {
 
 		let wordAtText = getWordAtText(
 			position.column,
@@ -96,7 +96,7 @@ export class MirrorModel extends MirrorModel2 implements ICommonModel {
 		return null;
 	}
 
-	public getWordUntilPosition(position: editorCommon.IPosition, wordDefinition:RegExp): editorCommon.IWordAtPosition {
+	public getWordUntilPosition(position: editorCommon.IPosition, wordDefinition: RegExp): editorCommon.IWordAtPosition {
 		var wordAtPosition = this.getWordAtPosition(position, wordDefinition);
 		if (!wordAtPosition) {
 			return {
@@ -112,8 +112,8 @@ export class MirrorModel extends MirrorModel2 implements ICommonModel {
 		};
 	}
 
-	private _getAllWords(wordDefinition:RegExp): string[] {
-		var result:string[] = [];
+	private _getAllWords(wordDefinition: RegExp): string[] {
+		var result: string[] = [];
 		this._lines.forEach((line) => {
 			this._wordenize(line, wordDefinition).forEach((info) => {
 				result.push(line.substring(info.start, info.end));
@@ -122,7 +122,7 @@ export class MirrorModel extends MirrorModel2 implements ICommonModel {
 		return result;
 	}
 
-	public getAllUniqueWords(wordDefinition:RegExp, skipWordOnce?:string) : string[] {
+	public getAllUniqueWords(wordDefinition: RegExp, skipWordOnce?: string): string[] {
 		var foundSkipWord = false;
 		var uniqueWords = Object.create(null);
 		return this._getAllWords(wordDefinition).filter((word) => {
@@ -139,9 +139,9 @@ export class MirrorModel extends MirrorModel2 implements ICommonModel {
 	}
 
 	// TODO@Joh, TODO@Alex - remove these and make sure the super-things work
-	private _wordenize(content:string, wordDefinition:RegExp): editorCommon.IWordRange[] {
-		var result:editorCommon.IWordRange[] = [];
-		var match:RegExpExecArray;
+	private _wordenize(content: string, wordDefinition: RegExp): editorCommon.IWordRange[] {
+		var result: editorCommon.IWordRange[] = [];
+		var match: RegExpExecArray;
 		while (match = wordDefinition.exec(content)) {
 			if (match[0].length === 0) {
 				// it did match the empty string
@@ -152,7 +152,7 @@ export class MirrorModel extends MirrorModel2 implements ICommonModel {
 		return result;
 	}
 
-	public getValueInRange(range:editorCommon.IRange): string {
+	public getValueInRange(range: editorCommon.IRange): string {
 		if (range.startLineNumber === range.endLineNumber) {
 			return this._lines[range.startLineNumber - 1].substring(range.startColumn - 1, range.endColumn - 1);
 		}
@@ -160,7 +160,7 @@ export class MirrorModel extends MirrorModel2 implements ICommonModel {
 		var lineEnding = this._eol,
 			startLineIndex = range.startLineNumber - 1,
 			endLineIndex = range.endLineNumber - 1,
-			resultLines:string[] = [];
+			resultLines: string[] = [];
 
 		resultLines.push(this._lines[startLineIndex].substring(range.startColumn - 1));
 		for (var i = startLineIndex + 1; i < endLineIndex; i++) {
@@ -182,12 +182,12 @@ export abstract class BaseEditorSimpleWorker {
 		this._foreignModule = null;
 	}
 
-	protected abstract _getModel(uri:string): ICommonModel;
+	protected abstract _getModel(uri: string): ICommonModel;
 	protected abstract _getModels(): ICommonModel[];
 
 	// ---- BEGIN diff --------------------------------------------------------------------------
 
-	public computeDiff(originalUrl:string, modifiedUrl:string, ignoreTrimWhitespace:boolean): TPromise<editorCommon.ILineChange[]> {
+	public computeDiff(originalUrl: string, modifiedUrl: string, ignoreTrimWhitespace: boolean): TPromise<editorCommon.ILineChange[]> {
 		let original = this._getModel(originalUrl);
 		let modified = this._getModel(modifiedUrl);
 		if (!original || !modified) {
@@ -204,7 +204,7 @@ export abstract class BaseEditorSimpleWorker {
 		return TPromise.as(diffComputer.computeDiff());
 	}
 
-	public computeDirtyDiff(originalUrl:string, modifiedUrl:string, ignoreTrimWhitespace:boolean):TPromise<editorCommon.IChange[]> {
+	public computeDirtyDiff(originalUrl: string, modifiedUrl: string, ignoreTrimWhitespace: boolean): TPromise<editorCommon.IChange[]> {
 		let original = this._getModel(originalUrl);
 		let modified = this._getModel(modifiedUrl);
 		if (!original || !modified) {
@@ -223,7 +223,7 @@ export abstract class BaseEditorSimpleWorker {
 
 	// ---- END diff --------------------------------------------------------------------------
 
-	public computeLinks(modelUrl:string):TPromise<ILink[]> {
+	public computeLinks(modelUrl: string): TPromise<ILink[]> {
 		let model = this._getModel(modelUrl);
 		if (!model) {
 			return null;
@@ -234,7 +234,7 @@ export abstract class BaseEditorSimpleWorker {
 
 	// ---- BEGIN suggest --------------------------------------------------------------------------
 
-	public textualSuggest(modelUrl:string, position: editorCommon.IPosition, wordDef:string, wordDefFlags:string): TPromise<ISuggestResult> {
+	public textualSuggest(modelUrl: string, position: editorCommon.IPosition, wordDef: string, wordDefFlags: string): TPromise<ISuggestResult> {
 		let model = this._getModel(modelUrl);
 		if (!model) {
 			return null;
@@ -243,7 +243,7 @@ export abstract class BaseEditorSimpleWorker {
 		return TPromise.as(this._suggestFiltered(model, position, new RegExp(wordDef, wordDefFlags)));
 	}
 
-	private _suggestFiltered(model:ICommonModel, position: editorCommon.IPosition, wordDefRegExp: RegExp): ISuggestResult {
+	private _suggestFiltered(model: ICommonModel, position: editorCommon.IPosition, wordDefRegExp: RegExp): ISuggestResult {
 		let value = this._suggestUnfiltered(model, position, wordDefRegExp);
 
 		// filter suggestions
@@ -254,14 +254,14 @@ export abstract class BaseEditorSimpleWorker {
 		};
 	}
 
-	private _suggestUnfiltered(model:ICommonModel, position:editorCommon.IPosition, wordDefRegExp: RegExp): ISuggestResult {
+	private _suggestUnfiltered(model: ICommonModel, position: editorCommon.IPosition, wordDefRegExp: RegExp): ISuggestResult {
 		let currentWord = model.getWordUntilPosition(position, wordDefRegExp).word;
 		let allWords = model.getAllUniqueWords(wordDefRegExp, currentWord);
 
 		let suggestions = allWords.filter((word) => {
 			return !(/^-?\d*\.?\d/.test(word)); // filter out numbers
 		}).map((word) => {
-			return <ISuggestion> {
+			return <ISuggestion>{
 				type: 'text',
 				label: word,
 				insertText: word,
@@ -277,7 +277,7 @@ export abstract class BaseEditorSimpleWorker {
 
 	// ---- END suggest --------------------------------------------------------------------------
 
-	public navigateValueSet(modelUrl:string, range:editorCommon.IRange, up:boolean, wordDef:string, wordDefFlags:string): TPromise<IInplaceReplaceSupportResult> {
+	public navigateValueSet(modelUrl: string, range: editorCommon.IRange, up: boolean, wordDef: string, wordDefFlags: string): TPromise<IInplaceReplaceSupportResult> {
 		let model = this._getModel(modelUrl);
 		if (!model) {
 			return null;
@@ -291,7 +291,7 @@ export abstract class BaseEditorSimpleWorker {
 
 		let selectionText = model.getValueInRange(range);
 
-		let	wordRange = model.getWordAtPosition({ lineNumber: range.startLineNumber, column: range.startColumn }, wordDefRegExp);
+		let wordRange = model.getWordAtPosition({ lineNumber: range.startLineNumber, column: range.startColumn }, wordDefRegExp);
 		let word: string = null;
 		if (wordRange !== null) {
 			word = model.getValueInRange(wordRange);
@@ -303,12 +303,12 @@ export abstract class BaseEditorSimpleWorker {
 
 	// ---- BEGIN foreign module support --------------------------------------------------------------------------
 
-	public loadForeignModule(moduleId:string, createData:any): TPromise<string[]> {
+	public loadForeignModule(moduleId: string, createData: any): TPromise<string[]> {
 		return new TPromise<any>((c, e) => {
 			// Use the global require to be sure to get the global config
 			(<any>self).require([moduleId], (foreignModule) => {
 				let ctx: IWorkerContext = {
-					getMirrorModels: ():IMirrorModel[] => {
+					getMirrorModels: (): IMirrorModel[] => {
 						return this._getModels();
 					}
 				};
@@ -328,7 +328,7 @@ export abstract class BaseEditorSimpleWorker {
 	}
 
 	// foreign method request
-	public fmr(method:string, args:any[]): TPromise<any> {
+	public fmr(method: string, args: any[]): TPromise<any> {
 		if (!this._foreignModule || typeof this._foreignModule[method] !== 'function') {
 			return TPromise.wrapError(new Error('Missing requestHandler or method: ' + method));
 		}
@@ -349,7 +349,7 @@ export abstract class BaseEditorSimpleWorker {
 export class EditorSimpleWorkerImpl extends BaseEditorSimpleWorker implements IRequestHandler, IDisposable {
 	_requestHandlerTrait: any;
 
-	private _models:{[uri:string]:MirrorModel;};
+	private _models: { [uri: string]: MirrorModel; };
 
 	constructor() {
 		super();
@@ -360,7 +360,7 @@ export class EditorSimpleWorkerImpl extends BaseEditorSimpleWorker implements IR
 		this._models = Object.create(null);
 	}
 
-	protected _getModel(uri:string): ICommonModel {
+	protected _getModel(uri: string): ICommonModel {
 		return this._models[uri];
 	}
 
@@ -370,7 +370,7 @@ export class EditorSimpleWorkerImpl extends BaseEditorSimpleWorker implements IR
 		return all;
 	}
 
-	public acceptNewModel(data:IRawModelData): void {
+	public acceptNewModel(data: IRawModelData): void {
 		this._models[data.url] = new MirrorModel(URI.parse(data.url), data.value.lines, data.value.EOL, data.versionId);
 	}
 
@@ -398,7 +398,7 @@ export function create(): IRequestHandler {
 	return new EditorSimpleWorkerImpl();
 }
 
-var global:any = self;
+var global: any = self;
 let isWebWorker = (typeof global.importScripts === 'function');
 if (isWebWorker) {
 	global.monaco = createMonacoBaseAPI();
diff --git a/src/vs/editor/common/services/editorSimpleWorkerCommon.ts b/src/vs/editor/common/services/editorSimpleWorkerCommon.ts
index ea4cdb72fa895..808341db694a2 100644
--- a/src/vs/editor/common/services/editorSimpleWorkerCommon.ts
+++ b/src/vs/editor/common/services/editorSimpleWorkerCommon.ts
@@ -7,7 +7,7 @@
 import * as editorCommon from 'vs/editor/common/editorCommon';
 
 export interface IRawModelData {
-	url:string;
-	versionId:number;
-	value:editorCommon.IRawText;
+	url: string;
+	versionId: number;
+	value: editorCommon.IRawText;
 }
diff --git a/src/vs/editor/common/services/editorWorkerService.ts b/src/vs/editor/common/services/editorWorkerService.ts
index 76b818f6d8f85..b1f37dc527a49 100644
--- a/src/vs/editor/common/services/editorWorkerService.ts
+++ b/src/vs/editor/common/services/editorWorkerService.ts
@@ -5,10 +5,10 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {IChange, ILineChange, IPosition, IRange} from 'vs/editor/common/editorCommon';
-import {IInplaceReplaceSupportResult, ISuggestResult} from 'vs/editor/common/modes';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { IChange, ILineChange, IPosition, IRange } from 'vs/editor/common/editorCommon';
+import { IInplaceReplaceSupportResult, ISuggestResult } from 'vs/editor/common/modes';
 
 export var ID_EDITOR_WORKER_SERVICE = 'editorWorkerService';
 export var IEditorWorkerService = createDecorator<IEditorWorkerService>(ID_EDITOR_WORKER_SERVICE);
@@ -16,8 +16,8 @@ export var IEditorWorkerService = createDecorator<IEditorWorkerService>(ID_EDITO
 export interface IEditorWorkerService {
 	_serviceBrand: any;
 
-	computeDiff(original:URI, modified:URI, ignoreTrimWhitespace:boolean):TPromise<ILineChange[]>;
-	computeDirtyDiff(original:URI, modified:URI, ignoreTrimWhitespace:boolean):TPromise<IChange[]>;
+	computeDiff(original: URI, modified: URI, ignoreTrimWhitespace: boolean): TPromise<ILineChange[]>;
+	computeDirtyDiff(original: URI, modified: URI, ignoreTrimWhitespace: boolean): TPromise<IChange[]>;
 	textualSuggest(resource: URI, position: IPosition): TPromise<ISuggestResult>;
-	navigateValueSet(resource: URI, range:IRange, up:boolean): TPromise<IInplaceReplaceSupportResult>;
+	navigateValueSet(resource: URI, range: IRange, up: boolean): TPromise<IInplaceReplaceSupportResult>;
 }
diff --git a/src/vs/editor/common/services/editorWorkerServiceImpl.ts b/src/vs/editor/common/services/editorWorkerServiceImpl.ts
index f0923375e30c3..f96156d6b353d 100644
--- a/src/vs/editor/common/services/editorWorkerServiceImpl.ts
+++ b/src/vs/editor/common/services/editorWorkerServiceImpl.ts
@@ -4,18 +4,18 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IntervalTimer, ShallowCancelThenPromise, wireCancellationToken} from 'vs/base/common/async';
-import {Disposable, IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { IntervalTimer, ShallowCancelThenPromise, wireCancellationToken } from 'vs/base/common/async';
+import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {SimpleWorkerClient, logOnceWebWorkerWarning} from 'vs/base/common/worker/simpleWorker';
-import {DefaultWorkerFactory} from 'vs/base/worker/defaultWorkerFactory';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { SimpleWorkerClient, logOnceWebWorkerWarning } from 'vs/base/common/worker/simpleWorker';
+import { DefaultWorkerFactory } from 'vs/base/worker/defaultWorkerFactory';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {WordHelper} from 'vs/editor/common/model/textModelWithTokensHelpers';
-import {IInplaceReplaceSupportResult, ILink, ISuggestResult, LinkProviderRegistry, LinkProvider} from 'vs/editor/common/modes';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {EditorSimpleWorkerImpl} from 'vs/editor/common/services/editorSimpleWorker';
+import { WordHelper } from 'vs/editor/common/model/textModelWithTokensHelpers';
+import { IInplaceReplaceSupportResult, ILink, ISuggestResult, LinkProviderRegistry, LinkProvider } from 'vs/editor/common/modes';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { EditorSimpleWorkerImpl } from 'vs/editor/common/services/editorSimpleWorker';
 
 /**
  * Stop syncing a model to the worker if it was not needed for 1 min.
@@ -33,7 +33,7 @@ export class EditorWorkerServiceImpl implements IEditorWorkerService {
 	private _workerManager: WorkerManager;
 	private _registration: IDisposable;
 
-	constructor(@IModelService modelService:IModelService) {
+	constructor( @IModelService modelService: IModelService) {
 		this._workerManager = new WorkerManager(modelService);
 
 		// todo@joh make sure this happens only once
@@ -49,11 +49,11 @@ export class EditorWorkerServiceImpl implements IEditorWorkerService {
 		this._registration.dispose();
 	}
 
-	public computeDiff(original:URI, modified:URI, ignoreTrimWhitespace:boolean):TPromise<editorCommon.ILineChange[]> {
+	public computeDiff(original: URI, modified: URI, ignoreTrimWhitespace: boolean): TPromise<editorCommon.ILineChange[]> {
 		return this._workerManager.withWorker().then(client => client.computeDiff(original, modified, ignoreTrimWhitespace));
 	}
 
-	public computeDirtyDiff(original:URI, modified:URI, ignoreTrimWhitespace:boolean):TPromise<editorCommon.IChange[]> {
+	public computeDirtyDiff(original: URI, modified: URI, ignoreTrimWhitespace: boolean): TPromise<editorCommon.IChange[]> {
 		return this._workerManager.withWorker().then(client => client.computeDirtyDiff(original, modified, ignoreTrimWhitespace));
 	}
 
@@ -61,7 +61,7 @@ export class EditorWorkerServiceImpl implements IEditorWorkerService {
 		return this._workerManager.withWorker().then(client => client.textualSuggest(resource, position));
 	}
 
-	public navigateValueSet(resource: URI, range:editorCommon.IRange, up:boolean): TPromise<IInplaceReplaceSupportResult> {
+	public navigateValueSet(resource: URI, range: editorCommon.IRange, up: boolean): TPromise<IInplaceReplaceSupportResult> {
 		return this._workerManager.withWorker().then(client => client.navigateValueSet(resource, range, up));
 	}
 
@@ -69,11 +69,11 @@ export class EditorWorkerServiceImpl implements IEditorWorkerService {
 
 class WorkerManager extends Disposable {
 
-	private _modelService:IModelService;
+	private _modelService: IModelService;
 	private _editorWorkerClient: EditorWorkerClient;
 	private _lastWorkerUsedTime: number;
 
-	constructor(modelService:IModelService) {
+	constructor(modelService: IModelService) {
 		super();
 		this._modelService = modelService;
 		this._editorWorkerClient = null;
@@ -139,7 +139,7 @@ class EditorModelManager extends Disposable {
 		super.dispose();
 	}
 
-	public esureSyncedResources(resources:URI[]): void {
+	public esureSyncedResources(resources: URI[]): void {
 		for (let i = 0; i < resources.length; i++) {
 			let resource = resources[i];
 			let resourceStr = resource.toString();
@@ -156,7 +156,7 @@ class EditorModelManager extends Disposable {
 	private _checkStopModelSync(): void {
 		let currentTime = (new Date()).getTime();
 
-		let toRemove:string[] = [];
+		let toRemove: string[] = [];
 		for (let modelUrl in this._syncedModelsLastUsedTime) {
 			let elapsedTime = currentTime - this._syncedModelsLastUsedTime[modelUrl];
 			if (elapsedTime > STOP_SYNC_MODEL_DELTA_TIME_MS) {
@@ -169,7 +169,7 @@ class EditorModelManager extends Disposable {
 		}
 	}
 
-	private _beginModelSync(resource:URI): void {
+	private _beginModelSync(resource: URI): void {
 		let modelUrl = resource.toString();
 		let model = this._modelService.getModel(resource);
 		if (!model) {
@@ -185,7 +185,7 @@ class EditorModelManager extends Disposable {
 			versionId: model.getVersionId()
 		});
 
-		let toDispose:IDisposable[] = [];
+		let toDispose: IDisposable[] = [];
 		toDispose.push(model.addBulkListener((events) => {
 			let changedEvents: editorCommon.IModelContentChangedEvent2[] = [];
 			for (let i = 0, len = events.length; i < len; i++) {
@@ -212,7 +212,7 @@ class EditorModelManager extends Disposable {
 		this._syncedModels[modelUrl] = toDispose;
 	}
 
-	private _stopModelSync(modelUrl:string): void {
+	private _stopModelSync(modelUrl: string): void {
 		let toDispose = this._syncedModels[modelUrl];
 		delete this._syncedModels[modelUrl];
 		delete this._syncedModelsLastUsedTime[modelUrl];
@@ -229,7 +229,7 @@ class SynchronousWorkerClient<T extends IDisposable> implements IWorkerClient<T>
 	private _instance: T;
 	private _proxyObj: TPromise<T>;
 
-	constructor(instance:T) {
+	constructor(instance: T) {
 		this._instance = instance;
 		this._proxyObj = TPromise.as(this._instance);
 	}
@@ -252,7 +252,7 @@ export class EditorWorkerClient extends Disposable {
 	private _workerFactory: DefaultWorkerFactory;
 	private _modelManager: EditorModelManager;
 
-	constructor(modelService: IModelService, label:string) {
+	constructor(modelService: IModelService, label: string) {
 		super();
 		this._modelService = modelService;
 		this._workerFactory = new DefaultWorkerFactory(label);
@@ -290,26 +290,26 @@ export class EditorWorkerClient extends Disposable {
 		return this._modelManager;
 	}
 
-	protected _withSyncedResources(resources:URI[]): TPromise<EditorSimpleWorkerImpl> {
+	protected _withSyncedResources(resources: URI[]): TPromise<EditorSimpleWorkerImpl> {
 		return this._getProxy().then((proxy) => {
 			this._getOrCreateModelManager(proxy).esureSyncedResources(resources);
 			return proxy;
 		});
 	}
 
-	public computeDiff(original:URI, modified:URI, ignoreTrimWhitespace:boolean):TPromise<editorCommon.ILineChange[]> {
+	public computeDiff(original: URI, modified: URI, ignoreTrimWhitespace: boolean): TPromise<editorCommon.ILineChange[]> {
 		return this._withSyncedResources([original, modified]).then(proxy => {
 			return proxy.computeDiff(original.toString(), modified.toString(), ignoreTrimWhitespace);
 		});
 	}
 
-	public computeDirtyDiff(original:URI, modified:URI, ignoreTrimWhitespace:boolean):TPromise<editorCommon.IChange[]> {
+	public computeDirtyDiff(original: URI, modified: URI, ignoreTrimWhitespace: boolean): TPromise<editorCommon.IChange[]> {
 		return this._withSyncedResources([original, modified]).then(proxy => {
 			return proxy.computeDirtyDiff(original.toString(), modified.toString(), ignoreTrimWhitespace);
 		});
 	}
 
-	public computeLinks(resource:URI):TPromise<ILink[]> {
+	public computeLinks(resource: URI): TPromise<ILink[]> {
 		return this._withSyncedResources([resource]).then(proxy => {
 			return proxy.computeLinks(resource.toString());
 		});
@@ -328,7 +328,7 @@ export class EditorWorkerClient extends Disposable {
 		});
 	}
 
-	public navigateValueSet(resource: URI, range:editorCommon.IRange, up:boolean): TPromise<IInplaceReplaceSupportResult> {
+	public navigateValueSet(resource: URI, range: editorCommon.IRange, up: boolean): TPromise<IInplaceReplaceSupportResult> {
 		return this._withSyncedResources([resource]).then(proxy => {
 			let model = this._modelService.getModel(resource);
 			if (!model) {
diff --git a/src/vs/editor/common/services/languagesRegistry.ts b/src/vs/editor/common/services/languagesRegistry.ts
index be437e3dee37d..31712c0fbb8e9 100644
--- a/src/vs/editor/common/services/languagesRegistry.ts
+++ b/src/vs/editor/common/services/languagesRegistry.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
-import Event, {Emitter} from 'vs/base/common/event';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import Event, { Emitter } from 'vs/base/common/event';
 import * as mime from 'vs/base/common/mime';
 import * as strings from 'vs/base/common/strings';
-import {ModesRegistry} from 'vs/editor/common/modes/modesRegistry';
-import {ILanguageExtensionPoint} from 'vs/editor/common/services/modeService';
+import { ModesRegistry } from 'vs/editor/common/modes/modesRegistry';
+import { ILanguageExtensionPoint } from 'vs/editor/common/services/modeService';
 
 var hasOwnProperty = Object.prototype.hasOwnProperty;
 
@@ -22,7 +22,7 @@ export class LanguagesRegistry {
 	private id2Extensions: { [id: string]: string[]; };
 	private id2Filenames: { [id: string]: string[]; };
 	private lowerName2Id: { [name: string]: string; };
-	private id2ConfigurationFiles: { [id:string]: string[]; };
+	private id2ConfigurationFiles: { [id: string]: string[]; };
 
 	private _onDidAddModes: Emitter<string[]> = new Emitter<string[]>();
 	public onDidAddModes: Event<string[]> = this._onDidAddModes.event;
@@ -43,7 +43,7 @@ export class LanguagesRegistry {
 		}
 	}
 
-	_registerLanguages(desc:ILanguageExtensionPoint[]): void {
+	_registerLanguages(desc: ILanguageExtensionPoint[]): void {
 		let addedModes: string[] = [];
 		for (let i = 0; i < desc.length; i++) {
 			this._registerLanguage(desc[i]);
@@ -52,7 +52,7 @@ export class LanguagesRegistry {
 		this._onDidAddModes.fire(addedModes);
 	}
 
-	private _setLanguageName(languageId:string, languageName:string, force:boolean): void {
+	private _setLanguageName(languageId: string, languageName: string, force: boolean): void {
 		let prevName = this.id2Name[languageId];
 		if (prevName) {
 			if (!force) {
@@ -160,7 +160,7 @@ export class LanguagesRegistry {
 		return Object.keys(this.knownModeIds);
 	}
 
-	public getRegisteredLanguageNames(): string[]{
+	public getRegisteredLanguageNames(): string[] {
 		return Object.keys(this.name2LanguageId);
 	}
 
@@ -207,7 +207,7 @@ export class LanguagesRegistry {
 		);
 	}
 
-	public getModeIdsFromLanguageName(languageName: string): string[]{
+	public getModeIdsFromLanguageName(languageName: string): string[] {
 		if (!languageName) {
 			return [];
 		}
@@ -219,7 +219,7 @@ export class LanguagesRegistry {
 		return [];
 	}
 
-	public getModeIdsFromFilenameOrFirstLine(filename: string, firstLine?:string): string[] {
+	public getModeIdsFromFilenameOrFirstLine(filename: string, firstLine?: string): string[] {
 		if (!filename && !firstLine) {
 			return [];
 		}
diff --git a/src/vs/editor/common/services/modeService.ts b/src/vs/editor/common/services/modeService.ts
index f47af7d089661..a4b0ca702cc15 100644
--- a/src/vs/editor/common/services/modeService.ts
+++ b/src/vs/editor/common/services/modeService.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import Event from 'vs/base/common/event';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 import * as modes from 'vs/editor/common/modes';
 
 export var IModeService = createDecorator<IModeService>('modeService');
@@ -51,7 +51,7 @@ export interface IModeService {
 	getExtensions(alias: string): string[];
 	getFilenames(alias: string): string[];
 	getMimeForMode(modeId: string): string;
-	getLanguageName(modeId:string): string;
+	getLanguageName(modeId: string): string;
 	getModeIdForLanguageName(alias: string): string;
 	getModeIdByFilenameOrFirstLine(filename: string, firstLine?: string): string;
 	getModeId(commaSeparatedMimetypesOrCommaSeparatedIds: string): string;
@@ -62,5 +62,5 @@ export interface IModeService {
 	getMode(commaSeparatedMimetypesOrCommaSeparatedIds: string): modes.IMode;
 	getOrCreateMode(commaSeparatedMimetypesOrCommaSeparatedIds: string): TPromise<modes.IMode>;
 	getOrCreateModeByLanguageName(languageName: string): TPromise<modes.IMode>;
-	getOrCreateModeByFilenameOrFirstLine(filename: string, firstLine?:string): TPromise<modes.IMode>;
+	getOrCreateModeByFilenameOrFirstLine(filename: string, firstLine?: string): TPromise<modes.IMode>;
 }
diff --git a/src/vs/editor/common/services/modeServiceImpl.ts b/src/vs/editor/common/services/modeServiceImpl.ts
index 519d57477fcd4..62c374a8c1645 100644
--- a/src/vs/editor/common/services/modeServiceImpl.ts
+++ b/src/vs/editor/common/services/modeServiceImpl.ts
@@ -5,31 +5,31 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import Event, {Emitter} from 'vs/base/common/event';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import Event, { Emitter } from 'vs/base/common/event';
 import * as paths from 'vs/base/common/paths';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import mime = require('vs/base/common/mime');
-import {IFilesConfiguration} from 'vs/platform/files/common/files';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
-import {IExtensionPointUser, IExtensionMessageCollector, ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { IFilesConfiguration } from 'vs/platform/files/common/files';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
+import { IExtensionPointUser, IExtensionMessageCollector, ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import * as modes from 'vs/editor/common/modes';
-import {FrankensteinMode} from 'vs/editor/common/modes/abstractMode';
-import {ModesRegistry} from 'vs/editor/common/modes/modesRegistry';
-import {LanguagesRegistry} from 'vs/editor/common/services/languagesRegistry';
-import {ILanguageExtensionPoint, IValidLanguageExtensionPoint, IModeLookupResult, IModeService} from 'vs/editor/common/services/modeService';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {AbstractState} from 'vs/editor/common/modes/abstractState';
-import {Token} from 'vs/editor/common/core/token';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
+import { FrankensteinMode } from 'vs/editor/common/modes/abstractMode';
+import { ModesRegistry } from 'vs/editor/common/modes/modesRegistry';
+import { LanguagesRegistry } from 'vs/editor/common/services/languagesRegistry';
+import { ILanguageExtensionPoint, IValidLanguageExtensionPoint, IModeLookupResult, IModeService } from 'vs/editor/common/services/modeService';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { AbstractState } from 'vs/editor/common/modes/abstractState';
+import { Token } from 'vs/editor/common/core/token';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
 
 let languagesExtPoint = ExtensionsRegistry.registerExtensionPoint<ILanguageExtensionPoint[]>('languages', {
 	description: nls.localize('vscode.extension.contributes.languages', 'Contributes language declarations.'),
 	type: 'array',
 	items: {
 		type: 'object',
-		defaultSnippets: [{ body: { id: '{{languageId}}', aliases: ['{{label}}'], extensions: ['{{extension}}'], configuration: './language-configuration.json'} }],
+		defaultSnippets: [{ body: { id: '{{languageId}}', aliases: ['{{label}}'], extensions: ['{{extension}}'], configuration: './language-configuration.json' } }],
 		properties: {
 			id: {
 				description: nls.localize('vscode.extension.contributes.languages.id', 'ID of the language.'),
@@ -94,7 +94,7 @@ function isUndefinedOrStringArray(value: string[]): boolean {
 	return value.every(item => typeof item === 'string');
 }
 
-function isValidLanguageExtensionPoint(value:ILanguageExtensionPoint, collector:IExtensionMessageCollector): boolean {
+function isValidLanguageExtensionPoint(value: ILanguageExtensionPoint, collector: IExtensionMessageCollector): boolean {
 	if (!value) {
 		collector.error(nls.localize('invalid.empty', "Empty value for `contributes.{0}`", languagesExtPoint.name));
 		return false;
@@ -147,8 +147,8 @@ export class ModeServiceImpl implements IModeService {
 	public onDidCreateMode: Event<modes.IMode> = this._onDidCreateMode.event;
 
 	constructor(
-		instantiationService:IInstantiationService,
-		extensionService:IExtensionService
+		instantiationService: IInstantiationService,
+		extensionService: IExtensionService
 	) {
 		this._instantiationService = instantiationService;
 		this._extensionService = extensionService;
@@ -187,7 +187,7 @@ export class ModeServiceImpl implements IModeService {
 		return this._registry.getLanguageName(modeId);
 	}
 
-	public getModeIdForLanguageName(alias:string): string {
+	public getModeIdForLanguageName(alias: string): string {
 		return this._registry.getModeIdForLanguageNameLowercase(alias);
 	}
 
@@ -207,7 +207,7 @@ export class ModeServiceImpl implements IModeService {
 
 	// --- instantiation
 
-	public lookup(commaSeparatedMimetypesOrCommaSeparatedIds: string): IModeLookupResult[]{
+	public lookup(commaSeparatedMimetypesOrCommaSeparatedIds: string): IModeLookupResult[] {
 		var r: IModeLookupResult[] = [];
 		var modeIds = this._registry.extractModeIds(commaSeparatedMimetypesOrCommaSeparatedIds);
 
@@ -254,7 +254,7 @@ export class ModeServiceImpl implements IModeService {
 		return null;
 	}
 
-	public getModeIdByFilenameOrFirstLine(filename: string, firstLine?:string): string {
+	public getModeIdByFilenameOrFirstLine(filename: string, firstLine?: string): string {
 		var modeIds = this._registry.getModeIdsFromFilenameOrFirstLine(filename, firstLine);
 
 		if (modeIds.length > 0) {
@@ -284,7 +284,7 @@ export class ModeServiceImpl implements IModeService {
 		});
 	}
 
-	public getOrCreateModeByFilenameOrFirstLine(filename: string, firstLine?:string): TPromise<modes.IMode> {
+	public getOrCreateModeByFilenameOrFirstLine(filename: string, firstLine?: string): TPromise<modes.IMode> {
 		return this.onReady().then(() => {
 			var modeId = this.getModeIdByFilenameOrFirstLine(filename, firstLine);
 			// Fall back to plain text if no mode was found
@@ -324,7 +324,7 @@ export class TokenizationState2Adapter implements modes.IState {
 		return new TokenizationState2Adapter(this._modeId, this._actual.clone(), AbstractState.safeClone(this._stateData));
 	}
 
-	public equals(other:modes.IState): boolean {
+	public equals(other: modes.IState): boolean {
 		if (other instanceof TokenizationState2Adapter) {
 			if (!this._actual.equals(other._actual)) {
 				return false;
@@ -338,7 +338,7 @@ export class TokenizationState2Adapter implements modes.IState {
 		return this._modeId;
 	}
 
-	public tokenize(stream:any): any {
+	public tokenize(stream: any): any {
 		throw new Error('Unexpected tokenize call!');
 	}
 
@@ -346,7 +346,7 @@ export class TokenizationState2Adapter implements modes.IState {
 		return this._stateData;
 	}
 
-	public setStateData(stateData:modes.IState): void {
+	public setStateData(stateData: modes.IState): void {
 		this._stateData = stateData;
 	}
 }
@@ -365,7 +365,7 @@ export class TokenizationSupport2Adapter implements modes.ITokenizationSupport {
 		return new TokenizationState2Adapter(this._modeId, this._actual.getInitialState(), null);
 	}
 
-	public tokenize(line:string, state:modes.IState, offsetDelta: number = 0, stopAtOffset?: number): modes.ILineTokens {
+	public tokenize(line: string, state: modes.IState, offsetDelta: number = 0, stopAtOffset?: number): modes.ILineTokens {
 		if (state instanceof TokenizationState2Adapter) {
 			let actualResult = this._actual.tokenize(line, state.actual);
 			let tokens: Token[] = [];
@@ -395,14 +395,14 @@ export class MainThreadModeServiceImpl extends ModeServiceImpl {
 	private _onReadyPromise: TPromise<boolean>;
 
 	constructor(
-		@IInstantiationService instantiationService:IInstantiationService,
-		@IExtensionService extensionService:IExtensionService,
-		@IConfigurationService configurationService:IConfigurationService
+		@IInstantiationService instantiationService: IInstantiationService,
+		@IExtensionService extensionService: IExtensionService,
+		@IConfigurationService configurationService: IConfigurationService
 	) {
 		super(instantiationService, extensionService);
 		this._configurationService = configurationService;
 
-		languagesExtPoint.setHandler((extensions:IExtensionPointUser<ILanguageExtensionPoint[]>[]) => {
+		languagesExtPoint.setHandler((extensions: IExtensionPointUser<ILanguageExtensionPoint[]>[]) => {
 			let allValidLanguages: IValidLanguageExtensionPoint[] = [];
 
 			for (let i = 0, len = extensions.length; i < len; i++) {
diff --git a/src/vs/editor/common/services/modelService.ts b/src/vs/editor/common/services/modelService.ts
index ed0a1991075aa..a08b0559824b2 100644
--- a/src/vs/editor/common/services/modelService.ts
+++ b/src/vs/editor/common/services/modelService.ts
@@ -6,19 +6,19 @@
 
 import Event from 'vs/base/common/event';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {IModel, IRawText, ITextModelCreationOptions} from 'vs/editor/common/editorCommon';
-import {IMode} from 'vs/editor/common/modes';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { IModel, IRawText, ITextModelCreationOptions } from 'vs/editor/common/editorCommon';
+import { IMode } from 'vs/editor/common/modes';
 
 export var IModelService = createDecorator<IModelService>('modelService');
 
 export interface IModelService {
 	_serviceBrand: any;
 
-	createModel(value:string | IRawText, modeOrPromise:TPromise<IMode>|IMode, resource: URI): IModel;
+	createModel(value: string | IRawText, modeOrPromise: TPromise<IMode> | IMode, resource: URI): IModel;
 
-	setMode(model:IModel, modeOrPromise:TPromise<IMode>|IMode): void;
+	setMode(model: IModel, modeOrPromise: TPromise<IMode> | IMode): void;
 
 	destroyModel(resource: URI): void;
 
diff --git a/src/vs/editor/common/services/modelServiceImpl.ts b/src/vs/editor/common/services/modelServiceImpl.ts
index 9907d9204252e..0b9dd68630a1c 100644
--- a/src/vs/editor/common/services/modelServiceImpl.ts
+++ b/src/vs/editor/common/services/modelServiceImpl.ts
@@ -6,25 +6,25 @@
 
 import * as nls from 'vs/nls';
 import network = require('vs/base/common/network');
-import Event, {Emitter} from 'vs/base/common/event';
-import {EmitterEvent} from 'vs/base/common/eventEmitter';
-import {MarkedString} from 'vs/base/common/htmlContent';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
+import { EmitterEvent } from 'vs/base/common/eventEmitter';
+import { MarkedString } from 'vs/base/common/htmlContent';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import Severity from 'vs/base/common/severity';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IMarker, IMarkerService} from 'vs/platform/markers/common/markers';
-import {anonymize} from 'vs/platform/telemetry/common/telemetry';
-import {Range} from 'vs/editor/common/core/range';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IMarker, IMarkerService } from 'vs/platform/markers/common/markers';
+import { anonymize } from 'vs/platform/telemetry/common/telemetry';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
-import {IMode} from 'vs/editor/common/modes';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { Model } from 'vs/editor/common/model/model';
+import { IMode } from 'vs/editor/common/modes';
+import { IModelService } from 'vs/editor/common/services/modelService';
 import * as platform from 'vs/base/common/platform';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {DEFAULT_INDENTATION, DEFAULT_TRIM_AUTO_WHITESPACE} from 'vs/editor/common/config/defaultConfig';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {PLAINTEXT_MODE_ID} from 'vs/editor/common/modes/modesRegistry';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { DEFAULT_INDENTATION, DEFAULT_TRIM_AUTO_WHITESPACE } from 'vs/editor/common/config/defaultConfig';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { PLAINTEXT_MODE_ID } from 'vs/editor/common/modes/modesRegistry';
 
 function MODEL_ID(resource: URI): string {
 	return resource.toString();
@@ -140,7 +140,7 @@ class ModelMarkerHandler {
 		if (typeof message === 'string') {
 			if (source) {
 				const indent = new Array(source.length + 1 + 3 /*'[] '.length*/).join(' ');
-				message = nls.localize('diagAndSource', "[{0}] {1}", source,  message.replace(/\n/g, '\n' + indent));
+				message = nls.localize('diagAndSource', "[{0}] {1}", source, message.replace(/\n/g, '\n' + indent));
 			}
 			hoverMessage = [{ language: '_', value: message }];
 		}
@@ -346,9 +346,9 @@ export class ModelServiceImpl implements IModelService {
 
 	// --- begin IModelService
 
-	private _createModelData(value: string | editorCommon.IRawText, languageId:string, resource: URI): ModelData {
+	private _createModelData(value: string | editorCommon.IRawText, languageId: string, resource: URI): ModelData {
 		// create & save the model
-		let model:Model;
+		let model: Model;
 		if (typeof value === 'string') {
 			model = Model.createFromString(value, this._modelCreationOptions, languageId, resource);
 		} else {
@@ -387,7 +387,7 @@ export class ModelServiceImpl implements IModelService {
 		return modelData.model;
 	}
 
-	public setMode(model:editorCommon.IModel, modeOrPromise:TPromise<IMode>|IMode): void {
+	public setMode(model: editorCommon.IModel, modeOrPromise: TPromise<IMode> | IMode): void {
 		if (!modeOrPromise) {
 			return;
 		}
diff --git a/src/vs/editor/common/services/webWorker.ts b/src/vs/editor/common/services/webWorker.ts
index e8a849cca41c3..f44ecfe24db06 100644
--- a/src/vs/editor/common/services/webWorker.ts
+++ b/src/vs/editor/common/services/webWorker.ts
@@ -4,17 +4,17 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ShallowCancelThenPromise} from 'vs/base/common/async';
+import { ShallowCancelThenPromise } from 'vs/base/common/async';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {EditorWorkerClient} from 'vs/editor/common/services/editorWorkerServiceImpl';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { EditorWorkerClient } from 'vs/editor/common/services/editorWorkerServiceImpl';
 
 /**
  * Create a new web worker that has model syncing capabilities built in.
  * Specify an AMD module to load that will `create` an object that will be proxied.
  */
-export function createWebWorker<T>(modelService: IModelService, opts:IWebWorkerOptions): MonacoWebWorker<T> {
+export function createWebWorker<T>(modelService: IModelService, opts: IWebWorkerOptions): MonacoWebWorker<T> {
 	return new MonacoWebWorkerImpl<T>(modelService, opts);
 }
 
@@ -59,7 +59,7 @@ class MonacoWebWorkerImpl<T> extends EditorWorkerClient implements MonacoWebWork
 	private _foreignModuleCreateData: any;
 	private _foreignProxy: TPromise<T>;
 
-	constructor(modelService: IModelService, opts:IWebWorkerOptions) {
+	constructor(modelService: IModelService, opts: IWebWorkerOptions) {
 		super(modelService, opts.label);
 		this._foreignModuleId = opts.moduleId;
 		this._foreignModuleCreateData = opts.createData || null;
@@ -73,11 +73,11 @@ class MonacoWebWorkerImpl<T> extends EditorWorkerClient implements MonacoWebWork
 					this._foreignModuleId = null;
 					this._foreignModuleCreateData = null;
 
-					let proxyMethodRequest = (method:string, args:any[]): TPromise<any> => {
+					let proxyMethodRequest = (method: string, args: any[]): TPromise<any> => {
 						return proxy.fmr(method, args);
 					};
 
-					let createProxyMethod = (method:string, proxyMethodRequest:(method:string, args:any[])=>TPromise<any>): Function => {
+					let createProxyMethod = (method: string, proxyMethodRequest: (method: string, args: any[]) => TPromise<any>): Function => {
 						return function () {
 							let args = Array.prototype.slice.call(arguments, 0);
 							return proxyMethodRequest(method, args);
diff --git a/src/vs/editor/common/standalone/standaloneBase.ts b/src/vs/editor/common/standalone/standaloneBase.ts
index 463339e8e1f74..287c98baa1834 100644
--- a/src/vs/editor/common/standalone/standaloneBase.ts
+++ b/src/vs/editor/common/standalone/standaloneBase.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Emitter} from 'vs/base/common/event';
-import {KeyMod as ConstKeyMod, KeyChord} from 'vs/base/common/keyCodes';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection, SelectionDirection} from 'vs/editor/common/core/selection';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {CancellationTokenSource} from 'vs/base/common/cancellation';
+import { Emitter } from 'vs/base/common/event';
+import { KeyMod as ConstKeyMod, KeyChord } from 'vs/base/common/keyCodes';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection, SelectionDirection } from 'vs/editor/common/core/selection';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { CancellationTokenSource } from 'vs/base/common/cancellation';
 import URI from 'vs/base/common/uri';
 
 // --------------------------------------------
@@ -27,12 +27,12 @@ export enum Severity {
 // This is repeated here so it can be exported
 // --------------------------------------------
 export class KeyMod {
-	public static CtrlCmd:number = ConstKeyMod.CtrlCmd;
-	public static Shift:number = ConstKeyMod.Shift;
-	public static Alt:number = ConstKeyMod.Alt;
-	public static WinCtrl:number = ConstKeyMod.WinCtrl;
+	public static CtrlCmd: number = ConstKeyMod.CtrlCmd;
+	public static Shift: number = ConstKeyMod.Shift;
+	public static Alt: number = ConstKeyMod.Alt;
+	public static WinCtrl: number = ConstKeyMod.WinCtrl;
 
-	public static chord(firstPart:number, secondPart:number): number {
+	public static chord(firstPart: number, secondPart: number): number {
 		return KeyChord(firstPart, secondPart);
 	}
 }
diff --git a/src/vs/editor/common/view/overviewZoneManager.ts b/src/vs/editor/common/view/overviewZoneManager.ts
index 9c19fe5ff190c..1dee86e614075 100644
--- a/src/vs/editor/common/view/overviewZoneManager.ts
+++ b/src/vs/editor/common/view/overviewZoneManager.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {OverviewRulerLane, OverviewRulerZone, ColorZone} from 'vs/editor/common/editorCommon';
+import { OverviewRulerLane, OverviewRulerZone, ColorZone } from 'vs/editor/common/editorCommon';
 
 export class OverviewZoneManager {
 
-	private _getVerticalOffsetForLine:(lineNumber:number)=>number;
+	private _getVerticalOffsetForLine: (lineNumber: number) => number;
 	private _zones: OverviewRulerZone[];
 	private _colorZonesInvalid: boolean;
 	private _lineHeight: number;
@@ -21,10 +21,10 @@ export class OverviewZoneManager {
 	private _pixelRatio: number;
 
 	private _lastAssignedId;
-	private _color2Id: { [color:string]: number; };
+	private _color2Id: { [color: string]: number; };
 	private _id2Color: string[];
 
-	constructor(getVerticalOffsetForLine:(lineNumber:number)=>number) {
+	constructor(getVerticalOffsetForLine: (lineNumber: number) => number) {
 		this._getVerticalOffsetForLine = getVerticalOffsetForLine;
 		this._zones = [];
 		this._colorZonesInvalid = false;
@@ -82,7 +82,7 @@ export class OverviewZoneManager {
 		this._zones = result;
 	}
 
-	public setLineHeight(lineHeight:number): boolean {
+	public setLineHeight(lineHeight: number): boolean {
 		if (this._lineHeight === lineHeight) {
 			return false;
 		}
@@ -91,7 +91,7 @@ export class OverviewZoneManager {
 		return true;
 	}
 
-	public setPixelRatio(pixelRatio:number): void {
+	public setPixelRatio(pixelRatio: number): void {
 		this._pixelRatio = pixelRatio;
 		this._colorZonesInvalid = true;
 	}
@@ -104,7 +104,7 @@ export class OverviewZoneManager {
 		return this._domWidth * this._pixelRatio;
 	}
 
-	public setDOMWidth(width:number): boolean {
+	public setDOMWidth(width: number): boolean {
 		if (this._domWidth === width) {
 			return false;
 		}
@@ -121,7 +121,7 @@ export class OverviewZoneManager {
 		return this._domHeight * this._pixelRatio;
 	}
 
-	public setDOMHeight(height:number): boolean {
+	public setDOMHeight(height: number): boolean {
 		if (this._domHeight === height) {
 			return false;
 		}
@@ -134,7 +134,7 @@ export class OverviewZoneManager {
 		return this._outerHeight;
 	}
 
-	public setOuterHeight(outerHeight:number): boolean {
+	public setOuterHeight(outerHeight: number): boolean {
 		if (this._outerHeight === outerHeight) {
 			return false;
 		}
@@ -143,7 +143,7 @@ export class OverviewZoneManager {
 		return true;
 	}
 
-	public setMaximumHeight(maximumHeight:number): boolean {
+	public setMaximumHeight(maximumHeight: number): boolean {
 		if (this._maximumHeight === maximumHeight) {
 			return false;
 		}
@@ -152,7 +152,7 @@ export class OverviewZoneManager {
 		return true;
 	}
 
-	public setMinimumHeight(minimumHeight:number): boolean {
+	public setMinimumHeight(minimumHeight: number): boolean {
 		if (this._minimumHeight === minimumHeight) {
 			return false;
 		}
@@ -161,7 +161,7 @@ export class OverviewZoneManager {
 		return true;
 	}
 
-	public setUseDarkColor(useDarkColor:boolean): boolean {
+	public setUseDarkColor(useDarkColor: boolean): boolean {
 		if (this._useDarkColor === useDarkColor) {
 			return false;
 		}
@@ -238,7 +238,7 @@ export class OverviewZoneManager {
 
 		this._colorZonesInvalid = false;
 
-		let sortFunc = (a:ColorZone, b:ColorZone) => {
+		let sortFunc = (a: ColorZone, b: ColorZone) => {
 			if (a.colorId === b.colorId) {
 				if (a.from === b.from) {
 					return a.to - b.to;
@@ -252,7 +252,7 @@ export class OverviewZoneManager {
 		return allColorZones;
 	}
 
-	public createZone(totalHeight:number, y1:number, y2:number, minimumHeight:number, maximumHeight:number, color:string, position:OverviewRulerLane): ColorZone {
+	public createZone(totalHeight: number, y1: number, y2: number, minimumHeight: number, maximumHeight: number, color: string, position: OverviewRulerLane): ColorZone {
 		totalHeight = Math.floor(totalHeight); // @perf
 		y1 = Math.floor(y1); // @perf
 		y2 = Math.floor(y2); // @perf
diff --git a/src/vs/editor/common/view/renderingContext.ts b/src/vs/editor/common/view/renderingContext.ts
index 9fc441e2594ca..90128fd249015 100644
--- a/src/vs/editor/common/view/renderingContext.ts
+++ b/src/vs/editor/common/view/renderingContext.ts
@@ -4,36 +4,36 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IModelDecoration, IRange, IPosition} from 'vs/editor/common/editorCommon';
-import {ViewLinesViewportData} from 'vs/editor/common/viewLayout/viewLinesViewportData';
-import {Range} from 'vs/editor/common/core/range';
+import { IModelDecoration, IRange, IPosition } from 'vs/editor/common/editorCommon';
+import { ViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
+import { Range } from 'vs/editor/common/core/range';
 
 export interface IRestrictedRenderingContext {
-	linesViewportData:ViewLinesViewportData;
+	linesViewportData: ViewLinesViewportData;
 
-	scrollWidth:number;
-	scrollHeight:number;
+	scrollWidth: number;
+	scrollHeight: number;
 
-	visibleRange:Range;
-	bigNumbersDelta:number;
+	visibleRange: Range;
+	bigNumbersDelta: number;
 
-	viewportTop:number;
-	viewportWidth:number;
-	viewportHeight:number;
-	viewportLeft:number;
+	viewportTop: number;
+	viewportWidth: number;
+	viewportHeight: number;
+	viewportLeft: number;
 
-	getScrolledTopFromAbsoluteTop(absoluteTop:number): number;
-	getViewportVerticalOffsetForLineNumber(lineNumber:number): number;
-	lineIsVisible(lineNumber:number): boolean;
+	getScrolledTopFromAbsoluteTop(absoluteTop: number): number;
+	getViewportVerticalOffsetForLineNumber(lineNumber: number): number;
+	lineIsVisible(lineNumber: number): boolean;
 
 	getDecorationsInViewport(): IModelDecoration[];
 }
 
 export interface IRenderingContext extends IRestrictedRenderingContext {
 
-	linesVisibleRangesForRange(range:IRange, includeNewLines:boolean): LineVisibleRanges[];
+	linesVisibleRangesForRange(range: IRange, includeNewLines: boolean): LineVisibleRanges[];
 
-	visibleRangeForPosition(position:IPosition): VisibleRange;
+	visibleRangeForPosition(position: IPosition): VisibleRange;
 }
 
 export class LineVisibleRanges {
@@ -42,7 +42,7 @@ export class LineVisibleRanges {
 	public lineNumber: number;
 	public ranges: HorizontalRange[];
 
-	constructor(lineNumber:number, ranges:HorizontalRange[]) {
+	constructor(lineNumber: number, ranges: HorizontalRange[]) {
 		this.lineNumber = lineNumber;
 		this.ranges = ranges;
 	}
@@ -51,14 +51,14 @@ export class LineVisibleRanges {
 export class VisibleRange {
 	_visibleRangeBrand: void;
 
-	public top:number;
-	public left:number;
-	public width:number;
+	public top: number;
+	public left: number;
+	public width: number;
 
-	constructor(top:number, left:number, width:number) {
-		this.top = top|0;
-		this.left = left|0;
-		this.width = width|0;
+	constructor(top: number, left: number, width: number) {
+		this.top = top | 0;
+		this.left = left | 0;
+		this.width = width | 0;
 	}
 }
 
@@ -68,8 +68,8 @@ export class HorizontalRange {
 	public left: number;
 	public width: number;
 
-	constructor(left:number, width:number) {
-		this.left = left|0;
-		this.width = width|0;
+	constructor(left: number, width: number) {
+		this.left = left | 0;
+		this.width = width | 0;
 	}
 }
diff --git a/src/vs/editor/common/view/viewContext.ts b/src/vs/editor/common/view/viewContext.ts
index a6b322238ec5e..ea7177a9fb407 100644
--- a/src/vs/editor/common/view/viewContext.ts
+++ b/src/vs/editor/common/view/viewContext.ts
@@ -4,34 +4,33 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IConfiguration} from 'vs/editor/common/editorCommon';
-import {EmitterEvent} from 'vs/base/common/eventEmitter';
-import {IViewModel} from 'vs/editor/common/viewModel/viewModel';
+import { IConfiguration } from 'vs/editor/common/editorCommon';
+import { EmitterEvent } from 'vs/base/common/eventEmitter';
+import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
 
 export interface IViewEventBus {
-	emit(eventType:string, data?:any): void;
+	emit(eventType: string, data?: any): void;
 }
 
 export interface IViewEventHandler {
-	handleEvents(events:EmitterEvent[]): void;
+	handleEvents(events: EmitterEvent[]): void;
 }
 
 export class ViewContext {
 
-	public configuration:IConfiguration;
+	public configuration: IConfiguration;
 	public model: IViewModel;
-	public privateViewEventBus:IViewEventBus;
-	public addEventHandler:(eventHandler:IViewEventHandler)=>void;
-	public removeEventHandler:(eventHandler:IViewEventHandler)=>void;
+	public privateViewEventBus: IViewEventBus;
+	public addEventHandler: (eventHandler: IViewEventHandler) => void;
+	public removeEventHandler: (eventHandler: IViewEventHandler) => void;
 
 	constructor(
-		configuration:IConfiguration,
+		configuration: IConfiguration,
 		model: IViewModel,
-		privateViewEventBus:IViewEventBus,
-		addEventHandler:(eventHandler:IViewEventHandler)=>void,
-		removeEventHandler:(eventHandler:IViewEventHandler)=>void
-	)
-	{
+		privateViewEventBus: IViewEventBus,
+		addEventHandler: (eventHandler: IViewEventHandler) => void,
+		removeEventHandler: (eventHandler: IViewEventHandler) => void
+	) {
 		this.configuration = configuration;
 		this.model = model;
 		this.privateViewEventBus = privateViewEventBus;
diff --git a/src/vs/editor/common/viewLayout/editorLayoutProvider.ts b/src/vs/editor/common/viewLayout/editorLayoutProvider.ts
index e2ff8bb3d92e2..7c203049ad93a 100644
--- a/src/vs/editor/common/viewLayout/editorLayoutProvider.ts
+++ b/src/vs/editor/common/viewLayout/editorLayoutProvider.ts
@@ -4,43 +4,43 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EditorLayoutInfo, OverviewRulerPosition} from 'vs/editor/common/editorCommon';
+import { EditorLayoutInfo, OverviewRulerPosition } from 'vs/editor/common/editorCommon';
 
 export interface IEditorLayoutProviderOpts {
-	outerWidth:number;
-	outerHeight:number;
+	outerWidth: number;
+	outerHeight: number;
 
-	showGlyphMargin:boolean;
-	lineHeight:number;
+	showGlyphMargin: boolean;
+	lineHeight: number;
 
-	showLineNumbers:boolean;
-	lineNumbersMinChars:number;
-	lineDecorationsWidth:number;
-	maxDigitWidth:number;
+	showLineNumbers: boolean;
+	lineNumbersMinChars: number;
+	lineDecorationsWidth: number;
+	maxDigitWidth: number;
 
 	maxLineNumber: number;
 
-	verticalScrollbarWidth:number;
-	verticalScrollbarHasArrows:boolean;
+	verticalScrollbarWidth: number;
+	verticalScrollbarHasArrows: boolean;
 	scrollbarArrowSize: number;
-	horizontalScrollbarHeight:number;
+	horizontalScrollbarHeight: number;
 }
 
 export class EditorLayoutProvider {
-	public static compute(_opts:IEditorLayoutProviderOpts): EditorLayoutInfo {
-		const outerWidth = _opts.outerWidth|0;
-		const outerHeight = _opts.outerHeight|0;
+	public static compute(_opts: IEditorLayoutProviderOpts): EditorLayoutInfo {
+		const outerWidth = _opts.outerWidth | 0;
+		const outerHeight = _opts.outerHeight | 0;
 		const showGlyphMargin = Boolean(_opts.showGlyphMargin);
-		const lineHeight = _opts.lineHeight|0;
+		const lineHeight = _opts.lineHeight | 0;
 		const showLineNumbers = Boolean(_opts.showLineNumbers);
-		const lineNumbersMinChars = _opts.lineNumbersMinChars|0;
-		const lineDecorationsWidth = _opts.lineDecorationsWidth|0;
+		const lineNumbersMinChars = _opts.lineNumbersMinChars | 0;
+		const lineDecorationsWidth = _opts.lineDecorationsWidth | 0;
 		const maxDigitWidth = Number(_opts.maxDigitWidth);
-		const maxLineNumber = _opts.maxLineNumber|0;
-		const verticalScrollbarWidth = _opts.verticalScrollbarWidth|0;
+		const maxLineNumber = _opts.maxLineNumber | 0;
+		const verticalScrollbarWidth = _opts.verticalScrollbarWidth | 0;
 		const verticalScrollbarHasArrows = Boolean(_opts.verticalScrollbarHasArrows);
-		const scrollbarArrowSize = _opts.scrollbarArrowSize|0;
-		const horizontalScrollbarHeight = _opts.horizontalScrollbarHeight|0;
+		const scrollbarArrowSize = _opts.scrollbarArrowSize | 0;
+		const horizontalScrollbarHeight = _opts.horizontalScrollbarHeight | 0;
 
 		let lineNumbersWidth = 0;
 		if (showLineNumbers) {
@@ -94,7 +94,7 @@ export class EditorLayoutProvider {
 		});
 	}
 
-	private static digitCount(n:number): number {
+	private static digitCount(n: number): number {
 		var r = 0;
 		while (n) {
 			n = Math.floor(n / 10);
diff --git a/src/vs/editor/common/viewLayout/linesLayout.ts b/src/vs/editor/common/viewLayout/linesLayout.ts
index 84573287d9ef8..ea29ee8df3603 100644
--- a/src/vs/editor/common/viewLayout/linesLayout.ts
+++ b/src/vs/editor/common/viewLayout/linesLayout.ts
@@ -5,10 +5,10 @@
 'use strict';
 
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {VerticalObjects} from 'vs/editor/common/viewLayout/verticalObjects';
-import {Range} from 'vs/editor/common/core/range';
-import {IViewModel} from 'vs/editor/common/viewModel/viewModel';
-import {ViewLinesViewportData} from 'vs/editor/common/viewLayout/viewLinesViewportData';
+import { VerticalObjects } from 'vs/editor/common/viewLayout/verticalObjects';
+import { Range } from 'vs/editor/common/core/range';
+import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
+import { ViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
 
 /**
  * Layouting of objects that take vertical space (by having a height) and push down other objects.
@@ -21,12 +21,12 @@ export class LinesLayout {
 
 	private configuration: editorCommon.IConfiguration;
 	private model: IViewModel;
-	private verticalObjects:VerticalObjects;
+	private verticalObjects: VerticalObjects;
 
 	private _lineHeight: number;
 	private _scrollBeyondLastLine: boolean;
 
-	constructor(configuration: editorCommon.IConfiguration, model:IViewModel) {
+	constructor(configuration: editorCommon.IConfiguration, model: IViewModel) {
 		this.configuration = configuration;
 		this._lineHeight = this.configuration.editor.lineHeight;
 		this._scrollBeyondLastLine = this.configuration.editor.viewInfo.scrollBeyondLastLine;
@@ -36,7 +36,7 @@ export class LinesLayout {
 		this.verticalObjects.replaceLines(model.getLineCount());
 	}
 
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): void {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): void {
 		if (e.lineHeight) {
 			this._lineHeight = this.configuration.editor.lineHeight;
 		}
@@ -54,11 +54,11 @@ export class LinesLayout {
 	 * @param heightInPx The height of the whitespace, in pixels.
 	 * @return An id that can be used later to mutate or delete the whitespace
 	 */
-	public insertWhitespace(afterLineNumber:number, ordinal:number, height:number): number {
+	public insertWhitespace(afterLineNumber: number, ordinal: number, height: number): number {
 		return this.verticalObjects.insertWhitespace(afterLineNumber, ordinal, height);
 	}
 
-	public changeWhitespace(id:number, newAfterLineNumber:number, newHeight:number): boolean {
+	public changeWhitespace(id: number, newAfterLineNumber: number, newHeight: number): boolean {
 		return this.verticalObjects.changeWhitespace(id, newAfterLineNumber, newHeight);
 	}
 
@@ -68,7 +68,7 @@ export class LinesLayout {
 	 * @param id The whitespace to remove
 	 * @return Returns true if the whitespace is found and it is removed.
 	 */
-	public removeWhitespace(id:number): boolean {
+	public removeWhitespace(id: number): boolean {
 		return this.verticalObjects.removeWhitespace(id);
 	}
 
@@ -82,14 +82,14 @@ export class LinesLayout {
 	/**
 	 * Event handler, call when the model has had lines deleted.
 	 */
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): void {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): void {
 		this.verticalObjects.onModelLinesDeleted(e.fromLineNumber, e.toLineNumber);
 	}
 
 	/**
 	 * Event handler, call when the model has had lines inserted.
 	 */
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): void {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): void {
 		this.verticalObjects.onModelLinesInserted(e.fromLineNumber, e.toLineNumber);
 	}
 
@@ -99,7 +99,7 @@ export class LinesLayout {
 	 * @param lineNumber The line number
 	 * @return The sum of heights for all objects above `lineNumber`.
 	 */
-	public getVerticalOffsetForLineNumber(lineNumber:number): number {
+	public getVerticalOffsetForLineNumber(lineNumber: number): number {
 		return this.verticalObjects.getVerticalOffsetForLineNumber(lineNumber, this._lineHeight);
 	}
 
@@ -116,12 +116,12 @@ export class LinesLayout {
 	 * @param reserveHorizontalScrollbarHeight The height of the horizontal scrollbar.
 	 * @return Basically, the `scrollHeight` for the editor content.
 	 */
-	public getTotalHeight(viewport:editorCommon.Viewport, reserveHorizontalScrollbarHeight:number): number {
+	public getTotalHeight(viewport: editorCommon.Viewport, reserveHorizontalScrollbarHeight: number): number {
 		var totalLinesHeight = this.getLinesTotalHeight();
 
-//		if (this.context.configuration.editor.autoSize) {
-//			return linesHeight;
-//		}
+		//		if (this.context.configuration.editor.autoSize) {
+		//			return linesHeight;
+		//		}
 
 		if (this._scrollBeyondLastLine) {
 			totalLinesHeight += viewport.height - this._lineHeight;
@@ -132,7 +132,7 @@ export class LinesLayout {
 		return Math.max(viewport.height, totalLinesHeight);
 	}
 
-	public isAfterLines(verticalOffset:number): boolean {
+	public isAfterLines(verticalOffset: number): boolean {
 		return this.verticalObjects.isAfterLines(verticalOffset, this._lineHeight);
 	}
 
@@ -144,7 +144,7 @@ export class LinesLayout {
 	 * @param verticalOffset The vertical offset to search at.
 	 * @return The line number at or after vertical offset `verticalOffset`.
 	 */
-	public getLineNumberAtOrAfterVerticalOffset(verticalOffset:number): number {
+	public getLineNumberAtOrAfterVerticalOffset(verticalOffset: number): number {
 		return this.verticalObjects.getLineNumberAtOrAfterVerticalOffset(verticalOffset, this._lineHeight);
 	}
 
@@ -154,7 +154,7 @@ export class LinesLayout {
 	 * @param lineNumber The line number
 	 * @return The height, in pixels, for line `lineNumber`.
 	 */
-	public getHeightForLineNumber(lineNumber:number): number {
+	public getHeightForLineNumber(lineNumber: number): number {
 		return this._lineHeight;
 	}
 
@@ -164,7 +164,7 @@ export class LinesLayout {
 	 * @param viewport The viewport.
 	 * @return An array with all the whitespaces in the viewport. If no whitespace is in viewport, the array is empty.
 	 */
-	public getWhitespaceViewportData(visibleBox:editorCommon.Viewport): editorCommon.IViewWhitespaceViewportData[] {
+	public getWhitespaceViewportData(visibleBox: editorCommon.Viewport): editorCommon.IViewWhitespaceViewportData[] {
 		return this.verticalObjects.getWhitespaceViewportData(visibleBox.top, visibleBox.top + visibleBox.height, this._lineHeight);
 	}
 
@@ -178,7 +178,7 @@ export class LinesLayout {
 	 * @param verticalOffset The vertical offset.
 	 * @return Precisely the whitespace that is layouted at `verticaloffset` or null.
 	 */
-	public getWhitespaceAtVerticalOffset(verticalOffset:number): editorCommon.IViewWhitespaceViewportData {
+	public getWhitespaceAtVerticalOffset(verticalOffset: number): editorCommon.IViewWhitespaceViewportData {
 		return this.verticalObjects.getWhitespaceAtVerticalOffset(verticalOffset, this._lineHeight);
 	}
 
@@ -188,7 +188,7 @@ export class LinesLayout {
 	 * @param viewport The viewport.
 	 * @return A structure describing the lines positioned between `verticalOffset1` and `verticalOffset2`.
 	 */
-	public getLinesViewportData(visibleBox:editorCommon.Viewport): ViewLinesViewportData {
+	public getLinesViewportData(visibleBox: editorCommon.Viewport): ViewLinesViewportData {
 		let partialData = this.verticalObjects.getLinesViewportData(visibleBox.top, visibleBox.top + visibleBox.height, this._lineHeight);
 		let decorationsData = this.model.getDecorationsViewportData(partialData.startLineNumber, partialData.endLineNumber);
 		let visibleRange = new Range(
@@ -198,7 +198,7 @@ export class LinesLayout {
 			this.model.getLineMaxColumn(partialData.endLineNumber)
 		);
 
-		let startLineNumber =  partialData.startLineNumber === partialData.endLineNumber || partialData.relativeVerticalOffset[0] >= partialData.viewportTop ? partialData.startLineNumber : partialData.startLineNumber + 1;
+		let startLineNumber = partialData.startLineNumber === partialData.endLineNumber || partialData.relativeVerticalOffset[0] >= partialData.viewportTop ? partialData.startLineNumber : partialData.startLineNumber + 1;
 		let endLineNumber = partialData.relativeVerticalOffset[partialData.relativeVerticalOffset.length - 1] + this._lineHeight <= partialData.viewportTop + partialData.viewportHeight ? partialData.endLineNumber : partialData.endLineNumber - 1;
 		let visibleRangeWithCompleteLines = new Range(
 			startLineNumber,
@@ -216,7 +216,7 @@ export class LinesLayout {
 	 * @param viewport The viewport.
 	 * @return The line number that is closest to the center of `viewport`.
 	 */
-	public getCenteredLineInViewport(visibleBox:editorCommon.Viewport): number {
+	public getCenteredLineInViewport(visibleBox: editorCommon.Viewport): number {
 		return this.verticalObjects.getCenteredLineInViewport(visibleBox.top, visibleBox.top + visibleBox.height, this._lineHeight);
 	}
 
@@ -225,7 +225,7 @@ export class LinesLayout {
 	 *
 	 * @param lineNumber The line number
 	 */
-	public getWhitespaceAccumulatedHeightBeforeLineNumber(lineNumber:number): number {
+	public getWhitespaceAccumulatedHeightBeforeLineNumber(lineNumber: number): number {
 		return this.verticalObjects.getWhitespaceAccumulatedHeightBeforeLineNumber(lineNumber);
 	}
 
diff --git a/src/vs/editor/common/viewLayout/verticalObjects.ts b/src/vs/editor/common/viewLayout/verticalObjects.ts
index 50beeed165ab6..4c8b73f6831dc 100644
--- a/src/vs/editor/common/viewLayout/verticalObjects.ts
+++ b/src/vs/editor/common/viewLayout/verticalObjects.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IEditorWhitespace, IViewWhitespaceViewportData} from 'vs/editor/common/editorCommon';
-import {WhitespaceComputer} from 'vs/editor/common/viewLayout/whitespaceComputer';
-import {IPartialViewLinesViewportData} from 'vs/editor/common/viewLayout/viewLinesViewportData';
+import { IEditorWhitespace, IViewWhitespaceViewportData } from 'vs/editor/common/editorCommon';
+import { WhitespaceComputer } from 'vs/editor/common/viewLayout/whitespaceComputer';
+import { IPartialViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
 
 /**
  * Layouting of objects that take vertical space (by having a height) and push down other objects.
@@ -21,12 +21,12 @@ export class VerticalObjects {
 	 * Keep track of the total number of lines.
 	 * This is useful for doing binary searches or for doing hit-testing.
 	 */
-	private linesCount:number;
+	private linesCount: number;
 
 	/**
 	 * Contains whitespace information in pixels
 	 */
-	private whitespaces:WhitespaceComputer;
+	private whitespaces: WhitespaceComputer;
 
 	constructor() {
 		this.linesCount = 0;
@@ -38,7 +38,7 @@ export class VerticalObjects {
 	 *
 	 * @param newLineCount New number of lines.
 	 */
-	public replaceLines(newLineCount:number): void {
+	public replaceLines(newLineCount: number): void {
 		this.linesCount = newLineCount;
 	}
 
@@ -51,11 +51,11 @@ export class VerticalObjects {
 	 * @param heightInPx The height of the whitespace, in pixels.
 	 * @return An id that can be used later to mutate or delete the whitespace
 	 */
-	public insertWhitespace(afterLineNumber:number, ordinal:number, heightInPx:number): number {
+	public insertWhitespace(afterLineNumber: number, ordinal: number, heightInPx: number): number {
 		return this.whitespaces.insertWhitespace(afterLineNumber, ordinal, heightInPx);
 	}
 
-	public changeWhitespace(id:number, newAfterLineNumber:number, newHeight:number): boolean {
+	public changeWhitespace(id: number, newAfterLineNumber: number, newHeight: number): boolean {
 		return this.whitespaces.changeWhitespace(id, newAfterLineNumber, newHeight);
 	}
 
@@ -65,7 +65,7 @@ export class VerticalObjects {
 	 * @param id The whitespace to remove
 	 * @return Returns true if the whitespace is found and it is removed.
 	 */
-	public removeWhitespace(id:number): boolean {
+	public removeWhitespace(id: number): boolean {
 		return this.whitespaces.removeWhitespace(id);
 	}
 
@@ -75,7 +75,7 @@ export class VerticalObjects {
 	 * @param fromLineNumber The line number at which the deletion started, inclusive
 	 * @param toLineNumber The line number at which the deletion ended, inclusive
 	 */
-	public onModelLinesDeleted(fromLineNumber:number, toLineNumber:number): void {
+	public onModelLinesDeleted(fromLineNumber: number, toLineNumber: number): void {
 		this.linesCount -= (toLineNumber - fromLineNumber + 1);
 		this.whitespaces.onModelLinesDeleted(fromLineNumber, toLineNumber);
 	}
@@ -86,7 +86,7 @@ export class VerticalObjects {
 	 * @param fromLineNumber The line number at which the insertion started, inclusive
 	 * @param toLineNumber The line number at which the insertion ended, inclusive.
 	 */
-	public onModelLinesInserted(fromLineNumber:number, toLineNumber:number): void {
+	public onModelLinesInserted(fromLineNumber: number, toLineNumber: number): void {
 		this.linesCount += (toLineNumber - fromLineNumber + 1);
 		this.whitespaces.onModelLinesInserted(fromLineNumber, toLineNumber);
 	}
@@ -97,8 +97,8 @@ export class VerticalObjects {
 	 * @param deviceLineHeight The height, in pixels, for one rendered line.
 	 * @return The sum of heights for all objects.
 	 */
-	public getTotalHeight(deviceLineHeight:number): number {
-		deviceLineHeight = deviceLineHeight|0;
+	public getTotalHeight(deviceLineHeight: number): number {
+		deviceLineHeight = deviceLineHeight | 0;
 
 		let linesHeight = deviceLineHeight * this.linesCount;
 		let whitespacesHeight = this.whitespaces.getTotalHeight();
@@ -112,11 +112,11 @@ export class VerticalObjects {
 	 * @param deviceLineHeight The height, in pixels, for one rendered line.
 	 * @return The sum of heights for all objects above `lineNumber`.
 	 */
-	public getVerticalOffsetForLineNumber(lineNumber:number, deviceLineHeight:number): number {
-		lineNumber = lineNumber|0;
-		deviceLineHeight = deviceLineHeight|0;
+	public getVerticalOffsetForLineNumber(lineNumber: number, deviceLineHeight: number): number {
+		lineNumber = lineNumber | 0;
+		deviceLineHeight = deviceLineHeight | 0;
 
-		let previousLinesHeight:number;
+		let previousLinesHeight: number;
 		if (lineNumber > 1) {
 			previousLinesHeight = deviceLineHeight * (lineNumber - 1);
 		} else {
@@ -133,7 +133,7 @@ export class VerticalObjects {
 	 *
 	 * @param lineNumber The line number
 	 */
-	public getWhitespaceAccumulatedHeightBeforeLineNumber(lineNumber:number): number {
+	public getWhitespaceAccumulatedHeightBeforeLineNumber(lineNumber: number): number {
 		return this.whitespaces.getAccumulatedHeightBeforeLineNumber(lineNumber);
 	}
 
@@ -144,7 +144,7 @@ export class VerticalObjects {
 		return this.whitespaces.getCount() > 0;
 	}
 
-	public isAfterLines(verticalOffset:number, deviceLineHeight:number): boolean {
+	public isAfterLines(verticalOffset: number, deviceLineHeight: number): boolean {
 		let totalHeight = this.getTotalHeight(deviceLineHeight);
 		return verticalOffset > totalHeight;
 	}
@@ -158,22 +158,22 @@ export class VerticalObjects {
 	 * @param deviceLineHeight The height, in piexels, for one rendered line.
 	 * @return The line number at or after vertical offset `verticalOffset`.
 	 */
-	public getLineNumberAtOrAfterVerticalOffset(verticalOffset:number, deviceLineHeight:number): number {
-		verticalOffset = verticalOffset|0;
-		deviceLineHeight = deviceLineHeight|0;
+	public getLineNumberAtOrAfterVerticalOffset(verticalOffset: number, deviceLineHeight: number): number {
+		verticalOffset = verticalOffset | 0;
+		deviceLineHeight = deviceLineHeight | 0;
 
 		if (verticalOffset < 0) {
 			return 1;
 		}
 
 		let minLineNumber = 1;
-		let linesCount = this.linesCount|0;
+		let linesCount = this.linesCount | 0;
 		let maxLineNumber = linesCount;
 
 		while (minLineNumber < maxLineNumber) {
-			let midLineNumber = ((minLineNumber + maxLineNumber) / 2)|0;
+			let midLineNumber = ((minLineNumber + maxLineNumber) / 2) | 0;
 
-			let midLineNumberVerticalOffset = this.getVerticalOffsetForLineNumber(midLineNumber, deviceLineHeight)|0;
+			let midLineNumberVerticalOffset = this.getVerticalOffsetForLineNumber(midLineNumber, deviceLineHeight) | 0;
 
 			if (verticalOffset >= midLineNumberVerticalOffset + deviceLineHeight) {
 				// vertical offset is after mid line number
@@ -202,10 +202,10 @@ export class VerticalObjects {
 	 * @param deviceLineHeight The height, in pixels, for one rendered line.
 	 * @return The line number that is closest to the center between `verticalOffset1` and `verticalOffset2`.
 	 */
-	public getCenteredLineInViewport(verticalOffset1:number, verticalOffset2:number, deviceLineHeight:number): number {
-		verticalOffset1 = verticalOffset1|0;
-		verticalOffset2 = verticalOffset2|0;
-		deviceLineHeight = deviceLineHeight|0;
+	public getCenteredLineInViewport(verticalOffset1: number, verticalOffset2: number, deviceLineHeight: number): number {
+		verticalOffset1 = verticalOffset1 | 0;
+		verticalOffset2 = verticalOffset2 | 0;
+		deviceLineHeight = deviceLineHeight | 0;
 
 		let viewportData = this.getLinesViewportData(verticalOffset1, verticalOffset2, deviceLineHeight);
 
@@ -218,7 +218,7 @@ export class VerticalObjects {
 			currentLineActualTop = viewportData.visibleRangesDeltaTop + viewportData.relativeVerticalOffset[lineNumber - viewportData.startLineNumber];
 			currentLineActualBottom = currentLineActualTop + deviceLineHeight;
 
-			if ( (currentLineActualTop <= verticalCenter && verticalCenter < currentLineActualBottom) || currentLineActualTop > verticalCenter) {
+			if ((currentLineActualTop <= verticalCenter && verticalCenter < currentLineActualBottom) || currentLineActualTop > verticalCenter) {
 				return lineNumber;
 			}
 		}
@@ -234,21 +234,21 @@ export class VerticalObjects {
 	 * @param deviceLineHeight The height, in pixels, for one rendered line.
 	 * @return A structure describing the lines positioned between `verticalOffset1` and `verticalOffset2`.
 	 */
-	public getLinesViewportData(verticalOffset1:number, verticalOffset2:number, deviceLineHeight:number): IPartialViewLinesViewportData {
-		verticalOffset1 = verticalOffset1|0;
-		verticalOffset2 = verticalOffset2|0;
-		deviceLineHeight = deviceLineHeight|0;
+	public getLinesViewportData(verticalOffset1: number, verticalOffset2: number, deviceLineHeight: number): IPartialViewLinesViewportData {
+		verticalOffset1 = verticalOffset1 | 0;
+		verticalOffset2 = verticalOffset2 | 0;
+		deviceLineHeight = deviceLineHeight | 0;
 
 		// Find first line number
 		// We don't live in a perfect world, so the line number might start before or after verticalOffset1
-		let startLineNumber = this.getLineNumberAtOrAfterVerticalOffset(verticalOffset1, deviceLineHeight)|0;
+		let startLineNumber = this.getLineNumberAtOrAfterVerticalOffset(verticalOffset1, deviceLineHeight) | 0;
 
-		let endLineNumber = this.linesCount|0;
-		let startLineNumberVerticalOffset = this.getVerticalOffsetForLineNumber(startLineNumber, deviceLineHeight)|0;
+		let endLineNumber = this.linesCount | 0;
+		let startLineNumberVerticalOffset = this.getVerticalOffsetForLineNumber(startLineNumber, deviceLineHeight) | 0;
 
 		// Also keep track of what whitespace we've got
-		let whitespaceIndex = this.whitespaces.getFirstWhitespaceIndexAfterLineNumber(startLineNumber)|0;
-		let whitespaceCount = this.whitespaces.getCount()|0;
+		let whitespaceIndex = this.whitespaces.getFirstWhitespaceIndexAfterLineNumber(startLineNumber) | 0;
+		let whitespaceCount = this.whitespaces.getCount() | 0;
 		let currentWhitespaceHeight: number;
 		let currentWhitespaceAfterLineNumber: number;
 
@@ -257,8 +257,8 @@ export class VerticalObjects {
 			currentWhitespaceAfterLineNumber = endLineNumber + 1;
 			currentWhitespaceHeight = 0;
 		} else {
-			currentWhitespaceAfterLineNumber = this.whitespaces.getAfterLineNumberForWhitespaceIndex(whitespaceIndex)|0;
-			currentWhitespaceHeight = this.whitespaces.getHeightForWhitespaceIndex(whitespaceIndex)|0;
+			currentWhitespaceAfterLineNumber = this.whitespaces.getAfterLineNumberForWhitespaceIndex(whitespaceIndex) | 0;
+			currentWhitespaceHeight = this.whitespaces.getHeightForWhitespaceIndex(whitespaceIndex) | 0;
 		}
 
 		let currentVerticalOffset = startLineNumberVerticalOffset;
@@ -275,7 +275,7 @@ export class VerticalObjects {
 			currentLineRelativeOffset -= bigNumbersDelta;
 		}
 
-		let linesOffsets:number[] = [];
+		let linesOffsets: number[] = [];
 
 		// Figure out how far the lines go
 		for (let lineNumber = startLineNumber; lineNumber <= endLineNumber; lineNumber++) {
@@ -297,8 +297,8 @@ export class VerticalObjects {
 				if (whitespaceIndex >= whitespaceCount) {
 					currentWhitespaceAfterLineNumber = endLineNumber + 1;
 				} else {
-					currentWhitespaceAfterLineNumber = this.whitespaces.getAfterLineNumberForWhitespaceIndex(whitespaceIndex)|0;
-					currentWhitespaceHeight = this.whitespaces.getHeightForWhitespaceIndex(whitespaceIndex)|0;
+					currentWhitespaceAfterLineNumber = this.whitespaces.getAfterLineNumberForWhitespaceIndex(whitespaceIndex) | 0;
+					currentWhitespaceHeight = this.whitespaces.getHeightForWhitespaceIndex(whitespaceIndex) | 0;
 				}
 			}
 
@@ -320,20 +320,20 @@ export class VerticalObjects {
 		};
 	}
 
-	public getVerticalOffsetForWhitespaceIndex(whitespaceIndex:number, deviceLineHeight:number): number {
-		whitespaceIndex = whitespaceIndex|0;
-		deviceLineHeight = deviceLineHeight|0;
+	public getVerticalOffsetForWhitespaceIndex(whitespaceIndex: number, deviceLineHeight: number): number {
+		whitespaceIndex = whitespaceIndex | 0;
+		deviceLineHeight = deviceLineHeight | 0;
 
 		let afterLineNumber = this.whitespaces.getAfterLineNumberForWhitespaceIndex(whitespaceIndex);
 
-		let previousLinesHeight:number;
+		let previousLinesHeight: number;
 		if (afterLineNumber >= 1) {
 			previousLinesHeight = deviceLineHeight * afterLineNumber;
 		} else {
 			previousLinesHeight = 0;
 		}
 
-		let previousWhitespacesHeight:number;
+		let previousWhitespacesHeight: number;
 		if (whitespaceIndex > 0) {
 			previousWhitespacesHeight = this.whitespaces.getAccumulatedHeight(whitespaceIndex - 1);
 		} else {
@@ -342,15 +342,15 @@ export class VerticalObjects {
 		return previousLinesHeight + previousWhitespacesHeight;
 	}
 
-	public getWhitespaceIndexAtOrAfterVerticallOffset(verticalOffset:number, deviceLineHeight:number): number {
-		verticalOffset = verticalOffset|0;
-		deviceLineHeight = deviceLineHeight|0;
+	public getWhitespaceIndexAtOrAfterVerticallOffset(verticalOffset: number, deviceLineHeight: number): number {
+		verticalOffset = verticalOffset | 0;
+		deviceLineHeight = deviceLineHeight | 0;
 
-		let midWhitespaceIndex:number,
+		let midWhitespaceIndex: number,
 			minWhitespaceIndex = 0,
 			maxWhitespaceIndex = this.whitespaces.getCount() - 1,
-			midWhitespaceVerticalOffset:number,
-			midWhitespaceHeight:number;
+			midWhitespaceVerticalOffset: number,
+			midWhitespaceHeight: number;
 
 		if (maxWhitespaceIndex < 0) {
 			return -1;
@@ -390,9 +390,9 @@ export class VerticalObjects {
 	 * @param deviceLineHeight The height, in pixels, for one rendered line.
 	 * @return Precisely the whitespace that is layouted at `verticaloffset` or null.
 	 */
-	public getWhitespaceAtVerticalOffset(verticalOffset:number, deviceLineHeight:number): IViewWhitespaceViewportData {
-		verticalOffset = verticalOffset|0;
-		deviceLineHeight = deviceLineHeight|0;
+	public getWhitespaceAtVerticalOffset(verticalOffset: number, deviceLineHeight: number): IViewWhitespaceViewportData {
+		verticalOffset = verticalOffset | 0;
+		deviceLineHeight = deviceLineHeight | 0;
 
 		let candidateIndex = this.getWhitespaceIndexAtOrAfterVerticallOffset(verticalOffset, deviceLineHeight);
 
@@ -430,10 +430,10 @@ export class VerticalObjects {
 	 * @param deviceLineHeight The height, in pixels, for one rendered line.
 	 * @return An array with all the whitespaces in the viewport. If no whitespace is in viewport, the array is empty.
 	 */
-	public getWhitespaceViewportData(verticalOffset1:number, verticalOffset2:number, deviceLineHeight:number): IViewWhitespaceViewportData[] {
-		verticalOffset1 = verticalOffset1|0;
-		verticalOffset2 = verticalOffset2|0;
-		deviceLineHeight = deviceLineHeight|0;
+	public getWhitespaceViewportData(verticalOffset1: number, verticalOffset2: number, deviceLineHeight: number): IViewWhitespaceViewportData[] {
+		verticalOffset1 = verticalOffset1 | 0;
+		verticalOffset2 = verticalOffset2 | 0;
+		deviceLineHeight = deviceLineHeight | 0;
 
 		let startIndex = this.getWhitespaceIndexAtOrAfterVerticallOffset(verticalOffset1, deviceLineHeight);
 		let endIndex = this.whitespaces.getCount() - 1;
@@ -443,9 +443,9 @@ export class VerticalObjects {
 		}
 
 		let result: IViewWhitespaceViewportData[] = [],
-			i:number,
-			top:number,
-			height:number;
+			i: number,
+			top: number,
+			height: number;
 
 		for (i = startIndex; i <= endIndex; i++) {
 			top = this.getVerticalOffsetForWhitespaceIndex(i, deviceLineHeight);
@@ -465,7 +465,7 @@ export class VerticalObjects {
 		return result;
 	}
 
-	public getWhitespaces(deviceLineHeight:number): IEditorWhitespace[] {
+	public getWhitespaces(deviceLineHeight: number): IEditorWhitespace[] {
 		return this.whitespaces.getWhitespaces(deviceLineHeight);
 	}
 }
\ No newline at end of file
diff --git a/src/vs/editor/common/viewLayout/viewLineParts.ts b/src/vs/editor/common/viewLayout/viewLineParts.ts
index e27893801ea7b..629eb16b68d56 100644
--- a/src/vs/editor/common/viewLayout/viewLineParts.ts
+++ b/src/vs/editor/common/viewLayout/viewLineParts.ts
@@ -5,17 +5,17 @@
 'use strict';
 
 import * as strings from 'vs/base/common/strings';
-import {Arrays} from 'vs/editor/common/core/arrays';
-import {Range} from 'vs/editor/common/core/range';
-import {ViewLineToken, ViewLineTokens} from 'vs/editor/common/core/viewLineToken';
-import {InlineDecoration} from 'vs/editor/common/viewModel/viewModel';
-import {CharCode} from 'vs/base/common/charCode';
+import { Arrays } from 'vs/editor/common/core/arrays';
+import { Range } from 'vs/editor/common/core/range';
+import { ViewLineToken, ViewLineTokens } from 'vs/editor/common/core/viewLineToken';
+import { InlineDecoration } from 'vs/editor/common/viewModel/viewModel';
+import { CharCode } from 'vs/base/common/charCode';
 
-function cmpLineDecorations(a:InlineDecoration, b:InlineDecoration): number {
+function cmpLineDecorations(a: InlineDecoration, b: InlineDecoration): number {
 	return Range.compareRangesUsingStarts(a.range, b.range);
 }
 
-export function createLineParts(lineNumber:number, minLineColumn:number, lineContent:string, tabSize:number, lineTokens:ViewLineTokens, rawLineDecorations:InlineDecoration[], renderWhitespace:'none' | 'boundary' | 'all'): LineParts {
+export function createLineParts(lineNumber: number, minLineColumn: number, lineContent: string, tabSize: number, lineTokens: ViewLineTokens, rawLineDecorations: InlineDecoration[], renderWhitespace: 'none' | 'boundary' | 'all'): LineParts {
 	if (renderWhitespace !== 'none') {
 		let oldLength = rawLineDecorations.length;
 		rawLineDecorations = insertWhitespaceLineDecorations(lineNumber, lineContent, tabSize, lineTokens.getFauxIndentLength(), renderWhitespace, rawLineDecorations);
@@ -31,7 +31,7 @@ export function createLineParts(lineNumber:number, minLineColumn:number, lineCon
 	}
 }
 
-export function getColumnOfLinePartOffset(stopRenderingLineAfter:number, lineParts:ViewLineToken[], lineMaxColumn:number, charOffsetInPart:number[], partIndex:number, partLength:number, offset:number): number {
+export function getColumnOfLinePartOffset(stopRenderingLineAfter: number, lineParts: ViewLineToken[], lineMaxColumn: number, charOffsetInPart: number[], partIndex: number, partLength: number, offset: number): number {
 	if (partIndex >= lineParts.length) {
 		return stopRenderingLineAfter;
 	}
@@ -52,7 +52,7 @@ export function getColumnOfLinePartOffset(stopRenderingLineAfter:number, linePar
 
 	// invariant: offsetOf(min) <= offset <= offsetOf(max)
 	while (min + 1 < max) {
-		let mid = Math.floor( (min + max) / 2 );
+		let mid = Math.floor((min + max) / 2);
 		let midOffset = charOffsetInPart[mid];
 
 		if (midOffset === offset) {
@@ -94,11 +94,11 @@ function trimEmptyTrailingPart(parts: ViewLineToken[], lineContent: string): Vie
 	return parts.slice(0, parts.length - 1);
 }
 
-function insertOneCustomLineDecoration(dest:InlineDecoration[], lineNumber:number, startColumn:number, endColumn:number, className:string): void {
+function insertOneCustomLineDecoration(dest: InlineDecoration[], lineNumber: number, startColumn: number, endColumn: number, className: string): void {
 	dest.push(new InlineDecoration(new Range(lineNumber, startColumn, lineNumber, endColumn), className));
 }
 
-function insertWhitespaceLineDecorations(lineNumber:number, lineContent: string, tabSize:number, fauxIndentLength: number, renderWhitespace: 'none' | 'boundary' | 'all', rawLineDecorations: InlineDecoration[]): InlineDecoration[] {
+function insertWhitespaceLineDecorations(lineNumber: number, lineContent: string, tabSize: number, fauxIndentLength: number, renderWhitespace: 'none' | 'boundary' | 'all', rawLineDecorations: InlineDecoration[]): InlineDecoration[] {
 	let lineLength = lineContent.length;
 	if (lineLength === fauxIndentLength) {
 		return rawLineDecorations;
@@ -170,7 +170,7 @@ function insertWhitespaceLineDecorations(lineNumber:number, lineContent: string,
 	return insertCustomLineDecorationsWithStateMachine(lineNumber, lineContent, tabSize, rawLineDecorations, sm_endIndex, sm_decoration);
 }
 
-function insertCustomLineDecorationsWithStateMachine(lineNumber:number, lineContent: string, tabSize:number, rawLineDecorations: InlineDecoration[], sm_endIndex: number[], sm_decoration: string[]): InlineDecoration[] {
+function insertCustomLineDecorationsWithStateMachine(lineNumber: number, lineContent: string, tabSize: number, rawLineDecorations: InlineDecoration[], sm_endIndex: number[], sm_decoration: string[]): InlineDecoration[] {
 	let lineLength = lineContent.length;
 	let currentStateIndex = 0;
 	let stateEndIndex = sm_endIndex[currentStateIndex];
@@ -223,33 +223,33 @@ export class LineParts {
 		return this._parts;
 	}
 
-	public equals(other:LineParts): boolean {
+	public equals(other: LineParts): boolean {
 		return ViewLineToken.equalsArray(this._parts, other._parts);
 	}
 
-	public findIndexOfOffset(offset:number): number {
+	public findIndexOfOffset(offset: number): number {
 		return Arrays.findIndexInSegmentsArray(this._parts, offset);
 	}
 }
 
-function createFastViewLineParts(lineTokens:ViewLineTokens, lineContent:string): LineParts {
+function createFastViewLineParts(lineTokens: ViewLineTokens, lineContent: string): LineParts {
 	let parts = lineTokens.getTokens();
 	parts = trimEmptyTrailingPart(parts, lineContent);
 	return new LineParts(parts);
 }
 
-function createViewLineParts(lineNumber:number, minLineColumn:number, lineTokens:ViewLineTokens, lineContent:string, rawLineDecorations:InlineDecoration[]): LineParts {
+function createViewLineParts(lineNumber: number, minLineColumn: number, lineTokens: ViewLineTokens, lineContent: string, rawLineDecorations: InlineDecoration[]): LineParts {
 	// lineDecorations might overlap on top of each other, so they need to be normalized
 	var lineDecorations = LineDecorationsNormalizer.normalize(lineNumber, minLineColumn, rawLineDecorations),
 		lineDecorationsIndex = 0,
 		lineDecorationsLength = lineDecorations.length;
 
 	var actualLineTokens = lineTokens.getTokens(),
-		nextStartOffset:number,
-		currentTokenEndOffset:number,
-		currentTokenClassName:string;
+		nextStartOffset: number,
+		currentTokenEndOffset: number,
+		currentTokenClassName: string;
 
-	var parts:ViewLineToken[] = [];
+	var parts: ViewLineToken[] = [];
 
 	for (var i = 0, len = actualLineTokens.length; i < len; i++) {
 		nextStartOffset = actualLineTokens[i].startIndex;
@@ -285,11 +285,11 @@ function createViewLineParts(lineNumber:number, minLineColumn:number, lineTokens
 }
 
 export class DecorationSegment {
-	startOffset:number;
-	endOffset:number;
-	className:string;
+	startOffset: number;
+	endOffset: number;
+	className: string;
 
-	constructor(startOffset:number, endOffset:number, className:string) {
+	constructor(startOffset: number, endOffset: number, className: string) {
 		this.startOffset = startOffset;
 		this.endOffset = endOffset;
 		this.className = className;
@@ -297,9 +297,9 @@ export class DecorationSegment {
 }
 
 class Stack {
-	public count:number;
-	private stopOffsets:number[];
-	private classNames:string[];
+	public count: number;
+	private stopOffsets: number[];
+	private classNames: string[];
 
 	constructor() {
 		this.stopOffsets = [];
@@ -307,13 +307,13 @@ class Stack {
 		this.count = 0;
 	}
 
-	public consumeLowerThan(maxStopOffset:number, nextStartOffset:number, result:DecorationSegment[]): number {
+	public consumeLowerThan(maxStopOffset: number, nextStartOffset: number, result: DecorationSegment[]): number {
 
 		while (this.count > 0 && this.stopOffsets[0] < maxStopOffset) {
 			var i = 0;
 
 			// Take all equal stopping offsets
-			while(i + 1 < this.count && this.stopOffsets[i] === this.stopOffsets[i + 1]) {
+			while (i + 1 < this.count && this.stopOffsets[i] === this.stopOffsets[i + 1]) {
 				i++;
 			}
 
@@ -335,7 +335,7 @@ class Stack {
 		return nextStartOffset;
 	}
 
-	public insert(stopOffset:number, className:string): void {
+	public insert(stopOffset: number, className: string): void {
 		if (this.count === 0 || this.stopOffsets[this.count - 1] <= stopOffset) {
 			// Insert at the end
 			this.stopOffsets.push(stopOffset);
@@ -364,9 +364,9 @@ export class LineDecorationsNormalizer {
 	/**
 	 * Normalize line decorations. Overlapping decorations will generate multiple segments
 	 */
-	public static normalize(lineNumber:number, minLineColumn:number, lineDecorations:InlineDecoration[]): DecorationSegment[] {
+	public static normalize(lineNumber: number, minLineColumn: number, lineDecorations: InlineDecoration[]): DecorationSegment[] {
 
-		var result:DecorationSegment[] = [];
+		var result: DecorationSegment[] = [];
 
 		if (lineDecorations.length === 0) {
 			return result;
@@ -374,11 +374,11 @@ export class LineDecorationsNormalizer {
 
 		var stack = new Stack(),
 			nextStartOffset = 0,
-			d:InlineDecoration,
-			currentStartOffset:number,
-			currentEndOffset:number,
-			i:number,
-			len:number;
+			d: InlineDecoration,
+			currentStartOffset: number,
+			currentEndOffset: number,
+			i: number,
+			len: number;
 
 		for (i = 0, len = lineDecorations.length; i < len; i++) {
 			d = lineDecorations[i];
diff --git a/src/vs/editor/common/viewLayout/viewLineRenderer.ts b/src/vs/editor/common/viewLayout/viewLineRenderer.ts
index 700fb47ee51e7..08fcc30674bdd 100644
--- a/src/vs/editor/common/viewLayout/viewLineRenderer.ts
+++ b/src/vs/editor/common/viewLayout/viewLineRenderer.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ViewLineToken} from 'vs/editor/common/core/viewLineToken';
-import {CharCode} from 'vs/base/common/charCode';
+import { ViewLineToken } from 'vs/editor/common/core/viewLineToken';
+import { CharCode } from 'vs/base/common/charCode';
 
 export class RenderLineInput {
 	_renderLineInputBrand: void;
@@ -50,7 +50,7 @@ export class RenderLineOutput {
 	}
 }
 
-export function renderLine(input:RenderLineInput): RenderLineOutput {
+export function renderLine(input: RenderLineInput): RenderLineOutput {
 	const lineText = input.lineContent;
 	const lineTextLength = lineText.length;
 	const tabSize = input.tabSize;
@@ -76,7 +76,7 @@ export function renderLine(input:RenderLineInput): RenderLineOutput {
 	return renderLineActual(lineText, lineTextLength, tabSize, spaceWidth, actualLineParts.slice(0), renderWhitespace, renderControlCharacters, charBreakIndex);
 }
 
-function isWhitespace(type:string): boolean {
+function isWhitespace(type: string): boolean {
 	return (type.indexOf('whitespace') >= 0);
 }
 
@@ -141,10 +141,10 @@ function renderLineActual(lineText: string, lineTextLength: number, tabSize: num
 					partContentCnt++;
 				}
 
-				charOffsetInPart ++;
+				charOffsetInPart++;
 
 				if (charIndex >= charBreakIndex) {
-					out += '<span class="token '+part.type+'" style="width:'+(spaceWidth * partContentCnt)+'px">';
+					out += '<span class="token ' + part.type + '" style="width:' + (spaceWidth * partContentCnt) + 'px">';
 					out += partContent;
 					out += '&hellip;</span></span>';
 					charOffsetInPartArr[charIndex] = charOffsetInPart;
@@ -155,7 +155,7 @@ function renderLineActual(lineText: string, lineTextLength: number, tabSize: num
 					);
 				}
 			}
-			out += '<span class="token '+part.type+'" style="width:'+(spaceWidth * partContentCnt)+'px">';
+			out += '<span class="token ' + part.type + '" style="width:' + (spaceWidth * partContentCnt) + 'px">';
 			out += partContent;
 			out += '</span>';
 		} else {
@@ -216,7 +216,7 @@ function renderLineActual(lineText: string, lineTextLength: number, tabSize: num
 						}
 				}
 
-				charOffsetInPart ++;
+				charOffsetInPart++;
 
 				if (charIndex >= charBreakIndex) {
 					out += '&hellip;</span></span>';
diff --git a/src/vs/editor/common/viewLayout/viewLinesViewportData.ts b/src/vs/editor/common/viewLayout/viewLinesViewportData.ts
index 83b1c19e11fa0..eac5d3f42cb93 100644
--- a/src/vs/editor/common/viewLayout/viewLinesViewportData.ts
+++ b/src/vs/editor/common/viewLayout/viewLinesViewportData.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IModelDecoration} from 'vs/editor/common/editorCommon';
-import {IDecorationsViewportData, InlineDecoration} from 'vs/editor/common/viewModel/viewModel';
-import {Range} from 'vs/editor/common/core/range';
+import { IModelDecoration } from 'vs/editor/common/editorCommon';
+import { IDecorationsViewportData, InlineDecoration } from 'vs/editor/common/viewModel/viewModel';
+import { Range } from 'vs/editor/common/core/range';
 
 export interface IPartialViewLinesViewportData {
 	viewportTop: number;
@@ -45,18 +45,18 @@ export class ViewLinesViewportData {
 	/**
 	 * completely visible lines range excluding partially rendered lines. Subset of `visibleRange`.
 	 */
-	completelyVisibleLinesRange:Range;
+	completelyVisibleLinesRange: Range;
 
 	private _decorations: IModelDecoration[];
 	private _inlineDecorations: InlineDecoration[][];
 
-	constructor(partialData:IPartialViewLinesViewportData, visibleRange:Range, completelyVisibleLinesRange: Range, decorationsData:IDecorationsViewportData) {
-		this.viewportTop = partialData.viewportTop|0;
-		this.viewportHeight = partialData.viewportHeight|0;
-		this.bigNumbersDelta = partialData.bigNumbersDelta|0;
-		this.visibleRangesDeltaTop = partialData.visibleRangesDeltaTop|0;
-		this.startLineNumber = partialData.startLineNumber|0;
-		this.endLineNumber = partialData.endLineNumber|0;
+	constructor(partialData: IPartialViewLinesViewportData, visibleRange: Range, completelyVisibleLinesRange: Range, decorationsData: IDecorationsViewportData) {
+		this.viewportTop = partialData.viewportTop | 0;
+		this.viewportHeight = partialData.viewportHeight | 0;
+		this.bigNumbersDelta = partialData.bigNumbersDelta | 0;
+		this.visibleRangesDeltaTop = partialData.visibleRangesDeltaTop | 0;
+		this.startLineNumber = partialData.startLineNumber | 0;
+		this.endLineNumber = partialData.endLineNumber | 0;
 		this.relativeVerticalOffset = partialData.relativeVerticalOffset;
 		this.visibleRange = visibleRange;
 		this.completelyVisibleLinesRange = completelyVisibleLinesRange;
@@ -68,8 +68,8 @@ export class ViewLinesViewportData {
 		return this._decorations;
 	}
 
-	public getInlineDecorationsForLineInViewport(lineNumber:number): InlineDecoration[] {
-		lineNumber = lineNumber|0;
+	public getInlineDecorationsForLineInViewport(lineNumber: number): InlineDecoration[] {
+		lineNumber = lineNumber | 0;
 		return this._inlineDecorations[lineNumber - this.startLineNumber];
 	}
 }
diff --git a/src/vs/editor/common/viewLayout/whitespaceComputer.ts b/src/vs/editor/common/viewLayout/whitespaceComputer.ts
index 9746d260c5509..42d5b250bd94e 100644
--- a/src/vs/editor/common/viewLayout/whitespaceComputer.ts
+++ b/src/vs/editor/common/viewLayout/whitespaceComputer.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IEditorWhitespace} from 'vs/editor/common/editorCommon';
+import { IEditorWhitespace } from 'vs/editor/common/editorCommon';
 
 /**
  * Represent whitespaces in between lines and provide fast CRUD management methods.
@@ -15,44 +15,44 @@ export class WhitespaceComputer {
 	/**
 	 * heights[i] is the height in pixels for whitespace at index i
 	 */
-	private heights:number[];
+	private heights: number[];
 
 	/**
 	 * afterLineNumbers[i] is the line number whitespace at index i is after
 	 */
-	private afterLineNumbers:number[];
+	private afterLineNumbers: number[];
 
 	/**
 	 * ordinals[i] is the orinal of the whitespace at index i
 	 */
-	private ordinals:number[];
+	private ordinals: number[];
 
 	/**
 	 * prefixSum[i] = SUM(heights[j]), 1 <= j <= i
 	 */
-	private prefixSum:number[];
+	private prefixSum: number[];
 
 	/**
 	 * prefixSum[i], 1 <= i <= prefixSumValidIndex can be trusted
 	 */
-	private prefixSumValidIndex:number;
+	private prefixSumValidIndex: number;
 
 	/**
 	 * ids[i] is the whitespace id of whitespace at index i
 	 */
-	private ids:number[];
+	private ids: number[];
 
 	/**
 	 * index at which a whitespace is positioned (inside heights, afterLineNumbers, prefixSum members)
 	 */
-	private whitespaceId2Index:{
-		[id:string]:number;
+	private whitespaceId2Index: {
+		[id: string]: number;
 	};
 
 	/**
 	 * last whitespace id issued
 	 */
-	private lastWhitespaceId:number;
+	private lastWhitespaceId: number;
 
 	constructor() {
 		this.heights = [];
@@ -69,13 +69,13 @@ export class WhitespaceComputer {
 	 * Find the insertion index for a new value inside a sorted array of values.
 	 * If the value is already present in the sorted array, the insertion index will be after the already existing value.
 	 */
-	public static findInsertionIndex(sortedArray:number[], value:number, ordinals:number[], valueOrdinal:number): number {
+	public static findInsertionIndex(sortedArray: number[], value: number, ordinals: number[], valueOrdinal: number): number {
 		var low = 0,
 			high = sortedArray.length,
-			mid:number;
+			mid: number;
 
 		while (low < high) {
-			mid = Math.floor( (low + high) / 2 );
+			mid = Math.floor((low + high) / 2);
 
 			if (value === sortedArray[mid]) {
 				if (valueOrdinal < ordinals[mid]) {
@@ -102,10 +102,10 @@ export class WhitespaceComputer {
 	 * @param heightInPx The height of the whitespace, in pixels.
 	 * @return An id that can be used later to mutate or delete the whitespace
 	 */
-	public insertWhitespace(afterLineNumber:number, ordinal:number, heightInPx:number): number {
-		afterLineNumber = afterLineNumber|0;
-		ordinal = ordinal|0;
-		heightInPx = heightInPx|0;
+	public insertWhitespace(afterLineNumber: number, ordinal: number, heightInPx: number): number {
+		afterLineNumber = afterLineNumber | 0;
+		ordinal = ordinal | 0;
+		heightInPx = heightInPx | 0;
 
 		var id = (++this.lastWhitespaceId);
 		var insertionIndex = WhitespaceComputer.findInsertionIndex(this.afterLineNumbers, afterLineNumber, this.ordinals, ordinal);
@@ -113,12 +113,12 @@ export class WhitespaceComputer {
 		return id;
 	}
 
-	private insertWhitespaceAtIndex(id:number, insertIndex:number, afterLineNumber:number, ordinal:number, heightInPx:number): void {
-		id = id|0;
-		insertIndex = insertIndex|0;
-		afterLineNumber = afterLineNumber|0;
-		ordinal = ordinal|0;
-		heightInPx = heightInPx|0;
+	private insertWhitespaceAtIndex(id: number, insertIndex: number, afterLineNumber: number, ordinal: number, heightInPx: number): void {
+		id = id | 0;
+		insertIndex = insertIndex | 0;
+		afterLineNumber = afterLineNumber | 0;
+		ordinal = ordinal | 0;
+		heightInPx = heightInPx | 0;
 
 		this.heights.splice(insertIndex, 0, heightInPx);
 		this.ids.splice(insertIndex, 0, id);
@@ -139,10 +139,10 @@ export class WhitespaceComputer {
 		this.prefixSumValidIndex = Math.min(this.prefixSumValidIndex, insertIndex - 1);
 	}
 
-	public changeWhitespace(id:number, newAfterLineNumber:number, newHeight:number): boolean {
-		id = id|0;
-		newAfterLineNumber = newAfterLineNumber|0;
-		newHeight = newHeight|0;
+	public changeWhitespace(id: number, newAfterLineNumber: number, newHeight: number): boolean {
+		id = id | 0;
+		newAfterLineNumber = newAfterLineNumber | 0;
+		newHeight = newHeight | 0;
 
 		let hasChanges = false;
 		hasChanges = this.changeWhitespaceHeight(id, newHeight) || hasChanges;
@@ -157,9 +157,9 @@ export class WhitespaceComputer {
 	 * @param newHeightInPx The new height of the whitespace, in pixels
 	 * @return Returns true if the whitespace is found and if the new height is different than the old height
 	 */
-	public changeWhitespaceHeight(id:number, newHeightInPx:number): boolean {
-		id = id|0;
-		newHeightInPx = newHeightInPx|0;
+	public changeWhitespaceHeight(id: number, newHeightInPx: number): boolean {
+		id = id | 0;
+		newHeightInPx = newHeightInPx | 0;
 
 		var sid = id.toString();
 		if (this.whitespaceId2Index.hasOwnProperty(sid)) {
@@ -180,9 +180,9 @@ export class WhitespaceComputer {
 	 * @param newAfterLineNumber The new line number the whitespace will follow
 	 * @return Returns true if the whitespace is found and if the new line number is different than the old line number
 	 */
-	public changeWhitespaceAfterLineNumber(id:number, newAfterLineNumber:number): boolean {
-		id = id|0;
-		newAfterLineNumber = newAfterLineNumber|0;
+	public changeWhitespaceAfterLineNumber(id: number, newAfterLineNumber: number): boolean {
+		id = id | 0;
+		newAfterLineNumber = newAfterLineNumber | 0;
 
 		var sid = id.toString();
 		if (this.whitespaceId2Index.hasOwnProperty(sid)) {
@@ -215,8 +215,8 @@ export class WhitespaceComputer {
 	 * @param id The whitespace to remove
 	 * @return Returns true if the whitespace is found and it is removed.
 	 */
-	public removeWhitespace(id:number): boolean {
-		id = id|0;
+	public removeWhitespace(id: number): boolean {
+		id = id | 0;
 
 		var sid = id.toString();
 
@@ -230,8 +230,8 @@ export class WhitespaceComputer {
 		return false;
 	}
 
-	private removeWhitespaceAtIndex(removeIndex:number): void {
-		removeIndex = removeIndex|0;
+	private removeWhitespaceAtIndex(removeIndex: number): void {
+		removeIndex = removeIndex | 0;
 
 		this.heights.splice(removeIndex, 1);
 		this.ids.splice(removeIndex, 1);
@@ -257,13 +257,13 @@ export class WhitespaceComputer {
 	 * @param fromLineNumber The line number at which the deletion started, inclusive
 	 * @param toLineNumber The line number at which the deletion ended, inclusive
 	 */
-	public onModelLinesDeleted(fromLineNumber:number, toLineNumber:number): void {
-		fromLineNumber = fromLineNumber|0;
-		toLineNumber = toLineNumber|0;
+	public onModelLinesDeleted(fromLineNumber: number, toLineNumber: number): void {
+		fromLineNumber = fromLineNumber | 0;
+		toLineNumber = toLineNumber | 0;
 
-		var afterLineNumber:number,
-			i:number,
-			len:number;
+		var afterLineNumber: number,
+			i: number,
+			len: number;
 
 		for (i = 0, len = this.afterLineNumbers.length; i < len; i++) {
 			afterLineNumber = this.afterLineNumbers[i];
@@ -287,13 +287,13 @@ export class WhitespaceComputer {
 	 * @param fromLineNumber The line number at which the insertion started, inclusive
 	 * @param toLineNumber The line number at which the insertion ended, inclusive.
 	 */
-	public onModelLinesInserted(fromLineNumber:number, toLineNumber:number): void {
-		fromLineNumber = fromLineNumber|0;
-		toLineNumber = toLineNumber|0;
+	public onModelLinesInserted(fromLineNumber: number, toLineNumber: number): void {
+		fromLineNumber = fromLineNumber | 0;
+		toLineNumber = toLineNumber | 0;
 
-		var afterLineNumber:number,
-			i:number,
-			len:number;
+		var afterLineNumber: number,
+			i: number,
+			len: number;
 
 		for (i = 0, len = this.afterLineNumbers.length; i < len; i++) {
 			afterLineNumber = this.afterLineNumbers[i];
@@ -321,8 +321,8 @@ export class WhitespaceComputer {
 	 * @param index The index of the whitespace.
 	 * @return The sum of the heights of all whitespaces before the one at `index`, including the one at `index`.
 	 */
-	public getAccumulatedHeight(index:number): number {
-		index = index|0;
+	public getAccumulatedHeight(index: number): number {
+		index = index | 0;
 
 		var startIndex = Math.max(0, this.prefixSumValidIndex + 1);
 		if (startIndex === 0) {
@@ -343,8 +343,8 @@ export class WhitespaceComputer {
 	 * @param lineNumber The line number whitespaces should be before.
 	 * @return The sum of the heights of the whitespaces before `lineNumber`.
 	 */
-	public getAccumulatedHeightBeforeLineNumber(lineNumber:number): number {
-		lineNumber = lineNumber|0;
+	public getAccumulatedHeightBeforeLineNumber(lineNumber: number): number {
+		lineNumber = lineNumber | 0;
 
 		var lastWhitespaceBeforeLineNumber = this.findLastWhitespaceBeforeLineNumber(lineNumber);
 
@@ -355,8 +355,8 @@ export class WhitespaceComputer {
 		return this.getAccumulatedHeight(lastWhitespaceBeforeLineNumber);
 	}
 
-	private findLastWhitespaceBeforeLineNumber(lineNumber:number): number {
-		lineNumber = lineNumber|0;
+	private findLastWhitespaceBeforeLineNumber(lineNumber: number): number {
+		lineNumber = lineNumber | 0;
 
 		// Find the whitespace before line number
 		let afterLineNumbers = this.afterLineNumbers;
@@ -364,26 +364,26 @@ export class WhitespaceComputer {
 		let high = afterLineNumbers.length - 1;
 
 		while (low <= high) {
-			let delta = (high - low)|0;
-			let halfDelta = (delta / 2)|0;
-			let mid = (low + halfDelta)|0;
+			let delta = (high - low) | 0;
+			let halfDelta = (delta / 2) | 0;
+			let mid = (low + halfDelta) | 0;
 
 			if (afterLineNumbers[mid] < lineNumber) {
 				if (mid + 1 >= afterLineNumbers.length || afterLineNumbers[mid + 1] >= lineNumber) {
 					return mid;
 				} else {
-					low = (mid + 1)|0;
+					low = (mid + 1) | 0;
 				}
 			} else {
-				high = (mid - 1)|0;
+				high = (mid - 1) | 0;
 			}
 		}
 
 		return -1;
 	}
 
-	private findFirstWhitespaceAfterLineNumber(lineNumber:number): number {
-		lineNumber = lineNumber|0;
+	private findFirstWhitespaceAfterLineNumber(lineNumber: number): number {
+		lineNumber = lineNumber | 0;
 
 		var lastWhitespaceBeforeLineNumber = this.findLastWhitespaceBeforeLineNumber(lineNumber);
 		var firstWhitespaceAfterLineNumber = lastWhitespaceBeforeLineNumber + 1;
@@ -399,8 +399,8 @@ export class WhitespaceComputer {
 	 * Find the index of the first whitespace which has `afterLineNumber` >= `lineNumber`.
 	 * @return The index of the first whitespace with `afterLineNumber` >= `lineNumber` or -1 if no whitespace is found.
 	 */
-	public getFirstWhitespaceIndexAfterLineNumber(lineNumber:number): number {
-		lineNumber = lineNumber|0;
+	public getFirstWhitespaceIndexAfterLineNumber(lineNumber: number): number {
+		lineNumber = lineNumber | 0;
 
 		return this.findFirstWhitespaceAfterLineNumber(lineNumber);
 	}
@@ -418,8 +418,8 @@ export class WhitespaceComputer {
 	 * @param index The index of the whitespace.
 	 * @return `afterLineNumber` of whitespace at `index`.
 	 */
-	public getAfterLineNumberForWhitespaceIndex(index:number): number {
-		index = index|0;
+	public getAfterLineNumberForWhitespaceIndex(index: number): number {
+		index = index | 0;
 
 		return this.afterLineNumbers[index];
 	}
@@ -430,8 +430,8 @@ export class WhitespaceComputer {
 	 * @param index The index of the whitespace.
 	 * @return `id` of whitespace at `index`.
 	 */
-	public getIdForWhitespaceIndex(index:number): number {
-		index = index|0;
+	public getIdForWhitespaceIndex(index: number): number {
+		index = index | 0;
 
 		return this.ids[index];
 	}
@@ -442,14 +442,14 @@ export class WhitespaceComputer {
 	 * @param index The index of the whitespace.
 	 * @return `height` of whitespace at `index`.
 	 */
-	public getHeightForWhitespaceIndex(index:number): number {
-		index = index|0;
+	public getHeightForWhitespaceIndex(index: number): number {
+		index = index | 0;
 
 		return this.heights[index];
 	}
 
-	public getWhitespaces(deviceLineHeight:number): IEditorWhitespace[] {
-		deviceLineHeight = deviceLineHeight|0;
+	public getWhitespaces(deviceLineHeight: number): IEditorWhitespace[] {
+		deviceLineHeight = deviceLineHeight | 0;
 
 		var result: IEditorWhitespace[] = [];
 		for (var i = 0; i < this.heights.length; i++) {
diff --git a/src/vs/editor/common/viewModel/characterHardWrappingLineMapper.ts b/src/vs/editor/common/viewModel/characterHardWrappingLineMapper.ts
index 72682c4efe615..538cf0e551419 100644
--- a/src/vs/editor/common/viewModel/characterHardWrappingLineMapper.ts
+++ b/src/vs/editor/common/viewModel/characterHardWrappingLineMapper.ts
@@ -5,11 +5,11 @@
 'use strict';
 
 import * as strings from 'vs/base/common/strings';
-import {WrappingIndent} from 'vs/editor/common/editorCommon';
-import {PrefixSumComputer} from 'vs/editor/common/viewModel/prefixSumComputer';
-import {ILineMapperFactory, ILineMapping, OutputPosition} from 'vs/editor/common/viewModel/splitLinesCollection';
-import {CharCode} from 'vs/base/common/charCode';
-import {CharacterClassifier} from 'vs/editor/common/core/characterClassifier';
+import { WrappingIndent } from 'vs/editor/common/editorCommon';
+import { PrefixSumComputer } from 'vs/editor/common/viewModel/prefixSumComputer';
+import { ILineMapperFactory, ILineMapping, OutputPosition } from 'vs/editor/common/viewModel/splitLinesCollection';
+import { CharCode } from 'vs/base/common/charCode';
+import { CharacterClassifier } from 'vs/editor/common/core/characterClassifier';
 
 const enum CharacterClass {
 	NONE = 0,
@@ -21,7 +21,7 @@ const enum CharacterClass {
 
 class WrappingCharacterClassifier extends CharacterClassifier<CharacterClass> {
 
-	constructor(BREAK_BEFORE:string, BREAK_AFTER:string, BREAK_OBTRUSIVE:string) {
+	constructor(BREAK_BEFORE: string, BREAK_AFTER: string, BREAK_OBTRUSIVE: string) {
 		super(CharacterClass.NONE);
 
 		for (let i = 0; i < BREAK_BEFORE.length; i++) {
@@ -37,7 +37,7 @@ class WrappingCharacterClassifier extends CharacterClassifier<CharacterClass> {
 		}
 	}
 
-	public get(charCode:number): CharacterClass {
+	public get(charCode: number): CharacterClass {
 		// Initialize CharacterClass.BREAK_IDEOGRAPHIC for these Unicode ranges:
 		// 1. CJK Unified Ideographs (0x4E00 -- 0x9FFF)
 		// 2. CJK Unified Ideographs Extension A (0x3400 -- 0x4DBF)
@@ -56,14 +56,14 @@ class WrappingCharacterClassifier extends CharacterClassifier<CharacterClass> {
 
 export class CharacterHardWrappingLineMapperFactory implements ILineMapperFactory {
 
-	private classifier:WrappingCharacterClassifier;
+	private classifier: WrappingCharacterClassifier;
 
-	constructor(breakBeforeChars:string, breakAfterChars:string, breakObtrusiveChars:string) {
+	constructor(breakBeforeChars: string, breakAfterChars: string, breakObtrusiveChars: string) {
 		this.classifier = new WrappingCharacterClassifier(breakBeforeChars, breakAfterChars, breakObtrusiveChars);
 	}
 
 	// TODO@Alex -> duplicated in lineCommentCommand
-	private static nextVisibleColumn(currentVisibleColumn:number, tabSize:number, isTab:boolean, columnSize:number): number {
+	private static nextVisibleColumn(currentVisibleColumn: number, tabSize: number, isTab: boolean, columnSize: number): number {
 		currentVisibleColumn = +currentVisibleColumn; //@perf
 		tabSize = +tabSize; //@perf
 		columnSize = +columnSize; //@perf
@@ -74,7 +74,7 @@ export class CharacterHardWrappingLineMapperFactory implements ILineMapperFactor
 		return currentVisibleColumn + columnSize;
 	}
 
-	public createLineMapping(lineText: string, tabSize: number, breakingColumn: number, columnsForFullWidthChar:number, hardWrappingIndent:WrappingIndent): ILineMapping {
+	public createLineMapping(lineText: string, tabSize: number, breakingColumn: number, columnsForFullWidthChar: number, hardWrappingIndent: WrappingIndent): ILineMapping {
 		if (breakingColumn === -1) {
 			return null;
 		}
@@ -100,7 +100,7 @@ export class CharacterHardWrappingLineMapperFactory implements ILineMapperFactor
 					wrappedTextIndentVisibleColumn = CharacterHardWrappingLineMapperFactory.nextVisibleColumn(wrappedTextIndentVisibleColumn, tabSize, true, 1);
 				}
 				// Force sticking to beginning of line if indentColumn > 66% breakingColumn
-				if (wrappedTextIndentVisibleColumn > 1/2 * breakingColumn) {
+				if (wrappedTextIndentVisibleColumn > 1 / 2 * breakingColumn) {
 					wrappedTextIndent = '';
 					wrappedTextIndentVisibleColumn = 0;
 				}
@@ -109,11 +109,11 @@ export class CharacterHardWrappingLineMapperFactory implements ILineMapperFactor
 
 		let classifier = this.classifier;
 		let lastBreakingOffset = 0; // Last 0-based offset in the lineText at which a break happened
-		let breakingLengths:number[] = []; // The length of each broken-up line text
-		let breakingLengthsIndex:number = 0; // The count of breaks already done
+		let breakingLengths: number[] = []; // The length of each broken-up line text
+		let breakingLengthsIndex: number = 0; // The count of breaks already done
 		let visibleColumn = 0; // Visible column since the beginning of the current line
-		let breakBeforeOffset:number; // 0-based offset in the lineText before which breaking
-		let restoreVisibleColumnFrom:number;
+		let breakBeforeOffset: number; // 0-based offset in the lineText before which breaking
+		let restoreVisibleColumnFrom: number;
 		let niceBreakOffset = -1; // Last index of a character that indicates a break should happen before it (more desirable)
 		let niceBreakVisibleColumn = 0; // visible column if a break were to be later introduced before `niceBreakOffset`
 		let obtrusiveBreakOffset = -1; // Last index of a character that indicates a break should happen before it (less desirable)
@@ -241,10 +241,10 @@ export class CharacterHardWrappingLineMapperFactory implements ILineMapperFactor
 
 export class CharacterHardWrappingLineMapping implements ILineMapping {
 
-	private _prefixSums:PrefixSumComputer;
-	private _wrappedLinesIndent:string;
+	private _prefixSums: PrefixSumComputer;
+	private _wrappedLinesIndent: string;
 
-	constructor(prefixSums:PrefixSumComputer, wrappedLinesIndent:string) {
+	constructor(prefixSums: PrefixSumComputer, wrappedLinesIndent: string) {
 		this._prefixSums = prefixSums;
 		this._wrappedLinesIndent = wrappedLinesIndent;
 	}
@@ -257,7 +257,7 @@ export class CharacterHardWrappingLineMapping implements ILineMapping {
 		return this._wrappedLinesIndent;
 	}
 
-	public getInputOffsetOfOutputPosition(outputLineIndex:number, outputOffset:number): number {
+	public getInputOffsetOfOutputPosition(outputLineIndex: number, outputOffset: number): number {
 		if (outputLineIndex === 0) {
 			return outputOffset;
 		} else {
@@ -265,7 +265,7 @@ export class CharacterHardWrappingLineMapping implements ILineMapping {
 		}
 	}
 
-	public getOutputPositionOfInputOffset(inputOffset:number): OutputPosition {
+	public getOutputPositionOfInputOffset(inputOffset: number): OutputPosition {
 		let r = this._prefixSums.getIndexOf(inputOffset);
 		return new OutputPosition(r.index, r.remainder);
 	}
diff --git a/src/vs/editor/common/viewModel/filteredLineTokens.ts b/src/vs/editor/common/viewModel/filteredLineTokens.ts
index 002b4939d8b57..9aa5812f19550 100644
--- a/src/vs/editor/common/viewModel/filteredLineTokens.ts
+++ b/src/vs/editor/common/viewModel/filteredLineTokens.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ViewLineTokens} from 'vs/editor/common/core/viewLineToken';
-import {LineTokens} from 'vs/editor/common/core/lineTokens';
+import { ViewLineTokens } from 'vs/editor/common/core/viewLineToken';
+import { LineTokens } from 'vs/editor/common/core/lineTokens';
 
 export class FilteredLineTokens {
 	/**
 	 * [startOffset; endOffset) (i.e. do not include endOffset)
 	 */
-	public static create(original:LineTokens, startOffset:number, endOffset:number, deltaStartIndex:number): ViewLineTokens {
+	public static create(original: LineTokens, startOffset: number, endOffset: number, deltaStartIndex: number): ViewLineTokens {
 		let inflatedTokens = original.sliceAndInflate(startOffset, endOffset, deltaStartIndex);
 		return new ViewLineTokens(
 			inflatedTokens,
@@ -23,7 +23,7 @@ export class FilteredLineTokens {
 
 export class IdentityFilteredLineTokens {
 
-	public static create(original:LineTokens, textLength:number): ViewLineTokens {
+	public static create(original: LineTokens, textLength: number): ViewLineTokens {
 		let inflatedTokens = original.inflate();
 		return new ViewLineTokens(
 			inflatedTokens,
diff --git a/src/vs/editor/common/viewModel/prefixSumComputer.ts b/src/vs/editor/common/viewModel/prefixSumComputer.ts
index 2dc6ebc83d1c9..6a4a423d5bf10 100644
--- a/src/vs/editor/common/viewModel/prefixSumComputer.ts
+++ b/src/vs/editor/common/viewModel/prefixSumComputer.ts
@@ -10,7 +10,7 @@ export class PrefixSumIndexOfResult {
 	index: number;
 	remainder: number;
 
-	constructor(index:number, remainder:number) {
+	constructor(index: number, remainder: number) {
 		this.index = index;
 		this.remainder = remainder;
 	}
@@ -21,19 +21,19 @@ export class PrefixSumComputer {
 	/**
 	 * values[i] is the value at index i
 	 */
-	private values:number[];
+	private values: number[];
 
 	/**
 	 * prefixSum[i] = SUM(heights[j]), 0 <= j <= i
 	 */
-	private prefixSum:number[];
+	private prefixSum: number[];
 
 	/**
 	 * prefixSum[i], 0 <= i <= prefixSumValidIndex can be trusted
 	 */
-	private prefixSumValidIndex:number;
+	private prefixSumValidIndex: number;
 
-	constructor(values:number[]) {
+	constructor(values: number[]) {
 		this.values = values;
 		this.prefixSum = [];
 		for (let i = 0, len = this.values.length; i < len; i++) {
@@ -46,7 +46,7 @@ export class PrefixSumComputer {
 		return this.values.length;
 	}
 
-	public insertValue(insertIndex:number, value:number): void {
+	public insertValue(insertIndex: number, value: number): void {
 		insertIndex = Math.floor(insertIndex); //@perf
 		value = Math.floor(value); //@perf
 
@@ -82,7 +82,7 @@ export class PrefixSumComputer {
 		return r;
 	}
 
-	public changeValue(index:number, value:number): void {
+	public changeValue(index: number, value: number): void {
 		index = Math.floor(index); //@perf
 		value = Math.floor(value); //@perf
 
@@ -95,7 +95,7 @@ export class PrefixSumComputer {
 		}
 	}
 
-	public removeValues(startIndex:number, cnt:number): void {
+	public removeValues(startIndex: number, cnt: number): void {
 		startIndex = Math.floor(startIndex); //@perf
 		cnt = Math.floor(cnt); //@perf
 
@@ -113,7 +113,7 @@ export class PrefixSumComputer {
 		return this.getAccumulatedValue(this.values.length - 1);
 	}
 
-	public getAccumulatedValue(index:number): number {
+	public getAccumulatedValue(index: number): number {
 		index = Math.floor(index); //@perf
 
 		if (index < 0) {
@@ -140,17 +140,17 @@ export class PrefixSumComputer {
 		return this.prefixSum[index];
 	}
 
-	public getIndexOf(accumulatedValue:number): PrefixSumIndexOfResult {
+	public getIndexOf(accumulatedValue: number): PrefixSumIndexOfResult {
 		accumulatedValue = Math.floor(accumulatedValue); //@perf
 
 		let low = 0;
 		let high = this.values.length - 1;
-		let mid:number;
-		let midStop:number;
-		let midStart:number;
+		let mid: number;
+		let midStop: number;
+		let midStart: number;
 
 		while (low <= high) {
-			mid = low + ( (high-low)/2 ) | 0;
+			mid = low + ((high - low) / 2) | 0;
 
 			midStop = this.getAccumulatedValue(mid);
 			midStart = midStop - this.values[mid];
diff --git a/src/vs/editor/common/viewModel/splitLinesCollection.ts b/src/vs/editor/common/viewModel/splitLinesCollection.ts
index f3af1feb4c10e..72ea66a7a77af 100644
--- a/src/vs/editor/common/viewModel/splitLinesCollection.ts
+++ b/src/vs/editor/common/viewModel/splitLinesCollection.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {LineTokens} from 'vs/editor/common/core/lineTokens';
-import {FilteredLineTokens, IdentityFilteredLineTokens} from 'vs/editor/common/viewModel/filteredLineTokens';
-import {PrefixSumComputer} from 'vs/editor/common/viewModel/prefixSumComputer';
-import {ILinesCollection} from 'vs/editor/common/viewModel/viewModelImpl';
-import {ViewLineTokens} from 'vs/editor/common/core/viewLineToken';
+import { LineTokens } from 'vs/editor/common/core/lineTokens';
+import { FilteredLineTokens, IdentityFilteredLineTokens } from 'vs/editor/common/viewModel/filteredLineTokens';
+import { PrefixSumComputer } from 'vs/editor/common/viewModel/prefixSumComputer';
+import { ILinesCollection } from 'vs/editor/common/viewModel/viewModelImpl';
+import { ViewLineTokens } from 'vs/editor/common/core/viewLineToken';
 
 export class OutputPosition {
 	_outputPositionBrand: void;
@@ -27,24 +27,24 @@ export class OutputPosition {
 export interface ILineMapping {
 	getOutputLineCount(): number;
 	getWrappedLinesIndent(): string;
-	getInputOffsetOfOutputPosition(outputLineIndex:number, outputOffset:number): number;
-	getOutputPositionOfInputOffset(inputOffset:number): OutputPosition;
+	getInputOffsetOfOutputPosition(outputLineIndex: number, outputOffset: number): number;
+	getOutputPositionOfInputOffset(inputOffset: number): OutputPosition;
 }
 
 export interface ILineMapperFactory {
-	createLineMapping(lineText: string, tabSize: number, wrappingColumn: number, columnsForFullWidthChar:number, wrappingIndent:editorCommon.WrappingIndent): ILineMapping;
+	createLineMapping(lineText: string, tabSize: number, wrappingColumn: number, columnsForFullWidthChar: number, wrappingIndent: editorCommon.WrappingIndent): ILineMapping;
 }
 
 export interface IModel {
-	getLineTokens(lineNumber:number, inaccurateTokensAcceptable:boolean): LineTokens;
-	getLineContent(lineNumber:number): string;
-	getLineMinColumn(lineNumber:number): number;
-	getLineMaxColumn(lineNumber:number): number;
+	getLineTokens(lineNumber: number, inaccurateTokensAcceptable: boolean): LineTokens;
+	getLineContent(lineNumber: number): string;
+	getLineMinColumn(lineNumber: number): number;
+	getLineMaxColumn(lineNumber: number): number;
 }
 
 export interface ISplitLine {
-	isVisible():boolean;
-	setVisible(isVisible:boolean):void;
+	isVisible(): boolean;
+	setVisible(isVisible: boolean): void;
 	getOutputLineCount(): number;
 	getOutputLineContent(model: IModel, myLineNumber: number, outputLineIndex: number): string;
 	getOutputLineMinColumn(model: IModel, myLineNumber: number, outputLineIndex: number): number;
@@ -62,11 +62,11 @@ class IdentitySplitLine implements ISplitLine {
 		this._isVisible = isVisible;
 	}
 
-	public isVisible():boolean {
+	public isVisible(): boolean {
 		return this._isVisible;
 	}
 
-	public setVisible(isVisible:boolean):void {
+	public setVisible(isVisible: boolean): void {
 		this._isVisible = isVisible;
 	}
 
@@ -77,7 +77,7 @@ class IdentitySplitLine implements ISplitLine {
 		return 1;
 	}
 
-	public getOutputLineContent(model:IModel, myLineNumber:number, outputLineIndex:number): string {
+	public getOutputLineContent(model: IModel, myLineNumber: number, outputLineIndex: number): string {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
@@ -91,28 +91,28 @@ class IdentitySplitLine implements ISplitLine {
 		return model.getLineMinColumn(myLineNumber);
 	}
 
-	public getOutputLineMaxColumn(model:IModel, myLineNumber:number, outputLineIndex:number): number {
+	public getOutputLineMaxColumn(model: IModel, myLineNumber: number, outputLineIndex: number): number {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
 		return model.getLineMaxColumn(myLineNumber);
 	}
 
-	public getOutputLineTokens(model:IModel, myLineNumber:number, outputLineIndex:number): ViewLineTokens {
+	public getOutputLineTokens(model: IModel, myLineNumber: number, outputLineIndex: number): ViewLineTokens {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
 		return IdentityFilteredLineTokens.create(model.getLineTokens(myLineNumber, true), model.getLineMaxColumn(myLineNumber) - 1);
 	}
 
-	public getInputColumnOfOutputPosition(outputLineIndex:number, outputColumn:number): number {
+	public getInputColumnOfOutputPosition(outputLineIndex: number, outputColumn: number): number {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
 		return outputColumn;
 	}
 
-	public getOutputPositionOfInputPosition(deltaLineNumber:number, inputColumn:number): Position {
+	public getOutputPositionOfInputPosition(deltaLineNumber: number, inputColumn: number): Position {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
@@ -122,14 +122,14 @@ class IdentitySplitLine implements ISplitLine {
 
 export class SplitLine implements ISplitLine {
 
-	private positionMapper:ILineMapping;
-	private outputLineCount:number;
+	private positionMapper: ILineMapping;
+	private outputLineCount: number;
 
-	private wrappedIndent:string;
-	private wrappedIndentLength:number;
+	private wrappedIndent: string;
+	private wrappedIndentLength: number;
 	private _isVisible: boolean;
 
-	constructor(positionMapper:ILineMapping, isVisible: boolean) {
+	constructor(positionMapper: ILineMapping, isVisible: boolean) {
 		this.positionMapper = positionMapper;
 		this.wrappedIndent = this.positionMapper.getWrappedLinesIndent();
 		this.wrappedIndentLength = this.wrappedIndent.length;
@@ -137,11 +137,11 @@ export class SplitLine implements ISplitLine {
 		this._isVisible = isVisible;
 	}
 
-	public isVisible():boolean {
+	public isVisible(): boolean {
 		return this._isVisible;
 	}
 
-	public setVisible(isVisible:boolean):void {
+	public setVisible(isVisible: boolean): void {
 		this._isVisible = isVisible;
 	}
 
@@ -152,18 +152,18 @@ export class SplitLine implements ISplitLine {
 		return this.outputLineCount;
 	}
 
-	private getInputStartOffsetOfOutputLineIndex(outputLineIndex:number): number {
+	private getInputStartOffsetOfOutputLineIndex(outputLineIndex: number): number {
 		return this.positionMapper.getInputOffsetOfOutputPosition(outputLineIndex, 0);
 	}
 
-	private getInputEndOffsetOfOutputLineIndex(model:IModel, myLineNumber:number, outputLineIndex:number): number {
+	private getInputEndOffsetOfOutputLineIndex(model: IModel, myLineNumber: number, outputLineIndex: number): number {
 		if (outputLineIndex + 1 === this.outputLineCount) {
 			return model.getLineMaxColumn(myLineNumber) - 1;
 		}
 		return this.positionMapper.getInputOffsetOfOutputPosition(outputLineIndex + 1, 0);
 	}
 
-	public getOutputLineContent(model:IModel, myLineNumber:number, outputLineIndex:number): string {
+	public getOutputLineContent(model: IModel, myLineNumber: number, outputLineIndex: number): string {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
@@ -179,7 +179,7 @@ export class SplitLine implements ISplitLine {
 	}
 
 
-	public getOutputLineMinColumn(model:IModel, myLineNumber:number, outputLineIndex:number): number {
+	public getOutputLineMinColumn(model: IModel, myLineNumber: number, outputLineIndex: number): number {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
@@ -189,14 +189,14 @@ export class SplitLine implements ISplitLine {
 		return 1;
 	}
 
-	public getOutputLineMaxColumn(model:IModel, myLineNumber:number, outputLineIndex:number): number {
+	public getOutputLineMaxColumn(model: IModel, myLineNumber: number, outputLineIndex: number): number {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
 		return this.getOutputLineContent(model, myLineNumber, outputLineIndex).length + 1;
 	}
 
-	public getOutputLineTokens(model:IModel, myLineNumber:number, outputLineIndex:number): ViewLineTokens {
+	public getOutputLineTokens(model: IModel, myLineNumber: number, outputLineIndex: number): ViewLineTokens {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
@@ -209,7 +209,7 @@ export class SplitLine implements ISplitLine {
 		return FilteredLineTokens.create(model.getLineTokens(myLineNumber, true), startOffset, endOffset, deltaStartIndex);
 	}
 
-	public getInputColumnOfOutputPosition(outputLineIndex:number, outputColumn:number): number {
+	public getInputColumnOfOutputPosition(outputLineIndex: number, outputColumn: number): number {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
@@ -224,7 +224,7 @@ export class SplitLine implements ISplitLine {
 		return this.positionMapper.getInputOffsetOfOutputPosition(outputLineIndex, adjustedColumn) + 1;
 	}
 
-	public getOutputPositionOfInputPosition(deltaLineNumber:number, inputColumn:number): Position {
+	public getOutputPositionOfInputPosition(deltaLineNumber: number, inputColumn: number): Position {
 		if (!this._isVisible) {
 			throw new Error('Not supported');
 		}
@@ -236,12 +236,12 @@ export class SplitLine implements ISplitLine {
 			outputColumn += this.wrappedIndentLength;
 		}
 
-//		console.log('in -> out ' + deltaLineNumber + ',' + inputColumn + ' ===> ' + (deltaLineNumber+outputLineIndex) + ',' + outputColumn);
+		//		console.log('in -> out ' + deltaLineNumber + ',' + inputColumn + ' ===> ' + (deltaLineNumber+outputLineIndex) + ',' + outputColumn);
 		return new Position(deltaLineNumber + outputLineIndex, outputColumn);
 	}
 }
 
-function createSplitLine(linePositionMapperFactory:ILineMapperFactory, text:string, tabSize:number, wrappingColumn:number, columnsForFullWidthChar:number, wrappingIndent:editorCommon.WrappingIndent, isVisible: boolean): ISplitLine {
+function createSplitLine(linePositionMapperFactory: ILineMapperFactory, text: string, tabSize: number, wrappingColumn: number, columnsForFullWidthChar: number, wrappingIndent: editorCommon.WrappingIndent, isVisible: boolean): ISplitLine {
 	let positionMapper = linePositionMapperFactory.createLineMapping(text, tabSize, wrappingColumn, columnsForFullWidthChar, wrappingIndent);
 	if (positionMapper === null) {
 		// No mapping needed
@@ -256,17 +256,17 @@ export class SplitLinesCollection implements ILinesCollection {
 	private model: editorCommon.IModel;
 	private _validModelVersionId: number;
 
-	private wrappingColumn:number;
-	private columnsForFullWidthChar:number;
+	private wrappingColumn: number;
+	private columnsForFullWidthChar: number;
 	private wrappingIndent: editorCommon.WrappingIndent;
-	private tabSize:number;
-	private lines:ISplitLine[];
-	private prefixSumComputer:PrefixSumComputer;
-	private linePositionMapperFactory:ILineMapperFactory;
+	private tabSize: number;
+	private lines: ISplitLine[];
+	private prefixSumComputer: PrefixSumComputer;
+	private linePositionMapperFactory: ILineMapperFactory;
 
-	private hiddenAreasIds:string[];
+	private hiddenAreasIds: string[];
 
-	constructor(model:editorCommon.IModel, linePositionMapperFactory:ILineMapperFactory, tabSize:number, wrappingColumn:number, columnsForFullWidthChar:number, wrappingIndent:editorCommon.WrappingIndent) {
+	constructor(model: editorCommon.IModel, linePositionMapperFactory: ILineMapperFactory, tabSize: number, wrappingColumn: number, columnsForFullWidthChar: number, wrappingIndent: editorCommon.WrappingIndent) {
 		this.model = model;
 		this._validModelVersionId = -1;
 		this.tabSize = tabSize;
@@ -289,14 +289,14 @@ export class SplitLinesCollection implements ILinesCollection {
 		}
 	}
 
-	private _constructLines(resetHiddenAreas:boolean): void {
+	private _constructLines(resetHiddenAreas: boolean): void {
 		this.lines = [];
 
 		if (resetHiddenAreas) {
 			this.hiddenAreasIds = [];
 		}
 
-		let values:number[] = [];
+		let values: number[] = [];
 		let linesContent = this.model.getLinesContent();
 		let lineCount = linesContent.length;
 
@@ -332,7 +332,7 @@ export class SplitLinesCollection implements ILinesCollection {
 		}).sort(Range.compareRangesUsingStarts);
 	}
 
-	private _reduceRanges(_ranges:editorCommon.IRange[]): Range[] {
+	private _reduceRanges(_ranges: editorCommon.IRange[]): Range[] {
 		if (_ranges.length === 0) {
 			return [];
 		}
@@ -357,7 +357,7 @@ export class SplitLinesCollection implements ILinesCollection {
 		return result;
 	}
 
-	public setHiddenAreas(_ranges:editorCommon.IRange[], emit:(evenType:string, payload:any)=>void): boolean {
+	public setHiddenAreas(_ranges: editorCommon.IRange[], emit: (evenType: string, payload: any) => void): boolean {
 
 		let newRanges = this._reduceRanges(_ranges);
 
@@ -378,7 +378,7 @@ export class SplitLinesCollection implements ILinesCollection {
 		}
 		// END TODO@Martin: Please stop calling this method on each model change!
 
-		let newDecorations:editorCommon.IModelDeltaDecoration[] = [];
+		let newDecorations: editorCommon.IModelDeltaDecoration[] = [];
 		for (let i = 0; i < newRanges.length; i++) {
 			newDecorations.push({
 				range: newRanges[i],
@@ -428,7 +428,7 @@ export class SplitLinesCollection implements ILinesCollection {
 		return true;
 	}
 
-	public inputPositionIsVisible(inputLineNumber:number, inputColumn:number): boolean {
+	public inputPositionIsVisible(inputLineNumber: number, inputColumn: number): boolean {
 		if (inputLineNumber < 1 || inputLineNumber > this.lines.length) {
 			// invalid arguments
 			return false;
@@ -436,7 +436,7 @@ export class SplitLinesCollection implements ILinesCollection {
 		return this.lines[inputLineNumber - 1].isVisible();
 	}
 
-	public setTabSize(newTabSize:number, emit:(evenType:string, payload:any)=>void): boolean {
+	public setTabSize(newTabSize: number, emit: (evenType: string, payload: any) => void): boolean {
 		if (this.tabSize === newTabSize) {
 			return false;
 		}
@@ -448,7 +448,7 @@ export class SplitLinesCollection implements ILinesCollection {
 		return true;
 	}
 
-	public setWrappingIndent(newWrappingIndent:editorCommon.WrappingIndent, emit:(evenType:string, payload:any)=>void): boolean {
+	public setWrappingIndent(newWrappingIndent: editorCommon.WrappingIndent, emit: (evenType: string, payload: any) => void): boolean {
 		if (this.wrappingIndent === newWrappingIndent) {
 			return false;
 		}
@@ -460,7 +460,7 @@ export class SplitLinesCollection implements ILinesCollection {
 		return true;
 	}
 
-	public setWrappingColumn(newWrappingColumn:number, columnsForFullWidthChar:number, emit:(evenType:string, payload:any)=>void): boolean {
+	public setWrappingColumn(newWrappingColumn: number, columnsForFullWidthChar: number, emit: (evenType: string, payload: any) => void): boolean {
 		if (this.wrappingColumn === newWrappingColumn && this.columnsForFullWidthChar === columnsForFullWidthChar) {
 			return false;
 		}
@@ -472,7 +472,7 @@ export class SplitLinesCollection implements ILinesCollection {
 		return true;
 	}
 
-	public onModelFlushed(versionId:number, emit:(evenType:string, payload:any)=>void): void {
+	public onModelFlushed(versionId: number, emit: (evenType: string, payload: any) => void): void {
 		this._constructLines(true);
 		emit(editorCommon.ViewEventNames.ModelFlushedEvent, null);
 	}
@@ -489,14 +489,14 @@ export class SplitLinesCollection implements ILinesCollection {
 		this.lines.splice(fromLineNumber - 1, toLineNumber - fromLineNumber + 1);
 		this.prefixSumComputer.removeValues(fromLineNumber - 1, toLineNumber - fromLineNumber + 1);
 
-		let e:editorCommon.IViewLinesDeletedEvent = {
+		let e: editorCommon.IViewLinesDeletedEvent = {
 			fromLineNumber: outputFromLineNumber,
 			toLineNumber: outputToLineNumber
 		};
 		emit(editorCommon.ViewEventNames.LinesDeletedEvent, e);
 	}
 
-	public onModelLinesInserted(versionId:number, fromLineNumber:number, toLineNumber:number, text:string[], emit:(evenType:string, payload:any)=>void): void {
+	public onModelLinesInserted(versionId: number, fromLineNumber: number, toLineNumber: number, text: string[], emit: (evenType: string, payload: any) => void): void {
 		if (versionId <= this._validModelVersionId) {
 			return;
 		}
@@ -531,14 +531,14 @@ export class SplitLinesCollection implements ILinesCollection {
 
 		this.prefixSumComputer.insertValues(fromLineNumber - 1, insertPrefixSumValues);
 
-		let e:editorCommon.IViewLinesInsertedEvent = {
+		let e: editorCommon.IViewLinesInsertedEvent = {
 			fromLineNumber: outputFromLineNumber,
 			toLineNumber: outputFromLineNumber + totalOutputLineCount - 1
 		};
 		emit(editorCommon.ViewEventNames.LinesInsertedEvent, e);
 	}
 
-	public onModelLineChanged(versionId:number, lineNumber:number, newText:string, emit:(evenType:string, payload:any)=>void): boolean {
+	public onModelLineChanged(versionId: number, lineNumber: number, newText: string, emit: (evenType: string, payload: any) => void): boolean {
 		if (versionId <= this._validModelVersionId) {
 			return;
 		}
@@ -578,9 +578,9 @@ export class SplitLinesCollection implements ILinesCollection {
 
 		this.prefixSumComputer.changeValue(lineIndex, newOutputLineCount);
 
-		let e1:editorCommon.IViewLineChangedEvent;
-		let e2:editorCommon.IViewLinesInsertedEvent;
-		let e3:editorCommon.IViewLinesDeletedEvent;
+		let e1: editorCommon.IViewLineChangedEvent;
+		let e2: editorCommon.IViewLinesInsertedEvent;
+		let e3: editorCommon.IViewLinesDeletedEvent;
 
 		if (changeFrom <= changeTo) {
 			for (let i = changeFrom; i <= changeTo; i++) {
@@ -634,14 +634,14 @@ export class SplitLinesCollection implements ILinesCollection {
 		return this.lines[lineIndex].getOutputLineContent(this.model, lineIndex + 1, remainder);
 	}
 
-	public getOutputIndentGuide(outputLineNumber:number): number {
+	public getOutputIndentGuide(outputLineNumber: number): number {
 		this._ensureValidState();
 		outputLineNumber = this._toValidOutputLineNumber(outputLineNumber);
 		let r = this.prefixSumComputer.getIndexOf(outputLineNumber - 1);
 		return this.model.getLineIndentGuide(r.index + 1);
 	}
 
-	public getOutputLineMinColumn(outputLineNumber:number): number {
+	public getOutputLineMinColumn(outputLineNumber: number): number {
 		this._ensureValidState();
 		outputLineNumber = this._toValidOutputLineNumber(outputLineNumber);
 		let r = this.prefixSumComputer.getIndexOf(outputLineNumber - 1);
@@ -681,7 +681,7 @@ export class SplitLinesCollection implements ILinesCollection {
 
 		let inputColumn = this.lines[lineIndex].getInputColumnOfOutputPosition(remainder, viewColumn);
 		// console.log('out -> in ' + viewLineNumber + ',' + viewColumn + ' ===> ' + (lineIndex+1) + ',' + inputColumn);
-		return this.model.validatePosition(new Position(lineIndex+1, inputColumn));
+		return this.model.validatePosition(new Position(lineIndex + 1, inputColumn));
 	}
 
 	public convertInputPositionToOutputPosition(_inputLineNumber: number, _inputColumn: number): Position {
@@ -703,9 +703,9 @@ export class SplitLinesCollection implements ILinesCollection {
 		}
 		let deltaLineNumber = 1 + (lineIndex === 0 ? 0 : this.prefixSumComputer.getAccumulatedValue(lineIndex - 1));
 
-		let r:Position;
+		let r: Position;
 		if (lineIndexChanged) {
-			r =  this.lines[lineIndex].getOutputPositionOfInputPosition(deltaLineNumber, this.model.getLineMaxColumn(lineIndex + 1));
+			r = this.lines[lineIndex].getOutputPositionOfInputPosition(deltaLineNumber, this.model.getLineMaxColumn(lineIndex + 1));
 		} else {
 			r = this.lines[inputLineNumber - 1].getOutputPositionOfInputPosition(deltaLineNumber, inputColumn);
 		}
diff --git a/src/vs/editor/common/viewModel/viewEventHandler.ts b/src/vs/editor/common/viewModel/viewEventHandler.ts
index 06883bbca7d1b..a7f075142f7c6 100644
--- a/src/vs/editor/common/viewModel/viewEventHandler.ts
+++ b/src/vs/editor/common/viewModel/viewEventHandler.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EmitterEvent} from 'vs/base/common/eventEmitter';
+import { EmitterEvent } from 'vs/base/common/eventEmitter';
 import * as editorCommon from 'vs/editor/common/editorCommon';
 
 export class ViewEventHandler {
 
-	private _shouldRender:boolean;
+	private _shouldRender: boolean;
 
 	constructor() {
 		this._shouldRender = true;
@@ -35,52 +35,52 @@ export class ViewEventHandler {
 	public onModelFlushed(): boolean {
 		return false;
 	}
-	public onModelDecorationsChanged(e:editorCommon.IViewDecorationsChangedEvent): boolean {
+	public onModelDecorationsChanged(e: editorCommon.IViewDecorationsChangedEvent): boolean {
 		return false;
 	}
-	public onModelLinesDeleted(e:editorCommon.IViewLinesDeletedEvent): boolean {
+	public onModelLinesDeleted(e: editorCommon.IViewLinesDeletedEvent): boolean {
 		return false;
 	}
-	public onModelLineChanged(e:editorCommon.IViewLineChangedEvent): boolean {
+	public onModelLineChanged(e: editorCommon.IViewLineChangedEvent): boolean {
 		return false;
 	}
-	public onModelLinesInserted(e:editorCommon.IViewLinesInsertedEvent): boolean {
+	public onModelLinesInserted(e: editorCommon.IViewLinesInsertedEvent): boolean {
 		return false;
 	}
-	public onModelTokensChanged(e:editorCommon.IViewTokensChangedEvent): boolean {
+	public onModelTokensChanged(e: editorCommon.IViewTokensChangedEvent): boolean {
 		return false;
 	}
-	public onCursorPositionChanged(e:editorCommon.IViewCursorPositionChangedEvent): boolean {
+	public onCursorPositionChanged(e: editorCommon.IViewCursorPositionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorSelectionChanged(e:editorCommon.IViewCursorSelectionChangedEvent): boolean {
+	public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
 		return false;
 	}
-	public onCursorRevealRange(e:editorCommon.IViewRevealRangeEvent): boolean {
+	public onCursorRevealRange(e: editorCommon.IViewRevealRangeEvent): boolean {
 		return false;
 	}
-	public onCursorScrollRequest(e:editorCommon.IViewScrollRequestEvent): boolean {
+	public onCursorScrollRequest(e: editorCommon.IViewScrollRequestEvent): boolean {
 		return false;
 	}
-	public onConfigurationChanged(e:editorCommon.IConfigurationChangedEvent): boolean {
+	public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
 		return false;
 	}
-	public onLayoutChanged(layoutInfo:editorCommon.EditorLayoutInfo): boolean {
+	public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
 		return false;
 	}
-	public onScrollChanged(e:editorCommon.IScrollEvent): boolean {
+	public onScrollChanged(e: editorCommon.IScrollEvent): boolean {
 		return false;
 	}
 	public onZonesChanged(): boolean {
 		return false;
 	}
-	public onViewFocusChanged(isFocused:boolean): boolean {
+	public onViewFocusChanged(isFocused: boolean): boolean {
 		return false;
 	}
 
 	// --- end event handlers
 
-	public handleEvents(events:EmitterEvent[]): void {
+	public handleEvents(events: EmitterEvent[]): void {
 
 		let shouldRender = false;
 
diff --git a/src/vs/editor/common/viewModel/viewModel.ts b/src/vs/editor/common/viewModel/viewModel.ts
index 5700cefe7da34..1cb9ae8fd2803 100644
--- a/src/vs/editor/common/viewModel/viewModel.ts
+++ b/src/vs/editor/common/viewModel/viewModel.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IEventEmitter} from 'vs/base/common/eventEmitter';
-import {IModelDecoration, IRange, EndOfLinePreference, IPosition} from 'vs/editor/common/editorCommon';
-import {ViewLineTokens} from 'vs/editor/common/core/viewLineToken';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { IEventEmitter } from 'vs/base/common/eventEmitter';
+import { IModelDecoration, IRange, EndOfLinePreference, IPosition } from 'vs/editor/common/editorCommon';
+import { ViewLineTokens } from 'vs/editor/common/core/viewLineToken';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 
 export interface IDecorationsViewportData {
 	decorations: IModelDecoration[];
@@ -24,34 +24,34 @@ export interface IViewModel extends IEventEmitter {
 	getTabSize(): number;
 
 	getLineCount(): number;
-	getLineContent(lineNumber:number): string;
-	getLineIndentGuide(lineNumber:number): number;
-	getLineMinColumn(lineNumber:number): number;
-	getLineMaxColumn(lineNumber:number): number;
-	getLineFirstNonWhitespaceColumn(lineNumber:number): number;
-	getLineLastNonWhitespaceColumn(lineNumber:number): number;
-	getLineTokens(lineNumber:number): ViewLineTokens;
-	getDecorationsViewportData(startLineNumber:number, endLineNumber:number): IDecorationsViewportData;
-	getLineRenderLineNumber(lineNumber:number): string;
+	getLineContent(lineNumber: number): string;
+	getLineIndentGuide(lineNumber: number): number;
+	getLineMinColumn(lineNumber: number): number;
+	getLineMaxColumn(lineNumber: number): number;
+	getLineFirstNonWhitespaceColumn(lineNumber: number): number;
+	getLineLastNonWhitespaceColumn(lineNumber: number): number;
+	getLineTokens(lineNumber: number): ViewLineTokens;
+	getDecorationsViewportData(startLineNumber: number, endLineNumber: number): IDecorationsViewportData;
+	getLineRenderLineNumber(lineNumber: number): string;
 	/**
 	 * Get the maximum line number that will appear next to a line
 	 */
 	getMaxLineNumber(): number;
 	getAllDecorations(): IModelDecoration[];
 	getEOL(): string;
-	getValueInRange(range:IRange, eol:EndOfLinePreference): string;
+	getValueInRange(range: IRange, eol: EndOfLinePreference): string;
 
 	getSelections(): Selection[];
 
-	convertViewPositionToModelPosition(viewLineNumber:number, viewColumn:number): Position;
-	convertViewRangeToModelRange(viewRange:IRange): Range;
+	convertViewPositionToModelPosition(viewLineNumber: number, viewColumn: number): Position;
+	convertViewRangeToModelRange(viewRange: IRange): Range;
 
-	getModelLineContent(lineNumber:number): string;
-	getModelLineMaxColumn(modelLineNumber:number): number;
-	validateModelPosition(position:IPosition): Position;
-	convertModelPositionToViewPosition(modelLineNumber:number, modelColumn:number): Position;
-	convertModelSelectionToViewSelection(modelSelection:Selection): Selection;
-	modelPositionIsVisible(position:IPosition): boolean;
+	getModelLineContent(lineNumber: number): string;
+	getModelLineMaxColumn(modelLineNumber: number): number;
+	validateModelPosition(position: IPosition): Position;
+	convertModelPositionToViewPosition(modelLineNumber: number, modelColumn: number): Position;
+	convertModelSelectionToViewSelection(modelSelection: Selection): Selection;
+	modelPositionIsVisible(position: IPosition): boolean;
 }
 
 export class InlineDecoration {
@@ -60,7 +60,7 @@ export class InlineDecoration {
 	range: Range;
 	inlineClassName: string;
 
-	constructor(range:Range, inlineClassName:string) {
+	constructor(range: Range, inlineClassName: string) {
 		this.range = range;
 		this.inlineClassName = inlineClassName;
 	}
diff --git a/src/vs/editor/common/viewModel/viewModelCursors.ts b/src/vs/editor/common/viewModel/viewModelCursors.ts
index 09f0173a68905..380952c1d3efc 100644
--- a/src/vs/editor/common/viewModel/viewModelCursors.ts
+++ b/src/vs/editor/common/viewModel/viewModelCursors.ts
@@ -4,27 +4,27 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Position} from 'vs/editor/common/core/position';
+import { Position } from 'vs/editor/common/core/position';
 
 export interface IConverter {
-	validateViewPosition(viewLineNumber:number, viewColumn:number, modelPosition:Position): Position;
-	validateViewSelection(viewSelection:Selection, modelSelection:Selection): Selection;
-	convertModelSelectionToViewSelection(modelSelection:Selection): Selection;
-	convertModelRangeToViewRange(modelRange:editorCommon.IRange): Range;
+	validateViewPosition(viewLineNumber: number, viewColumn: number, modelPosition: Position): Position;
+	validateViewSelection(viewSelection: Selection, modelSelection: Selection): Selection;
+	convertModelSelectionToViewSelection(modelSelection: Selection): Selection;
+	convertModelRangeToViewRange(modelRange: editorCommon.IRange): Range;
 }
 
 export class ViewModelCursors {
 
-	private configuration:editorCommon.IConfiguration;
-	private converter:IConverter;
+	private configuration: editorCommon.IConfiguration;
+	private converter: IConverter;
 
-	private lastCursorPositionChangedEvent:editorCommon.ICursorPositionChangedEvent;
-	private lastCursorSelectionChangedEvent:editorCommon.ICursorSelectionChangedEvent;
+	private lastCursorPositionChangedEvent: editorCommon.ICursorPositionChangedEvent;
+	private lastCursorSelectionChangedEvent: editorCommon.ICursorSelectionChangedEvent;
 
-	constructor(configuration:editorCommon.IConfiguration, converter:IConverter) {
+	constructor(configuration: editorCommon.IConfiguration, converter: IConverter) {
 		this.configuration = configuration;
 		this.converter = converter;
 		this.lastCursorPositionChangedEvent = null;
@@ -33,7 +33,7 @@ export class ViewModelCursors {
 
 	public getSelections(): Selection[] {
 		if (this.lastCursorSelectionChangedEvent) {
-			var selections:Selection[] = [];
+			var selections: Selection[] = [];
 			selections.push(this.converter.convertModelSelectionToViewSelection(this.lastCursorSelectionChangedEvent.selection));
 			for (var i = 0, len = this.lastCursorSelectionChangedEvent.secondarySelections.length; i < len; i++) {
 				selections.push(this.converter.convertModelSelectionToViewSelection(this.lastCursorSelectionChangedEvent.secondarySelections[i]));
@@ -44,7 +44,7 @@ export class ViewModelCursors {
 		}
 	}
 
-	public onCursorPositionChanged(e:editorCommon.ICursorPositionChangedEvent, emit:(eventType:string, payload:any)=>void): void {
+	public onCursorPositionChanged(e: editorCommon.ICursorPositionChangedEvent, emit: (eventType: string, payload: any) => void): void {
 		this.lastCursorPositionChangedEvent = e;
 
 		var position = this.converter.validateViewPosition(e.viewPosition.lineNumber, e.viewPosition.column, e.position),
@@ -65,7 +65,7 @@ export class ViewModelCursors {
 			}
 		}
 
-		var newEvent:editorCommon.IViewCursorPositionChangedEvent = {
+		var newEvent: editorCommon.IViewCursorPositionChangedEvent = {
 			position: position,
 			secondaryPositions: secondaryPositions,
 			isInEditableRange: e.isInEditableRange
@@ -73,7 +73,7 @@ export class ViewModelCursors {
 		emit(editorCommon.ViewEventNames.CursorPositionChangedEvent, newEvent);
 	}
 
-	public onCursorSelectionChanged(e:editorCommon.ICursorSelectionChangedEvent, emit:(eventType:string, payload:any)=>void): void {
+	public onCursorSelectionChanged(e: editorCommon.ICursorSelectionChangedEvent, emit: (eventType: string, payload: any) => void): void {
 		this.lastCursorSelectionChangedEvent = e;
 
 		let selection = this.converter.validateViewSelection(e.viewSelection, e.selection);
@@ -82,15 +82,15 @@ export class ViewModelCursors {
 			secondarySelections[i] = this.converter.validateViewSelection(e.secondaryViewSelections[i], e.secondarySelections[i]);
 		}
 
-		let newEvent:editorCommon.IViewCursorSelectionChangedEvent = {
+		let newEvent: editorCommon.IViewCursorSelectionChangedEvent = {
 			selection: selection,
 			secondarySelections: secondarySelections
 		};
 		emit(editorCommon.ViewEventNames.CursorSelectionChangedEvent, newEvent);
 	}
 
-	public onCursorRevealRange(e:editorCommon.ICursorRevealRangeEvent, emit:(eventType:string, payload:any)=>void): void {
-		var viewRange:Range = null;
+	public onCursorRevealRange(e: editorCommon.ICursorRevealRangeEvent, emit: (eventType: string, payload: any) => void): void {
+		var viewRange: Range = null;
 		if (e.viewRange) {
 			var viewStartRange = this.converter.validateViewPosition(e.viewRange.startLineNumber, e.viewRange.startColumn, e.range.getStartPosition());
 			var viewEndRange = this.converter.validateViewPosition(e.viewRange.endLineNumber, e.viewRange.endColumn, e.range.getEndPosition());
@@ -99,7 +99,7 @@ export class ViewModelCursors {
 			viewRange = this.converter.convertModelRangeToViewRange(e.range);
 		}
 
-		var newEvent:editorCommon.IViewRevealRangeEvent = {
+		var newEvent: editorCommon.IViewRevealRangeEvent = {
 			range: viewRange,
 			verticalType: e.verticalType,
 			revealHorizontal: e.revealHorizontal,
@@ -108,15 +108,15 @@ export class ViewModelCursors {
 		emit(editorCommon.ViewEventNames.RevealRangeEvent, newEvent);
 	}
 
-	public onCursorScrollRequest(e:editorCommon.ICursorScrollRequestEvent, emit:(eventType:string, payload:any)=>void): void {
-		var newEvent:editorCommon.IViewScrollRequestEvent = {
+	public onCursorScrollRequest(e: editorCommon.ICursorScrollRequestEvent, emit: (eventType: string, payload: any) => void): void {
+		var newEvent: editorCommon.IViewScrollRequestEvent = {
 			deltaLines: e.deltaLines,
 			revealCursor: e.revealCursor
 		};
 		emit(editorCommon.ViewEventNames.ScrollRequestEvent, newEvent);
 	}
 
-	public onLineMappingChanged(emit:(eventType:string, payload:any)=>void): void {
+	public onLineMappingChanged(emit: (eventType: string, payload: any) => void): void {
 		if (this.lastCursorPositionChangedEvent) {
 			this.onCursorPositionChanged(this.lastCursorPositionChangedEvent, emit);
 		}
diff --git a/src/vs/editor/common/viewModel/viewModelDecorations.ts b/src/vs/editor/common/viewModel/viewModelDecorations.ts
index 6c4cee767bbde..49e43253d18e5 100644
--- a/src/vs/editor/common/viewModel/viewModelDecorations.ts
+++ b/src/vs/editor/common/viewModel/viewModelDecorations.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {Range} from 'vs/editor/common/core/range';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {IDecorationsViewportData, InlineDecoration} from 'vs/editor/common/viewModel/viewModel';
+import { IDecorationsViewportData, InlineDecoration } from 'vs/editor/common/viewModel/viewModel';
 
 export interface IModelRangeToViewRangeConverter {
-	convertModelRangeToViewRange(modelRange:editorCommon.IRange, isWholeLine:boolean): Range;
+	convertModelRangeToViewRange(modelRange: editorCommon.IRange, isWholeLine: boolean): Range;
 }
 
 interface IViewModelDecorationSource {
@@ -27,7 +27,7 @@ class ViewModelDecoration {
 	options: editorCommon.IModelDecorationOptions;
 	modelRange: editorCommon.IRange;
 
-	constructor(source:IViewModelDecorationSource, range:Range) {
+	constructor(source: IViewModelDecorationSource, range: Range) {
 		this.id = source.id;
 		this.options = source.options;
 		this.ownerId = source.ownerId;
@@ -38,16 +38,16 @@ class ViewModelDecoration {
 
 export class ViewModelDecorations implements IDisposable {
 
-	private editorId:number;
-	private configuration:editorCommon.IConfiguration;
-	private converter:IModelRangeToViewRangeConverter;
-	private decorations:ViewModelDecoration[];
+	private editorId: number;
+	private configuration: editorCommon.IConfiguration;
+	private converter: IModelRangeToViewRangeConverter;
+	private decorations: ViewModelDecoration[];
 
-	private _cachedModelDecorationsResolver:IDecorationsViewportData;
-	private _cachedModelDecorationsResolverStartLineNumber:number;
-	private _cachedModelDecorationsResolverEndLineNumber:number;
+	private _cachedModelDecorationsResolver: IDecorationsViewportData;
+	private _cachedModelDecorationsResolverStartLineNumber: number;
+	private _cachedModelDecorationsResolverEndLineNumber: number;
 
-	constructor(editorId:number, configuration:editorCommon.IConfiguration, converter:IModelRangeToViewRangeConverter) {
+	constructor(editorId: number, configuration: editorCommon.IConfiguration, converter: IModelRangeToViewRangeConverter) {
 		this.editorId = editorId;
 		this.configuration = configuration;
 		this.converter = converter;
@@ -68,16 +68,16 @@ export class ViewModelDecorations implements IDisposable {
 		this._clearCachedModelDecorationsResolver();
 	}
 
-	public static compareDecorations(a:editorCommon.IModelDecoration, b:editorCommon.IModelDecoration): number {
+	public static compareDecorations(a: editorCommon.IModelDecoration, b: editorCommon.IModelDecoration): number {
 		return Range.compareRangesUsingStarts(a.range, b.range);
 	}
 
-	public reset(model:editorCommon.IModel): void {
+	public reset(model: editorCommon.IModel): void {
 		var decorations = model.getAllDecorations(this.editorId, this.configuration.editor.readOnly),
-			i:number,
-			len:number,
-			theirDecoration:editorCommon.IModelDecoration,
-			myDecoration:ViewModelDecoration;
+			i: number,
+			len: number,
+			theirDecoration: editorCommon.IModelDecoration,
+			myDecoration: ViewModelDecoration;
 
 		this.decorations = [];
 		for (i = 0, len = decorations.length; i < len; i++) {
@@ -89,7 +89,7 @@ export class ViewModelDecorations implements IDisposable {
 		this.decorations.sort(ViewModelDecorations.compareDecorations);
 	}
 
-	public onModelDecorationsChanged(e:editorCommon.IModelDecorationsChangedEvent, emit:(eventType:string, payload:any)=>void): void {
+	public onModelDecorationsChanged(e: editorCommon.IModelDecorationsChangedEvent, emit: (eventType: string, payload: any) => void): void {
 
 		var somethingChanged = false,
 			inlineDecorationsChanged = false;
@@ -97,12 +97,12 @@ export class ViewModelDecorations implements IDisposable {
 		// -----------------------------------
 		// Interpret addedOrChangedDecorations
 
-		var removedMap:{[id:string]:boolean;} = {},
-			addedOrChangedMap:{[id:string]:editorCommon.IModelDecorationsChangedEventDecorationData;} = {},
-			theirDecoration:editorCommon.IModelDecorationsChangedEventDecorationData,
-			i:number,
+		var removedMap: { [id: string]: boolean; } = {},
+			addedOrChangedMap: { [id: string]: editorCommon.IModelDecorationsChangedEventDecorationData; } = {},
+			theirDecoration: editorCommon.IModelDecorationsChangedEventDecorationData,
+			i: number,
 			skipValidation = this.configuration.editor.readOnly,
-			len:number;
+			len: number;
 
 		for (i = 0, len = e.addedOrChangedDecorations.length; i < len; i++) {
 			theirDecoration = e.addedOrChangedDecorations[i];
@@ -120,8 +120,8 @@ export class ViewModelDecorations implements IDisposable {
 		}
 
 		// Interpret changed decorations
-		var usedMap:{[id:string]:boolean;} = {},
-			myDecoration:ViewModelDecoration;
+		var usedMap: { [id: string]: boolean; } = {},
+			myDecoration: ViewModelDecoration;
 
 		for (i = 0, len = this.decorations.length; i < len; i++) {
 			myDecoration = this.decorations[i];
@@ -133,7 +133,7 @@ export class ViewModelDecorations implements IDisposable {
 				myDecoration.options = theirDecoration.options;
 				myDecoration.modelRange = theirDecoration.range;
 				myDecoration.range = this.converter.convertModelRangeToViewRange(theirDecoration.range, theirDecoration.options.isWholeLine);
-//				console.log(theirDecoration.range.toString() + '--->' + myDecoration.range.toString());
+				//				console.log(theirDecoration.range.toString() + '--->' + myDecoration.range.toString());
 				inlineDecorationsChanged = inlineDecorationsChanged || hasInlineChanges(myDecoration);
 				somethingChanged = true;
 			}
@@ -155,7 +155,7 @@ export class ViewModelDecorations implements IDisposable {
 				theirDecoration = addedOrChangedMap[id];
 
 				myDecoration = new ViewModelDecoration(theirDecoration, this.converter.convertModelRangeToViewRange(theirDecoration.range, theirDecoration.options.isWholeLine));
-//				console.log(theirDecoration.range.toString() + '--->' + myDecoration.range.toString());
+				//				console.log(theirDecoration.range.toString() + '--->' + myDecoration.range.toString());
 				this.decorations.push(myDecoration);
 				inlineDecorationsChanged = inlineDecorationsChanged || hasInlineChanges(myDecoration);
 				somethingChanged = true;
@@ -165,21 +165,21 @@ export class ViewModelDecorations implements IDisposable {
 		if (somethingChanged) {
 			this._clearCachedModelDecorationsResolver();
 			this.decorations.sort(ViewModelDecorations.compareDecorations);
-			var newEvent:editorCommon.IViewDecorationsChangedEvent = {
+			var newEvent: editorCommon.IViewDecorationsChangedEvent = {
 				inlineDecorationsChanged: inlineDecorationsChanged
 			};
 			emit(editorCommon.ViewEventNames.DecorationsChangedEvent, newEvent);
 		}
 	}
 
-	public onLineMappingChanged(emit:(eventType:string, payload:any)=>void): void {
+	public onLineMappingChanged(emit: (eventType: string, payload: any) => void): void {
 		var decorations = this.decorations,
-			d:ViewModelDecoration,
-			i:number,
-			newRange:Range,
-			somethingChanged:boolean = false,
+			d: ViewModelDecoration,
+			i: number,
+			newRange: Range,
+			somethingChanged: boolean = false,
 			inlineDecorationsChanged = false,
-			len:number;
+			len: number;
 
 		for (i = 0, len = decorations.length; i < len; i++) {
 			d = decorations[i];
@@ -196,7 +196,7 @@ export class ViewModelDecorations implements IDisposable {
 		if (somethingChanged) {
 			this._clearCachedModelDecorationsResolver();
 			this.decorations.sort(ViewModelDecorations.compareDecorations);
-			var newEvent:editorCommon.IViewDecorationsChangedEvent = {
+			var newEvent: editorCommon.IViewDecorationsChangedEvent = {
 				inlineDecorationsChanged: inlineDecorationsChanged
 			};
 			emit(editorCommon.ViewEventNames.DecorationsChangedEvent, newEvent);
@@ -227,10 +227,10 @@ export class ViewModelDecorations implements IDisposable {
 			intersectedStartLineNumber: number,
 			intersectedEndLineNumber: number,
 			decorations = this.decorations,
-			d:ViewModelDecoration,
-			r:editorCommon.IRange,
-			i:number,
-			len:number;
+			d: ViewModelDecoration,
+			r: editorCommon.IRange,
+			i: number,
+			len: number;
 
 		for (j = startLineNumber; j <= endLineNumber; j++) {
 			inlineDecorations[j - startLineNumber] = [];
@@ -300,7 +300,7 @@ function insert(decoration: InlineDecoration, decorations: InlineDecoration[]) {
 
 }
 
-function hasInlineChanges(decoration:editorCommon.IModelDecoration) : boolean {
+function hasInlineChanges(decoration: editorCommon.IModelDecoration): boolean {
 	let options = decoration.options;
 	return !!(options.inlineClassName || options.beforeContentClassName || options.afterContentClassName);
 }
\ No newline at end of file
diff --git a/src/vs/editor/common/viewModel/viewModelImpl.ts b/src/vs/editor/common/viewModel/viewModelImpl.ts
index 183724ef4c6cb..31fb7af4f373a 100644
--- a/src/vs/editor/common/viewModel/viewModelImpl.ts
+++ b/src/vs/editor/common/viewModel/viewModelImpl.ts
@@ -4,59 +4,59 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EmitterEvent, EventEmitter, IEventEmitter} from 'vs/base/common/eventEmitter';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { EmitterEvent, EventEmitter, IEventEmitter } from 'vs/base/common/eventEmitter';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import * as strings from 'vs/base/common/strings';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ViewModelCursors} from 'vs/editor/common/viewModel/viewModelCursors';
-import {ViewModelDecorations} from 'vs/editor/common/viewModel/viewModelDecorations';
-import {IDecorationsViewportData, IViewModel} from 'vs/editor/common/viewModel/viewModel';
-import {ViewLineTokens} from 'vs/editor/common/core/viewLineToken';
+import { ViewModelCursors } from 'vs/editor/common/viewModel/viewModelCursors';
+import { ViewModelDecorations } from 'vs/editor/common/viewModel/viewModelDecorations';
+import { IDecorationsViewportData, IViewModel } from 'vs/editor/common/viewModel/viewModel';
+import { ViewLineTokens } from 'vs/editor/common/core/viewLineToken';
 
 export interface ILinesCollection {
-	setTabSize(newTabSize:number, emit:(evenType:string, payload:any)=>void): boolean;
-	setWrappingColumn(newWrappingColumn:number, columnsForFullWidthChar:number, emit:(evenType:string, payload:any)=>void): boolean;
-	setWrappingIndent(newWrappingIndent:editorCommon.WrappingIndent, emit:(evenType:string, payload:any)=>void): boolean;
-
-	onModelFlushed(versionId:number, emit:(evenType:string, payload:any)=>void): void;
-	onModelLinesDeleted(versionId:number, fromLineNumber:number, toLineNumber:number, emit:(evenType:string, payload:any)=>void): void;
-	onModelLinesInserted(versionId:number, fromLineNumber:number, toLineNumber:number, text:string[], emit:(evenType:string, payload:any)=>void): void;
-	onModelLineChanged(versionId:number, lineNumber:number, newText:string, emit:(evenType:string, payload:any)=>void): boolean;
+	setTabSize(newTabSize: number, emit: (evenType: string, payload: any) => void): boolean;
+	setWrappingColumn(newWrappingColumn: number, columnsForFullWidthChar: number, emit: (evenType: string, payload: any) => void): boolean;
+	setWrappingIndent(newWrappingIndent: editorCommon.WrappingIndent, emit: (evenType: string, payload: any) => void): boolean;
+
+	onModelFlushed(versionId: number, emit: (evenType: string, payload: any) => void): void;
+	onModelLinesDeleted(versionId: number, fromLineNumber: number, toLineNumber: number, emit: (evenType: string, payload: any) => void): void;
+	onModelLinesInserted(versionId: number, fromLineNumber: number, toLineNumber: number, text: string[], emit: (evenType: string, payload: any) => void): void;
+	onModelLineChanged(versionId: number, lineNumber: number, newText: string, emit: (evenType: string, payload: any) => void): boolean;
 	getOutputLineCount(): number;
-	getOutputLineContent(outputLineNumber:number): string;
-	getOutputIndentGuide(outputLineNumber:number): number;
-	getOutputLineMinColumn(outputLineNumber:number): number;
-	getOutputLineMaxColumn(outputLineNumber:number): number;
-	getOutputLineTokens(outputLineNumber:number): ViewLineTokens;
-	convertOutputPositionToInputPosition(viewLineNumber:number, viewColumn:number): Position;
-	convertInputPositionToOutputPosition(inputLineNumber:number, inputColumn:number): Position;
-	setHiddenAreas(ranges:editorCommon.IRange[], emit:(evenType:string, payload:any)=>void): void;
-	inputPositionIsVisible(inputLineNumber:number, inputColumn:number): boolean;
+	getOutputLineContent(outputLineNumber: number): string;
+	getOutputIndentGuide(outputLineNumber: number): number;
+	getOutputLineMinColumn(outputLineNumber: number): number;
+	getOutputLineMaxColumn(outputLineNumber: number): number;
+	getOutputLineTokens(outputLineNumber: number): ViewLineTokens;
+	convertOutputPositionToInputPosition(viewLineNumber: number, viewColumn: number): Position;
+	convertInputPositionToOutputPosition(inputLineNumber: number, inputColumn: number): Position;
+	setHiddenAreas(ranges: editorCommon.IRange[], emit: (evenType: string, payload: any) => void): void;
+	inputPositionIsVisible(inputLineNumber: number, inputColumn: number): boolean;
 	dispose(): void;
 }
 
 export class ViewModel extends EventEmitter implements IViewModel {
 
-	private editorId:number;
-	private configuration:editorCommon.IConfiguration;
-	private model:editorCommon.IModel;
+	private editorId: number;
+	private configuration: editorCommon.IConfiguration;
+	private model: editorCommon.IModel;
 
-	private listenersToRemove:IDisposable[];
+	private listenersToRemove: IDisposable[];
 	private _toDispose: IDisposable[];
-	private lines:ILinesCollection;
-	private decorations:ViewModelDecorations;
-	private cursors:ViewModelCursors;
+	private lines: ILinesCollection;
+	private decorations: ViewModelDecorations;
+	private cursors: ViewModelCursors;
 
-	private _renderCustomLineNumbers: (lineNumber:number)=>string;
+	private _renderCustomLineNumbers: (lineNumber: number) => string;
 	private _renderRelativeLineNumbers: boolean;
 	private _lastCursorPosition: Position;
 
-	private getCurrentCenteredModelRange:()=>Range;
+	private getCurrentCenteredModelRange: () => Range;
 
-	constructor(lines:ILinesCollection, editorId:number, configuration:editorCommon.IConfiguration, model:editorCommon.IModel, getCurrentCenteredModelRange:()=>Range) {
+	constructor(lines: ILinesCollection, editorId: number, configuration: editorCommon.IConfiguration, model: editorCommon.IModel, getCurrentCenteredModelRange: () => Range) {
 		super();
 		this.lines = lines;
 
@@ -64,14 +64,14 @@ export class ViewModel extends EventEmitter implements IViewModel {
 		this.configuration = configuration;
 		this.model = model;
 
-		this._lastCursorPosition = new Position(1,1);
+		this._lastCursorPosition = new Position(1, 1);
 		this._renderCustomLineNumbers = this.configuration.editor.viewInfo.renderCustomLineNumbers;
 		this._renderRelativeLineNumbers = this.configuration.editor.viewInfo.renderRelativeLineNumbers;
 
 		this.getCurrentCenteredModelRange = getCurrentCenteredModelRange;
 
 		this.decorations = new ViewModelDecorations(this.editorId, this.configuration, {
-			convertModelRangeToViewRange: (modelRange:editorCommon.IRange, isWholeLine:boolean) => {
+			convertModelRangeToViewRange: (modelRange: editorCommon.IRange, isWholeLine: boolean) => {
 				if (isWholeLine) {
 					return this.convertWholeLineModelRangeToViewRange(modelRange);
 				}
@@ -84,19 +84,19 @@ export class ViewModel extends EventEmitter implements IViewModel {
 
 		this.listenersToRemove = [];
 		this._toDispose = [];
-		this.listenersToRemove.push(this.model.addBulkListener((events:EmitterEvent[]) => this.onEvents(events)));
+		this.listenersToRemove.push(this.model.addBulkListener((events: EmitterEvent[]) => this.onEvents(events)));
 		this._toDispose.push(this.configuration.onDidChange((e) => {
 			this.onEvents([new EmitterEvent(editorCommon.EventType.ConfigurationChanged, e)]);
 		}));
 	}
 
-	public setHiddenAreas(ranges:editorCommon.IRange[]): void {
+	public setHiddenAreas(ranges: editorCommon.IRange[]): void {
 		this.deferredEmit(() => {
-			let lineMappingChanged = this.lines.setHiddenAreas(ranges, (eventType:string, payload:any) => this.emit(eventType, payload));
+			let lineMappingChanged = this.lines.setHiddenAreas(ranges, (eventType: string, payload: any) => this.emit(eventType, payload));
 			if (lineMappingChanged) {
 				this.emit(editorCommon.ViewEventNames.LineMappingChangedEvent);
-				this.decorations.onLineMappingChanged((eventType:string, payload:any) => this.emit(eventType, payload));
-				this.cursors.onLineMappingChanged((eventType:string, payload:any) => this.emit(eventType, payload));
+				this.decorations.onLineMappingChanged((eventType: string, payload: any) => this.emit(eventType, payload));
+				this.cursors.onLineMappingChanged((eventType: string, payload: any) => this.emit(eventType, payload));
 			}
 		});
 	}
@@ -112,32 +112,32 @@ export class ViewModel extends EventEmitter implements IViewModel {
 		this.model = null;
 	}
 
-	private _onTabSizeChange(newTabSize:number): boolean {
-		var lineMappingChanged = this.lines.setTabSize(newTabSize, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private _onTabSizeChange(newTabSize: number): boolean {
+		var lineMappingChanged = this.lines.setTabSize(newTabSize, (eventType: string, payload: any) => this.emit(eventType, payload));
 		if (lineMappingChanged) {
 			this.emit(editorCommon.ViewEventNames.LineMappingChangedEvent);
-			this.decorations.onLineMappingChanged((eventType:string, payload:any) => this.emit(eventType, payload));
+			this.decorations.onLineMappingChanged((eventType: string, payload: any) => this.emit(eventType, payload));
 			this.cursors.onLineMappingChanged((eventType: string, payload: any) => this.emit(eventType, payload));
 		}
 		return lineMappingChanged;
 	}
 
-	private _onWrappingIndentChange(newWrappingIndent:editorCommon.WrappingIndent): boolean {
-		var lineMappingChanged = this.lines.setWrappingIndent(newWrappingIndent, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private _onWrappingIndentChange(newWrappingIndent: editorCommon.WrappingIndent): boolean {
+		var lineMappingChanged = this.lines.setWrappingIndent(newWrappingIndent, (eventType: string, payload: any) => this.emit(eventType, payload));
 		if (lineMappingChanged) {
 			this.emit(editorCommon.ViewEventNames.LineMappingChangedEvent);
-			this.decorations.onLineMappingChanged((eventType:string, payload:any) => this.emit(eventType, payload));
+			this.decorations.onLineMappingChanged((eventType: string, payload: any) => this.emit(eventType, payload));
 			this.cursors.onLineMappingChanged((eventType: string, payload: any) => this.emit(eventType, payload));
 		}
 		return lineMappingChanged;
 	}
 
-	private _restoreCenteredModelRange(range:Range): void {
+	private _restoreCenteredModelRange(range: Range): void {
 		// modelLine -> viewLine
 		var newCenteredViewRange = this.convertModelRangeToViewRange(range);
 
 		// Send a reveal event to restore the centered content
-		var restoreRevealEvent:editorCommon.IViewRevealRangeEvent = {
+		var restoreRevealEvent: editorCommon.IViewRevealRangeEvent = {
 			range: newCenteredViewRange,
 			verticalType: editorCommon.VerticalRevealType.Center,
 			revealHorizontal: false,
@@ -146,35 +146,35 @@ export class ViewModel extends EventEmitter implements IViewModel {
 		this.emit(editorCommon.ViewEventNames.RevealRangeEvent, restoreRevealEvent);
 	}
 
-	private _onWrappingColumnChange(newWrappingColumn:number, columnsForFullWidthChar:number): boolean {
-		let lineMappingChanged = this.lines.setWrappingColumn(newWrappingColumn, columnsForFullWidthChar, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private _onWrappingColumnChange(newWrappingColumn: number, columnsForFullWidthChar: number): boolean {
+		let lineMappingChanged = this.lines.setWrappingColumn(newWrappingColumn, columnsForFullWidthChar, (eventType: string, payload: any) => this.emit(eventType, payload));
 		if (lineMappingChanged) {
 			this.emit(editorCommon.ViewEventNames.LineMappingChangedEvent);
-			this.decorations.onLineMappingChanged((eventType:string, payload:any) => this.emit(eventType, payload));
+			this.decorations.onLineMappingChanged((eventType: string, payload: any) => this.emit(eventType, payload));
 			this.cursors.onLineMappingChanged((eventType: string, payload: any) => this.emit(eventType, payload));
 		}
 		return lineMappingChanged;
 	}
 
-	public addEventSource(eventSource:IEventEmitter): void {
-		this.listenersToRemove.push(eventSource.addBulkListener2((events:EmitterEvent[]) => this.onEvents(events)));
+	public addEventSource(eventSource: IEventEmitter): void {
+		this.listenersToRemove.push(eventSource.addBulkListener2((events: EmitterEvent[]) => this.onEvents(events)));
 	}
 
-	private onEvents(events:EmitterEvent[]): void {
+	private onEvents(events: EmitterEvent[]): void {
 		this.deferredEmit(() => {
 
 			let hasContentChange = events.some((e) => e.getType() === editorCommon.EventType.ModelRawContentChanged),
-				previousCenteredModelRange:Range;
+				previousCenteredModelRange: Range;
 			if (!hasContentChange) {
 				// We can only convert the current centered view range to the current centered model range if the model has no changes.
 				previousCenteredModelRange = this.getCurrentCenteredModelRange();
 			}
 
-			let i:number,
-				len:number,
+			let i: number,
+				len: number,
 				e: EmitterEvent,
-				data:any,
-				modelContentChangedEvent:editorCommon.IModelContentChangedEvent,
+				data: any,
+				modelContentChangedEvent: editorCommon.IModelContentChangedEvent,
 				hadOtherModelChange = false,
 				hadModelLineChangeThatChangedLineMapping = false,
 				revealPreviousCenteredModelRange = false;
@@ -272,7 +272,7 @@ export class ViewModel extends EventEmitter implements IViewModel {
 						if ((<editorCommon.IConfigurationChangedEvent>data).readOnly) {
 							// Must read again all decorations due to readOnly filtering
 							this.decorations.reset(this.model);
-							var decorationsChangedEvent:editorCommon.IViewDecorationsChangedEvent = {
+							var decorationsChangedEvent: editorCommon.IViewDecorationsChangedEvent = {
 								inlineDecorationsChanged: false
 							};
 							this.emit(editorCommon.ViewEventNames.DecorationsChangedEvent, decorationsChangedEvent);
@@ -288,7 +288,7 @@ export class ViewModel extends EventEmitter implements IViewModel {
 
 			if (!hadOtherModelChange && hadModelLineChangeThatChangedLineMapping) {
 				this.emit(editorCommon.ViewEventNames.LineMappingChangedEvent);
-				this.decorations.onLineMappingChanged((eventType:string, payload:any) => this.emit(eventType, payload));
+				this.decorations.onLineMappingChanged((eventType: string, payload: any) => this.emit(eventType, payload));
 				this.cursors.onLineMappingChanged((eventType: string, payload: any) => this.emit(eventType, payload));
 			}
 
@@ -299,41 +299,41 @@ export class ViewModel extends EventEmitter implements IViewModel {
 	}
 
 	// --- begin inbound event conversion
-	private onModelFlushed(e:editorCommon.IModelContentChangedFlushEvent): void {
-		this.lines.onModelFlushed(e.versionId, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private onModelFlushed(e: editorCommon.IModelContentChangedFlushEvent): void {
+		this.lines.onModelFlushed(e.versionId, (eventType: string, payload: any) => this.emit(eventType, payload));
 		this.decorations.reset(this.model);
 	}
-	private onModelDecorationsChanged(e:editorCommon.IModelDecorationsChangedEvent): void {
-		this.decorations.onModelDecorationsChanged(e, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private onModelDecorationsChanged(e: editorCommon.IModelDecorationsChangedEvent): void {
+		this.decorations.onModelDecorationsChanged(e, (eventType: string, payload: any) => this.emit(eventType, payload));
 	}
-	private onModelLinesDeleted(e:editorCommon.IModelContentChangedLinesDeletedEvent): void {
-		this.lines.onModelLinesDeleted(e.versionId, e.fromLineNumber, e.toLineNumber, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private onModelLinesDeleted(e: editorCommon.IModelContentChangedLinesDeletedEvent): void {
+		this.lines.onModelLinesDeleted(e.versionId, e.fromLineNumber, e.toLineNumber, (eventType: string, payload: any) => this.emit(eventType, payload));
 	}
-	private onModelTokensChanged(e:editorCommon.IModelTokensChangedEvent): void {
+	private onModelTokensChanged(e: editorCommon.IModelTokensChangedEvent): void {
 		var viewStartLineNumber = this.convertModelPositionToViewPosition(e.fromLineNumber, 1).lineNumber;
 		var viewEndLineNumber = this.convertModelPositionToViewPosition(e.toLineNumber, this.model.getLineMaxColumn(e.toLineNumber)).lineNumber;
 
-		var e:editorCommon.IViewTokensChangedEvent = {
+		var e: editorCommon.IViewTokensChangedEvent = {
 			fromLineNumber: viewStartLineNumber,
 			toLineNumber: viewEndLineNumber
 		};
 		this.emit(editorCommon.ViewEventNames.TokensChangedEvent, e);
 	}
-	private onModelLineChanged(e:editorCommon.IModelContentChangedLineChangedEvent): boolean {
-		var lineMappingChanged = this.lines.onModelLineChanged(e.versionId, e.lineNumber, e.detail, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private onModelLineChanged(e: editorCommon.IModelContentChangedLineChangedEvent): boolean {
+		var lineMappingChanged = this.lines.onModelLineChanged(e.versionId, e.lineNumber, e.detail, (eventType: string, payload: any) => this.emit(eventType, payload));
 		return lineMappingChanged;
 	}
-	private onModelLinesInserted(e:editorCommon.IModelContentChangedLinesInsertedEvent): void {
-		this.lines.onModelLinesInserted(e.versionId, e.fromLineNumber, e.toLineNumber, e.detail.split('\n'), (eventType:string, payload:any) => this.emit(eventType, payload));
+	private onModelLinesInserted(e: editorCommon.IModelContentChangedLinesInsertedEvent): void {
+		this.lines.onModelLinesInserted(e.versionId, e.fromLineNumber, e.toLineNumber, e.detail.split('\n'), (eventType: string, payload: any) => this.emit(eventType, payload));
 	}
 
-	public validateViewRange(viewStartLineNumber:number, viewStartColumn:number, viewEndLineNumber:number, viewEndColumn:number, modelRange:Range): Range {
+	public validateViewRange(viewStartLineNumber: number, viewStartColumn: number, viewEndLineNumber: number, viewEndColumn: number, modelRange: Range): Range {
 		var validViewStart = this.validateViewPosition(viewStartColumn, viewStartColumn, modelRange.getStartPosition());
 		var validViewEnd = this.validateViewPosition(viewEndLineNumber, viewEndColumn, modelRange.getEndPosition());
 		return new Range(validViewStart.lineNumber, validViewStart.column, validViewEnd.lineNumber, validViewEnd.column);
 	}
 
-	public validateViewPosition(viewLineNumber:number, viewColumn:number, modelPosition:Position): Position {
+	public validateViewPosition(viewLineNumber: number, viewColumn: number, modelPosition: Position): Position {
 		if (viewLineNumber < 1) {
 			viewLineNumber = 1;
 		}
@@ -356,7 +356,7 @@ export class ViewModel extends EventEmitter implements IViewModel {
 		return this.convertModelPositionToViewPosition(modelPosition.lineNumber, modelPosition.column);
 	}
 
-	public validateViewSelection(viewSelection:Selection, modelSelection:Selection): Selection {
+	public validateViewSelection(viewSelection: Selection, modelSelection: Selection): Selection {
 		let modelSelectionStart = new Position(modelSelection.selectionStartLineNumber, modelSelection.selectionStartColumn);
 		let modelPosition = new Position(modelSelection.positionLineNumber, modelSelection.positionColumn);
 
@@ -366,17 +366,17 @@ export class ViewModel extends EventEmitter implements IViewModel {
 		return new Selection(viewSelectionStart.lineNumber, viewSelectionStart.column, viewPosition.lineNumber, viewPosition.column);
 	}
 
-	private onCursorPositionChanged(e:editorCommon.ICursorPositionChangedEvent): void {
-		this.cursors.onCursorPositionChanged(e, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private onCursorPositionChanged(e: editorCommon.ICursorPositionChangedEvent): void {
+		this.cursors.onCursorPositionChanged(e, (eventType: string, payload: any) => this.emit(eventType, payload));
 	}
-	private onCursorSelectionChanged(e:editorCommon.ICursorSelectionChangedEvent): void {
-		this.cursors.onCursorSelectionChanged(e, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private onCursorSelectionChanged(e: editorCommon.ICursorSelectionChangedEvent): void {
+		this.cursors.onCursorSelectionChanged(e, (eventType: string, payload: any) => this.emit(eventType, payload));
 	}
-	private onCursorRevealRange(e:editorCommon.ICursorRevealRangeEvent): void {
-		this.cursors.onCursorRevealRange(e, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private onCursorRevealRange(e: editorCommon.ICursorRevealRangeEvent): void {
+		this.cursors.onCursorRevealRange(e, (eventType: string, payload: any) => this.emit(eventType, payload));
 	}
-	private onCursorScrollRequest(e:editorCommon.ICursorScrollRequestEvent): void {
-		this.cursors.onCursorScrollRequest(e, (eventType:string, payload:any) => this.emit(eventType, payload));
+	private onCursorScrollRequest(e: editorCommon.ICursorScrollRequestEvent): void {
+		this.cursors.onCursorScrollRequest(e, (eventType: string, payload: any) => this.emit(eventType, payload));
 	}
 	// --- end inbound event conversion
 
@@ -388,19 +388,19 @@ export class ViewModel extends EventEmitter implements IViewModel {
 		return this.lines.getOutputLineCount();
 	}
 
-	public getLineContent(lineNumber:number): string {
+	public getLineContent(lineNumber: number): string {
 		return this.lines.getOutputLineContent(lineNumber);
 	}
 
-	public getLineIndentGuide(lineNumber:number): number {
+	public getLineIndentGuide(lineNumber: number): number {
 		return this.lines.getOutputIndentGuide(lineNumber);
 	}
 
-	public getLineMinColumn(lineNumber:number): number {
+	public getLineMinColumn(lineNumber: number): number {
 		return this.lines.getOutputLineMinColumn(lineNumber);
 	}
 
-	public getLineMaxColumn(lineNumber:number): number {
+	public getLineMaxColumn(lineNumber: number): number {
 		return this.lines.getOutputLineMaxColumn(lineNumber);
 	}
 
@@ -420,11 +420,11 @@ export class ViewModel extends EventEmitter implements IViewModel {
 		return result + 2;
 	}
 
-	public getLineTokens(lineNumber:number): ViewLineTokens {
+	public getLineTokens(lineNumber: number): ViewLineTokens {
 		return this.lines.getOutputLineTokens(lineNumber);
 	}
 
-	public getLineRenderLineNumber(viewLineNumber:number): string {
+	public getLineRenderLineNumber(viewLineNumber: number): string {
 		let modelPosition = this.convertViewPositionToModelPosition(viewLineNumber, 1);
 		if (modelPosition.column !== 1) {
 			return '';
@@ -451,7 +451,7 @@ export class ViewModel extends EventEmitter implements IViewModel {
 		return this.model.getLineCount();
 	}
 
-	public getDecorationsViewportData(startLineNumber:number, endLineNumber:number): IDecorationsViewportData {
+	public getDecorationsViewportData(startLineNumber: number, endLineNumber: number): IDecorationsViewportData {
 		return this.decorations.getDecorationsViewportData(startLineNumber, endLineNumber);
 	}
 
@@ -463,7 +463,7 @@ export class ViewModel extends EventEmitter implements IViewModel {
 		return this.model.getEOL();
 	}
 
-	public getValueInRange(range:editorCommon.IRange, eol:editorCommon.EndOfLinePreference): string {
+	public getValueInRange(range: editorCommon.IRange, eol: editorCommon.EndOfLinePreference): string {
 		var modelRange = this.convertViewRangeToModelRange(range);
 		return this.model.getValueInRange(modelRange, eol);
 	}
@@ -474,17 +474,17 @@ export class ViewModel extends EventEmitter implements IViewModel {
 
 	// View -> Model conversion and related methods
 
-	public convertViewPositionToModelPosition(viewLineNumber:number, viewColumn:number): Position {
+	public convertViewPositionToModelPosition(viewLineNumber: number, viewColumn: number): Position {
 		return this.lines.convertOutputPositionToInputPosition(viewLineNumber, viewColumn);
 	}
 
-	public convertViewRangeToModelRange(viewRange:editorCommon.IRange): Range {
+	public convertViewRangeToModelRange(viewRange: editorCommon.IRange): Range {
 		var start = this.convertViewPositionToModelPosition(viewRange.startLineNumber, viewRange.startColumn);
 		var end = this.convertViewPositionToModelPosition(viewRange.endLineNumber, viewRange.endColumn);
 		return new Range(start.lineNumber, start.column, end.lineNumber, end.column);
 	}
 
-	public convertViewSelectionToModelSelection(viewSelection:editorCommon.ISelection): Selection {
+	public convertViewSelectionToModelSelection(viewSelection: editorCommon.ISelection): Selection {
 		let selectionStart = this.convertViewPositionToModelPosition(viewSelection.selectionStartLineNumber, viewSelection.selectionStartColumn);
 		let position = this.convertViewPositionToModelPosition(viewSelection.positionLineNumber, viewSelection.positionColumn);
 		return new Selection(selectionStart.lineNumber, selectionStart.column, position.lineNumber, position.column);
@@ -492,41 +492,41 @@ export class ViewModel extends EventEmitter implements IViewModel {
 
 	// Model -> View conversion and related methods
 
-	public getModelLineContent(modelLineNumber:number): string {
+	public getModelLineContent(modelLineNumber: number): string {
 		return this.model.getLineContent(modelLineNumber);
 	}
 
-	public getModelLineMaxColumn(modelLineNumber:number): number {
+	public getModelLineMaxColumn(modelLineNumber: number): number {
 		return this.model.getLineMaxColumn(modelLineNumber);
 	}
 
-	public validateModelPosition(position:editorCommon.IPosition): Position {
+	public validateModelPosition(position: editorCommon.IPosition): Position {
 		return this.model.validatePosition(position);
 	}
 
-	public convertModelPositionToViewPosition(modelLineNumber:number, modelColumn:number): Position {
+	public convertModelPositionToViewPosition(modelLineNumber: number, modelColumn: number): Position {
 		return this.lines.convertInputPositionToOutputPosition(modelLineNumber, modelColumn);
 	}
 
-	public convertModelRangeToViewRange(modelRange:editorCommon.IRange): Range {
+	public convertModelRangeToViewRange(modelRange: editorCommon.IRange): Range {
 		var start = this.convertModelPositionToViewPosition(modelRange.startLineNumber, modelRange.startColumn);
 		var end = this.convertModelPositionToViewPosition(modelRange.endLineNumber, modelRange.endColumn);
 		return new Range(start.lineNumber, start.column, end.lineNumber, end.column);
 	}
 
-	public convertWholeLineModelRangeToViewRange(modelRange:editorCommon.IRange): Range {
+	public convertWholeLineModelRangeToViewRange(modelRange: editorCommon.IRange): Range {
 		var start = this.convertModelPositionToViewPosition(modelRange.startLineNumber, 1);
 		var end = this.convertModelPositionToViewPosition(modelRange.endLineNumber, this.model.getLineMaxColumn(modelRange.endLineNumber));
 		return new Range(start.lineNumber, start.column, end.lineNumber, end.column);
 	}
 
-	public convertModelSelectionToViewSelection(modelSelection:Selection): Selection {
+	public convertModelSelectionToViewSelection(modelSelection: Selection): Selection {
 		var selectionStart = this.convertModelPositionToViewPosition(modelSelection.selectionStartLineNumber, modelSelection.selectionStartColumn);
 		var position = this.convertModelPositionToViewPosition(modelSelection.positionLineNumber, modelSelection.positionColumn);
 		return new Selection(selectionStart.lineNumber, selectionStart.column, position.lineNumber, position.column);
 	}
 
-	public modelPositionIsVisible(position:editorCommon.IPosition): boolean {
+	public modelPositionIsVisible(position: editorCommon.IPosition): boolean {
 		return this.lines.inputPositionIsVisible(position.lineNumber, position.column);
 	}
 
diff --git a/src/vs/editor/contrib/accessibility/browser/accessibility.ts b/src/vs/editor/contrib/accessibility/browser/accessibility.ts
index 46b8577221b9f..1400b99829aca 100644
--- a/src/vs/editor/contrib/accessibility/browser/accessibility.ts
+++ b/src/vs/editor/contrib/accessibility/browser/accessibility.ts
@@ -7,23 +7,23 @@
 
 import 'vs/css!./accessibility';
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {Disposable} from 'vs/base/common/lifecycle';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { Disposable } from 'vs/base/common/lifecycle';
 import * as strings from 'vs/base/common/strings';
-import {clearNode} from 'vs/base/browser/dom';
-import {renderHtml} from 'vs/base/browser/htmlContentRenderer';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
-import {Widget} from 'vs/base/browser/ui/widget';
-import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {RawContextKey, IContextKey, IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {GlobalScreenReaderNVDA} from 'vs/editor/common/config/commonEditorConfig';
-import {ICommonCodeEditor, IEditorContribution, EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {editorAction, CommonEditorRegistry, EditorAction, EditorCommand, Command} from 'vs/editor/common/editorCommonExtensions';
-import {ICodeEditor, IOverlayWidget, IOverlayWidgetPosition} from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
-import {ToggleTabFocusModeAction} from 'vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode';
+import { clearNode } from 'vs/base/browser/dom';
+import { renderHtml } from 'vs/base/browser/htmlContentRenderer';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
+import { Widget } from 'vs/base/browser/ui/widget';
+import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { RawContextKey, IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { GlobalScreenReaderNVDA } from 'vs/editor/common/config/commonEditorConfig';
+import { ICommonCodeEditor, IEditorContribution, EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { editorAction, CommonEditorRegistry, EditorAction, EditorCommand, Command } from 'vs/editor/common/editorCommonExtensions';
+import { ICodeEditor, IOverlayWidget, IOverlayWidgetPosition } from 'vs/editor/browser/editorBrowser';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
+import { ToggleTabFocusModeAction } from 'vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode';
 
 const CONTEXT_ACCESSIBILITY_WIDGET_VISIBLE = new RawContextKey<boolean>('accessibilityHelpWidgetVisible', false);
 const TOGGLE_EXPERIMENTAL_SCREEN_READER_SUPPORT_COMMAND_ID = 'toggleExperimentalScreenReaderSupport';
@@ -33,7 +33,7 @@ class AccessibilityHelpController extends Disposable implements IEditorContribut
 
 	private static ID = 'editor.contrib.accessibilityHelpController';
 
-	public static get(editor:ICommonCodeEditor): AccessibilityHelpController {
+	public static get(editor: ICommonCodeEditor): AccessibilityHelpController {
 		return editor.getContribution<AccessibilityHelpController>(AccessibilityHelpController.ID);
 	}
 
@@ -41,7 +41,7 @@ class AccessibilityHelpController extends Disposable implements IEditorContribut
 	private _widget: AccessibilityHelpWidget;
 
 	constructor(
-		editor:ICodeEditor,
+		editor: ICodeEditor,
 		@IContextKeyService contextKeyService: IContextKeyService,
 		@IKeybindingService keybindingService: IKeybindingService
 	) {
@@ -76,7 +76,7 @@ class AccessibilityHelpWidget extends Widget implements IOverlayWidget {
 	private _isVisible: boolean;
 	private _isVisibleKey: IContextKey<boolean>;
 
-	constructor(editor:ICodeEditor, contextKeyService: IContextKeyService, keybindingService: IKeybindingService) {
+	constructor(editor: ICodeEditor, contextKeyService: IContextKeyService, keybindingService: IKeybindingService) {
 		super();
 
 		this._editor = editor;
@@ -138,7 +138,7 @@ class AccessibilityHelpWidget extends Widget implements IOverlayWidget {
 		this._domNode.focus();
 	}
 
-	private _descriptionForCommand(commandId:string, msg:string, noKbMsg:string): string {
+	private _descriptionForCommand(commandId: string, msg: string, noKbMsg: string): string {
 		let keybindings = this._keybindingService.lookupKeybindings(commandId);
 		if (keybindings.length > 0) {
 			return strings.format(msg, this._keybindingService.getAriaLabelFor(keybindings[0]));
@@ -201,7 +201,7 @@ class ShowAccessibilityHelpAction extends EditorAction {
 	constructor() {
 		super({
 			id: 'editor.action.showAccessibilityHelp',
-			label: nls.localize('ShowAccessibilityHelpAction',"Show Accessibility Help"),
+			label: nls.localize('ShowAccessibilityHelpAction', "Show Accessibility Help"),
 			alias: 'Show Accessibility Help',
 			precondition: null,
 			kbOpts: {
@@ -211,7 +211,7 @@ class ShowAccessibilityHelpAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		let controller = AccessibilityHelpController.get(editor);
 		if (controller) {
 			controller.show();
@@ -245,7 +245,7 @@ class ToggleExperimentalScreenReaderSupportCommand extends Command {
 		});
 	}
 
-	public runCommand(accessor:ServicesAccessor, args: any): void {
+	public runCommand(accessor: ServicesAccessor, args: any): void {
 		let currentValue = GlobalScreenReaderNVDA.getValue();
 		GlobalScreenReaderNVDA.setValue(!currentValue);
 	}
diff --git a/src/vs/editor/contrib/carretOperations/common/carretOperations.ts b/src/vs/editor/contrib/carretOperations/common/carretOperations.ts
index 251af962f86fd..7919e79de256f 100644
--- a/src/vs/editor/contrib/carretOperations/common/carretOperations.ts
+++ b/src/vs/editor/contrib/carretOperations/common/carretOperations.ts
@@ -5,23 +5,23 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {ICommand, ICommonCodeEditor, EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {IActionOptions, editorAction, EditorAction, ServicesAccessor} from 'vs/editor/common/editorCommonExtensions';
-import {MoveCarretCommand} from './moveCarretCommand';
+import { ICommand, ICommonCodeEditor, EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { IActionOptions, editorAction, EditorAction, ServicesAccessor } from 'vs/editor/common/editorCommonExtensions';
+import { MoveCarretCommand } from './moveCarretCommand';
 
 class MoveCarretAction extends EditorAction {
 
-	private left:boolean;
+	private left: boolean;
 
-	constructor(left:boolean, opts:IActionOptions) {
+	constructor(left: boolean, opts: IActionOptions) {
 		super(opts);
 
 		this.left = left;
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 
-		var commands:ICommand[] = [];
+		var commands: ICommand[] = [];
 		var selections = editor.getSelections();
 
 		for (var i = 0; i < selections.length; i++) {
diff --git a/src/vs/editor/contrib/carretOperations/common/moveCarretCommand.ts b/src/vs/editor/contrib/carretOperations/common/moveCarretCommand.ts
index 05e5c5739e036..ef76eedcb4e47 100644
--- a/src/vs/editor/contrib/carretOperations/common/moveCarretCommand.ts
+++ b/src/vs/editor/contrib/carretOperations/common/moveCarretCommand.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel} from 'vs/editor/common/editorCommon';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel } from 'vs/editor/common/editorCommon';
 
 export class MoveCarretCommand implements ICommand {
 
diff --git a/src/vs/editor/contrib/carretOperations/test/common/moveCarretCommand.test.ts b/src/vs/editor/contrib/carretOperations/test/common/moveCarretCommand.test.ts
index 999f3dc305e36..a13770d4b29e2 100644
--- a/src/vs/editor/contrib/carretOperations/test/common/moveCarretCommand.test.ts
+++ b/src/vs/editor/contrib/carretOperations/test/common/moveCarretCommand.test.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Selection} from 'vs/editor/common/core/selection';
-import {MoveCarretCommand} from 'vs/editor/contrib/carretOperations/common/moveCarretCommand';
-import {testCommand} from 'vs/editor/test/common/commands/commandTestUtils';
+import { Selection } from 'vs/editor/common/core/selection';
+import { MoveCarretCommand } from 'vs/editor/contrib/carretOperations/common/moveCarretCommand';
+import { testCommand } from 'vs/editor/test/common/commands/commandTestUtils';
 
 
 function testMoveCarretLeftCommand(lines: string[], selection: Selection, expectedLines: string[], expectedSelection: Selection): void {
diff --git a/src/vs/editor/contrib/clipboard/browser/clipboard.ts b/src/vs/editor/contrib/clipboard/browser/clipboard.ts
index 68b3356305159..34bbd1abd101f 100644
--- a/src/vs/editor/contrib/clipboard/browser/clipboard.ts
+++ b/src/vs/editor/contrib/clipboard/browser/clipboard.ts
@@ -7,34 +7,34 @@
 
 import 'vs/css!./clipboard';
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 import * as browser from 'vs/base/browser/browser';
-import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
-import {findFocusedEditor} from 'vs/editor/common/config/config';
+import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
+import { findFocusedEditor } from 'vs/editor/common/config/config';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {editorAction, IActionOptions, EditorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction, IActionOptions, EditorAction } from 'vs/editor/common/editorCommonExtensions';
 
 import EditorContextKeys = editorCommon.EditorContextKeys;
 
 const CLIPBOARD_CONTEXT_MENU_GROUP = '9_cutcopypaste';
 
-function conditionalEditorAction(testCommand:string) {
+function conditionalEditorAction(testCommand: string) {
 	if (!browser.supportsExecCommand(testCommand)) {
-		return () => {};
+		return () => { };
 	}
 	return editorAction;
 }
 
 abstract class ExecCommandAction extends EditorAction {
 
-	private browserCommand:string;
+	private browserCommand: string;
 
-	constructor(browserCommand:string, opts:IActionOptions) {
+	constructor(browserCommand: string, opts: IActionOptions) {
 		super(opts);
 		this.browserCommand = browserCommand;
 	}
 
-	public runCommand(accessor:ServicesAccessor, args: any): void {
+	public runCommand(accessor: ServicesAccessor, args: any): void {
 		let focusedEditor = findFocusedEditor(this.id, accessor, false);
 		// Only if editor text focus (i.e. not if editor has widget focus).
 		if (focusedEditor && focusedEditor.isFocused()) {
@@ -45,7 +45,7 @@ abstract class ExecCommandAction extends EditorAction {
 		document.execCommand(this.browserCommand);
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void {
 		editor.focus();
 		document.execCommand(this.browserCommand);
 	}
@@ -72,7 +72,7 @@ class ExecCommandCutAction extends ExecCommandAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void {
 		if (!browser.enableEmptySelectionClipboard && editor.getSelection().isEmpty()) {
 			return;
 		}
@@ -102,7 +102,7 @@ class ExecCommandCopyAction extends ExecCommandAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void {
 		if (!browser.enableEmptySelectionClipboard && editor.getSelection().isEmpty()) {
 			return;
 		}
diff --git a/src/vs/editor/contrib/codelens/browser/codelens.ts b/src/vs/editor/contrib/codelens/browser/codelens.ts
index 6b3cc7f0bb0de..29f8a755460cd 100644
--- a/src/vs/editor/contrib/codelens/browser/codelens.ts
+++ b/src/vs/editor/contrib/codelens/browser/codelens.ts
@@ -6,22 +6,22 @@
 'use strict';
 
 import 'vs/css!./codelens';
-import {RunOnceScheduler, asWinJsPromise} from 'vs/base/common/async';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { RunOnceScheduler, asWinJsPromise } from 'vs/base/common/async';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import Severity from 'vs/base/common/severity';
-import {format, escape} from 'vs/base/common/strings';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { format, escape } from 'vs/base/common/strings';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as dom from 'vs/base/browser/dom';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {Range} from 'vs/editor/common/core/range';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {CodeLensProviderRegistry, ICodeLensSymbol, Command} from 'vs/editor/common/modes';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { CodeLensProviderRegistry, ICodeLensSymbol, Command } from 'vs/editor/common/modes';
+import { IModelService } from 'vs/editor/common/services/modelService';
 import * as editorBrowser from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
-import {ICodeLensData, getCodeLensData} from '../common/codelens';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
+import { ICodeLensData, getCodeLensData } from '../common/codelens';
 
 
 class CodeLensViewZone implements editorBrowser.IViewZone {
diff --git a/src/vs/editor/contrib/codelens/common/codelens.ts b/src/vs/editor/contrib/codelens/common/codelens.ts
index d1f4604b9f67a..f12ae3836cfe8 100644
--- a/src/vs/editor/contrib/codelens/common/codelens.ts
+++ b/src/vs/editor/contrib/codelens/common/codelens.ts
@@ -5,15 +5,15 @@
 
 'use strict';
 
-import {illegalArgument, onUnexpectedError} from 'vs/base/common/errors';
+import { illegalArgument, onUnexpectedError } from 'vs/base/common/errors';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IModel} from 'vs/editor/common/editorCommon';
-import {Range} from 'vs/editor/common/core/range';
-import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {CodeLensProviderRegistry, CodeLensProvider, ICodeLensSymbol} from 'vs/editor/common/modes';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {asWinJsPromise} from 'vs/base/common/async';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IModel } from 'vs/editor/common/editorCommon';
+import { Range } from 'vs/editor/common/core/range';
+import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { CodeLensProviderRegistry, CodeLensProvider, ICodeLensSymbol } from 'vs/editor/common/modes';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { asWinJsPromise } from 'vs/base/common/async';
 
 export interface ICodeLensData {
 	symbol: ICodeLensSymbol;
@@ -45,7 +45,7 @@ export function getCodeLensData(model: IModel): TPromise<ICodeLensData[]> {
 	});
 }
 
-CommonEditorRegistry.registerLanguageCommand('_executeCodeLensProvider', function(accessor, args) {
+CommonEditorRegistry.registerLanguageCommand('_executeCodeLensProvider', function (accessor, args) {
 
 	const {resource} = args;
 	if (!(resource instanceof URI)) {
diff --git a/src/vs/editor/contrib/comment/common/blockCommentCommand.ts b/src/vs/editor/contrib/comment/common/blockCommentCommand.ts
index f5035c8fb9c56..044a379ab2f76 100644
--- a/src/vs/editor/contrib/comment/common/blockCommentCommand.ts
+++ b/src/vs/editor/contrib/comment/common/blockCommentCommand.ts
@@ -4,20 +4,20 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EditOperation} from 'vs/editor/common/core/editOperation';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ICommentsConfiguration} from 'vs/editor/common/modes';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { ICommentsConfiguration } from 'vs/editor/common/modes';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
 
 export class BlockCommentCommand implements editorCommon.ICommand {
 
 	private _selection: Selection;
 	private _usedEndToken: string;
 
-	constructor(selection:Selection) {
+	constructor(selection: Selection) {
 		this._selection = selection;
 		this._usedEndToken = null;
 	}
@@ -39,7 +39,7 @@ export class BlockCommentCommand implements editorCommon.ICommand {
 		return true;
 	}
 
-	private _createOperationsForBlockComment(selection:editorCommon.IRange, config:ICommentsConfiguration, model:editorCommon.ITokenizedModel, builder:editorCommon.IEditOperationBuilder): void {
+	private _createOperationsForBlockComment(selection: editorCommon.IRange, config: ICommentsConfiguration, model: editorCommon.ITokenizedModel, builder: editorCommon.IEditOperationBuilder): void {
 		var startLineNumber = selection.startLineNumber;
 		var startColumn = selection.startColumn;
 		var endLineNumber = selection.endLineNumber;
@@ -70,7 +70,7 @@ export class BlockCommentCommand implements editorCommon.ICommand {
 		}
 	}
 
-	public static _createRemoveBlockCommentOperations(r:editorCommon.IRange, startToken:string, endToken:string): editorCommon.IIdentifiedSingleEditOperation[] {
+	public static _createRemoveBlockCommentOperations(r: editorCommon.IRange, startToken: string, endToken: string): editorCommon.IIdentifiedSingleEditOperation[] {
 		var res: editorCommon.IIdentifiedSingleEditOperation[] = [];
 
 		if (!Range.isEmpty(r)) {
@@ -96,7 +96,7 @@ export class BlockCommentCommand implements editorCommon.ICommand {
 		return res;
 	}
 
-	public static _createAddBlockCommentOperations(r:editorCommon.IRange, startToken:string, endToken:string): editorCommon.IIdentifiedSingleEditOperation[] {
+	public static _createAddBlockCommentOperations(r: editorCommon.IRange, startToken: string, endToken: string): editorCommon.IIdentifiedSingleEditOperation[] {
 		var res: editorCommon.IIdentifiedSingleEditOperation[] = [];
 
 		if (!Range.isEmpty(r)) {
@@ -116,7 +116,7 @@ export class BlockCommentCommand implements editorCommon.ICommand {
 		return res;
 	}
 
-	public getEditOperations(model:editorCommon.ITokenizedModel, builder:editorCommon.IEditOperationBuilder): void {
+	public getEditOperations(model: editorCommon.ITokenizedModel, builder: editorCommon.IEditOperationBuilder): void {
 		var startLineNumber = this._selection.startLineNumber;
 		var startColumn = this._selection.startColumn;
 		var endLineNumber = this._selection.endLineNumber;
@@ -137,7 +137,7 @@ export class BlockCommentCommand implements editorCommon.ICommand {
 		}, config, model, builder);
 	}
 
-	public computeCursorState(model:editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
+	public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
 		var inverseEditOperations = helper.getInverseEditOperations();
 		if (inverseEditOperations.length === 2) {
 			var startTokenEditOperation = inverseEditOperations[0];
diff --git a/src/vs/editor/contrib/comment/common/comment.ts b/src/vs/editor/contrib/comment/common/comment.ts
index 4ef8484b711f3..06e143abf9d14 100644
--- a/src/vs/editor/contrib/comment/common/comment.ts
+++ b/src/vs/editor/contrib/comment/common/comment.ts
@@ -5,22 +5,22 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod, KeyChord} from 'vs/base/common/keyCodes';
-import {ICommand, ICommonCodeEditor, EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {editorAction, IActionOptions, EditorAction, ServicesAccessor} from 'vs/editor/common/editorCommonExtensions';
-import {BlockCommentCommand} from './blockCommentCommand';
-import {LineCommentCommand, Type} from './lineCommentCommand';
+import { KeyCode, KeyMod, KeyChord } from 'vs/base/common/keyCodes';
+import { ICommand, ICommonCodeEditor, EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { editorAction, IActionOptions, EditorAction, ServicesAccessor } from 'vs/editor/common/editorCommonExtensions';
+import { BlockCommentCommand } from './blockCommentCommand';
+import { LineCommentCommand, Type } from './lineCommentCommand';
 
 abstract class CommentLineAction extends EditorAction {
 
 	private _type: Type;
 
-	constructor(type:Type, opts:IActionOptions) {
+	constructor(type: Type, opts: IActionOptions) {
 		super(opts);
 		this._type = type;
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		let model = editor.getModel();
 		if (!model) {
 			return;
@@ -104,7 +104,7 @@ class BlockCommentAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		var commands: ICommand[] = [];
 		var selections = editor.getSelections();
 
diff --git a/src/vs/editor/contrib/comment/common/lineCommentCommand.ts b/src/vs/editor/contrib/comment/common/lineCommentCommand.ts
index d6941f32d25ac..4778eed2dab39 100644
--- a/src/vs/editor/contrib/comment/common/lineCommentCommand.ts
+++ b/src/vs/editor/contrib/comment/common/lineCommentCommand.ts
@@ -5,15 +5,15 @@
 'use strict';
 
 import * as strings from 'vs/base/common/strings';
-import {EditOperation} from 'vs/editor/common/core/editOperation';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ICommentsConfiguration} from 'vs/editor/common/modes';
-import {BlockCommentCommand} from './blockCommentCommand';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {CharCode} from 'vs/base/common/charCode';
+import { ICommentsConfiguration } from 'vs/editor/common/modes';
+import { BlockCommentCommand } from './blockCommentCommand';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { CharCode } from 'vs/base/common/charCode';
 
 export interface IInsertionPoint {
 	ignore: boolean;
@@ -34,7 +34,7 @@ export interface IPreflightData {
 }
 
 export interface ISimpleModel {
-	getLineContent(lineNumber:number): string;
+	getLineContent(lineNumber: number): string;
 }
 
 export const enum Type {
@@ -47,12 +47,12 @@ export class LineCommentCommand implements editorCommon.ICommand {
 
 	private _selection: Selection;
 	private _selectionId: string;
-	private _deltaColumn:number;
+	private _deltaColumn: number;
 	private _moveEndPositionDown: boolean;
 	private _tabSize: number;
-	private _type:Type;
+	private _type: Type;
 
-	constructor(selection:Selection, tabSize:number, type:Type) {
+	constructor(selection: Selection, tabSize: number, type: Type) {
 		this._selection = selection;
 		this._tabSize = tabSize;
 		this._type = type;
@@ -63,14 +63,14 @@ export class LineCommentCommand implements editorCommon.ICommand {
 	 * Do an initial pass over the lines and gather info about the line comment string.
 	 * Returns null if any of the lines doesn't support a line comment string.
 	 */
-	public static _gatherPreflightCommentStrings(model:editorCommon.ITokenizedModel, startLineNumber: number, endLineNumber: number): ILinePreflightData[] {
+	public static _gatherPreflightCommentStrings(model: editorCommon.ITokenizedModel, startLineNumber: number, endLineNumber: number): ILinePreflightData[] {
 		var lines: ILinePreflightData[] = [],
-			config:ICommentsConfiguration,
-			commentStr:string,
-			seenModes: {[modeId:string]:string;} = Object.create(null),
-			i:number,
-			lineCount:number,
-			lineNumber:number,
+			config: ICommentsConfiguration,
+			commentStr: string,
+			seenModes: { [modeId: string]: string; } = Object.create(null),
+			i: number,
+			lineCount: number,
+			lineNumber: number,
 			modeId: string;
 
 		for (i = 0, lineCount = endLineNumber - startLineNumber + 1; i < lineCount; i++) {
@@ -106,14 +106,14 @@ export class LineCommentCommand implements editorCommon.ICommand {
 	 * Analyze lines and decide which lines are relevant and what the toggle should do.
 	 * Also, build up several offsets and lengths useful in the generation of editor operations.
 	 */
-	public static _analyzeLines(type:Type, model:ISimpleModel, lines:ILinePreflightData[], startLineNumber:number): IPreflightData {
+	public static _analyzeLines(type: Type, model: ISimpleModel, lines: ILinePreflightData[], startLineNumber: number): IPreflightData {
 		var lineData: ILinePreflightData,
-			lineContentStartOffset:number,
-			commentStrEndOffset:number,
-			i:number,
-			lineCount:number,
-			lineNumber:number,
-			shouldRemoveComments:boolean,
+			lineContentStartOffset: number,
+			commentStrEndOffset: number,
+			i: number,
+			lineCount: number,
+			lineNumber: number,
+			shouldRemoveComments: boolean,
 			lineContent: string,
 			onlyWhitespaceLines = true;
 
@@ -188,7 +188,7 @@ export class LineCommentCommand implements editorCommon.ICommand {
 	/**
 	 * Analyze all lines and decide exactly what to do => not supported | insert line comments | remove line comments
 	 */
-	public static _gatherPreflightData(type:Type, model:editorCommon.ITokenizedModel, startLineNumber: number, endLineNumber: number): IPreflightData {
+	public static _gatherPreflightData(type: Type, model: editorCommon.ITokenizedModel, startLineNumber: number, endLineNumber: number): IPreflightData {
 		var lines = LineCommentCommand._gatherPreflightCommentStrings(model, startLineNumber, endLineNumber);
 		if (lines === null) {
 			return {
@@ -204,9 +204,9 @@ export class LineCommentCommand implements editorCommon.ICommand {
 	/**
 	 * Given a successful analysis, execute either insert line comments, either remove line comments
 	 */
-	private _executeLineComments(model:ISimpleModel, builder:editorCommon.IEditOperationBuilder, data:IPreflightData, s:Selection): void {
+	private _executeLineComments(model: ISimpleModel, builder: editorCommon.IEditOperationBuilder, data: IPreflightData, s: Selection): void {
 
-		var ops:editorCommon.IIdentifiedSingleEditOperation[];
+		var ops: editorCommon.IIdentifiedSingleEditOperation[];
 
 		if (data.shouldRemoveComments) {
 			ops = LineCommentCommand._createRemoveLineCommentsOperations(data.lines, s.startLineNumber);
@@ -227,7 +227,7 @@ export class LineCommentCommand implements editorCommon.ICommand {
 		this._selectionId = builder.trackSelection(s);
 	}
 
-	private _attemptRemoveBlockComment(model:editorCommon.ITokenizedModel, s:Selection, startToken: string, endToken: string): editorCommon.IIdentifiedSingleEditOperation[] {
+	private _attemptRemoveBlockComment(model: editorCommon.ITokenizedModel, s: Selection, startToken: string, endToken: string): editorCommon.IIdentifiedSingleEditOperation[] {
 		let startLineNumber = s.startLineNumber;
 		let endLineNumber = s.endLineNumber;
 
@@ -271,7 +271,7 @@ export class LineCommentCommand implements editorCommon.ICommand {
 	/**
 	 * Given an unsuccessful analysis, delegate to the block comment command
 	 */
-	private _executeBlockComment(model:editorCommon.ITokenizedModel, builder:editorCommon.IEditOperationBuilder, s:Selection): void {
+	private _executeBlockComment(model: editorCommon.ITokenizedModel, builder: editorCommon.IEditOperationBuilder, s: Selection): void {
 		let modeId = model.getModeIdAtPosition(s.startLineNumber, s.startColumn);
 		let config = LanguageConfigurationRegistry.getComments(modeId);
 		if (!config || !config.blockCommentStartToken || !config.blockCommentEndToken) {
@@ -316,7 +316,7 @@ export class LineCommentCommand implements editorCommon.ICommand {
 		}
 	}
 
-	public getEditOperations(model:editorCommon.ITokenizedModel, builder:editorCommon.IEditOperationBuilder): void {
+	public getEditOperations(model: editorCommon.ITokenizedModel, builder: editorCommon.IEditOperationBuilder): void {
 
 		var s = this._selection;
 		this._moveEndPositionDown = false;
@@ -334,7 +334,7 @@ export class LineCommentCommand implements editorCommon.ICommand {
 		return this._executeBlockComment(model, builder, s);
 	}
 
-	public computeCursorState(model:editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
+	public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
 		var result = helper.getTrackedSelection(this._selectionId);
 
 		if (this._moveEndPositionDown) {
@@ -352,7 +352,7 @@ export class LineCommentCommand implements editorCommon.ICommand {
 	/**
 	 * Generate edit operations in the remove line comment case
 	 */
-	public static _createRemoveLineCommentsOperations(lines:ILinePreflightData[], startLineNumber:number): editorCommon.IIdentifiedSingleEditOperation[] {
+	public static _createRemoveLineCommentsOperations(lines: ILinePreflightData[], startLineNumber: number): editorCommon.IIdentifiedSingleEditOperation[] {
 		var i: number,
 			len: number,
 			lineData: ILinePreflightData,
@@ -377,7 +377,7 @@ export class LineCommentCommand implements editorCommon.ICommand {
 	/**
 	 * Generate edit operations in the add line comment case
 	 */
-	public static _createAddLineCommentsOperations(lines:ILinePreflightData[], startLineNumber:number): editorCommon.IIdentifiedSingleEditOperation[] {
+	public static _createAddLineCommentsOperations(lines: ILinePreflightData[], startLineNumber: number): editorCommon.IIdentifiedSingleEditOperation[] {
 		var i: number,
 			len: number,
 			lineData: ILinePreflightData,
@@ -397,7 +397,7 @@ export class LineCommentCommand implements editorCommon.ICommand {
 	}
 
 	// TODO@Alex -> duplicated in characterHardWrappingLineMapper
-	private static nextVisibleColumn(currentVisibleColumn:number, tabSize:number, isTab:boolean, columnSize:number): number {
+	private static nextVisibleColumn(currentVisibleColumn: number, tabSize: number, isTab: boolean, columnSize: number): number {
 		if (isTab) {
 			return currentVisibleColumn + (tabSize - (currentVisibleColumn % tabSize));
 		}
@@ -407,7 +407,7 @@ export class LineCommentCommand implements editorCommon.ICommand {
 	/**
 	 * Adjust insertion points to have them vertically aligned in the add line comment case
 	 */
-	public static _normalizeInsertionPoint(model:ISimpleModel, lines:IInsertionPoint[], startLineNumber:number, tabSize:number): void {
+	public static _normalizeInsertionPoint(model: ISimpleModel, lines: IInsertionPoint[], startLineNumber: number, tabSize: number): void {
 		var minVisibleColumn = Number.MAX_VALUE,
 			i: number,
 			len: number,
diff --git a/src/vs/editor/contrib/comment/test/common/blockCommentCommand.test.ts b/src/vs/editor/contrib/comment/test/common/blockCommentCommand.test.ts
index 01c7a8b77db78..01c77173dd047 100644
--- a/src/vs/editor/contrib/comment/test/common/blockCommentCommand.test.ts
+++ b/src/vs/editor/contrib/comment/test/common/blockCommentCommand.test.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Selection} from 'vs/editor/common/core/selection';
-import {BlockCommentCommand} from 'vs/editor/contrib/comment/common/blockCommentCommand';
-import {testCommand} from 'vs/editor/test/common/commands/commandTestUtils';
-import {CommentMode} from 'vs/editor/test/common/testModes';
+import { Selection } from 'vs/editor/common/core/selection';
+import { BlockCommentCommand } from 'vs/editor/contrib/comment/common/blockCommentCommand';
+import { testCommand } from 'vs/editor/test/common/commands/commandTestUtils';
+import { CommentMode } from 'vs/editor/test/common/testModes';
 
 function testBlockCommentCommand(lines: string[], selection: Selection, expectedLines: string[], expectedSelection: Selection): void {
 	var mode = new CommentMode({ lineComment: '!@#', blockComment: ['<0', '0>'] });
diff --git a/src/vs/editor/contrib/comment/test/common/lineCommentCommand.test.ts b/src/vs/editor/contrib/comment/test/common/lineCommentCommand.test.ts
index c910c5b1421de..d5d5cc97cb333 100644
--- a/src/vs/editor/contrib/comment/test/common/lineCommentCommand.test.ts
+++ b/src/vs/editor/contrib/comment/test/common/lineCommentCommand.test.ts
@@ -5,10 +5,10 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Selection} from 'vs/editor/common/core/selection';
-import {ILinePreflightData, IPreflightData, ISimpleModel, LineCommentCommand, Type} from 'vs/editor/contrib/comment/common/lineCommentCommand';
-import {testCommand} from 'vs/editor/test/common/commands/commandTestUtils';
-import {CommentMode} from 'vs/editor/test/common/testModes';
+import { Selection } from 'vs/editor/common/core/selection';
+import { ILinePreflightData, IPreflightData, ISimpleModel, LineCommentCommand, Type } from 'vs/editor/contrib/comment/common/lineCommentCommand';
+import { testCommand } from 'vs/editor/test/common/commands/commandTestUtils';
+import { CommentMode } from 'vs/editor/test/common/testModes';
 
 suite('Editor Contrib - Line Comment Command', () => {
 
@@ -37,15 +37,15 @@ suite('Editor Contrib - Line Comment Command', () => {
 		);
 	});
 
-	function createSimpleModel(lines:string[]): ISimpleModel {
+	function createSimpleModel(lines: string[]): ISimpleModel {
 		return {
-			getLineContent: (lineNumber:number) => {
+			getLineContent: (lineNumber: number) => {
 				return lines[lineNumber - 1];
 			}
 		};
 	}
 
-	function createBasicLinePreflightData(commentTokens:string[]): ILinePreflightData[] {
+	function createBasicLinePreflightData(commentTokens: string[]): ILinePreflightData[] {
 		return commentTokens.map((commentString) => {
 			var r: ILinePreflightData = {
 				ignore: false,
@@ -58,7 +58,7 @@ suite('Editor Contrib - Line Comment Command', () => {
 	}
 
 	test('_analyzeLines', function () {
-		var r:IPreflightData;
+		var r: IPreflightData;
 
 		r = LineCommentCommand._analyzeLines(Type.Toggle, createSimpleModel([
 			'\t\t',
@@ -124,7 +124,7 @@ suite('Editor Contrib - Line Comment Command', () => {
 
 	test('_normalizeInsertionPoint', function () {
 
-		var runTest = (mixedArr:any[], tabSize:number, expected:number[], testName:string) => {
+		var runTest = (mixedArr: any[], tabSize: number, expected: number[], testName: string) => {
 			var model = createSimpleModel(mixedArr.filter((item, idx) => idx % 2 === 0));
 			var offsets = mixedArr.filter((item, idx) => idx % 2 === 1).map(offset => {
 				return {
diff --git a/src/vs/editor/contrib/contextmenu/browser/contextmenu.ts b/src/vs/editor/contrib/contextmenu/browser/contextmenu.ts
index 1e2d9321168b3..45779c0ad2475 100644
--- a/src/vs/editor/contrib/contextmenu/browser/contextmenu.ts
+++ b/src/vs/editor/contrib/contextmenu/browser/contextmenu.ts
@@ -5,22 +5,22 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {IAction} from 'vs/base/common/actions';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {Keybinding} from 'vs/base/common/keybinding';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { IAction } from 'vs/base/common/actions';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { Keybinding } from 'vs/base/common/keybinding';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as dom from 'vs/base/browser/dom';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {ActionItem, Separator} from 'vs/base/browser/ui/actionbar/actionbar';
-import {IContextMenuService, IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {IMenuService, MenuId} from 'vs/platform/actions/common/actions';
-import {ICommonCodeEditor, IEditorContribution, MouseTargetType, EditorContextKeys, IScrollEvent} from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {ICodeEditor, IEditorMouseEvent} from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { ActionItem, Separator } from 'vs/base/browser/ui/actionbar/actionbar';
+import { IContextMenuService, IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { IMenuService, MenuId } from 'vs/platform/actions/common/actions';
+import { ICommonCodeEditor, IEditorContribution, MouseTargetType, EditorContextKeys, IScrollEvent } from 'vs/editor/common/editorCommon';
+import { editorAction, ServicesAccessor, EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { ICodeEditor, IEditorMouseEvent } from 'vs/editor/browser/editorBrowser';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
 
 export interface IPosition {
 	x: number;
@@ -237,7 +237,7 @@ class ShowContextMenu extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		let contribution = ContextMenuController.get(editor);
 		contribution.showContextMenu();
 	}
diff --git a/src/vs/editor/contrib/defineKeybinding/browser/defineKeybinding.ts b/src/vs/editor/contrib/defineKeybinding/browser/defineKeybinding.ts
index 4f138a4cda7d4..05f7a56b581a1 100644
--- a/src/vs/editor/contrib/defineKeybinding/browser/defineKeybinding.ts
+++ b/src/vs/editor/contrib/defineKeybinding/browser/defineKeybinding.ts
@@ -7,26 +7,26 @@
 
 import 'vs/css!./defineKeybinding';
 import * as nls from 'vs/nls';
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {MarkedString} from 'vs/base/common/htmlContent';
-import {KeyCode, KeyMod, KeyChord} from 'vs/base/common/keyCodes';
-import {Keybinding} from 'vs/base/common/keybinding';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { MarkedString } from 'vs/base/common/htmlContent';
+import { KeyCode, KeyMod, KeyChord } from 'vs/base/common/keyCodes';
+import { Keybinding } from 'vs/base/common/keybinding';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import * as dom from 'vs/base/browser/dom';
-import {renderHtml} from 'vs/base/browser/htmlContentRenderer';
-import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
-import {IOSupport} from 'vs/platform/keybinding/common/keybindingResolver';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
-import {Range} from 'vs/editor/common/core/range';
+import { renderHtml } from 'vs/base/browser/htmlContentRenderer';
+import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
+import { IOSupport } from 'vs/platform/keybinding/common/keybindingResolver';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference} from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
-import {CodeSnippet} from 'vs/editor/contrib/snippet/common/snippet';
-import {SnippetController} from 'vs/editor/contrib/snippet/common/snippetController';
-import {SmartSnippetInserter} from 'vs/editor/contrib/defineKeybinding/common/smartSnippetInserter';
+import { editorAction, ServicesAccessor, EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference } from 'vs/editor/browser/editorBrowser';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
+import { CodeSnippet } from 'vs/editor/contrib/snippet/common/snippet';
+import { SnippetController } from 'vs/editor/contrib/snippet/common/snippetController';
+import { SmartSnippetInserter } from 'vs/editor/contrib/defineKeybinding/common/smartSnippetInserter';
 
 import EditorContextKeys = editorCommon.EditorContextKeys;
 
@@ -42,12 +42,12 @@ export class DefineKeybindingController implements editorCommon.IEditorContribut
 
 	private static ID = 'editor.contrib.defineKeybinding';
 
-	public static get(editor:editorCommon.ICommonCodeEditor): DefineKeybindingController {
+	public static get(editor: editorCommon.ICommonCodeEditor): DefineKeybindingController {
 		return editor.getContribution<DefineKeybindingController>(DefineKeybindingController.ID);
 	}
 
 	private _editor: ICodeEditor;
-	private _keybindingService:IKeybindingService;
+	private _keybindingService: IKeybindingService;
 	private _launchWidget: DefineKeybindingLauncherWidget;
 	private _defineWidget: DefineKeybindingWidget;
 	private _toDispose: IDisposable[];
@@ -55,8 +55,8 @@ export class DefineKeybindingController implements editorCommon.IEditorContribut
 	private _updateDecorations: RunOnceScheduler;
 
 	constructor(
-		editor:ICodeEditor,
-		@IKeybindingService keybindingService:IKeybindingService
+		editor: ICodeEditor,
+		@IKeybindingService keybindingService: IKeybindingService
 	) {
 		this._editor = editor;
 		this._keybindingService = keybindingService;
@@ -106,7 +106,7 @@ export class DefineKeybindingController implements editorCommon.IEditorContribut
 		}
 	}
 
-	private _onAccepted(keybinding:string): void {
+	private _onAccepted(keybinding: string): void {
 		let snippetText = [
 			'{',
 			'\t"key": "' + keybinding + '",',
@@ -145,7 +145,7 @@ export class DefineKeybindingController implements editorCommon.IEditorContribut
 		this._updateDecorations.schedule();
 	}
 
-	private _dec:string[] = [];
+	private _dec: string[] = [];
 	private _updateDecorationsNow(): void {
 		let model = this._editor.getModel();
 		let regex = Keybinding.getUserSettingsKeybindingRegex();
@@ -177,7 +177,7 @@ export class DefineKeybindingController implements editorCommon.IEditorContribut
 
 		let newDecorations: editorCommon.IModelDeltaDecoration[] = [];
 		data.forEach((item) => {
-			let msg:MarkedString[];
+			let msg: MarkedString[];
 			let className: string;
 			let inlineClassName: string;
 			let overviewRulerColor: string;
@@ -236,7 +236,7 @@ class DefineKeybindingLauncherWidget implements IOverlayWidget {
 	private _toDispose: IDisposable[];
 	private _isVisible: boolean;
 
-	constructor(editor:ICodeEditor, keybindingService:IKeybindingService, onLaunch:()=>void) {
+	constructor(editor: ICodeEditor, keybindingService: IKeybindingService, onLaunch: () => void) {
 		this._editor = editor;
 		this._domNode = document.createElement('div');
 		this._domNode.className = 'defineKeybindingLauncher';
@@ -245,7 +245,7 @@ class DefineKeybindingLauncherWidget implements IOverlayWidget {
 		let keybinding = keybindingService.lookupKeybindings(DefineKeybindingAction.ID);
 		let extra = '';
 		if (keybinding.length > 0) {
-			extra += ' ('+keybindingService.getLabelFor(keybinding[0])+')';
+			extra += ' (' + keybindingService.getLabelFor(keybinding[0]) + ')';
 		}
 		this._domNode.appendChild(document.createTextNode(NLS_LAUNCH_MESSAGE + extra));
 
@@ -305,7 +305,7 @@ class DefineKeybindingWidget implements IOverlayWidget {
 	private static HEIGHT = 90;
 
 	private _editor: ICodeEditor;
-	private _keybindingService:IKeybindingService;
+	private _keybindingService: IKeybindingService;
 
 	private _domNode: HTMLElement;
 	private _toDispose: IDisposable[];
@@ -315,10 +315,10 @@ class DefineKeybindingWidget implements IOverlayWidget {
 	private _outputNode: HTMLElement;
 
 	private _lastKeybinding: Keybinding;
-	private _onAccepted: (keybinding:string) => void;
+	private _onAccepted: (keybinding: string) => void;
 	private _isVisible: boolean;
 
-	constructor(editor:ICodeEditor, keybindingService:IKeybindingService, onAccepted:(keybinding:string) => void) {
+	constructor(editor: ICodeEditor, keybindingService: IKeybindingService, onAccepted: (keybinding: string) => void) {
 		this._editor = editor;
 		this._keybindingService = keybindingService;
 		this._onAccepted = onAccepted;
@@ -457,7 +457,7 @@ export class DefineKeybindingAction extends EditorAction {
 	constructor() {
 		super({
 			id: DefineKeybindingAction.ID,
-			label: nls.localize('DefineKeybindingAction',"Define Keybinding"),
+			label: nls.localize('DefineKeybindingAction', "Define Keybinding"),
 			alias: 'Define Keybinding',
 			precondition: ContextKeyExpr.and(EditorContextKeys.Writable, EditorContextKeys.LanguageId.isEqualTo('json')),
 			kbOpts: {
@@ -467,7 +467,7 @@ export class DefineKeybindingAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void {
 		if (!isInterestingEditorModel(editor)) {
 			return;
 		}
@@ -479,7 +479,7 @@ export class DefineKeybindingAction extends EditorAction {
 
 }
 
-function isInterestingEditorModel(editor:editorCommon.ICommonCodeEditor): boolean {
+function isInterestingEditorModel(editor: editorCommon.ICommonCodeEditor): boolean {
 	if (editor.getConfiguration().readOnly) {
 		return false;
 	}
diff --git a/src/vs/editor/contrib/defineKeybinding/common/smartSnippetInserter.ts b/src/vs/editor/contrib/defineKeybinding/common/smartSnippetInserter.ts
index 1716546acdb33..1cda89ca5d0bb 100644
--- a/src/vs/editor/contrib/defineKeybinding/common/smartSnippetInserter.ts
+++ b/src/vs/editor/contrib/defineKeybinding/common/smartSnippetInserter.ts
@@ -5,10 +5,10 @@
 
 'use strict';
 
-import {JSONScanner, createScanner as createJSONScanner, SyntaxKind as JSONSyntaxKind} from 'vs/base/common/json';
+import { JSONScanner, createScanner as createJSONScanner, SyntaxKind as JSONSyntaxKind } from 'vs/base/common/json';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
 
 export interface InsertSnippetResult {
 	position: Position;
@@ -18,7 +18,7 @@ export interface InsertSnippetResult {
 
 export class SmartSnippetInserter {
 
-	private static hasOpenBrace(scanner:JSONScanner): boolean {
+	private static hasOpenBrace(scanner: JSONScanner): boolean {
 
 		while (scanner.scan() !== JSONSyntaxKind.EOF) {
 			let kind = scanner.getToken();
@@ -31,7 +31,7 @@ export class SmartSnippetInserter {
 		return false;
 	}
 
-	private static offsetToPosition(model:editorCommon.ITextModel, offset:number): Position {
+	private static offsetToPosition(model: editorCommon.ITextModel, offset: number): Position {
 		let offsetBeforeLine = 0;
 		let eolLength = model.getEOL().length;
 		let lineCount = model.getLineCount();
@@ -53,7 +53,7 @@ export class SmartSnippetInserter {
 		);
 	}
 
-	public static insertSnippet(model:editorCommon.ITextModel, _position:Position): InsertSnippetResult {
+	public static insertSnippet(model: editorCommon.ITextModel, _position: Position): InsertSnippetResult {
 
 		let desiredPosition = model.getValueLengthInRange(new Range(1, 1, _position.lineNumber, _position.column));
 
@@ -71,7 +71,7 @@ export class SmartSnippetInserter {
 		let arrayLevel = 0;
 		let objLevel = 0;
 
-		let checkRangeStatus = (pos:number, state:State) => {
+		let checkRangeStatus = (pos: number, state: State) => {
 			if (state !== State.INVALID && arrayLevel === 1 && objLevel === 0) {
 				currentState = state;
 				lastValidPos = pos;
diff --git a/src/vs/editor/contrib/defineKeybinding/test/common/smartSnippetInserter.test.ts b/src/vs/editor/contrib/defineKeybinding/test/common/smartSnippetInserter.test.ts
index e548bdd89f20b..6f24fd01c52af 100644
--- a/src/vs/editor/contrib/defineKeybinding/test/common/smartSnippetInserter.test.ts
+++ b/src/vs/editor/contrib/defineKeybinding/test/common/smartSnippetInserter.test.ts
@@ -6,13 +6,13 @@
 'use strict';
 
 import * as assert from 'assert';
-import {SmartSnippetInserter} from 'vs/editor/contrib/defineKeybinding/common/smartSnippetInserter';
-import {TextModel} from 'vs/editor/common/model/textModel';
-import {Position} from 'vs/editor/common/core/position';
+import { SmartSnippetInserter } from 'vs/editor/contrib/defineKeybinding/common/smartSnippetInserter';
+import { TextModel } from 'vs/editor/common/model/textModel';
+import { Position } from 'vs/editor/common/core/position';
 
 suite('SmartSnippetInserter', () => {
 
-	function testSmartSnippetInserter(text:string[], runner:(assert:(desiredPos:Position, pos:Position, prepend:string, append:string)=>void)=>void): void {
+	function testSmartSnippetInserter(text: string[], runner: (assert: (desiredPos: Position, pos: Position, prepend: string, append: string) => void) => void): void {
 		let model = new TextModel([], TextModel.toRawText(text.join('\n'), TextModel.DEFAULT_CREATION_OPTIONS));
 		runner((desiredPos, pos, prepend, append) => {
 			let actual = SmartSnippetInserter.insertSnippet(model, desiredPos);
@@ -29,30 +29,30 @@ suite('SmartSnippetInserter', () => {
 	test('empty text', () => {
 		testSmartSnippetInserter([
 		], (assert) => {
-			assert(new Position(1,1), new Position(1,1), '\n[', ']');
+			assert(new Position(1, 1), new Position(1, 1), '\n[', ']');
 		});
 
 		testSmartSnippetInserter([
 			' '
 		], (assert) => {
-			assert(new Position(1,1), new Position(1,2), '\n[', ']');
-			assert(new Position(1,2), new Position(1,2), '\n[', ']');
+			assert(new Position(1, 1), new Position(1, 2), '\n[', ']');
+			assert(new Position(1, 2), new Position(1, 2), '\n[', ']');
 		});
 
 		testSmartSnippetInserter([
 			'// just some text'
 		], (assert) => {
-			assert(new Position(1,1), new Position(1,18), '\n[', ']');
-			assert(new Position(1,18), new Position(1,18), '\n[', ']');
+			assert(new Position(1, 1), new Position(1, 18), '\n[', ']');
+			assert(new Position(1, 18), new Position(1, 18), '\n[', ']');
 		});
 
 		testSmartSnippetInserter([
 			'// just some text',
 			''
 		], (assert) => {
-			assert(new Position(1,1), new Position(2,1), '\n[', ']');
-			assert(new Position(1,18), new Position(2,1), '\n[', ']');
-			assert(new Position(2,1), new Position(2,1), '\n[', ']');
+			assert(new Position(1, 1), new Position(2, 1), '\n[', ']');
+			assert(new Position(1, 18), new Position(2, 1), '\n[', ']');
+			assert(new Position(2, 1), new Position(2, 1), '\n[', ']');
 		});
 	});
 
@@ -61,10 +61,10 @@ suite('SmartSnippetInserter', () => {
 			'// just some text',
 			'[]'
 		], (assert) => {
-			assert(new Position(1,1), new Position(2,2), '', '');
-			assert(new Position(2,1), new Position(2,2), '', '');
-			assert(new Position(2,2), new Position(2,2), '', '');
-			assert(new Position(2,3), new Position(2,2), '', '');
+			assert(new Position(1, 1), new Position(2, 2), '', '');
+			assert(new Position(2, 1), new Position(2, 2), '', '');
+			assert(new Position(2, 2), new Position(2, 2), '', '');
+			assert(new Position(2, 3), new Position(2, 2), '', '');
 		});
 	});
 
@@ -74,11 +74,11 @@ suite('SmartSnippetInserter', () => {
 			'[',
 			']'
 		], (assert) => {
-			assert(new Position(1,1), new Position(2,2), '', '');
-			assert(new Position(2,1), new Position(2,2), '', '');
-			assert(new Position(2,2), new Position(2,2), '', '');
-			assert(new Position(3,1), new Position(3,1), '', '');
-			assert(new Position(3,2), new Position(3,1), '', '');
+			assert(new Position(1, 1), new Position(2, 2), '', '');
+			assert(new Position(2, 1), new Position(2, 2), '', '');
+			assert(new Position(2, 2), new Position(2, 2), '', '');
+			assert(new Position(3, 1), new Position(3, 1), '', '');
+			assert(new Position(3, 2), new Position(3, 1), '', '');
 		});
 	});
 
@@ -89,13 +89,13 @@ suite('SmartSnippetInserter', () => {
 			'// just some text',
 			']'
 		], (assert) => {
-			assert(new Position(1,1), new Position(2,2), '', '');
-			assert(new Position(2,1), new Position(2,2), '', '');
-			assert(new Position(2,2), new Position(2,2), '', '');
-			assert(new Position(3,1), new Position(3,1), '', '');
-			assert(new Position(3,2), new Position(3,1), '', '');
-			assert(new Position(4,1), new Position(4,1), '', '');
-			assert(new Position(4,2), new Position(4,1), '', '');
+			assert(new Position(1, 1), new Position(2, 2), '', '');
+			assert(new Position(2, 1), new Position(2, 2), '', '');
+			assert(new Position(2, 2), new Position(2, 2), '', '');
+			assert(new Position(3, 1), new Position(3, 1), '', '');
+			assert(new Position(3, 2), new Position(3, 1), '', '');
+			assert(new Position(4, 1), new Position(4, 1), '', '');
+			assert(new Position(4, 2), new Position(4, 1), '', '');
 		});
 	});
 
@@ -106,14 +106,14 @@ suite('SmartSnippetInserter', () => {
 			'{}',
 			']'
 		], (assert) => {
-			assert(new Position(1,1), new Position(2,2), '', ',');
-			assert(new Position(2,1), new Position(2,2), '', ',');
-			assert(new Position(2,2), new Position(2,2), '', ',');
-			assert(new Position(3,1), new Position(3,1), '', ',');
-			assert(new Position(3,2), new Position(3,1), '', ',');
-			assert(new Position(3,3), new Position(3,3), ',', '');
-			assert(new Position(4,1), new Position(4,1), ',', '');
-			assert(new Position(4,2), new Position(4,1), ',', '');
+			assert(new Position(1, 1), new Position(2, 2), '', ',');
+			assert(new Position(2, 1), new Position(2, 2), '', ',');
+			assert(new Position(2, 2), new Position(2, 2), '', ',');
+			assert(new Position(3, 1), new Position(3, 1), '', ',');
+			assert(new Position(3, 2), new Position(3, 1), '', ',');
+			assert(new Position(3, 3), new Position(3, 3), ',', '');
+			assert(new Position(4, 1), new Position(4, 1), ',', '');
+			assert(new Position(4, 2), new Position(4, 1), ',', '');
 		});
 	});
 
@@ -125,18 +125,18 @@ suite('SmartSnippetInserter', () => {
 			'{}',
 			']'
 		], (assert) => {
-			assert(new Position(1,1), new Position(2,2), '', ',');
-			assert(new Position(2,1), new Position(2,2), '', ',');
-			assert(new Position(2,2), new Position(2,2), '', ',');
-			assert(new Position(3,1), new Position(3,1), '', ',');
-			assert(new Position(3,2), new Position(3,1), '', ',');
-			assert(new Position(3,3), new Position(3,3), ',', '');
-			assert(new Position(3,4), new Position(3,4), '', ',');
-			assert(new Position(4,1), new Position(4,1), '', ',');
-			assert(new Position(4,2), new Position(4,1), '', ',');
-			assert(new Position(4,3), new Position(4,3), ',', '');
-			assert(new Position(5,1), new Position(5,1), ',', '');
-			assert(new Position(5,2), new Position(5,1), ',', '');
+			assert(new Position(1, 1), new Position(2, 2), '', ',');
+			assert(new Position(2, 1), new Position(2, 2), '', ',');
+			assert(new Position(2, 2), new Position(2, 2), '', ',');
+			assert(new Position(3, 1), new Position(3, 1), '', ',');
+			assert(new Position(3, 2), new Position(3, 1), '', ',');
+			assert(new Position(3, 3), new Position(3, 3), ',', '');
+			assert(new Position(3, 4), new Position(3, 4), '', ',');
+			assert(new Position(4, 1), new Position(4, 1), '', ',');
+			assert(new Position(4, 2), new Position(4, 1), '', ',');
+			assert(new Position(4, 3), new Position(4, 3), ',', '');
+			assert(new Position(5, 1), new Position(5, 1), ',', '');
+			assert(new Position(5, 2), new Position(5, 1), ',', '');
 		});
 	});
 
@@ -147,17 +147,17 @@ suite('SmartSnippetInserter', () => {
 			'{},{}',
 			']'
 		], (assert) => {
-			assert(new Position(1,1), new Position(2,2), '', ',');
-			assert(new Position(2,1), new Position(2,2), '', ',');
-			assert(new Position(2,2), new Position(2,2), '', ',');
-			assert(new Position(3,1), new Position(3,1), '', ',');
-			assert(new Position(3,2), new Position(3,1), '', ',');
-			assert(new Position(3,3), new Position(3,3), ',', '');
-			assert(new Position(3,4), new Position(3,4), '', ',');
-			assert(new Position(3,5), new Position(3,4), '', ',');
-			assert(new Position(3,6), new Position(3,6), ',', '');
-			assert(new Position(4,1), new Position(4,1), ',', '');
-			assert(new Position(4,2), new Position(4,1), ',', '');
+			assert(new Position(1, 1), new Position(2, 2), '', ',');
+			assert(new Position(2, 1), new Position(2, 2), '', ',');
+			assert(new Position(2, 2), new Position(2, 2), '', ',');
+			assert(new Position(3, 1), new Position(3, 1), '', ',');
+			assert(new Position(3, 2), new Position(3, 1), '', ',');
+			assert(new Position(3, 3), new Position(3, 3), ',', '');
+			assert(new Position(3, 4), new Position(3, 4), '', ',');
+			assert(new Position(3, 5), new Position(3, 4), '', ',');
+			assert(new Position(3, 6), new Position(3, 6), ',', '');
+			assert(new Position(4, 1), new Position(4, 1), ',', '');
+			assert(new Position(4, 2), new Position(4, 1), ',', '');
 		});
 	});
 
diff --git a/src/vs/editor/contrib/diffNavigator/common/diffNavigator.ts b/src/vs/editor/contrib/diffNavigator/common/diffNavigator.ts
index 7cd9697cc4e4f..19fa5138cc462 100644
--- a/src/vs/editor/contrib/diffNavigator/common/diffNavigator.ts
+++ b/src/vs/editor/contrib/diffNavigator/common/diffNavigator.ts
@@ -5,24 +5,24 @@
 'use strict';
 
 import * as assert from 'vs/base/common/assert';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
 import * as objects from 'vs/base/common/objects';
-import {Range} from 'vs/editor/common/core/range';
-import {ICommonDiffEditor, ICursorPositionChangedEvent, ILineChange} from 'vs/editor/common/editorCommon';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { Range } from 'vs/editor/common/core/range';
+import { ICommonDiffEditor, ICursorPositionChangedEvent, ILineChange } from 'vs/editor/common/editorCommon';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 
 interface IDiffRange {
-	rhs:boolean;
-	range:Range;
+	rhs: boolean;
+	range: Range;
 }
 
 export interface Options {
-	followsCaret?:boolean;
-	ignoreCharChanges?:boolean;
-	alwaysRevealFirst?:boolean;
+	followsCaret?: boolean;
+	ignoreCharChanges?: boolean;
+	alwaysRevealFirst?: boolean;
 }
 
-var defaultOptions:Options = {
+var defaultOptions: Options = {
 	followsCaret: true,
 	ignoreCharChanges: true,
 	alwaysRevealFirst: true
@@ -37,17 +37,17 @@ export class DiffNavigator extends EventEmitter {
 		UPDATED: 'navigation.updated'
 	};
 
-	private editor:ICommonDiffEditor;
-	private options:Options;
-	private disposed:boolean;
-	private toUnbind:IDisposable[];
+	private editor: ICommonDiffEditor;
+	private options: Options;
+	private disposed: boolean;
+	private toUnbind: IDisposable[];
 
-	private nextIdx:number;
-	private ranges:IDiffRange[];
-	private ignoreSelectionChange:boolean;
-	private revealFirst:boolean;
+	private nextIdx: number;
+	private ranges: IDiffRange[];
+	private ignoreSelectionChange: boolean;
+	private revealFirst: boolean;
 
-	constructor(editor:ICommonDiffEditor, options:Options={}) {
+	constructor(editor: ICommonDiffEditor, options: Options = {}) {
 		super([
 			DiffNavigator.Events.UPDATED
 		]);
@@ -63,18 +63,18 @@ export class DiffNavigator extends EventEmitter {
 		this.revealFirst = this.options.alwaysRevealFirst;
 
 		// hook up to diff editor for diff, disposal, and caret move
-		this.toUnbind.push(this.editor.onDidDispose(() => this.dispose() ));
-		this.toUnbind.push(this.editor.onDidUpdateDiff(() => this.onDiffUpdated() ));
+		this.toUnbind.push(this.editor.onDidDispose(() => this.dispose()));
+		this.toUnbind.push(this.editor.onDidUpdateDiff(() => this.onDiffUpdated()));
 
-		if(this.options.followsCaret) {
-			this.toUnbind.push(this.editor.getModifiedEditor().onDidChangeCursorPosition((e:ICursorPositionChangedEvent) => {
-				if(this.ignoreSelectionChange) {
+		if (this.options.followsCaret) {
+			this.toUnbind.push(this.editor.getModifiedEditor().onDidChangeCursorPosition((e: ICursorPositionChangedEvent) => {
+				if (this.ignoreSelectionChange) {
 					return;
 				}
 				this.nextIdx = -1;
 			}));
 		}
-		if(this.options.alwaysRevealFirst) {
+		if (this.options.alwaysRevealFirst) {
 			this.toUnbind.push(this.editor.getModifiedEditor().onDidChangeModel((e) => {
 				this.revealFirst = true;
 			}));
@@ -84,18 +84,18 @@ export class DiffNavigator extends EventEmitter {
 		this.init();
 	}
 
-	private init():void {
+	private init(): void {
 		var changes = this.editor.getLineChanges();
-		if(!changes) {
+		if (!changes) {
 			return;
 		}
 	}
 
-	private onDiffUpdated():void {
+	private onDiffUpdated(): void {
 		this.init();
 
 		this.compute(this.editor.getLineChanges());
-		if(this.revealFirst) {
+		if (this.revealFirst) {
 			// Only reveal first on first non-null changes
 			if (this.editor.getLineChanges() !== null) {
 				this.revealFirst = false;
@@ -105,7 +105,7 @@ export class DiffNavigator extends EventEmitter {
 		}
 	}
 
-	private compute(lineChanges:ILineChange[]):void {
+	private compute(lineChanges: ILineChange[]): void {
 
 		// new ranges
 		this.ranges = [];
@@ -114,7 +114,7 @@ export class DiffNavigator extends EventEmitter {
 			// create ranges from changes
 			lineChanges.forEach((lineChange) => {
 
-				if(!this.options.ignoreCharChanges && lineChange.charChanges) {
+				if (!this.options.ignoreCharChanges && lineChange.charChanges) {
 
 					lineChange.charChanges.forEach((charChange) => {
 						this.ranges.push({
@@ -137,10 +137,10 @@ export class DiffNavigator extends EventEmitter {
 		}
 
 		// sort
-		this.ranges.sort((left, right) =>{
-			if(left.range.getStartPosition().isBeforeOrEqual(right.range.getStartPosition())) {
+		this.ranges.sort((left, right) => {
+			if (left.range.getStartPosition().isBeforeOrEqual(right.range.getStartPosition())) {
 				return -1;
-			} else if(right.range.getStartPosition().isBeforeOrEqual(left.range.getStartPosition())) {
+			} else if (right.range.getStartPosition().isBeforeOrEqual(left.range.getStartPosition())) {
 				return 1;
 			} else {
 				return 0;
@@ -150,43 +150,43 @@ export class DiffNavigator extends EventEmitter {
 		this.emit(DiffNavigator.Events.UPDATED, {});
 	}
 
-	private initIdx(fwd:boolean):void {
+	private initIdx(fwd: boolean): void {
 		var found = false;
 		var position = this.editor.getPosition();
-		for(var i = 0, len = this.ranges.length; i < len && !found; i++) {
+		for (var i = 0, len = this.ranges.length; i < len && !found; i++) {
 			var range = this.ranges[i].range;
-			if(position.isBeforeOrEqual(range.getStartPosition())) {
+			if (position.isBeforeOrEqual(range.getStartPosition())) {
 				this.nextIdx = i + (fwd ? 0 : -1);
 				found = true;
 			}
 		}
-		if(!found) {
+		if (!found) {
 			// after the last change
 			this.nextIdx = fwd ? 0 : this.ranges.length - 1;
 		}
-		if(this.nextIdx < 0) {
+		if (this.nextIdx < 0) {
 			this.nextIdx = this.ranges.length - 1;
 		}
 	}
 
-	private move(fwd:boolean):void {
+	private move(fwd: boolean): void {
 		assert.ok(!this.disposed, 'Illegal State - diff navigator has been disposed');
 
-		if(!this.canNavigate()) {
+		if (!this.canNavigate()) {
 			return;
 		}
 
-		if(this.nextIdx === -1) {
+		if (this.nextIdx === -1) {
 			this.initIdx(fwd);
 
-		} else if(fwd) {
+		} else if (fwd) {
 			this.nextIdx += 1;
-			if(this.nextIdx >= this.ranges.length) {
+			if (this.nextIdx >= this.ranges.length) {
 				this.nextIdx = 0;
 			}
 		} else {
 			this.nextIdx -= 1;
-			if(this.nextIdx < 0) {
+			if (this.nextIdx < 0) {
 				this.nextIdx = this.ranges.length - 1;
 			}
 		}
@@ -202,19 +202,19 @@ export class DiffNavigator extends EventEmitter {
 		}
 	}
 
-	public canNavigate():boolean {
+	public canNavigate(): boolean {
 		return this.ranges && this.ranges.length > 0;
 	}
 
-	public next():void {
+	public next(): void {
 		this.move(true);
 	}
 
-	public previous():void {
+	public previous(): void {
 		this.move(false);
 	}
 
-	public dispose():void {
+	public dispose(): void {
 		this.toUnbind = dispose(this.toUnbind);
 		this.ranges = null;
 		this.disposed = true;
diff --git a/src/vs/editor/contrib/find/browser/find.ts b/src/vs/editor/contrib/find/browser/find.ts
index 06ddc371a8529..cb26348069911 100644
--- a/src/vs/editor/contrib/find/browser/find.ts
+++ b/src/vs/editor/contrib/find/browser/find.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
-import {FindWidget, IFindController} from 'vs/editor/contrib/find/browser/findWidget';
-import {CommonFindController, FindStartFocusAction, IFindStartOptions} from 'vs/editor/contrib/find/common/findController';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
+import { FindWidget, IFindController } from 'vs/editor/contrib/find/browser/findWidget';
+import { CommonFindController, FindStartFocusAction, IFindStartOptions } from 'vs/editor/contrib/find/common/findController';
 
 @editorContribution
 class FindController extends CommonFindController implements IFindController {
@@ -18,7 +18,7 @@ class FindController extends CommonFindController implements IFindController {
 	private _widget: FindWidget;
 
 	constructor(
-		editor:ICodeEditor,
+		editor: ICodeEditor,
 		@IContextViewService contextViewService: IContextViewService,
 		@IContextKeyService contextKeyService: IContextKeyService,
 		@IKeybindingService keybindingService: IKeybindingService
@@ -28,7 +28,7 @@ class FindController extends CommonFindController implements IFindController {
 		this._widget = this._register(new FindWidget(editor, this, this._state, contextViewService, keybindingService, contextKeyService));
 	}
 
-	protected _start(opts:IFindStartOptions): void {
+	protected _start(opts: IFindStartOptions): void {
 		super._start(opts);
 
 		if (opts.shouldFocus === FindStartFocusAction.FocusReplaceInput) {
diff --git a/src/vs/editor/contrib/find/browser/findWidget.ts b/src/vs/editor/contrib/find/browser/findWidget.ts
index 24964fb48ebe6..7762336a3f886 100644
--- a/src/vs/editor/contrib/find/browser/findWidget.ts
+++ b/src/vs/editor/contrib/find/browser/findWidget.ts
@@ -7,23 +7,23 @@
 
 import 'vs/css!./findWidget';
 import * as nls from 'vs/nls';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 import * as strings from 'vs/base/common/strings';
 import * as dom from 'vs/base/browser/dom';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {IContextViewProvider} from 'vs/base/browser/ui/contextview/contextview';
-import {FindInput} from 'vs/base/browser/ui/findinput/findInput';
-import {IMessage as InputBoxMessage, InputBox} from 'vs/base/browser/ui/inputbox/inputBox';
-import {Widget} from 'vs/base/browser/ui/widget';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IConfigurationChangedEvent} from 'vs/editor/common/editorCommon';
-import {ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference} from 'vs/editor/browser/editorBrowser';
-import {FIND_IDS, MATCHES_LIMIT} from 'vs/editor/contrib/find/common/findModel';
-import {FindReplaceState, FindReplaceStateChangedEvent} from 'vs/editor/contrib/find/common/findState';
-import {Range} from 'vs/editor/common/core/range';
-import {IContextKeyService, IContextKey} from 'vs/platform/contextkey/common/contextkey';
-import {CONTEXT_FIND_INPUT_FOCUSSED} from 'vs/editor/contrib/find/common/findController';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview';
+import { FindInput } from 'vs/base/browser/ui/findinput/findInput';
+import { IMessage as InputBoxMessage, InputBox } from 'vs/base/browser/ui/inputbox/inputBox';
+import { Widget } from 'vs/base/browser/ui/widget';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IConfigurationChangedEvent } from 'vs/editor/common/editorCommon';
+import { ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference } from 'vs/editor/browser/editorBrowser';
+import { FIND_IDS, MATCHES_LIMIT } from 'vs/editor/contrib/find/common/findModel';
+import { FindReplaceState, FindReplaceStateChangedEvent } from 'vs/editor/contrib/find/common/findState';
+import { Range } from 'vs/editor/common/core/range';
+import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
+import { CONTEXT_FIND_INPUT_FOCUSSED } from 'vs/editor/contrib/find/common/findController';
 
 export interface IFindController {
 	replace(): void;
@@ -123,7 +123,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 		};
 		checkEditorWidth();
 
-		this._register(this._codeEditor.onDidChangeConfiguration((e:IConfigurationChangedEvent) => {
+		this._register(this._codeEditor.onDidChangeConfiguration((e: IConfigurationChangedEvent) => {
 			if (e.readOnly) {
 				if (this._codeEditor.getConfiguration().readOnly) {
 					// Hide replace part if editor becomes read only
@@ -184,7 +184,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 
 	// ----- React to state changes
 
-	private _onStateChanged(e:FindReplaceStateChangedEvent): void {
+	private _onStateChanged(e: FindReplaceStateChangedEvent): void {
 		if (e.searchString) {
 			this._findInput.setValue(this._state.searchString);
 			this._updateButtons();
@@ -252,11 +252,11 @@ export class FindWidget extends Widget implements IOverlayWidget {
 
 		let label: string;
 		if (this._state.matchesCount > 0) {
-			let matchesCount:string = String(this._state.matchesCount);
+			let matchesCount: string = String(this._state.matchesCount);
 			if (this._state.matchesCount >= MATCHES_LIMIT) {
 				matchesCount += '+';
 			}
-			let matchesPosition:string = String(this._state.matchesPosition);
+			let matchesPosition: string = String(this._state.matchesPosition);
 			if (matchesPosition === '0') {
 				matchesPosition = '?';
 			}
@@ -304,7 +304,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 		this._toggleReplaceBtn.setEnabled(this._isVisible && canReplace);
 	}
 
-	private _reveal(animate:boolean): void {
+	private _reveal(animate: boolean): void {
 		if (!this._isVisible) {
 			this._isVisible = true;
 
@@ -323,7 +323,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 		}
 	}
 
-	private _hide(focusTheEditor:boolean): void {
+	private _hide(focusTheEditor: boolean): void {
 		if (this._isVisible) {
 			this._isVisible = false;
 
@@ -351,7 +351,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 		this._replaceInputBox.focus();
 	}
 
-	private _onFindInputKeyDown(e:IKeyboardEvent): void {
+	private _onFindInputKeyDown(e: IKeyboardEvent): void {
 
 		switch (e.asKeybinding()) {
 			case KeyCode.Enter:
@@ -380,7 +380,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 		}
 	}
 
-	private _onReplaceInputKeyDown(e:IKeyboardEvent): void {
+	private _onReplaceInputKeyDown(e: IKeyboardEvent): void {
 
 		switch (e.asKeybinding()) {
 			case KeyCode.Enter:
@@ -412,7 +412,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 
 	// ----- initialization
 
-	private _keybindingLabelFor(actionId:string): string {
+	private _keybindingLabelFor(actionId: string): string {
 		let keybindings = this._keybindingService.lookupKeybindings(actionId);
 		if (keybindings.length === 0) {
 			return '';
@@ -429,7 +429,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 			appendCaseSensitiveLabel: this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand),
 			appendWholeWordsLabel: this._keybindingLabelFor(FIND_IDS.ToggleWholeWordCommand),
 			appendRegexLabel: this._keybindingLabelFor(FIND_IDS.ToggleRegexCommand),
-			validation: (value:string): InputBoxMessage => {
+			validation: (value: string): InputBoxMessage => {
 				if (value.length === 0) {
 					return null;
 				}
@@ -477,7 +477,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 			onTrigger: () => {
 				this._codeEditor.getAction(FIND_IDS.PreviousMatchFindAction).run().done(null, onUnexpectedError);
 			},
-			onKeyDown: (e) => {}
+			onKeyDown: (e) => { }
 		}));
 
 		// Next button
@@ -487,7 +487,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 			onTrigger: () => {
 				this._codeEditor.getAction(FIND_IDS.NextMatchFindAction).run().done(null, onUnexpectedError);
 			},
-			onKeyDown: (e) => {}
+			onKeyDown: (e) => { }
 		}));
 
 		let findPart = document.createElement('div');
@@ -579,7 +579,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 			onTrigger: () => {
 				this._controller.replaceAll();
 			},
-			onKeyDown: (e) => {}
+			onKeyDown: (e) => { }
 		}));
 
 		let replacePart = document.createElement('div');
@@ -605,7 +605,7 @@ export class FindWidget extends Widget implements IOverlayWidget {
 			onTrigger: () => {
 				this._state.change({ isReplaceRevealed: !this._isReplaceVisible }, false);
 			},
-			onKeyDown: (e) => {}
+			onKeyDown: (e) => { }
 		}));
 		this._toggleReplaceBtn.toggleClass('expand', this._isReplaceVisible);
 		this._toggleReplaceBtn.toggleClass('collapse', !this._isReplaceVisible);
@@ -637,7 +637,7 @@ class SimpleCheckbox extends Widget {
 	private _checkbox: HTMLInputElement;
 	private _label: HTMLLabelElement;
 
-	constructor(opts:ISimpleCheckboxOpts) {
+	constructor(opts: ISimpleCheckboxOpts) {
 		super();
 		this._opts = opts;
 
@@ -673,7 +673,7 @@ class SimpleCheckbox extends Widget {
 		return this._checkbox.checked;
 	}
 
-	public set checked(newValue:boolean) {
+	public set checked(newValue: boolean) {
 		this._checkbox.checked = newValue;
 	}
 
@@ -689,7 +689,7 @@ class SimpleCheckbox extends Widget {
 		this._checkbox.disabled = true;
 	}
 
-	public setEnabled(enabled:boolean): void {
+	public setEnabled(enabled: boolean): void {
 		if (enabled) {
 			this.enable();
 		} else {
@@ -701,8 +701,8 @@ class SimpleCheckbox extends Widget {
 interface ISimpleButtonOpts {
 	label: string;
 	className: string;
-	onTrigger: ()=>void;
-	onKeyDown: (e:IKeyboardEvent)=>void;
+	onTrigger: () => void;
+	onKeyDown: (e: IKeyboardEvent) => void;
 }
 
 class SimpleButton extends Widget {
@@ -710,7 +710,7 @@ class SimpleButton extends Widget {
 	private _opts: ISimpleButtonOpts;
 	private _domNode: HTMLElement;
 
-	constructor(opts:ISimpleButtonOpts) {
+	constructor(opts: ISimpleButtonOpts) {
 		super();
 		this._opts = opts;
 
@@ -747,17 +747,17 @@ class SimpleButton extends Widget {
 		this._domNode.focus();
 	}
 
-	public setEnabled(enabled:boolean): void {
+	public setEnabled(enabled: boolean): void {
 		dom.toggleClass(this._domNode, 'disabled', !enabled);
 		this._domNode.setAttribute('aria-disabled', String(!enabled));
 		this._domNode.tabIndex = enabled ? 0 : -1;
 	}
 
-	public setExpanded(expanded:boolean): void {
+	public setExpanded(expanded: boolean): void {
 		this._domNode.setAttribute('aria-expanded', String(expanded));
 	}
 
-	public toggleClass(className:string, shouldHaveIt:boolean): void {
+	public toggleClass(className: string, shouldHaveIt: boolean): void {
 		dom.toggleClass(this._domNode, className, shouldHaveIt);
 	}
 }
diff --git a/src/vs/editor/contrib/find/common/findController.ts b/src/vs/editor/contrib/find/common/findController.ts
index 4f3319fc4f38f..7524e23644df6 100644
--- a/src/vs/editor/contrib/find/common/findController.ts
+++ b/src/vs/editor/contrib/find/common/findController.ts
@@ -5,19 +5,19 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {HistoryNavigator} from 'vs/base/common/history';
-import {KeyCode, KeyMod, KeyChord} from 'vs/base/common/keyCodes';
-import {Disposable} from 'vs/base/common/lifecycle';
-import {ContextKeyExpr, RawContextKey, IContextKey, IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { HistoryNavigator } from 'vs/base/common/history';
+import { KeyCode, KeyMod, KeyChord } from 'vs/base/common/keyCodes';
+import { Disposable } from 'vs/base/common/lifecycle';
+import { ContextKeyExpr, RawContextKey, IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as strings from 'vs/base/common/strings';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {editorAction, commonEditorContribution, ServicesAccessor, EditorAction, EditorCommand, CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {FIND_IDS, FindModelBoundToEditorModel, ToggleCaseSensitiveKeybinding, ToggleRegexKeybinding, ToggleWholeWordKeybinding, ShowPreviousFindTermKeybinding, ShowNextFindTermKeybinding} from 'vs/editor/contrib/find/common/findModel';
-import {FindReplaceState, FindReplaceStateChangedEvent, INewFindReplaceState} from 'vs/editor/contrib/find/common/findState';
-import {DocumentHighlightProviderRegistry} from 'vs/editor/common/modes';
-import {RunOnceScheduler, Delayer} from 'vs/base/common/async';
+import { editorAction, commonEditorContribution, ServicesAccessor, EditorAction, EditorCommand, CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { FIND_IDS, FindModelBoundToEditorModel, ToggleCaseSensitiveKeybinding, ToggleRegexKeybinding, ToggleWholeWordKeybinding, ShowPreviousFindTermKeybinding, ShowNextFindTermKeybinding } from 'vs/editor/contrib/find/common/findModel';
+import { FindReplaceState, FindReplaceStateChangedEvent, INewFindReplaceState } from 'vs/editor/contrib/find/common/findState';
+import { DocumentHighlightProviderRegistry } from 'vs/editor/common/modes';
+import { RunOnceScheduler, Delayer } from 'vs/base/common/async';
 
 import EditorContextKeys = editorCommon.EditorContextKeys;
 
diff --git a/src/vs/editor/contrib/find/common/findDecorations.ts b/src/vs/editor/contrib/find/common/findDecorations.ts
index d1e853f2d2d83..599e3d04c2754 100644
--- a/src/vs/editor/contrib/find/common/findDecorations.ts
+++ b/src/vs/editor/contrib/find/common/findDecorations.ts
@@ -4,21 +4,21 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
 
 export class FindDecorations implements IDisposable {
 
-	private _editor:editorCommon.ICommonCodeEditor;
-	private _decorations:string[];
-	private _findScopeDecorationId:string;
-	private _rangeHighlightDecorationId:string;
-	private _highlightedDecorationId:string;
-	private _startPosition:Position;
+	private _editor: editorCommon.ICommonCodeEditor;
+	private _decorations: string[];
+	private _findScopeDecorationId: string;
+	private _rangeHighlightDecorationId: string;
+	private _highlightedDecorationId: string;
+	private _startPosition: Position;
 
-	constructor(editor:editorCommon.ICommonCodeEditor) {
+	constructor(editor: editorCommon.ICommonCodeEditor) {
 		this._editor = editor;
 		this._decorations = [];
 		this._findScopeDecorationId = null;
@@ -60,12 +60,12 @@ export class FindDecorations implements IDisposable {
 		return this._startPosition;
 	}
 
-	public setStartPosition(newStartPosition:Position): void {
+	public setStartPosition(newStartPosition: Position): void {
 		this._startPosition = newStartPosition;
 		this.setCurrentFindMatch(null);
 	}
 
-	public getCurrentMatchesPosition(desiredRange:Range): number {
+	public getCurrentMatchesPosition(desiredRange: Range): number {
 		for (let i = 0, len = this._decorations.length; i < len; i++) {
 			let range = this._editor.getModel().getDecorationRange(this._decorations[i]);
 			if (desiredRange.equalsRange(range)) {
@@ -75,7 +75,7 @@ export class FindDecorations implements IDisposable {
 		return 1;
 	}
 
-	public setCurrentFindMatch(nextMatch:Range): number {
+	public setCurrentFindMatch(nextMatch: Range): number {
 		let newCurrentDecorationId: string = null;
 		let matchPosition = 0;
 		if (nextMatch) {
@@ -113,7 +113,7 @@ export class FindDecorations implements IDisposable {
 		return matchPosition;
 	}
 
-	public set(matches:Range[], findScope:Range): void {
+	public set(matches: Range[], findScope: Range): void {
 		let newDecorations: editorCommon.IModelDeltaDecoration[] = matches.map((match) => {
 			return {
 				range: match,
@@ -139,7 +139,7 @@ export class FindDecorations implements IDisposable {
 	}
 
 	private _allDecorations(): string[] {
-		let result:string[] = [];
+		let result: string[] = [];
 		result = result.concat(this._decorations);
 		if (this._findScopeDecorationId) {
 			result.push(this._findScopeDecorationId);
@@ -150,7 +150,7 @@ export class FindDecorations implements IDisposable {
 		return result;
 	}
 
-	private static createFindMatchDecorationOptions(isCurrent:boolean): editorCommon.IModelDecorationOptions {
+	private static createFindMatchDecorationOptions(isCurrent: boolean): editorCommon.IModelDecorationOptions {
 		return {
 			stickiness: editorCommon.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
 			className: isCurrent ? 'currentFindMatch' : 'findMatch',
diff --git a/src/vs/editor/contrib/find/common/findModel.ts b/src/vs/editor/contrib/find/common/findModel.ts
index 184262502a83e..9fff3acac845c 100644
--- a/src/vs/editor/contrib/find/common/findModel.ts
+++ b/src/vs/editor/contrib/find/common/findModel.ts
@@ -4,20 +4,20 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {ReplacePattern} from 'vs/platform/search/common/replace';
-import {ReplaceCommand} from 'vs/editor/common/commands/replaceCommand';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { ReplacePattern } from 'vs/platform/search/common/replace';
+import { ReplaceCommand } from 'vs/editor/common/commands/replaceCommand';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {TextModel} from 'vs/editor/common/model/textModel';
-import {FindDecorations} from './findDecorations';
-import {FindReplaceState, FindReplaceStateChangedEvent} from './findState';
-import {ReplaceAllCommand} from './replaceAllCommand';
-import {Selection} from 'vs/editor/common/core/selection';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {IKeybindings} from 'vs/platform/keybinding/common/keybinding';
+import { TextModel } from 'vs/editor/common/model/textModel';
+import { FindDecorations } from './findDecorations';
+import { FindReplaceState, FindReplaceStateChangedEvent } from './findState';
+import { ReplaceAllCommand } from './replaceAllCommand';
+import { Selection } from 'vs/editor/common/core/selection';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { IKeybindings } from 'vs/platform/keybinding/common/keybinding';
 
 export const ToggleCaseSensitiveKeybinding: IKeybindings = {
 	primary: KeyMod.Alt | KeyCode.KEY_C,
diff --git a/src/vs/editor/contrib/find/common/findState.ts b/src/vs/editor/contrib/find/common/findState.ts
index 517fc5e0352db..155a097c9582c 100644
--- a/src/vs/editor/contrib/find/common/findState.ts
+++ b/src/vs/editor/contrib/find/common/findState.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {Range} from 'vs/editor/common/core/range';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { Range } from 'vs/editor/common/core/range';
 
 export interface FindReplaceStateChangedEvent {
 	moveCursor: boolean;
@@ -84,12 +84,12 @@ export class FindReplaceState implements IDisposable {
 		this._eventEmitter.dispose();
 	}
 
-	public addChangeListener(listener:(e:FindReplaceStateChangedEvent)=>void): IDisposable {
+	public addChangeListener(listener: (e: FindReplaceStateChangedEvent) => void): IDisposable {
 		return this._eventEmitter.addListener2(FindReplaceState._CHANGED_EVENT, listener);
 	}
 
-	public changeMatchInfo(matchesPosition:number, matchesCount:number, currentMatch:Range): void {
-		let changeEvent:FindReplaceStateChangedEvent = {
+	public changeMatchInfo(matchesPosition: number, matchesCount: number, currentMatch: Range): void {
+		let changeEvent: FindReplaceStateChangedEvent = {
 			moveCursor: false,
 			updateHistory: false,
 			searchString: false,
@@ -137,8 +137,8 @@ export class FindReplaceState implements IDisposable {
 		}
 	}
 
-	public change(newState:INewFindReplaceState, moveCursor:boolean, updateHistory: boolean = true): void {
-		let changeEvent:FindReplaceStateChangedEvent = {
+	public change(newState: INewFindReplaceState, moveCursor: boolean, updateHistory: boolean = true): void {
+		let changeEvent: FindReplaceStateChangedEvent = {
 			moveCursor: moveCursor,
 			updateHistory: updateHistory,
 			searchString: false,
diff --git a/src/vs/editor/contrib/find/common/replaceAllCommand.ts b/src/vs/editor/contrib/find/common/replaceAllCommand.ts
index dce29f4074f9a..b5191bd5a7694 100644
--- a/src/vs/editor/contrib/find/common/replaceAllCommand.ts
+++ b/src/vs/editor/contrib/find/common/replaceAllCommand.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
 
 interface IEditOperation {
-	range:Range;
-	text:string;
+	range: Range;
+	text: string;
 }
 
 export class ReplaceAllCommand implements editorCommon.ICommand {
@@ -20,16 +20,16 @@ export class ReplaceAllCommand implements editorCommon.ICommand {
 	private _ranges: Range[];
 	private _replaceStrings: string[];
 
-	constructor(editorSelection:Selection, ranges: Range[], replaceStrings:string[]) {
+	constructor(editorSelection: Selection, ranges: Range[], replaceStrings: string[]) {
 		this._editorSelection = editorSelection;
 		this._ranges = ranges;
 		this._replaceStrings = replaceStrings;
 	}
 
-	public getEditOperations(model:editorCommon.ITokenizedModel, builder:editorCommon.IEditOperationBuilder): void {
+	public getEditOperations(model: editorCommon.ITokenizedModel, builder: editorCommon.IEditOperationBuilder): void {
 		if (this._ranges.length > 0) {
 			// Collect all edit operations
-			var ops:IEditOperation[] = [];
+			var ops: IEditOperation[] = [];
 			for (var i = 0; i < this._ranges.length; i++) {
 				ops.push({
 					range: this._ranges[i],
@@ -43,7 +43,7 @@ export class ReplaceAllCommand implements editorCommon.ICommand {
 			});
 
 			// Merge operations that touch each other
-			var resultOps:IEditOperation[] = [];
+			var resultOps: IEditOperation[] = [];
 			var previousOp = ops[0];
 			for (var i = 1; i < ops.length; i++) {
 				if (previousOp.range.endLineNumber === ops[i].range.startLineNumber && previousOp.range.endColumn === ops[i].range.startColumn) {
@@ -65,7 +65,7 @@ export class ReplaceAllCommand implements editorCommon.ICommand {
 		this._trackedEditorSelectionId = builder.trackSelection(this._editorSelection);
 	}
 
-	public computeCursorState(model:editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
+	public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
 		return helper.getTrackedSelection(this._trackedEditorSelectionId);
 	}
 }
diff --git a/src/vs/editor/contrib/find/test/common/findController.test.ts b/src/vs/editor/contrib/find/test/common/findController.test.ts
index 8ea94d729f819..4225d6410b28d 100644
--- a/src/vs/editor/contrib/find/test/common/findController.test.ts
+++ b/src/vs/editor/contrib/find/test/common/findController.test.ts
@@ -5,24 +5,24 @@
 'use strict';
 
 import * as assert from 'assert';
-import {EditOperation} from 'vs/editor/common/core/editOperation';
-import {Position} from 'vs/editor/common/core/position';
-import {Selection} from 'vs/editor/common/core/selection';
-import {Range} from 'vs/editor/common/core/range';
-import {IRange} from 'vs/editor/common/editorCommon';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
+import { Position } from 'vs/editor/common/core/position';
+import { Selection } from 'vs/editor/common/core/selection';
+import { Range } from 'vs/editor/common/core/range';
+import { IRange } from 'vs/editor/common/editorCommon';
 import {
 	CommonFindController, FindStartFocusAction, IFindStartOptions,
 	NextMatchFindAction, StartFindAction, SelectHighlightsAction
 } from 'vs/editor/contrib/find/common/findController';
-import {withMockCodeEditor} from 'vs/editor/test/common/mocks/mockCodeEditor';
-import {HistoryNavigator} from 'vs/base/common/history';
+import { withMockCodeEditor } from 'vs/editor/test/common/mocks/mockCodeEditor';
+import { HistoryNavigator } from 'vs/base/common/history';
 
 class TestFindController extends CommonFindController {
 
 	public hasFocus: boolean;
 	public delayUpdateHistory: boolean = false;
 
-	protected _start(opts:IFindStartOptions): void {
+	protected _start(opts: IFindStartOptions): void {
 		super._start(opts);
 
 		if (opts.shouldFocus !== FindStartFocusAction.NoFocusChange) {
@@ -41,7 +41,7 @@ class TestFindController extends CommonFindController {
 
 suite('FindController', () => {
 
-	function fromRange(rng:IRange): number[] {
+	function fromRange(rng: IRange): number[] {
 		return [rng.startLineNumber, rng.startColumn, rng.endLineNumber, rng.endColumn];
 	}
 
@@ -236,7 +236,7 @@ suite('FindController', () => {
 			findController.getState().change({ searchString: '2' }, false);
 			findController.getState().change({ searchString: '3' }, false);
 
-			setTimeout(function() {
+			setTimeout(function () {
 				assert.deepEqual(['3'], toArray(findController.getHistory()));
 				done();
 			}, 500);
diff --git a/src/vs/editor/contrib/find/test/common/findModel.test.ts b/src/vs/editor/contrib/find/test/common/findModel.test.ts
index 9d36ef7553c7f..266f7bba7903f 100644
--- a/src/vs/editor/contrib/find/test/common/findModel.test.ts
+++ b/src/vs/editor/contrib/find/test/common/findModel.test.ts
@@ -5,18 +5,18 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Cursor} from 'vs/editor/common/controller/cursor';
-import {Position} from 'vs/editor/common/core/position';
-import {Selection} from 'vs/editor/common/core/selection';
-import {Range} from 'vs/editor/common/core/range';
-import {Handler, ICommonCodeEditor, IRange} from 'vs/editor/common/editorCommon';
-import {FindModelBoundToEditorModel} from 'vs/editor/contrib/find/common/findModel';
-import {FindReplaceState} from 'vs/editor/contrib/find/common/findState';
-import {withMockCodeEditor} from 'vs/editor/test/common/mocks/mockCodeEditor';
+import { Cursor } from 'vs/editor/common/controller/cursor';
+import { Position } from 'vs/editor/common/core/position';
+import { Selection } from 'vs/editor/common/core/selection';
+import { Range } from 'vs/editor/common/core/range';
+import { Handler, ICommonCodeEditor, IRange } from 'vs/editor/common/editorCommon';
+import { FindModelBoundToEditorModel } from 'vs/editor/contrib/find/common/findModel';
+import { FindReplaceState } from 'vs/editor/contrib/find/common/findState';
+import { withMockCodeEditor } from 'vs/editor/test/common/mocks/mockCodeEditor';
 
 suite('FindModel', () => {
 
-	function findTest(testName:string, callback:(editor:ICommonCodeEditor, cursor:Cursor)=>void): void {
+	function findTest(testName: string, callback: (editor: ICommonCodeEditor, cursor: Cursor) => void): void {
 		test(testName, () => {
 			withMockCodeEditor([
 				'// my cool header',
@@ -35,11 +35,11 @@ suite('FindModel', () => {
 		});
 	}
 
-	function fromRange(rng:IRange): number[] {
+	function fromRange(rng: IRange): number[] {
 		return [rng.startLineNumber, rng.startColumn, rng.endLineNumber, rng.endColumn];
 	}
 
-	function _getFindState(editor:ICommonCodeEditor) {
+	function _getFindState(editor: ICommonCodeEditor) {
 		let model = editor.getModel();
 		let currentFindMatches: IRange[] = [];
 		let allFindMatches: IRange[] = [];
@@ -62,18 +62,18 @@ suite('FindModel', () => {
 		};
 	}
 
-	function assertFindState(editor:ICommonCodeEditor, cursor:number[], highlighted:number[], findDecorations:number[][]): void {
+	function assertFindState(editor: ICommonCodeEditor, cursor: number[], highlighted: number[], findDecorations: number[][]): void {
 		assert.deepEqual(fromRange(editor.getSelection()), cursor, 'cursor');
 
 		let expectedState = {
-			highlighted: highlighted ? [ highlighted ] : [],
+			highlighted: highlighted ? [highlighted] : [],
 			findDecorations: findDecorations
 		};
 		assert.deepEqual(_getFindState(editor), expectedState, 'state');
 	}
 
 	findTest('incremental find from beginning of file', (editor, cursor) => {
-		editor.setPosition({ lineNumber: 1, column: 1});
+		editor.setPosition({ lineNumber: 1, column: 1 });
 		let findState = new FindReplaceState();
 		let findModel = new FindModelBoundToEditorModel(editor, findState);
 
@@ -192,7 +192,7 @@ suite('FindModel', () => {
 		);
 
 		// simulate adding a search scope
-		findState.change({ searchScope: new Range(8,1,10,1) }, true);
+		findState.change({ searchScope: new Range(8, 1, 10, 1) }, true);
 		assertFindState(
 			editor,
 			[8, 14, 8, 19],
@@ -425,7 +425,7 @@ suite('FindModel', () => {
 
 	findTest('find model next stays in scope', (editor, cursor) => {
 		let findState = new FindReplaceState();
-		findState.change({ searchString: 'hello', wholeWord: true, searchScope: new Range(7,1,9,1) }, false);
+		findState.change({ searchString: 'hello', wholeWord: true, searchScope: new Range(7, 1, 9, 1) }, false);
 		let findModel = new FindModelBoundToEditorModel(editor, findState);
 
 		assertFindState(
@@ -563,7 +563,7 @@ suite('FindModel', () => {
 
 	findTest('find model prev stays in scope', (editor, cursor) => {
 		let findState = new FindReplaceState();
-		findState.change({ searchString: 'hello', wholeWord: true, searchScope: new Range(7,1,9,1) }, false);
+		findState.change({ searchString: 'hello', wholeWord: true, searchScope: new Range(7, 1, 9, 1) }, false);
 		let findModel = new FindModelBoundToEditorModel(editor, findState);
 
 		assertFindState(
@@ -919,15 +919,15 @@ suite('FindModel', () => {
 			[1, 1, 1, 1],
 			null,
 			[
-				[ 1, 1,  1, 18],
-				[ 2, 1,  2, 18],
-				[ 3, 1,  3, 20],
-				[ 4, 1,  4, 1],
-				[ 5, 1,  5, 13],
-				[ 6, 1,  6, 43],
-				[ 7, 1,  7, 41],
-				[ 8, 1,  8, 41],
-				[ 9, 1,  9, 40],
+				[1, 1, 1, 18],
+				[2, 1, 2, 18],
+				[3, 1, 3, 20],
+				[4, 1, 4, 1],
+				[5, 1, 5, 13],
+				[6, 1, 6, 43],
+				[7, 1, 7, 41],
+				[8, 1, 8, 41],
+				[9, 1, 9, 40],
 				[10, 1, 10, 2],
 				[11, 1, 11, 17],
 				[12, 1, 12, 1],
@@ -948,15 +948,15 @@ suite('FindModel', () => {
 			[1, 1, 1, 1],
 			null,
 			[
-				[ 1, 1,  1, 18],
-				[ 2, 1,  2, 18],
-				[ 3, 1,  3, 20],
-				[ 4, 1,  4, 1],
-				[ 5, 1,  5, 13],
-				[ 6, 1,  6, 43],
-				[ 7, 1,  7, 41],
-				[ 8, 1,  8, 41],
-				[ 9, 1,  9, 40],
+				[1, 1, 1, 18],
+				[2, 1, 2, 18],
+				[3, 1, 3, 20],
+				[4, 1, 4, 1],
+				[5, 1, 5, 13],
+				[6, 1, 6, 43],
+				[7, 1, 7, 41],
+				[8, 1, 8, 41],
+				[9, 1, 9, 40],
 				[10, 1, 10, 2],
 				[11, 1, 11, 17],
 				[12, 1, 12, 1],
@@ -966,18 +966,18 @@ suite('FindModel', () => {
 		findModel.moveToNextMatch();
 		assertFindState(
 			editor,
-			[ 1, 1,  1, 18],
-			[ 1, 1,  1, 18],
+			[1, 1, 1, 18],
+			[1, 1, 1, 18],
 			[
-				[ 1, 1,  1, 18],
-				[ 2, 1,  2, 18],
-				[ 3, 1,  3, 20],
-				[ 4, 1,  4, 1],
-				[ 5, 1,  5, 13],
-				[ 6, 1,  6, 43],
-				[ 7, 1,  7, 41],
-				[ 8, 1,  8, 41],
-				[ 9, 1,  9, 40],
+				[1, 1, 1, 18],
+				[2, 1, 2, 18],
+				[3, 1, 3, 20],
+				[4, 1, 4, 1],
+				[5, 1, 5, 13],
+				[6, 1, 6, 43],
+				[7, 1, 7, 41],
+				[8, 1, 8, 41],
+				[9, 1, 9, 40],
 				[10, 1, 10, 2],
 				[11, 1, 11, 17],
 				[12, 1, 12, 1],
@@ -987,18 +987,18 @@ suite('FindModel', () => {
 		findModel.moveToNextMatch();
 		assertFindState(
 			editor,
-			[ 2, 1,  2, 18],
-			[ 2, 1,  2, 18],
+			[2, 1, 2, 18],
+			[2, 1, 2, 18],
 			[
-				[ 1, 1,  1, 18],
-				[ 2, 1,  2, 18],
-				[ 3, 1,  3, 20],
-				[ 4, 1,  4, 1],
-				[ 5, 1,  5, 13],
-				[ 6, 1,  6, 43],
-				[ 7, 1,  7, 41],
-				[ 8, 1,  8, 41],
-				[ 9, 1,  9, 40],
+				[1, 1, 1, 18],
+				[2, 1, 2, 18],
+				[3, 1, 3, 20],
+				[4, 1, 4, 1],
+				[5, 1, 5, 13],
+				[6, 1, 6, 43],
+				[7, 1, 7, 41],
+				[8, 1, 8, 41],
+				[9, 1, 9, 40],
 				[10, 1, 10, 2],
 				[11, 1, 11, 17],
 				[12, 1, 12, 1],
@@ -1019,15 +1019,15 @@ suite('FindModel', () => {
 			[1, 1, 1, 1],
 			null,
 			[
-				[ 1, 1,  1, 18],
-				[ 2, 1,  2, 18],
-				[ 3, 1,  3, 20],
-				[ 4, 1,  4, 1],
-				[ 5, 1,  5, 13],
-				[ 6, 1,  6, 43],
-				[ 7, 1,  7, 41],
-				[ 8, 1,  8, 41],
-				[ 9, 1,  9, 40],
+				[1, 1, 1, 18],
+				[2, 1, 2, 18],
+				[3, 1, 3, 20],
+				[4, 1, 4, 1],
+				[5, 1, 5, 13],
+				[6, 1, 6, 43],
+				[7, 1, 7, 41],
+				[8, 1, 8, 41],
+				[9, 1, 9, 40],
 				[10, 1, 10, 2],
 				[11, 1, 11, 17],
 				[12, 1, 12, 1],
@@ -1040,15 +1040,15 @@ suite('FindModel', () => {
 			[12, 1, 12, 1],
 			[12, 1, 12, 1],
 			[
-				[ 1, 1,  1, 18],
-				[ 2, 1,  2, 18],
-				[ 3, 1,  3, 20],
-				[ 4, 1,  4, 1],
-				[ 5, 1,  5, 13],
-				[ 6, 1,  6, 43],
-				[ 7, 1,  7, 41],
-				[ 8, 1,  8, 41],
-				[ 9, 1,  9, 40],
+				[1, 1, 1, 18],
+				[2, 1, 2, 18],
+				[3, 1, 3, 20],
+				[4, 1, 4, 1],
+				[5, 1, 5, 13],
+				[6, 1, 6, 43],
+				[7, 1, 7, 41],
+				[8, 1, 8, 41],
+				[9, 1, 9, 40],
 				[10, 1, 10, 2],
 				[11, 1, 11, 17],
 				[12, 1, 12, 1],
@@ -1061,15 +1061,15 @@ suite('FindModel', () => {
 			[11, 1, 11, 17],
 			[11, 1, 11, 17],
 			[
-				[ 1, 1,  1, 18],
-				[ 2, 1,  2, 18],
-				[ 3, 1,  3, 20],
-				[ 4, 1,  4, 1],
-				[ 5, 1,  5, 13],
-				[ 6, 1,  6, 43],
-				[ 7, 1,  7, 41],
-				[ 8, 1,  8, 41],
-				[ 9, 1,  9, 40],
+				[1, 1, 1, 18],
+				[2, 1, 2, 18],
+				[3, 1, 3, 20],
+				[4, 1, 4, 1],
+				[5, 1, 5, 13],
+				[6, 1, 6, 43],
+				[7, 1, 7, 41],
+				[8, 1, 8, 41],
+				[9, 1, 9, 40],
 				[10, 1, 10, 2],
 				[11, 1, 11, 17],
 				[12, 1, 12, 1],
@@ -1220,7 +1220,7 @@ suite('FindModel', () => {
 			editor,
 			[6, 16, 6, 16],
 			null,
-			[ ]
+			[]
 		);
 		assert.equal(editor.getModel().getLineContent(6), '    cout << "hi world, hi!" << endl;');
 
@@ -1331,7 +1331,7 @@ suite('FindModel', () => {
 			editor,
 			[6, 17, 6, 17],
 			null,
-			[ ]
+			[]
 		);
 		assert.equal(editor.getModel().getLineContent(6), '    cout << "hi world, hi!" << endl;');
 		assert.equal(editor.getModel().getLineContent(7), '    cout << "hi world again" << endl;');
@@ -1625,7 +1625,7 @@ suite('FindModel', () => {
 
 	findTest('replace when search string has look ahed regex', (editor, cursor) => {
 		let findState = new FindReplaceState();
-		findState.change({ searchString: 'hello(?=\\sworld)', replaceString: 'hi', isRegex:true }, false);
+		findState.change({ searchString: 'hello(?=\\sworld)', replaceString: 'hi', isRegex: true }, false);
 		let findModel = new FindModelBoundToEditorModel(editor, findState);
 
 		assertFindState(
@@ -1681,7 +1681,7 @@ suite('FindModel', () => {
 			editor,
 			[8, 16, 8, 16],
 			null,
-			[ ]
+			[]
 		);
 		assert.equal(editor.getModel().getLineContent(8), '    cout << "hi world again" << endl;');
 
@@ -1691,7 +1691,7 @@ suite('FindModel', () => {
 
 	findTest('replace when search string has look ahed regex and cursor is at the last find match', (editor, cursor) => {
 		let findState = new FindReplaceState();
-		findState.change({ searchString: 'hello(?=\\sworld)', replaceString: 'hi', isRegex:true }, false);
+		findState.change({ searchString: 'hello(?=\\sworld)', replaceString: 'hi', isRegex: true }, false);
 		let findModel = new FindModelBoundToEditorModel(editor, findState);
 
 		cursor.trigger('mouse', Handler.MoveTo, {
@@ -1752,7 +1752,7 @@ suite('FindModel', () => {
 			editor,
 			[7, 16, 7, 16],
 			null,
-			[ ]
+			[]
 		);
 		assert.equal(editor.getModel().getLineContent(7), '    cout << "hi world again" << endl;');
 
@@ -1762,7 +1762,7 @@ suite('FindModel', () => {
 
 	findTest('replaceAll when search string has look ahed regex', (editor, cursor) => {
 		let findState = new FindReplaceState();
-		findState.change({ searchString: 'hello(?=\\sworld)', replaceString: 'hi', isRegex:true }, false);
+		findState.change({ searchString: 'hello(?=\\sworld)', replaceString: 'hi', isRegex: true }, false);
 		let findModel = new FindModelBoundToEditorModel(editor, findState);
 
 		assertFindState(
@@ -1786,7 +1786,7 @@ suite('FindModel', () => {
 			editor,
 			[1, 1, 1, 1],
 			null,
-			[ ]
+			[]
 		);
 
 		findModel.dispose();
@@ -1795,7 +1795,7 @@ suite('FindModel', () => {
 
 	findTest('replace when search string has look ahed regex and replace string has capturing groups', (editor, cursor) => {
 		let findState = new FindReplaceState();
-		findState.change({ searchString: 'hel(lo)(?=\\sworld)', replaceString: 'hi$1', isRegex:true }, false);
+		findState.change({ searchString: 'hel(lo)(?=\\sworld)', replaceString: 'hi$1', isRegex: true }, false);
 		let findModel = new FindModelBoundToEditorModel(editor, findState);
 
 		assertFindState(
@@ -1851,7 +1851,7 @@ suite('FindModel', () => {
 			editor,
 			[8, 18, 8, 18],
 			null,
-			[ ]
+			[]
 		);
 		assert.equal(editor.getModel().getLineContent(8), '    cout << "hilo world again" << endl;');
 
@@ -1861,7 +1861,7 @@ suite('FindModel', () => {
 
 	findTest('replaceAll when search string has look ahed regex and replace string has capturing groups', (editor, cursor) => {
 		let findState = new FindReplaceState();
-		findState.change({ searchString: 'wo(rl)d(?=.*;$)', replaceString: 'gi$1', isRegex:true }, false);
+		findState.change({ searchString: 'wo(rl)d(?=.*;$)', replaceString: 'gi$1', isRegex: true }, false);
 		let findModel = new FindModelBoundToEditorModel(editor, findState);
 
 		assertFindState(
@@ -1887,7 +1887,7 @@ suite('FindModel', () => {
 			editor,
 			[1, 1, 1, 1],
 			null,
-			[ ]
+			[]
 		);
 
 		findModel.dispose();
@@ -1896,7 +1896,7 @@ suite('FindModel', () => {
 
 	findTest('replaceAll when search string is multiline and has look ahed regex and replace string has capturing groups', (editor, cursor) => {
 		let findState = new FindReplaceState();
-		findState.change({ searchString: 'wo(rl)d(.*;\\n)(?=.*hello)', replaceString: 'gi$1$2', isRegex:true, matchCase:true }, false);
+		findState.change({ searchString: 'wo(rl)d(.*;\\n)(?=.*hello)', replaceString: 'gi$1$2', isRegex: true, matchCase: true }, false);
 		let findModel = new FindModelBoundToEditorModel(editor, findState);
 
 		assertFindState(
@@ -1918,7 +1918,7 @@ suite('FindModel', () => {
 			editor,
 			[1, 1, 1, 1],
 			null,
-			[ ]
+			[]
 		);
 
 		findModel.dispose();
diff --git a/src/vs/editor/contrib/folding/browser/folding.ts b/src/vs/editor/contrib/folding/browser/folding.ts
index 505fa62b006c4..a2be146d2d039 100644
--- a/src/vs/editor/contrib/folding/browser/folding.ts
+++ b/src/vs/editor/contrib/folding/browser/folding.ts
@@ -8,18 +8,18 @@
 
 import * as nls from 'vs/nls';
 import * as types from 'vs/base/common/types';
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {KeyCode, KeyMod, KeyChord} from 'vs/base/common/keyCodes';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { KeyCode, KeyMod, KeyChord } from 'vs/base/common/keyCodes';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Range} from 'vs/editor/common/core/range';
-import {editorAction, ServicesAccessor, EditorAction, CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {ICodeEditor, IEditorMouseEvent} from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
-import {CollapsibleRegion, getCollapsibleRegionsToFoldAtLine, getCollapsibleRegionsToUnfoldAtLine, doesLineBelongsToCollapsibleRegion, IFoldingRange} from 'vs/editor/contrib/folding/common/foldingModel';
-import {computeRanges, limitByIndent} from 'vs/editor/contrib/folding/common/indentFoldStrategy';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Range } from 'vs/editor/common/core/range';
+import { editorAction, ServicesAccessor, EditorAction, CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { ICodeEditor, IEditorMouseEvent } from 'vs/editor/browser/editorBrowser';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
+import { CollapsibleRegion, getCollapsibleRegionsToFoldAtLine, getCollapsibleRegionsToUnfoldAtLine, doesLineBelongsToCollapsibleRegion, IFoldingRange } from 'vs/editor/contrib/folding/common/foldingModel';
+import { computeRanges, limitByIndent } from 'vs/editor/contrib/folding/common/indentFoldStrategy';
+import { Selection } from 'vs/editor/common/core/selection';
 
 import EditorContextKeys = editorCommon.EditorContextKeys;
 
@@ -29,7 +29,7 @@ export class FoldingController implements editorCommon.IEditorContribution {
 	private static ID = 'editor.contrib.folding';
 	static MAX_FOLDING_REGIONS = 5000;
 
-	public static get(editor:editorCommon.ICommonCodeEditor): FoldingController {
+	public static get(editor: editorCommon.ICommonCodeEditor): FoldingController {
 		return editor.getContribution<FoldingController>(FoldingController.ID);
 	}
 
@@ -44,7 +44,7 @@ export class FoldingController implements editorCommon.IEditorContribution {
 
 	private decorations: CollapsibleRegion[];
 
-	constructor(editor:ICodeEditor) {
+	constructor(editor: ICodeEditor) {
 		this.editor = editor;
 		this._isEnabled = this.editor.getConfiguration().contribInfo.folding;
 
@@ -82,12 +82,12 @@ export class FoldingController implements editorCommon.IEditorContribution {
 		if (!model) {
 			return {};
 		}
-		var collapsedRegions : IFoldingRange[] = [];
+		var collapsedRegions: IFoldingRange[] = [];
 		this.decorations.forEach(d => {
 			if (d.isCollapsed) {
 				var range = d.getDecorationRange(model);
 				if (range) {
-					collapsedRegions.push({ startLineNumber: range.startLineNumber, endLineNumber: range.endLineNumber, indent: d.indent, isCollapsed: true});
+					collapsedRegions.push({ startLineNumber: range.startLineNumber, endLineNumber: range.endLineNumber, indent: d.indent, isCollapsed: true });
 				}
 			}
 		});
@@ -108,7 +108,7 @@ export class FoldingController implements editorCommon.IEditorContribution {
 		if (!state || !Array.isArray(state.collapsedRegions) || state.collapsedRegions.length === 0 || state.lineCount !== model.getLineCount()) {
 			return;
 		}
-		this.applyRegions(<IFoldingRange[]> state.collapsedRegions);
+		this.applyRegions(<IFoldingRange[]>state.collapsedRegions);
 	}
 
 	private cleanState(): void {
@@ -125,7 +125,7 @@ export class FoldingController implements editorCommon.IEditorContribution {
 
 		this.editor.changeDecorations(changeAccessor => {
 
-			let newDecorations : CollapsibleRegion[] = [];
+			let newDecorations: CollapsibleRegion[] = [];
 
 			let k = 0, i = 0;
 			while (i < this.decorations.length && k < regions.length) {
@@ -208,15 +208,17 @@ export class FoldingController implements editorCommon.IEditorContribution {
 		this.localToDispose.push(this.editor.onDidChangeModelContent(() => {
 			this.contentChangedScheduler.schedule();
 		}));
-		this.localToDispose.push({ dispose: () => {
-			++this.computeToken;
-			this.editor.changeDecorations(changeAccessor => {
-				this.decorations.forEach(dec => dec.dispose(changeAccessor));
+		this.localToDispose.push({
+			dispose: () => {
+				++this.computeToken;
+				this.editor.changeDecorations(changeAccessor => {
+					this.decorations.forEach(dec => dec.dispose(changeAccessor));
 
-			});
-			this.decorations = [];
-			this.editor.setHiddenAreas([]);
-		}});
+				});
+				this.decorations = [];
+				this.editor.setHiddenAreas([]);
+			}
+		});
 		this.localToDispose.push(this.editor.onMouseDown(e => this.onEditorMouseDown(e)));
 		this.localToDispose.push(this.editor.onMouseUp(e => this.onEditorMouseUp(e)));
 		this.localToDispose.push(this.editor.onDidChangeCursorPosition(e => {
@@ -298,7 +300,7 @@ export class FoldingController implements editorCommon.IEditorContribution {
 				return;
 		}
 
-		this.mouseDownInfo = { lineNumber: range.startLineNumber, iconClicked};
+		this.mouseDownInfo = { lineNumber: range.startLineNumber, iconClicked };
 	}
 
 	private onEditorMouseUp(e: IEditorMouseEvent): void {
@@ -342,7 +344,7 @@ export class FoldingController implements editorCommon.IEditorContribution {
 
 	private updateHiddenAreas(focusLine: number): void {
 		let model = this.editor.getModel();
-		var selections : Selection[] = this.editor.getSelections();
+		var selections: Selection[] = this.editor.getSelections();
 		var updateSelections = false;
 		let hiddenAreas: editorCommon.IRange[] = [];
 		this.decorations.filter(dec => dec.isCollapsed).forEach(dec => {
@@ -478,7 +480,7 @@ export class FoldingController implements editorCommon.IEditorContribution {
 
 	public foldLevel(foldLevel: number, selectedLineNumbers: number[]): void {
 		let model = this.editor.getModel();
-		let foldingRegionStack: Range[] = [ model.getFullModelRange() ]; // sentinel
+		let foldingRegionStack: Range[] = [model.getFullModelRange()]; // sentinel
 
 		let hasChanges = false;
 		this.editor.changeDecorations(changeAccessor => {
@@ -504,9 +506,9 @@ export class FoldingController implements editorCommon.IEditorContribution {
 
 abstract class FoldingAction<T> extends EditorAction {
 
-	abstract invoke(foldingController: FoldingController, editor:editorCommon.ICommonCodeEditor, args:T): void;
+	abstract invoke(foldingController: FoldingController, editor: editorCommon.ICommonCodeEditor, args: T): void;
 
-	public runEditorCommand(accessor:ServicesAccessor, editor: editorCommon.ICommonCodeEditor, args: T): void | TPromise<void> {
+	public runEditorCommand(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor, args: T): void | TPromise<void> {
 		let foldingController = FoldingController.get(editor);
 		if (!foldingController) {
 			return;
@@ -590,7 +592,7 @@ class UnFoldRecursivelyAction extends FoldingAction<void> {
 		});
 	}
 
-	invoke(foldingController: FoldingController, editor:editorCommon.ICommonCodeEditor, args:any): void {
+	invoke(foldingController: FoldingController, editor: editorCommon.ICommonCodeEditor, args: any): void {
 		foldingController.foldUnfoldRecursively(false);
 	}
 }
@@ -646,7 +648,7 @@ class FoldRecursivelyAction extends FoldingAction<void> {
 		});
 	}
 
-	invoke(foldingController: FoldingController, editor:editorCommon.ICommonCodeEditor): void {
+	invoke(foldingController: FoldingController, editor: editorCommon.ICommonCodeEditor): void {
 		foldingController.foldUnfoldRecursively(true);
 	}
 }
@@ -667,7 +669,7 @@ class FoldAllAction extends FoldingAction<void> {
 		});
 	}
 
-	invoke(foldingController: FoldingController, editor:editorCommon.ICommonCodeEditor): void {
+	invoke(foldingController: FoldingController, editor: editorCommon.ICommonCodeEditor): void {
 		foldingController.changeAll(true);
 	}
 }
@@ -688,24 +690,24 @@ class UnfoldAllAction extends FoldingAction<void> {
 		});
 	}
 
-	invoke(foldingController: FoldingController, editor:editorCommon.ICommonCodeEditor): void {
+	invoke(foldingController: FoldingController, editor: editorCommon.ICommonCodeEditor): void {
 		foldingController.changeAll(false);
 	}
 }
 
 class FoldLevelAction extends FoldingAction<void> {
 	private static ID_PREFIX = 'editor.foldLevel';
-	public static ID = (level:number) => FoldLevelAction.ID_PREFIX + level;
+	public static ID = (level: number) => FoldLevelAction.ID_PREFIX + level;
 
 	private getFoldingLevel() {
 		return parseInt(this.id.substr(FoldLevelAction.ID_PREFIX.length));
 	}
 
-	private getSelectedLines(editor:editorCommon.ICommonCodeEditor) {
+	private getSelectedLines(editor: editorCommon.ICommonCodeEditor) {
 		return editor.getSelections().map(s => s.startLineNumber);
 	}
 
-	invoke(foldingController: FoldingController, editor:editorCommon.ICommonCodeEditor): void {
+	invoke(foldingController: FoldingController, editor: editorCommon.ICommonCodeEditor): void {
 		foldingController.foldLevel(this.getFoldingLevel(), this.getSelectedLines(editor));
 	}
 }
diff --git a/src/vs/editor/contrib/folding/common/foldingModel.ts b/src/vs/editor/contrib/folding/common/foldingModel.ts
index 67ec2dca08719..344aa49039e3b 100644
--- a/src/vs/editor/contrib/folding/common/foldingModel.ts
+++ b/src/vs/editor/contrib/folding/common/foldingModel.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Range} from 'vs/editor/common/core/range';
+import { Range } from 'vs/editor/common/core/range';
 
 export interface IFoldingRange {
-	startLineNumber:number;
-	endLineNumber:number;
-	indent:number;
-	isCollapsed?:boolean;
+	startLineNumber: number;
+	endLineNumber: number;
+	indent: number;
+	isCollapsed?: boolean;
 }
 
 export function toString(range: IFoldingRange): string {
@@ -25,7 +25,7 @@ export class CollapsibleRegion {
 
 	private _lastRange: IFoldingRange;
 
-	public constructor(range:IFoldingRange, model:editorCommon.IModel, changeAccessor:editorCommon.IModelDecorationsChangeAccessor) {
+	public constructor(range: IFoldingRange, model: editorCommon.IModel, changeAccessor: editorCommon.IModelDecorationsChangeAccessor) {
 		this.decorationIds = [];
 		this.update(range, model, changeAccessor);
 	}
@@ -54,14 +54,14 @@ export class CollapsibleRegion {
 		return this._lastRange ? this._lastRange.endLineNumber : void 0;
 	}
 
-	public setCollapsed(isCollaped: boolean, changeAccessor:editorCommon.IModelDecorationsChangeAccessor): void {
+	public setCollapsed(isCollaped: boolean, changeAccessor: editorCommon.IModelDecorationsChangeAccessor): void {
 		this._isCollapsed = isCollaped;
 		if (this.decorationIds.length > 0) {
 			changeAccessor.changeDecorationOptions(this.decorationIds[0], this.getVisualDecorationOptions());
 		}
 	}
 
-	public getDecorationRange(model:editorCommon.IModel): Range {
+	public getDecorationRange(model: editorCommon.IModel): Range {
 		if (this.decorationIds.length > 0) {
 			return model.getDecorationRange(this.decorationIds[1]);
 		}
@@ -89,12 +89,12 @@ export class CollapsibleRegion {
 		};
 	}
 
-	public update(newRange:IFoldingRange, model:editorCommon.IModel, changeAccessor:editorCommon.IModelDecorationsChangeAccessor): void {
+	public update(newRange: IFoldingRange, model: editorCommon.IModel, changeAccessor: editorCommon.IModelDecorationsChangeAccessor): void {
 		this._lastRange = newRange;
 		this._isCollapsed = !!newRange.isCollapsed;
 		this._indent = newRange.indent;
 
-		let newDecorations : editorCommon.IModelDeltaDecoration[] = [];
+		let newDecorations: editorCommon.IModelDeltaDecoration[] = [];
 
 		let maxColumn = model.getLineMaxColumn(newRange.startLineNumber);
 		let visualRng = {
@@ -117,20 +117,20 @@ export class CollapsibleRegion {
 	}
 
 
-	public dispose(changeAccessor:editorCommon.IModelDecorationsChangeAccessor): void {
+	public dispose(changeAccessor: editorCommon.IModelDecorationsChangeAccessor): void {
 		this._lastRange = null;
 		this.decorationIds = changeAccessor.deltaDecorations(this.decorationIds, []);
 	}
 
 	public toString(): string {
-		let str = this.isCollapsed ? 'collapsed ': 'expanded ';
+		let str = this.isCollapsed ? 'collapsed ' : 'expanded ';
 		if (this._lastRange) {
 			str += (this._lastRange.startLineNumber + '/' + this._lastRange.endLineNumber);
 		} else {
 			str += 'no range';
 		}
 
-		return  str;
+		return str;
 	}
 }
 
@@ -222,7 +222,7 @@ interface CollapsibleRegionsHierarchy {
 	getRegionsTill(level: number): CollapsibleRegion[];
 }
 
-class CollapsibleRegionsChildrenHierarchy implements CollapsibleRegionsHierarchy{
+class CollapsibleRegionsChildrenHierarchy implements CollapsibleRegionsHierarchy {
 
 	children: CollapsibleRegionsChildrenHierarchy[] = [];
 	lastChildIndex: number;
@@ -242,7 +242,7 @@ class CollapsibleRegionsChildrenHierarchy implements CollapsibleRegionsHierarchy
 		}
 	}
 
-	private processChildRegion(dec: CollapsibleRegion, allRegions: CollapsibleRegion[], model: editorCommon.IModel, index : number): number {
+	private processChildRegion(dec: CollapsibleRegion, allRegions: CollapsibleRegion[], model: editorCommon.IModel, index: number): number {
 		let childRegion = new CollapsibleRegionsChildrenHierarchy(dec, allRegions, model);
 		this.children.push(childRegion);
 		this.lastChildIndex = index;
@@ -257,7 +257,7 @@ class CollapsibleRegionsChildrenHierarchy implements CollapsibleRegionsHierarchy
 		return result;
 	}
 }
-class CollapsibleRegionsParentHierarchy  implements CollapsibleRegionsHierarchy {
+class CollapsibleRegionsParentHierarchy implements CollapsibleRegionsHierarchy {
 
 	parent: CollapsibleRegionsParentHierarchy;
 	lastChildIndex: number;
diff --git a/src/vs/editor/contrib/folding/common/indentFoldStrategy.ts b/src/vs/editor/contrib/folding/common/indentFoldStrategy.ts
index 1252dd6e6b11f..66e7af5ffe1b3 100644
--- a/src/vs/editor/contrib/folding/common/indentFoldStrategy.ts
+++ b/src/vs/editor/contrib/folding/common/indentFoldStrategy.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import {IModel} from 'vs/editor/common/editorCommon';
-import {IFoldingRange} from 'vs/editor/contrib/folding/common/foldingModel';
+import { IModel } from 'vs/editor/common/editorCommon';
+import { IFoldingRange } from 'vs/editor/contrib/folding/common/foldingModel';
 
 export function computeRanges(model: IModel): IFoldingRange[] {
 	// we get here a clone of the model's indent ranges
diff --git a/src/vs/editor/contrib/folding/test/indentFold.test.ts b/src/vs/editor/contrib/folding/test/indentFold.test.ts
index ad16b11577231..bae8d357857d1 100644
--- a/src/vs/editor/contrib/folding/test/indentFold.test.ts
+++ b/src/vs/editor/contrib/folding/test/indentFold.test.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {IFoldingRange} from 'vs/editor/contrib/folding/common/foldingModel';
-import {limitByIndent} from 'vs/editor/contrib/folding/common/indentFoldStrategy';
+import { IFoldingRange } from 'vs/editor/contrib/folding/common/foldingModel';
+import { limitByIndent } from 'vs/editor/contrib/folding/common/indentFoldStrategy';
 
 suite('Indentation Folding', () => {
 	function r(startLineNumber: number, endLineNumber: number, indent: number): IFoldingRange {
diff --git a/src/vs/editor/contrib/format/common/format.ts b/src/vs/editor/contrib/format/common/format.ts
index dd0530ba182f3..8bd1fea1e15cc 100644
--- a/src/vs/editor/contrib/format/common/format.ts
+++ b/src/vs/editor/contrib/format/common/format.ts
@@ -5,16 +5,16 @@
 
 'use strict';
 
-import {illegalArgument} from 'vs/base/common/errors';
+import { illegalArgument } from 'vs/base/common/errors';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Range} from 'vs/editor/common/core/range';
-import {IReadOnlyModel, ISingleEditOperation} from 'vs/editor/common/editorCommon';
-import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {DocumentFormattingEditProviderRegistry, DocumentRangeFormattingEditProviderRegistry, OnTypeFormattingEditProviderRegistry, FormattingOptions} from 'vs/editor/common/modes';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {asWinJsPromise} from 'vs/base/common/async';
-import {Position} from 'vs/editor/common/core/position';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Range } from 'vs/editor/common/core/range';
+import { IReadOnlyModel, ISingleEditOperation } from 'vs/editor/common/editorCommon';
+import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { DocumentFormattingEditProviderRegistry, DocumentRangeFormattingEditProviderRegistry, OnTypeFormattingEditProviderRegistry, FormattingOptions } from 'vs/editor/common/modes';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { asWinJsPromise } from 'vs/base/common/async';
+import { Position } from 'vs/editor/common/core/position';
 
 export function getDocumentRangeFormattingEdits(model: IReadOnlyModel, range: Range, options: FormattingOptions): TPromise<ISingleEditOperation[]> {
 	const [support] = DocumentRangeFormattingEditProviderRegistry.ordered(model);
@@ -53,7 +53,7 @@ export function getOnTypeFormattingEdits(model: IReadOnlyModel, position: Positi
 	});
 }
 
-CommonEditorRegistry.registerLanguageCommand('_executeFormatRangeProvider', function(accessor, args) {
+CommonEditorRegistry.registerLanguageCommand('_executeFormatRangeProvider', function (accessor, args) {
 	const {resource, range, options} = args;
 	if (!(resource instanceof URI) || !Range.isIRange(range)) {
 		throw illegalArgument();
@@ -65,7 +65,7 @@ CommonEditorRegistry.registerLanguageCommand('_executeFormatRangeProvider', func
 	return getDocumentRangeFormattingEdits(model, Range.lift(range), options);
 });
 
-CommonEditorRegistry.registerLanguageCommand('_executeFormatDocumentProvider', function(accessor, args) {
+CommonEditorRegistry.registerLanguageCommand('_executeFormatDocumentProvider', function (accessor, args) {
 	const {resource, options} = args;
 	if (!(resource instanceof URI)) {
 		throw illegalArgument('resource');
@@ -78,7 +78,7 @@ CommonEditorRegistry.registerLanguageCommand('_executeFormatDocumentProvider', f
 	return getDocumentFormattingEdits(model, options);
 });
 
-CommonEditorRegistry.registerDefaultLanguageCommand('_executeFormatOnTypeProvider', function(model, position, args) {
+CommonEditorRegistry.registerDefaultLanguageCommand('_executeFormatOnTypeProvider', function (model, position, args) {
 	const {ch, options } = args;
 	if (typeof ch !== 'string') {
 		throw illegalArgument('ch');
diff --git a/src/vs/editor/contrib/format/common/formatActions.ts b/src/vs/editor/contrib/format/common/formatActions.ts
index ac483187a8ee0..dbea1a3a8843a 100644
--- a/src/vs/editor/contrib/format/common/formatActions.ts
+++ b/src/vs/editor/contrib/format/common/formatActions.ts
@@ -6,16 +6,16 @@
 
 import * as nls from 'vs/nls';
 import * as arrays from 'vs/base/common/arrays';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
-import {editorAction, ServicesAccessor, EditorAction, commonEditorContribution} from 'vs/editor/common/editorCommonExtensions';
-import {OnTypeFormattingEditProviderRegistry} from 'vs/editor/common/modes';
-import {getOnTypeFormattingEdits, getDocumentFormattingEdits, getDocumentRangeFormattingEdits} from '../common/format';
-import {EditOperationsCommand} from './formatCommand';
-import {Selection} from 'vs/editor/common/core/selection';
+import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
+import { editorAction, ServicesAccessor, EditorAction, commonEditorContribution } from 'vs/editor/common/editorCommonExtensions';
+import { OnTypeFormattingEditProviderRegistry } from 'vs/editor/common/modes';
+import { getOnTypeFormattingEdits, getDocumentFormattingEdits, getDocumentRangeFormattingEdits } from '../common/format';
+import { EditOperationsCommand } from './formatCommand';
+import { Selection } from 'vs/editor/common/core/selection';
 
 import ModeContextKeys = editorCommon.ModeContextKeys;
 import EditorContextKeys = editorCommon.EditorContextKeys;
@@ -120,7 +120,7 @@ class FormatOnType implements editorCommon.IEditorContribution {
 
 			this.editor.executeCommand(this.getId(), new EditOperationsCommand(edits, this.editor.getSelection()));
 
-		},(err) => {
+		}, (err) => {
 			unbind.dispose();
 			throw err;
 		});
@@ -157,15 +157,15 @@ export class FormatAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): TPromise<void> {
 
 		const model = editor.getModel();
 		const editorSelection = editor.getSelection();
 		const modelOpts = model.getOptions();
 		const options = {
-				tabSize: modelOpts.tabSize,
-				insertSpaces: modelOpts.insertSpaces,
-			};
+			tabSize: modelOpts.tabSize,
+			insertSpaces: modelOpts.insertSpaces,
+		};
 
 		let formattingPromise: TPromise<editorCommon.ISingleEditOperation[]>;
 
diff --git a/src/vs/editor/contrib/format/common/formatCommand.ts b/src/vs/editor/contrib/format/common/formatCommand.ts
index e6c0545cede8e..bfb76e1ec47b2 100644
--- a/src/vs/editor/contrib/format/common/formatCommand.ts
+++ b/src/vs/editor/contrib/format/common/formatCommand.ts
@@ -5,17 +5,17 @@
 'use strict';
 
 import * as strings from 'vs/base/common/strings';
-import {Range} from 'vs/editor/common/core/range';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Selection } from 'vs/editor/common/core/selection';
 
 export class EditOperationsCommand implements editorCommon.ICommand {
 
-	private _edits:editorCommon.ISingleEditOperation[];
+	private _edits: editorCommon.ISingleEditOperation[];
 	private _initialSelection: Selection;
 	private _selectionId: string;
 
-	constructor(edits:editorCommon.ISingleEditOperation[], initialSelection: Selection) {
+	constructor(edits: editorCommon.ISingleEditOperation[], initialSelection: Selection) {
 		this._edits = edits;
 		this._initialSelection = initialSelection;
 	}
@@ -30,11 +30,11 @@ export class EditOperationsCommand implements editorCommon.ICommand {
 		var selectionIsSet = false;
 		if (Array.isArray(this._edits) && this._edits.length === 1 && this._initialSelection.isEmpty()) {
 			if (this._edits[0].range.startColumn === this._initialSelection.endColumn &&
-					this._edits[0].range.startLineNumber === this._initialSelection.endLineNumber) {
+				this._edits[0].range.startLineNumber === this._initialSelection.endLineNumber) {
 				selectionIsSet = true;
 				this._selectionId = builder.trackSelection(this._initialSelection, true);
 			} else if (this._edits[0].range.endColumn === this._initialSelection.startColumn &&
-					this._edits[0].range.endLineNumber === this._initialSelection.startLineNumber) {
+				this._edits[0].range.endLineNumber === this._initialSelection.startLineNumber) {
 				selectionIsSet = true;
 				this._selectionId = builder.trackSelection(this._initialSelection, false);
 			}
@@ -61,14 +61,14 @@ export class EditOperationsCommand implements editorCommon.ICommand {
 	 * bug #15108. There the cursor was jumping since the tracked selection was in the middle of the range edit
 	 * and was lost.
 	 */
-	static trimEdit(edit:editorCommon.ISingleEditOperation, model: editorCommon.ITokenizedModel): editorCommon.ISingleEditOperation {
+	static trimEdit(edit: editorCommon.ISingleEditOperation, model: editorCommon.ITokenizedModel): editorCommon.ISingleEditOperation {
 
 		this.fixLineTerminators(edit, model);
 
 		return this._trimEdit(model.validateRange(edit.range), edit.text, edit.forceMoveMarkers, model);
 	}
 
-	static _trimEdit(editRange:Range, editText:string, editForceMoveMarkers:boolean, model: editorCommon.ITokenizedModel): editorCommon.ISingleEditOperation {
+	static _trimEdit(editRange: Range, editText: string, editForceMoveMarkers: boolean, model: editorCommon.ITokenizedModel): editorCommon.ISingleEditOperation {
 
 		let currentText = model.getValueInRange(editRange);
 
diff --git a/src/vs/editor/contrib/format/test/common/formatCommand.test.ts b/src/vs/editor/contrib/format/test/common/formatCommand.test.ts
index fd33a60634c1e..78fdf42e658f7 100644
--- a/src/vs/editor/contrib/format/test/common/formatCommand.test.ts
+++ b/src/vs/editor/contrib/format/test/common/formatCommand.test.ts
@@ -5,14 +5,14 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {ISingleEditOperation} from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
-import {EditOperationsCommand} from 'vs/editor/contrib/format/common/formatCommand';
-import {testCommand} from 'vs/editor/test/common/commands/commandTestUtils';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { ISingleEditOperation } from 'vs/editor/common/editorCommon';
+import { Model } from 'vs/editor/common/model/model';
+import { EditOperationsCommand } from 'vs/editor/contrib/format/common/formatCommand';
+import { testCommand } from 'vs/editor/test/common/commands/commandTestUtils';
 
-function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, text:string[]): ISingleEditOperation {
+function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, text: string[]): ISingleEditOperation {
 	return {
 		range: new Range(startLineNumber, startColumn, endLineNumber, endColumn),
 		text: text.join('\n'),
@@ -21,7 +21,7 @@ function editOp(startLineNumber: number, startColumn: number, endLineNumber: num
 }
 
 suite('FormatCommand.trimEdit', () => {
-	function testTrimEdit(lines: string[], edit:ISingleEditOperation, expected:ISingleEditOperation): void {
+	function testTrimEdit(lines: string[], edit: ISingleEditOperation, expected: ISingleEditOperation): void {
 		let model = Model.createFromString(lines.join('\n'));
 		let actual = EditOperationsCommand.trimEdit(edit, model);
 		assert.deepEqual(actual, expected);
@@ -34,7 +34,7 @@ suite('FormatCommand.trimEdit', () => {
 				'some text',
 				'some other text'
 			],
-			editOp(1,1,1,10, [
+			editOp(1, 1, 1, 10, [
 				'some text'
 			]),
 			null
@@ -47,7 +47,7 @@ suite('FormatCommand.trimEdit', () => {
 				'some text',
 				'some other text'
 			],
-			editOp(1,1,2,16, [
+			editOp(1, 1, 2, 16, [
 				'some text',
 				'some other text'
 			]),
@@ -61,7 +61,7 @@ suite('FormatCommand.trimEdit', () => {
 				'some text',
 				'some other text'
 			],
-			editOp(1,1,2,1, [
+			editOp(1, 1, 2, 1, [
 				'some text',
 				''
 			]),
@@ -75,10 +75,10 @@ suite('FormatCommand.trimEdit', () => {
 				'some text',
 				'some other text'
 			],
-			editOp(1,1,1,10, [
+			editOp(1, 1, 1, 10, [
 				'some interesting thing'
 			]),
-			editOp(1,6,1,10, [
+			editOp(1, 6, 1, 10, [
 				'interesting thing'
 			])
 		);
@@ -90,11 +90,11 @@ suite('FormatCommand.trimEdit', () => {
 				'some text',
 				'some other text'
 			],
-			editOp(1,1,1,10, [
+			editOp(1, 1, 1, 10, [
 				'some text',
 				'interesting thing'
 			]),
-			editOp(1,10,1,10, [
+			editOp(1, 10, 1, 10, [
 				'',
 				'interesting thing'
 			])
@@ -107,11 +107,11 @@ suite('FormatCommand.trimEdit', () => {
 				'some text',
 				'some other text'
 			],
-			editOp(1,1,2,16, [
+			editOp(1, 1, 2, 16, [
 				'some text',
 				'some other interesting thing'
 			]),
-			editOp(2,12,2,16, [
+			editOp(2, 12, 2, 16, [
 				'interesting thing'
 			])
 		);
@@ -123,10 +123,10 @@ suite('FormatCommand.trimEdit', () => {
 				'some text',
 				'some other text'
 			],
-			editOp(1,1,1,10, [
+			editOp(1, 1, 1, 10, [
 				'interesting text'
 			]),
-			editOp(1,1,1,5, [
+			editOp(1, 1, 1, 5, [
 				'interesting'
 			])
 		);
@@ -138,11 +138,11 @@ suite('FormatCommand.trimEdit', () => {
 				'some text',
 				'some other text'
 			],
-			editOp(1,1,1,10, [
+			editOp(1, 1, 1, 10, [
 				'interesting thing',
 				'some text'
 			]),
-			editOp(1,1,1,1, [
+			editOp(1, 1, 1, 1, [
 				'interesting thing',
 				''
 			])
@@ -155,11 +155,11 @@ suite('FormatCommand.trimEdit', () => {
 				'some text',
 				'some other text'
 			],
-			editOp(1,1,2,16, [
+			editOp(1, 1, 2, 16, [
 				'interesting thing text',
 				'some other text'
 			]),
-			editOp(1,1,1,5, [
+			editOp(1, 1, 1, 5, [
 				'interesting thing'
 			])
 		);
@@ -170,10 +170,10 @@ suite('FormatCommand.trimEdit', () => {
 			[
 				'some cool text'
 			],
-			editOp(1,1,1,15, [
+			editOp(1, 1, 1, 15, [
 				'some interesting text'
 			]),
-			editOp(1,6,1,10, [
+			editOp(1, 6, 1, 10, [
 				'interesting'
 			])
 		);
@@ -184,10 +184,10 @@ suite('FormatCommand.trimEdit', () => {
 			[
 				'some cool text'
 			],
-			editOp(1,1,1,15, [
+			editOp(1, 1, 1, 15, [
 				'some cool cool text'
 			]),
-			editOp(1,11,1,11, [
+			editOp(1, 11, 1, 11, [
 				'cool '
 			])
 		);
@@ -198,10 +198,10 @@ suite('FormatCommand.trimEdit', () => {
 			[
 				'some cool cool text'
 			],
-			editOp(1,1,1,29, [
+			editOp(1, 1, 1, 29, [
 				'some cool text'
 			]),
-			editOp(1,11,1,16, [
+			editOp(1, 11, 1, 16, [
 				''
 			])
 		);
@@ -209,7 +209,7 @@ suite('FormatCommand.trimEdit', () => {
 });
 
 suite('FormatCommand', () => {
-	function testFormatCommand(lines: string[], selection: Selection, edits:ISingleEditOperation[], expectedLines: string[], expectedSelection: Selection): void {
+	function testFormatCommand(lines: string[], selection: Selection, edits: ISingleEditOperation[], expectedLines: string[], expectedSelection: Selection): void {
 		testCommand(lines, null, selection, (sel) => new EditOperationsCommand(edits, sel), expectedLines, expectedSelection);
 	}
 
@@ -219,7 +219,7 @@ suite('FormatCommand', () => {
 				'some text',
 				'some other text'
 			],
-			new Selection(2,1,2,5),
+			new Selection(2, 1, 2, 5),
 			[
 				editOp(1, 1, 2, 16, [
 					'some text',
@@ -230,7 +230,7 @@ suite('FormatCommand', () => {
 				'some text',
 				'some other text'
 			],
-			new Selection(2,1,2,5)
+			new Selection(2, 1, 2, 5)
 		);
 	});
 
@@ -240,7 +240,7 @@ suite('FormatCommand', () => {
 				'some text',
 				'some other text'
 			],
-			new Selection(2,1,2,5),
+			new Selection(2, 1, 2, 5),
 			[
 				editOp(1, 1, 2, 16, [
 					'some text',
@@ -251,7 +251,7 @@ suite('FormatCommand', () => {
 				'some text',
 				'some new other text'
 			],
-			new Selection(2,1,2,5)
+			new Selection(2, 1, 2, 5)
 		);
 	});
 
@@ -265,7 +265,7 @@ suite('FormatCommand', () => {
 				'}',
 				''
 			],
-			new Selection(1,1,1,1),
+			new Selection(1, 1, 1, 1),
 			[
 				editOp(1, 1, 6, 1, [
 					'package caddy',
@@ -288,7 +288,7 @@ suite('FormatCommand', () => {
 				'}',
 				''
 			],
-			new Selection(1,1,1,1)
+			new Selection(1, 1, 1, 1)
 		);
 	});
 
diff --git a/src/vs/editor/contrib/goToDeclaration/common/goToDeclaration.ts b/src/vs/editor/contrib/goToDeclaration/common/goToDeclaration.ts
index a4643576f5e9b..84a050524b7f8 100644
--- a/src/vs/editor/contrib/goToDeclaration/common/goToDeclaration.ts
+++ b/src/vs/editor/contrib/goToDeclaration/common/goToDeclaration.ts
@@ -5,14 +5,14 @@
 
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IReadOnlyModel} from 'vs/editor/common/editorCommon';
-import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {DefinitionProviderRegistry} from 'vs/editor/common/modes';
-import {Location} from 'vs/editor/common/modes';
-import {asWinJsPromise} from 'vs/base/common/async';
-import {Position} from 'vs/editor/common/core/position';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IReadOnlyModel } from 'vs/editor/common/editorCommon';
+import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { DefinitionProviderRegistry } from 'vs/editor/common/modes';
+import { Location } from 'vs/editor/common/modes';
+import { asWinJsPromise } from 'vs/base/common/async';
+import { Position } from 'vs/editor/common/core/position';
 
 export function getDeclarationsAtPosition(model: IReadOnlyModel, position: Position): TPromise<Location[]> {
 
diff --git a/src/vs/editor/contrib/hover/browser/hover.ts b/src/vs/editor/contrib/hover/browser/hover.ts
index a64e0d768b512..b2be03752c8bb 100644
--- a/src/vs/editor/contrib/hover/browser/hover.ts
+++ b/src/vs/editor/contrib/hover/browser/hover.ts
@@ -7,19 +7,19 @@
 
 import 'vs/css!./hover';
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod, KeyChord} from 'vs/base/common/keyCodes';
+import { KeyCode, KeyMod, KeyChord } from 'vs/base/common/keyCodes';
 import * as platform from 'vs/base/common/platform';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {IOpenerService} from 'vs/platform/opener/common/opener';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {Range} from 'vs/editor/common/core/range';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { IOpenerService } from 'vs/platform/opener/common/opener';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {ICodeEditor, IEditorMouseEvent} from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
-import {ModesContentHoverWidget} from './modesContentHover';
-import {ModesGlyphHoverWidget} from './modesGlyphHover';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { editorAction, ServicesAccessor, EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { ICodeEditor, IEditorMouseEvent } from 'vs/editor/browser/editorBrowser';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
+import { ModesContentHoverWidget } from './modesContentHover';
+import { ModesGlyphHoverWidget } from './modesGlyphHover';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 
 import EditorContextKeys = editorCommon.EditorContextKeys;
 
@@ -29,7 +29,7 @@ class ModesHoverController implements editorCommon.IEditorContribution {
 	private static ID = 'editor.contrib.hover';
 
 	private _editor: ICodeEditor;
-	private _toUnhook:IDisposable[];
+	private _toUnhook: IDisposable[];
 
 	private _contentWidget: ModesContentHoverWidget;
 	private _glyphWidget: ModesGlyphHoverWidget;
@@ -50,7 +50,7 @@ class ModesHoverController implements editorCommon.IEditorContribution {
 			this._toUnhook.push(this._editor.onMouseDown((e: IEditorMouseEvent) => this._onEditorMouseDown(e)));
 			this._toUnhook.push(this._editor.onMouseMove((e: IEditorMouseEvent) => this._onEditorMouseMove(e)));
 			this._toUnhook.push(this._editor.onMouseLeave((e: IEditorMouseEvent) => this._hideWidgets()));
-			this._toUnhook.push(this._editor.onKeyDown((e:IKeyboardEvent) => this._onKeyDown(e)));
+			this._toUnhook.push(this._editor.onKeyDown((e: IKeyboardEvent) => this._onKeyDown(e)));
 			this._toUnhook.push(this._editor.onDidChangeModel(() => this._hideWidgets()));
 			this._toUnhook.push(this._editor.onDidChangeModelDecorations(() => this._onModelDecorationsChanged()));
 			this._toUnhook.push(this._editor.onDidScrollChange((e) => {
@@ -72,7 +72,7 @@ class ModesHoverController implements editorCommon.IEditorContribution {
 	private _onEditorMouseDown(mouseEvent: IEditorMouseEvent): void {
 		var targetType = mouseEvent.target.type;
 
-		if (targetType === editorCommon.MouseTargetType.CONTENT_WIDGET && mouseEvent.target.detail ===  ModesContentHoverWidget.ID) {
+		if (targetType === editorCommon.MouseTargetType.CONTENT_WIDGET && mouseEvent.target.detail === ModesContentHoverWidget.ID) {
 			// mouse down on top of content hover widget
 			return;
 		}
@@ -89,7 +89,7 @@ class ModesHoverController implements editorCommon.IEditorContribution {
 		var targetType = mouseEvent.target.type;
 		var stopKey = platform.isMacintosh ? 'metaKey' : 'ctrlKey';
 
-		if (targetType === editorCommon.MouseTargetType.CONTENT_WIDGET && mouseEvent.target.detail ===  ModesContentHoverWidget.ID && !mouseEvent.event[stopKey]) {
+		if (targetType === editorCommon.MouseTargetType.CONTENT_WIDGET && mouseEvent.target.detail === ModesContentHoverWidget.ID && !mouseEvent.event[stopKey]) {
 			// mouse moved on top of content hover widget
 			return;
 		}
@@ -160,7 +160,7 @@ class ShowHoverAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void {
 		let controller = ModesHoverController.get(editor);
 		if (!controller) {
 			return;
diff --git a/src/vs/editor/contrib/hover/browser/hoverOperation.ts b/src/vs/editor/contrib/hover/browser/hoverOperation.ts
index a91f3cf50b55e..59ea0eff077b0 100644
--- a/src/vs/editor/contrib/hover/browser/hoverOperation.ts
+++ b/src/vs/editor/contrib/hover/browser/hoverOperation.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { TPromise } from 'vs/base/common/winjs.base';
 
 export interface IHoverComputer<Result> {
 
@@ -28,7 +28,7 @@ export interface IHoverComputer<Result> {
 	/**
 	 * This is called whenever one of the compute* methods returns a truey value
 	 */
-	onResult: (result:Result, isFromSynchronousComputation: boolean) => void;
+	onResult: (result: Result, isFromSynchronousComputation: boolean) => void;
 
 	/**
 	 * This is what will be sent as progress/complete to the computation promise
@@ -51,19 +51,19 @@ export class HoverOperation<Result> {
 	static HOVER_TIME = 300;
 
 	private _computer: IHoverComputer<Result>;
-	private _state:ComputeHoverOperationState;
+	private _state: ComputeHoverOperationState;
 
 	private _firstWaitScheduler: RunOnceScheduler;
 	private _secondWaitScheduler: RunOnceScheduler;
 	private _loadingMessageScheduler: RunOnceScheduler;
 	private _asyncComputationPromise: TPromise<void>;
-	private _asyncComputationPromiseDone:boolean;
+	private _asyncComputationPromiseDone: boolean;
 
-	private _completeCallback:(r:Result)=>void;
-	private _errorCallback:(err:any)=>void;
-	private _progressCallback:(progress:any)=>void;
+	private _completeCallback: (r: Result) => void;
+	private _errorCallback: (err: any) => void;
+	private _progressCallback: (progress: any) => void;
 
-	constructor(computer: IHoverComputer<Result>, success:(r:Result)=>void, error:(err:any)=>void, progress:(progress:any)=>void) {
+	constructor(computer: IHoverComputer<Result>, success: (r: Result) => void, error: (err: any) => void, progress: (progress: any) => void) {
 		this._computer = computer;
 		this._state = ComputeHoverOperationState.IDLE;
 
@@ -136,13 +136,13 @@ export class HoverOperation<Result> {
 		}
 	}
 
-	private _onComplete(value:Result): void {
+	private _onComplete(value: Result): void {
 		if (this._completeCallback) {
 			this._completeCallback(value);
 		}
 	}
 
-	private _onError(error:any): void {
+	private _onError(error: any): void {
 		if (this._errorCallback) {
 			this._errorCallback(error);
 		} else {
@@ -150,7 +150,7 @@ export class HoverOperation<Result> {
 		}
 	}
 
-	private _onProgress(value:Result): void {
+	private _onProgress(value: Result): void {
 		if (this._progressCallback) {
 			this._progressCallback(value);
 		}
diff --git a/src/vs/editor/contrib/hover/browser/hoverWidgets.ts b/src/vs/editor/contrib/hover/browser/hoverWidgets.ts
index efeae358783ef..d4bc9ceb2011a 100644
--- a/src/vs/editor/contrib/hover/browser/hoverWidgets.ts
+++ b/src/vs/editor/contrib/hover/browser/hoverWidgets.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {KeyCode} from 'vs/base/common/keyCodes';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {toggleClass} from 'vs/base/browser/dom';
-import {Position} from 'vs/editor/common/core/position';
-import {IPosition, IConfigurationChangedEvent} from 'vs/editor/common/editorCommon';
+import { KeyCode } from 'vs/base/common/keyCodes';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { toggleClass } from 'vs/base/browser/dom';
+import { Position } from 'vs/editor/common/core/position';
+import { IPosition, IConfigurationChangedEvent } from 'vs/editor/common/editorCommon';
 import * as editorBrowser from 'vs/editor/browser/editorBrowser';
-import {Widget} from 'vs/base/browser/ui/widget';
-import {DomScrollableElement} from 'vs/base/browser/ui/scrollbar/scrollableElement';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { Widget } from 'vs/base/browser/ui/widget';
+import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 
 export class ContentHoverWidget extends Widget implements editorBrowser.IContentWidget {
 
@@ -61,7 +61,7 @@ export class ContentHoverWidget extends Widget implements editorBrowser.IContent
 			}
 		});
 
-		this._register(this._editor.onDidChangeConfiguration((e:IConfigurationChangedEvent) => {
+		this._register(this._editor.onDidChangeConfiguration((e: IConfigurationChangedEvent) => {
 			if (e.fontInfo) {
 				this.updateFont();
 			}
@@ -82,7 +82,7 @@ export class ContentHoverWidget extends Widget implements editorBrowser.IContent
 		return this._containerDomNode;
 	}
 
-	public showAt(position:IPosition, focus: boolean): void {
+	public showAt(position: IPosition, focus: boolean): void {
 		// Position has changed
 		this._showAtPosition = new Position(position.lineNumber, position.column);
 		this.isVisible = true;
@@ -110,7 +110,7 @@ export class ContentHoverWidget extends Widget implements editorBrowser.IContent
 		}
 	}
 
-	public getPosition():editorBrowser.IContentWidgetPosition {
+	public getPosition(): editorBrowser.IContentWidgetPosition {
 		if (this.isVisible) {
 			return {
 				position: this._showAtPosition,
@@ -148,7 +148,7 @@ export class ContentHoverWidget extends Widget implements editorBrowser.IContent
 	private updateMaxHeight(): void {
 		const height = Math.max(this._editor.getLayoutInfo().height / 4, 250);
 
-		this._domNode.style.maxHeight = `${ height }px`;
+		this._domNode.style.maxHeight = `${height}px`;
 	}
 }
 
@@ -173,7 +173,7 @@ export class GlyphHoverWidget extends Widget implements editorBrowser.IOverlayWi
 
 		this._showAtLineNumber = -1;
 
-		this._register(this._editor.onDidChangeConfiguration((e:IConfigurationChangedEvent) => {
+		this._register(this._editor.onDidChangeConfiguration((e: IConfigurationChangedEvent) => {
 			if (e.fontInfo) {
 				this.updateFont();
 			}
@@ -213,8 +213,8 @@ export class GlyphHoverWidget extends Widget implements editorBrowser.IOverlayWi
 		const nodeHeight = this._domNode.clientHeight;
 		const top = topForLineNumber - editorScrollTop - ((nodeHeight - lineHeight) / 2);
 
-		this._domNode.style.left = `${ editorLayout.glyphMarginLeft + editorLayout.glyphMarginWidth }px`;
-		this._domNode.style.top = `${ Math.max(Math.round(top), 0) }px`;
+		this._domNode.style.left = `${editorLayout.glyphMarginLeft + editorLayout.glyphMarginWidth}px`;
+		this._domNode.style.top = `${Math.max(Math.round(top), 0)}px`;
 	}
 
 	public hide(): void {
@@ -224,7 +224,7 @@ export class GlyphHoverWidget extends Widget implements editorBrowser.IOverlayWi
 		this.isVisible = false;
 	}
 
-	public getPosition():editorBrowser.IOverlayWidgetPosition {
+	public getPosition(): editorBrowser.IOverlayWidgetPosition {
 		return null;
 	}
 
diff --git a/src/vs/editor/contrib/hover/browser/modesGlyphHover.ts b/src/vs/editor/contrib/hover/browser/modesGlyphHover.ts
index ddab16b63fe27..09e18e1c90dd3 100644
--- a/src/vs/editor/contrib/hover/browser/modesGlyphHover.ts
+++ b/src/vs/editor/contrib/hover/browser/modesGlyphHover.ts
@@ -4,18 +4,18 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IModelDecoration, IRange} from 'vs/editor/common/editorCommon';
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {HoverOperation, IHoverComputer} from './hoverOperation';
-import {GlyphHoverWidget} from './hoverWidgets';
-import {$} from 'vs/base/browser/dom';
-import {renderMarkedString} from 'vs/base/browser/htmlContentRenderer';
-import {IOpenerService, NullOpenerService} from 'vs/platform/opener/common/opener';
+import { IModelDecoration, IRange } from 'vs/editor/common/editorCommon';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { HoverOperation, IHoverComputer } from './hoverOperation';
+import { GlyphHoverWidget } from './hoverWidgets';
+import { $ } from 'vs/base/browser/dom';
+import { renderMarkedString } from 'vs/base/browser/htmlContentRenderer';
+import { IOpenerService, NullOpenerService } from 'vs/platform/opener/common/opener';
 import URI from 'vs/base/common/uri';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {tokenizeToString} from 'vs/editor/common/modes/textToHtmlTokenizer';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { tokenizeToString } from 'vs/editor/common/modes/textToHtmlTokenizer';
 
 export interface IHoverMessage {
 	value?: string;
@@ -29,7 +29,7 @@ class MarginComputer implements IHoverComputer<IHoverMessage[]> {
 	private _lineNumber: number;
 	private _result: IHoverMessage[];
 
-	constructor(editor:ICodeEditor) {
+	constructor(editor: ICodeEditor) {
 		this._editor = editor;
 		this._lineNumber = -1;
 	}
@@ -96,9 +96,9 @@ export class ModesGlyphHoverWidget extends GlyphHoverWidget {
 
 		this._hoverOperation = new HoverOperation(
 			this._computer,
-			(result:IHoverMessage[]) => this._withResult(result),
+			(result: IHoverMessage[]) => this._withResult(result),
 			null,
-			(result:any) => this._withResult(result)
+			(result: any) => this._withResult(result)
 		);
 
 	}
@@ -139,7 +139,7 @@ export class ModesGlyphHoverWidget extends GlyphHoverWidget {
 		super.hide();
 	}
 
-	public _withResult(result:IHoverMessage[]): void {
+	public _withResult(result: IHoverMessage[]): void {
 		this._messages = result;
 
 		if (this._messages.length > 0) {
@@ -160,7 +160,7 @@ export class ModesGlyphHoverWidget extends GlyphHoverWidget {
 					// In markdown, it is possible that we stumble upon language aliases (e.g. js instead of javascript)
 					const modeId = this.modeService.getModeIdForLanguageName(languageAlias);
 					return this.modeService.getOrCreateMode(modeId).then(_ => {
-						return `<div class="code">${ tokenizeToString(value, modeId) }</div>`;
+						return `<div class="code">${tokenizeToString(value, modeId)}</div>`;
 					});
 				}
 			});
diff --git a/src/vs/editor/contrib/hover/common/hover.ts b/src/vs/editor/contrib/hover/common/hover.ts
index e141cce298acf..2e6864d31973c 100644
--- a/src/vs/editor/contrib/hover/common/hover.ts
+++ b/src/vs/editor/contrib/hover/common/hover.ts
@@ -5,14 +5,14 @@
 
 'use strict';
 
-import {coalesce} from 'vs/base/common/arrays';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IReadOnlyModel} from 'vs/editor/common/editorCommon';
-import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {Hover, HoverProviderRegistry} from 'vs/editor/common/modes';
-import {asWinJsPromise} from 'vs/base/common/async';
-import {Position} from 'vs/editor/common/core/position';
+import { coalesce } from 'vs/base/common/arrays';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IReadOnlyModel } from 'vs/editor/common/editorCommon';
+import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { Hover, HoverProviderRegistry } from 'vs/editor/common/modes';
+import { asWinJsPromise } from 'vs/base/common/async';
+import { Position } from 'vs/editor/common/core/position';
 
 export function getHover(model: IReadOnlyModel, position: Position): TPromise<Hover[]> {
 
@@ -27,7 +27,7 @@ export function getHover(model: IReadOnlyModel, position: Position): TPromise<Ho
 				let hasRange = (typeof result.range !== 'undefined');
 				let hasHtmlContent = (typeof result.contents !== 'undefined' && result.contents && result.contents.length > 0);
 				if (hasRange && hasHtmlContent) {
-					values[idx]  = result;
+					values[idx] = result;
 				}
 			}
 		}, err => {
diff --git a/src/vs/editor/contrib/iPadShowKeyboard/browser/iPadShowKeyboard.ts b/src/vs/editor/contrib/iPadShowKeyboard/browser/iPadShowKeyboard.ts
index d93b4c800ce5e..65b277ed045ba 100644
--- a/src/vs/editor/contrib/iPadShowKeyboard/browser/iPadShowKeyboard.ts
+++ b/src/vs/editor/contrib/iPadShowKeyboard/browser/iPadShowKeyboard.ts
@@ -6,23 +6,23 @@
 'use strict';
 
 import 'vs/css!./iPadShowKeyboard';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import * as browser from 'vs/base/browser/browser';
 import * as dom from 'vs/base/browser/dom';
-import {IEditorContribution} from 'vs/editor/common/editorCommon';
-import {ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference} from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
+import { IEditorContribution } from 'vs/editor/common/editorCommon';
+import { ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference } from 'vs/editor/browser/editorBrowser';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
 
 @editorContribution
 export class IPadShowKeyboard implements IEditorContribution {
 
 	private static ID = 'editor.contrib.iPadShowKeyboard';
 
-	private editor:ICodeEditor;
-	private widget:ShowKeyboardWidget;
-	private toDispose:IDisposable[];
+	private editor: ICodeEditor;
+	private widget: ShowKeyboardWidget;
+	private toDispose: IDisposable[];
 
-	constructor(editor:ICodeEditor) {
+	constructor(editor: ICodeEditor) {
 		this.editor = editor;
 		this.toDispose = [];
 		if (browser.isIPad) {
@@ -66,10 +66,10 @@ class ShowKeyboardWidget implements IOverlayWidget {
 
 	private editor: ICodeEditor;
 
-	private _domNode:HTMLElement;
-	private _toDispose:IDisposable[];
+	private _domNode: HTMLElement;
+	private _toDispose: IDisposable[];
 
-	constructor(editor:ICodeEditor) {
+	constructor(editor: ICodeEditor) {
 		this.editor = editor;
 		this._domNode = document.createElement('textarea');
 		this._domNode.className = 'iPadShowKeyboard';
diff --git a/src/vs/editor/contrib/inPlaceReplace/common/inPlaceReplace.ts b/src/vs/editor/contrib/inPlaceReplace/common/inPlaceReplace.ts
index 4191488a7991e..48b65a2c42982 100644
--- a/src/vs/editor/contrib/inPlaceReplace/common/inPlaceReplace.ts
+++ b/src/vs/editor/contrib/inPlaceReplace/common/inPlaceReplace.ts
@@ -5,21 +5,21 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Range} from 'vs/editor/common/core/range';
-import {EditorContextKeys, IEditorContribution, CodeEditorStateFlag, ICommonCodeEditor, IModelDecorationsChangeAccessor} from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, EditorAction, commonEditorContribution} from 'vs/editor/common/editorCommonExtensions';
-import {IInplaceReplaceSupportResult} from 'vs/editor/common/modes';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
-import {InPlaceReplaceCommand} from './inPlaceReplaceCommand';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Range } from 'vs/editor/common/core/range';
+import { EditorContextKeys, IEditorContribution, CodeEditorStateFlag, ICommonCodeEditor, IModelDecorationsChangeAccessor } from 'vs/editor/common/editorCommon';
+import { editorAction, ServicesAccessor, EditorAction, commonEditorContribution } from 'vs/editor/common/editorCommonExtensions';
+import { IInplaceReplaceSupportResult } from 'vs/editor/common/modes';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
+import { InPlaceReplaceCommand } from './inPlaceReplaceCommand';
 
 @commonEditorContribution
 class InPlaceReplaceController implements IEditorContribution {
 
 	private static ID = 'editor.contrib.inPlaceReplaceController';
 
-	static get(editor:ICommonCodeEditor): InPlaceReplaceController {
+	static get(editor: ICommonCodeEditor): InPlaceReplaceController {
 		return editor.getContribution<InPlaceReplaceController>(InPlaceReplaceController.ID);
 	}
 
@@ -27,16 +27,16 @@ class InPlaceReplaceController implements IEditorContribution {
 		className: 'valueSetReplacement'
 	};
 
-	private editor:ICommonCodeEditor;
-	private requestIdPool:number;
-	private currentRequest:TPromise<IInplaceReplaceSupportResult>;
-	private decorationRemover:TPromise<void>;
-	private decorationIds:string[];
-	private editorWorkerService:IEditorWorkerService;
+	private editor: ICommonCodeEditor;
+	private requestIdPool: number;
+	private currentRequest: TPromise<IInplaceReplaceSupportResult>;
+	private decorationRemover: TPromise<void>;
+	private decorationIds: string[];
+	private editorWorkerService: IEditorWorkerService;
 
 	constructor(
-		editor:ICommonCodeEditor,
-		@IEditorWorkerService editorWorkerService:IEditorWorkerService
+		editor: ICommonCodeEditor,
+		@IEditorWorkerService editorWorkerService: IEditorWorkerService
 	) {
 		this.editor = editor;
 		this.editorWorkerService = editorWorkerService;
@@ -53,7 +53,7 @@ class InPlaceReplaceController implements IEditorContribution {
 		return InPlaceReplaceController.ID;
 	}
 
-	public run(source:string, up:boolean): TPromise<void> {
+	public run(source: string, up: boolean): TPromise<void> {
 
 		// cancel any pending request
 		this.currentRequest.cancel();
@@ -62,7 +62,7 @@ class InPlaceReplaceController implements IEditorContribution {
 			model = this.editor.getModel(),
 			modelURI = model.uri;
 
-		if(selection.startLineNumber !== selection.endLineNumber) {
+		if (selection.startLineNumber !== selection.endLineNumber) {
 			// Can't accept multiline selection
 			return null;
 		}
@@ -77,14 +77,14 @@ class InPlaceReplaceController implements IEditorContribution {
 			return null;
 		});
 
-		return this.currentRequest.then((result:IInplaceReplaceSupportResult) => {
+		return this.currentRequest.then((result: IInplaceReplaceSupportResult) => {
 
-			if(!result || !result.range || !result.value) {
+			if (!result || !result.range || !result.value) {
 				// No proper result
 				return;
 			}
 
-			if(!state.validate(this.editor)) {
+			if (!state.validate(this.editor)) {
 				// state has changed
 				return;
 			}
@@ -112,7 +112,7 @@ class InPlaceReplaceController implements IEditorContribution {
 			this.decorationRemover.cancel();
 			this.decorationRemover = TPromise.timeout(350);
 			this.decorationRemover.then(() => {
-				this.editor.changeDecorations((accessor:IModelDecorationsChangeAccessor) => {
+				this.editor.changeDecorations((accessor: IModelDecorationsChangeAccessor) => {
 					this.decorationIds = accessor.deltaDecorations(this.decorationIds, []);
 				});
 			});
@@ -136,7 +136,7 @@ class InPlaceReplaceUp extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): TPromise<void> {
 		let controller = InPlaceReplaceController.get(editor);
 		if (!controller) {
 			return;
@@ -161,7 +161,7 @@ class InPlaceReplaceDown extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): TPromise<void> {
 		let controller = InPlaceReplaceController.get(editor);
 		if (!controller) {
 			return;
diff --git a/src/vs/editor/contrib/inPlaceReplace/common/inPlaceReplaceCommand.ts b/src/vs/editor/contrib/inPlaceReplace/common/inPlaceReplaceCommand.ts
index 931bbaf966ce7..75f4bc12f90b8 100644
--- a/src/vs/editor/contrib/inPlaceReplace/common/inPlaceReplaceCommand.ts
+++ b/src/vs/editor/contrib/inPlaceReplace/common/inPlaceReplaceCommand.ts
@@ -4,27 +4,27 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Selection} from 'vs/editor/common/core/selection';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Range} from 'vs/editor/common/core/range';
+import { Range } from 'vs/editor/common/core/range';
 
 export class InPlaceReplaceCommand implements editorCommon.ICommand {
 
 	private _editRange: Range;
 	private _originalSelection: Selection;
-	private _text:string;
+	private _text: string;
 
-	constructor(editRange: Range, originalSelection: Selection, text:string) {
+	constructor(editRange: Range, originalSelection: Selection, text: string) {
 		this._editRange = editRange;
 		this._originalSelection = originalSelection;
 		this._text = text;
 	}
 
-	public getEditOperations(model:editorCommon.ITokenizedModel, builder:editorCommon.IEditOperationBuilder):void {
+	public getEditOperations(model: editorCommon.ITokenizedModel, builder: editorCommon.IEditOperationBuilder): void {
 		builder.addEditOperation(this._editRange, this._text);
 	}
 
-	public computeCursorState(model:editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData):Selection {
+	public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
 		var inverseEditOperations = helper.getInverseEditOperations();
 		var srcRange = inverseEditOperations[0].range;
 
diff --git a/src/vs/editor/contrib/indentation/common/indentation.ts b/src/vs/editor/contrib/indentation/common/indentation.ts
index e62eb4b9071c4..2b98e881bc119 100644
--- a/src/vs/editor/contrib/indentation/common/indentation.ts
+++ b/src/vs/editor/contrib/indentation/common/indentation.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 
 import * as nls from 'vs/nls';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ICommonCodeEditor, EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, IActionOptions, EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {IndentationToSpacesCommand, IndentationToTabsCommand} from 'vs/editor/contrib/indentation/common/indentationCommands';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ICommonCodeEditor, EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { editorAction, ServicesAccessor, IActionOptions, EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { IndentationToSpacesCommand, IndentationToTabsCommand } from 'vs/editor/contrib/indentation/common/indentationCommands';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IModelService } from 'vs/editor/common/services/modelService';
 
 @editorAction
 export class IndentationToSpacesAction extends EditorAction {
@@ -24,7 +24,7 @@ export class IndentationToSpacesAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		let model = editor.getModel();
 		if (!model) {
 			return;
@@ -51,7 +51,7 @@ export class IndentationToTabsAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		let model = editor.getModel();
 		if (!model) {
 			return;
@@ -71,7 +71,7 @@ export class ChangeIndentationSizeAction extends EditorAction {
 		super(opts);
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): TPromise<void> {
 		const quickOpenService = accessor.get(IQuickOpenService);
 		const modelService = accessor.get(IModelService);
 
@@ -92,7 +92,7 @@ export class ChangeIndentationSizeAction extends EditorAction {
 		const autoFocusIndex = Math.min(model.getOptions().tabSize - 1, 7);
 
 		return TPromise.timeout(50 /* quick open is sensitive to being opened so soon after another */).then(() =>
-			quickOpenService.pick(picks, { placeHolder: nls.localize({key: 'selectTabWidth', comment: ['Tab corresponds to the tab key'] }, "Select Tab Size for Current File"), autoFocus: { autoFocusIndex } }).then(pick => {
+			quickOpenService.pick(picks, { placeHolder: nls.localize({ key: 'selectTabWidth', comment: ['Tab corresponds to the tab key'] }, "Select Tab Size for Current File"), autoFocus: { autoFocusIndex } }).then(pick => {
 				if (pick) {
 					model.updateOptions({
 						tabSize: parseInt(pick.label, 10),
@@ -148,7 +148,7 @@ export class DetectIndentation extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		const modelService = accessor.get(IModelService);
 
 		let model = editor.getModel();
@@ -173,7 +173,7 @@ export class ToggleRenderWhitespaceAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		let renderWhitespace = editor.getConfiguration().viewInfo.renderWhitespace;
 		if (renderWhitespace === 'none') {
 			editor.updateOptions({
@@ -199,7 +199,7 @@ export class ToggleRenderControlCharacterAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		editor.updateOptions({
 			renderControlCharacters: !editor.getConfiguration().viewInfo.renderControlCharacters
 		});
diff --git a/src/vs/editor/contrib/indentation/common/indentationCommands.ts b/src/vs/editor/contrib/indentation/common/indentationCommands.ts
index e52b3e170b7db..4c2d164fc6602 100644
--- a/src/vs/editor/contrib/indentation/common/indentationCommands.ts
+++ b/src/vs/editor/contrib/indentation/common/indentationCommands.ts
@@ -3,9 +3,9 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {Range} from 'vs/editor/common/core/range';
-import {ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel} from 'vs/editor/common/editorCommon';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Range } from 'vs/editor/common/core/range';
+import { ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel } from 'vs/editor/common/editorCommon';
+import { Selection } from 'vs/editor/common/core/selection';
 
 function getIndentationEditOperations(model: ITokenizedModel, builder: IEditOperationBuilder, tabSize: number, tabsToSpaces: boolean): void {
 	if (model.getLineCount() === 1 && model.getLineMaxColumn(1) === 1) {
diff --git a/src/vs/editor/contrib/indentation/test/common/indentationCommands.test.ts b/src/vs/editor/contrib/indentation/test/common/indentationCommands.test.ts
index 20f6bda51fcf5..cc515654d3b7f 100644
--- a/src/vs/editor/contrib/indentation/test/common/indentationCommands.test.ts
+++ b/src/vs/editor/contrib/indentation/test/common/indentationCommands.test.ts
@@ -3,9 +3,9 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {Selection} from 'vs/editor/common/core/selection';
-import {IndentationToSpacesCommand, IndentationToTabsCommand} from 'vs/editor/contrib/indentation/common/indentationCommands';
-import {testCommand} from 'vs/editor/test/common/commands/commandTestUtils';
+import { Selection } from 'vs/editor/common/core/selection';
+import { IndentationToSpacesCommand, IndentationToTabsCommand } from 'vs/editor/contrib/indentation/common/indentationCommands';
+import { testCommand } from 'vs/editor/test/common/commands/commandTestUtils';
 
 function testIndentationToSpacesCommand(lines: string[], selection: Selection, tabSize: number, expectedLines: string[], expectedSelection: Selection): void {
 	testCommand(lines, null, selection, (sel) => new IndentationToSpacesCommand(sel, tabSize), expectedLines, expectedSelection);
@@ -17,7 +17,7 @@ function testIndentationToTabsCommand(lines: string[], selection: Selection, tab
 
 suite('Editor Contrib - Indentation to Spaces', () => {
 
-	test('single tabs only at start of line', function() {
+	test('single tabs only at start of line', function () {
 		testIndentationToSpacesCommand(
 			[
 				'first',
@@ -39,7 +39,7 @@ suite('Editor Contrib - Indentation to Spaces', () => {
 		);
 	});
 
-	test('multiple tabs at start of line', function() {
+	test('multiple tabs at start of line', function () {
 		testIndentationToSpacesCommand(
 			[
 				'\t\tfirst',
@@ -61,7 +61,7 @@ suite('Editor Contrib - Indentation to Spaces', () => {
 		);
 	});
 
-	test('multiple tabs', function() {
+	test('multiple tabs', function () {
 		testIndentationToSpacesCommand(
 			[
 				'\t\tfirst\t',
@@ -83,7 +83,7 @@ suite('Editor Contrib - Indentation to Spaces', () => {
 		);
 	});
 
-	test('empty lines', function() {
+	test('empty lines', function () {
 		testIndentationToSpacesCommand(
 			[
 				'\t\t\t',
@@ -104,7 +104,7 @@ suite('Editor Contrib - Indentation to Spaces', () => {
 
 suite('Editor Contrib - Indentation to Tabs', () => {
 
-	test('spaces only at start of line', function() {
+	test('spaces only at start of line', function () {
 		testIndentationToTabsCommand(
 			[
 				'    first',
@@ -126,7 +126,7 @@ suite('Editor Contrib - Indentation to Tabs', () => {
 		);
 	});
 
-	test('multiple spaces at start of line', function() {
+	test('multiple spaces at start of line', function () {
 		testIndentationToTabsCommand(
 			[
 				'first',
@@ -148,7 +148,7 @@ suite('Editor Contrib - Indentation to Tabs', () => {
 		);
 	});
 
-	test('multiple spaces', function() {
+	test('multiple spaces', function () {
 		testIndentationToTabsCommand(
 			[
 				'      first   ',
diff --git a/src/vs/editor/contrib/linesOperations/common/copyLinesCommand.ts b/src/vs/editor/contrib/linesOperations/common/copyLinesCommand.ts
index ca29819b8b8b6..ea216684f6822 100644
--- a/src/vs/editor/contrib/linesOperations/common/copyLinesCommand.ts
+++ b/src/vs/editor/contrib/linesOperations/common/copyLinesCommand.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Range} from 'vs/editor/common/core/range';
-import {Selection, SelectionDirection} from 'vs/editor/common/core/selection';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection, SelectionDirection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
 
 export class CopyLinesCommand implements editorCommon.ICommand {
@@ -13,7 +13,7 @@ export class CopyLinesCommand implements editorCommon.ICommand {
 	private _selection: Selection;
 	private _isCopyingDown: boolean;
 
-	private _selectionDirection:SelectionDirection;
+	private _selectionDirection: SelectionDirection;
 	private _selectionId: string;
 	private _startLineNumberDelta: number;
 	private _endLineNumberDelta: number;
@@ -23,7 +23,7 @@ export class CopyLinesCommand implements editorCommon.ICommand {
 		this._isCopyingDown = isCopyingDown;
 	}
 
-	public getEditOperations(model:editorCommon.ITokenizedModel, builder:editorCommon.IEditOperationBuilder):void {
+	public getEditOperations(model: editorCommon.ITokenizedModel, builder: editorCommon.IEditOperationBuilder): void {
 		var s = this._selection;
 
 		this._startLineNumberDelta = 0;
@@ -57,7 +57,7 @@ export class CopyLinesCommand implements editorCommon.ICommand {
 		this._selectionDirection = this._selection.getDirection();
 	}
 
-	public computeCursorState(model:editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData):Selection {
+	public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
 		var result = helper.getTrackedSelection(this._selectionId);
 
 		if (this._startLineNumberDelta !== 0 || this._endLineNumberDelta !== 0) {
diff --git a/src/vs/editor/contrib/linesOperations/common/deleteLinesCommand.ts b/src/vs/editor/contrib/linesOperations/common/deleteLinesCommand.ts
index b689934005716..ee6327b1d20fe 100644
--- a/src/vs/editor/contrib/linesOperations/common/deleteLinesCommand.ts
+++ b/src/vs/editor/contrib/linesOperations/common/deleteLinesCommand.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel} from 'vs/editor/common/editorCommon';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel } from 'vs/editor/common/editorCommon';
 
 
 export class DeleteLinesCommand implements ICommand {
 
-	public static createFromSelection(selection:Selection): DeleteLinesCommand {
+	public static createFromSelection(selection: Selection): DeleteLinesCommand {
 		var endLineNumber = selection.endLineNumber;
 		if (selection.startLineNumber < selection.endLineNumber && selection.endColumn === 1) {
 			endLineNumber -= 1;
@@ -19,17 +19,17 @@ export class DeleteLinesCommand implements ICommand {
 		return new DeleteLinesCommand(selection.startLineNumber, endLineNumber, selection.positionColumn);
 	}
 
-	private startLineNumber:number;
-	private endLineNumber:number;
-	private restoreCursorToColumn:number;
+	private startLineNumber: number;
+	private endLineNumber: number;
+	private restoreCursorToColumn: number;
 
-	constructor(startLineNumber:number, endLineNumber:number, restoreCursorToColumn:number) {
+	constructor(startLineNumber: number, endLineNumber: number, restoreCursorToColumn: number) {
 		this.startLineNumber = startLineNumber;
 		this.endLineNumber = endLineNumber;
 		this.restoreCursorToColumn = restoreCursorToColumn;
 	}
 
-	public getEditOperations(model:ITokenizedModel, builder:IEditOperationBuilder):void {
+	public getEditOperations(model: ITokenizedModel, builder: IEditOperationBuilder): void {
 		if (model.getLineCount() === 1 && model.getLineMaxColumn(1) === 1) {
 			// Model is empty
 			return;
@@ -51,7 +51,7 @@ export class DeleteLinesCommand implements ICommand {
 		builder.addEditOperation(new Range(startLineNumber, startColumn, endLineNumber, endColumn), null);
 	}
 
-	public computeCursorState(model:ITokenizedModel, helper: ICursorStateComputerData):Selection {
+	public computeCursorState(model: ITokenizedModel, helper: ICursorStateComputerData): Selection {
 		var inverseEditOperations = helper.getInverseEditOperations();
 		var srcRange = inverseEditOperations[0].range;
 		return new Selection(
diff --git a/src/vs/editor/contrib/linesOperations/common/linesOperations.ts b/src/vs/editor/contrib/linesOperations/common/linesOperations.ts
index fa5cdfbd3c726..9baa609976d05 100644
--- a/src/vs/editor/contrib/linesOperations/common/linesOperations.ts
+++ b/src/vs/editor/contrib/linesOperations/common/linesOperations.ts
@@ -5,29 +5,29 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod, KeyChord} from 'vs/base/common/keyCodes';
-import {SortLinesCommand} from 'vs/editor/contrib/linesOperations/common/sortLinesCommand';
-import {TrimTrailingWhitespaceCommand} from 'vs/editor/common/commands/trimTrailingWhitespaceCommand';
-import {EditorContextKeys, Handler, ICommand, ICommonCodeEditor} from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, IActionOptions, EditorAction, HandlerEditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {CopyLinesCommand} from './copyLinesCommand';
-import {DeleteLinesCommand} from './deleteLinesCommand';
-import {MoveLinesCommand} from './moveLinesCommand';
+import { KeyCode, KeyMod, KeyChord } from 'vs/base/common/keyCodes';
+import { SortLinesCommand } from 'vs/editor/contrib/linesOperations/common/sortLinesCommand';
+import { TrimTrailingWhitespaceCommand } from 'vs/editor/common/commands/trimTrailingWhitespaceCommand';
+import { EditorContextKeys, Handler, ICommand, ICommonCodeEditor } from 'vs/editor/common/editorCommon';
+import { editorAction, ServicesAccessor, IActionOptions, EditorAction, HandlerEditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { CopyLinesCommand } from './copyLinesCommand';
+import { DeleteLinesCommand } from './deleteLinesCommand';
+import { MoveLinesCommand } from './moveLinesCommand';
 
 // copy lines
 
 abstract class AbstractCopyLinesAction extends EditorAction {
 
-	private down:boolean;
+	private down: boolean;
 
-	constructor(down:boolean, opts:IActionOptions) {
+	constructor(down: boolean, opts: IActionOptions) {
 		super(opts);
 		this.down = down;
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 
-		var commands:ICommand[] = [];
+		var commands: ICommand[] = [];
 		var selections = editor.getSelections();
 
 		for (var i = 0; i < selections.length; i++) {
@@ -76,16 +76,16 @@ class CopyLinesDownAction extends AbstractCopyLinesAction {
 
 abstract class AbstractMoveLinesAction extends EditorAction {
 
-	private down:boolean;
+	private down: boolean;
 
-	constructor(down:boolean, opts:IActionOptions) {
+	constructor(down: boolean, opts: IActionOptions) {
 		super(opts);
 		this.down = down;
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 
-		var commands:ICommand[] = [];
+		var commands: ICommand[] = [];
 		var selections = editor.getSelections();
 
 		for (var i = 0; i < selections.length; i++) {
@@ -131,14 +131,14 @@ class MoveLinesDownAction extends AbstractMoveLinesAction {
 }
 
 abstract class AbstractSortLinesAction extends EditorAction {
-	private descending:boolean;
+	private descending: boolean;
 
-	constructor(descending:boolean, opts:IActionOptions) {
+	constructor(descending: boolean, opts: IActionOptions) {
 		super(opts);
 		this.descending = descending;
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 
 		if (!SortLinesCommand.canRun(editor.getModel(), editor.getSelection(), this.descending)) {
 			return;
@@ -192,7 +192,7 @@ export class TrimTrailingWhitespaceAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 
 		var command = new TrimTrailingWhitespaceCommand(editor.getSelection());
 
@@ -203,15 +203,15 @@ export class TrimTrailingWhitespaceAction extends EditorAction {
 // delete lines
 
 interface IDeleteLinesOperation {
-	startLineNumber:number;
-	endLineNumber:number;
-	positionColumn:number;
+	startLineNumber: number;
+	endLineNumber: number;
+	positionColumn: number;
 }
 
 abstract class AbstractRemoveLinesAction extends EditorAction {
-	_getLinesToRemove(editor:ICommonCodeEditor): IDeleteLinesOperation[] {
+	_getLinesToRemove(editor: ICommonCodeEditor): IDeleteLinesOperation[] {
 		// Construct delete operations
-		var operations:IDeleteLinesOperation[] = editor.getSelections().map((s) => {
+		var operations: IDeleteLinesOperation[] = editor.getSelections().map((s) => {
 
 			var endLineNumber = s.endLineNumber;
 			if (s.startLineNumber < s.endLineNumber && s.endColumn === 1) {
@@ -231,7 +231,7 @@ abstract class AbstractRemoveLinesAction extends EditorAction {
 		});
 
 		// Merge delete operations on consecutive lines
-		var mergedOperations:IDeleteLinesOperation[] = [];
+		var mergedOperations: IDeleteLinesOperation[] = [];
 		var previousOperation = operations[0];
 		for (var i = 1; i < operations.length; i++) {
 			if (previousOperation.endLineNumber + 1 === operations[i].startLineNumber) {
@@ -266,12 +266,12 @@ class DeleteLinesAction extends AbstractRemoveLinesAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 
 		var ops = this._getLinesToRemove(editor);
 
 		// Finally, construct the delete lines commands
-		var commands:ICommand[] = ops.map((op) => {
+		var commands: ICommand[] = ops.map((op) => {
 			return new DeleteLinesCommand(op.startLineNumber, op.endLineNumber, op.positionColumn);
 		});
 
diff --git a/src/vs/editor/contrib/linesOperations/common/moveLinesCommand.ts b/src/vs/editor/contrib/linesOperations/common/moveLinesCommand.ts
index ff9929ff6d01c..43ed98d212d82 100644
--- a/src/vs/editor/contrib/linesOperations/common/moveLinesCommand.ts
+++ b/src/vs/editor/contrib/linesOperations/common/moveLinesCommand.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel} from 'vs/editor/common/editorCommon';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { ICommand, ICursorStateComputerData, IEditOperationBuilder, ITokenizedModel } from 'vs/editor/common/editorCommon';
 
 export class MoveLinesCommand implements ICommand {
 
@@ -21,7 +21,7 @@ export class MoveLinesCommand implements ICommand {
 		this._isMovingDown = isMovingDown;
 	}
 
-	public getEditOperations(model:ITokenizedModel, builder:IEditOperationBuilder):void {
+	public getEditOperations(model: ITokenizedModel, builder: IEditOperationBuilder): void {
 
 		var modelLineCount = model.getLineCount();
 
@@ -88,7 +88,7 @@ export class MoveLinesCommand implements ICommand {
 		this._selectionId = builder.trackSelection(s);
 	}
 
-	public computeCursorState(model:ITokenizedModel, helper: ICursorStateComputerData):Selection {
+	public computeCursorState(model: ITokenizedModel, helper: ICursorStateComputerData): Selection {
 		var result = helper.getTrackedSelection(this._selectionId);
 
 		if (this._moveEndPositionDown) {
diff --git a/src/vs/editor/contrib/linesOperations/common/sortLinesCommand.ts b/src/vs/editor/contrib/linesOperations/common/sortLinesCommand.ts
index 7f9091e68ab53..2b07f06e8382b 100644
--- a/src/vs/editor/contrib/linesOperations/common/sortLinesCommand.ts
+++ b/src/vs/editor/contrib/linesOperations/common/sortLinesCommand.ts
@@ -4,23 +4,23 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EditOperation} from 'vs/editor/common/core/editOperation';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 
 export class SortLinesCommand implements editorCommon.ICommand {
 
-	private selection:Selection;
-	private selectionId:string;
-	private descending:boolean;
+	private selection: Selection;
+	private selectionId: string;
+	private descending: boolean;
 
-	constructor(selection:Selection, descending:boolean) {
+	constructor(selection: Selection, descending: boolean) {
 		this.selection = selection;
 		this.descending = descending;
 	}
 
-	public getEditOperations(model:editorCommon.ITokenizedModel, builder:editorCommon.IEditOperationBuilder):void {
+	public getEditOperations(model: editorCommon.ITokenizedModel, builder: editorCommon.IEditOperationBuilder): void {
 		let op = sortLines(model, this.selection, this.descending);
 		if (op) {
 			builder.addEditOperation(op.range, op.text);
@@ -29,11 +29,11 @@ export class SortLinesCommand implements editorCommon.ICommand {
 		this.selectionId = builder.trackSelection(this.selection);
 	}
 
-	public computeCursorState(model:editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData):Selection {
+	public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
 		return helper.getTrackedSelection(this.selectionId);
 	}
 
-	public static canRun(model:editorCommon.ITextModel, selection:Selection, descending:boolean): boolean {
+	public static canRun(model: editorCommon.ITextModel, selection: Selection, descending: boolean): boolean {
 		let data = getSortData(model, selection, descending);
 
 		if (!data) {
@@ -50,7 +50,7 @@ export class SortLinesCommand implements editorCommon.ICommand {
 	}
 }
 
-function getSortData(model:editorCommon.ITextModel, selection:Selection, descending:boolean) {
+function getSortData(model: editorCommon.ITextModel, selection: Selection, descending: boolean) {
 	let startLineNumber = selection.startLineNumber;
 	let endLineNumber = selection.endLineNumber;
 
@@ -91,7 +91,7 @@ function getSortData(model:editorCommon.ITextModel, selection:Selection, descend
 /**
  * Generate commands for sorting lines on a model.
  */
-function sortLines(model:editorCommon.ITextModel, selection:Selection, descending:boolean): editorCommon.IIdentifiedSingleEditOperation {
+function sortLines(model: editorCommon.ITextModel, selection: Selection, descending: boolean): editorCommon.IIdentifiedSingleEditOperation {
 	let data = getSortData(model, selection, descending);
 
 	if (!data) {
diff --git a/src/vs/editor/contrib/linesOperations/test/common/copyLinesCommand.test.ts b/src/vs/editor/contrib/linesOperations/test/common/copyLinesCommand.test.ts
index 8f5494788ed60..b4dc04b069580 100644
--- a/src/vs/editor/contrib/linesOperations/test/common/copyLinesCommand.test.ts
+++ b/src/vs/editor/contrib/linesOperations/test/common/copyLinesCommand.test.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Selection} from 'vs/editor/common/core/selection';
-import {CopyLinesCommand} from 'vs/editor/contrib/linesOperations/common/copyLinesCommand';
-import {testCommand} from 'vs/editor/test/common/commands/commandTestUtils';
+import { Selection } from 'vs/editor/common/core/selection';
+import { CopyLinesCommand } from 'vs/editor/contrib/linesOperations/common/copyLinesCommand';
+import { testCommand } from 'vs/editor/test/common/commands/commandTestUtils';
 
 function testCopyLinesDownCommand(lines: string[], selection: Selection, expectedLines: string[], expectedSelection: Selection): void {
 	testCommand(lines, null, selection, (sel) => new CopyLinesCommand(sel, true), expectedLines, expectedSelection);
diff --git a/src/vs/editor/contrib/linesOperations/test/common/deleteLinesCommand.test.ts b/src/vs/editor/contrib/linesOperations/test/common/deleteLinesCommand.test.ts
index ed16029fdeed0..4bbc7b3e40bed 100644
--- a/src/vs/editor/contrib/linesOperations/test/common/deleteLinesCommand.test.ts
+++ b/src/vs/editor/contrib/linesOperations/test/common/deleteLinesCommand.test.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Selection} from 'vs/editor/common/core/selection';
-import {DeleteLinesCommand} from 'vs/editor/contrib/linesOperations/common/deleteLinesCommand';
-import {testCommand} from 'vs/editor/test/common/commands/commandTestUtils';
+import { Selection } from 'vs/editor/common/core/selection';
+import { DeleteLinesCommand } from 'vs/editor/contrib/linesOperations/common/deleteLinesCommand';
+import { testCommand } from 'vs/editor/test/common/commands/commandTestUtils';
 
 function testDeleteLinesCommand(lines: string[], selection: Selection, expectedLines: string[], expectedSelection: Selection): void {
 	testCommand(lines, null, selection, (sel) => DeleteLinesCommand.createFromSelection(sel), expectedLines, expectedSelection);
diff --git a/src/vs/editor/contrib/linesOperations/test/common/moveLinesCommand.test.ts b/src/vs/editor/contrib/linesOperations/test/common/moveLinesCommand.test.ts
index 115973294c701..429d896276ebb 100644
--- a/src/vs/editor/contrib/linesOperations/test/common/moveLinesCommand.test.ts
+++ b/src/vs/editor/contrib/linesOperations/test/common/moveLinesCommand.test.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Selection} from 'vs/editor/common/core/selection';
-import {MoveLinesCommand} from 'vs/editor/contrib/linesOperations/common/moveLinesCommand';
-import {testCommand} from 'vs/editor/test/common/commands/commandTestUtils';
+import { Selection } from 'vs/editor/common/core/selection';
+import { MoveLinesCommand } from 'vs/editor/contrib/linesOperations/common/moveLinesCommand';
+import { testCommand } from 'vs/editor/test/common/commands/commandTestUtils';
 
 function testMoveLinesDownCommand(lines: string[], selection: Selection, expectedLines: string[], expectedSelection: Selection): void {
 	testCommand(lines, null, selection, (sel) => new MoveLinesCommand(sel, true), expectedLines, expectedSelection);
diff --git a/src/vs/editor/contrib/linesOperations/test/common/sortLinesCommand.test.ts b/src/vs/editor/contrib/linesOperations/test/common/sortLinesCommand.test.ts
index 3456ab97d9422..ec19e7bbe0dc5 100644
--- a/src/vs/editor/contrib/linesOperations/test/common/sortLinesCommand.test.ts
+++ b/src/vs/editor/contrib/linesOperations/test/common/sortLinesCommand.test.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Selection} from 'vs/editor/common/core/selection';
-import {SortLinesCommand} from 'vs/editor/contrib/linesOperations/common/sortLinesCommand';
-import {testCommand} from 'vs/editor/test/common/commands/commandTestUtils';
+import { Selection } from 'vs/editor/common/core/selection';
+import { SortLinesCommand } from 'vs/editor/contrib/linesOperations/common/sortLinesCommand';
+import { testCommand } from 'vs/editor/test/common/commands/commandTestUtils';
 
 function testSortLinesAscendingCommand(lines: string[], selection: Selection, expectedLines: string[], expectedSelection: Selection): void {
 	testCommand(lines, null, selection, (sel) => new SortLinesCommand(sel, false), expectedLines, expectedSelection);
diff --git a/src/vs/editor/contrib/links/browser/links.ts b/src/vs/editor/contrib/links/browser/links.ts
index bcc74358c73b0..a68acc1bc0a2c 100644
--- a/src/vs/editor/contrib/links/browser/links.ts
+++ b/src/vs/editor/contrib/links/browser/links.ts
@@ -7,22 +7,22 @@
 
 import 'vs/css!./links';
 import * as nls from 'vs/nls';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {KeyCode} from 'vs/base/common/keyCodes';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { KeyCode } from 'vs/base/common/keyCodes';
 import * as platform from 'vs/base/common/platform';
 import Severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IOpenerService} from 'vs/platform/opener/common/opener';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IOpenerService } from 'vs/platform/opener/common/opener';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {LinkProviderRegistry} from 'vs/editor/common/modes';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
-import {IEditorMouseEvent, ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {getLinks, Link} from 'vs/editor/contrib/links/common/links';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
+import { editorAction, ServicesAccessor, EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { LinkProviderRegistry } from 'vs/editor/common/modes';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
+import { IEditorMouseEvent, ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { getLinks, Link } from 'vs/editor/contrib/links/common/links';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
 
 class LinkOccurence {
 
@@ -329,7 +329,7 @@ class OpenLinkAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void {
 		let linkDetector = LinkDetector.get(editor);
 		if (!linkDetector) {
 			return;
diff --git a/src/vs/editor/contrib/links/common/links.ts b/src/vs/editor/contrib/links/common/links.ts
index f218177668758..3b5ebe2d052e4 100644
--- a/src/vs/editor/contrib/links/common/links.ts
+++ b/src/vs/editor/contrib/links/common/links.ts
@@ -5,15 +5,15 @@
 
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
+import { onUnexpectedError } from 'vs/base/common/errors';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Range} from 'vs/editor/common/core/range';
-import {IReadOnlyModel, IRange} from 'vs/editor/common/editorCommon';
-import {ILink, LinkProvider, LinkProviderRegistry} from 'vs/editor/common/modes';
-import {asWinJsPromise} from 'vs/base/common/async';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Range } from 'vs/editor/common/core/range';
+import { IReadOnlyModel, IRange } from 'vs/editor/common/editorCommon';
+import { ILink, LinkProvider, LinkProviderRegistry } from 'vs/editor/common/modes';
+import { asWinJsPromise } from 'vs/base/common/async';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { IModelService } from 'vs/editor/common/services/modelService';
 
 export class Link implements ILink {
 
diff --git a/src/vs/editor/contrib/multicursor/browser/menuPreventer.ts b/src/vs/editor/contrib/multicursor/browser/menuPreventer.ts
index 9b9607726d4d2..0d79e43e8dd61 100644
--- a/src/vs/editor/contrib/multicursor/browser/menuPreventer.ts
+++ b/src/vs/editor/contrib/multicursor/browser/menuPreventer.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {KeyMod} from 'vs/base/common/keyCodes';
-import {Disposable} from 'vs/base/common/lifecycle';
-import {IEditorContribution} from 'vs/editor/common/editorCommon';
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
+import { KeyMod } from 'vs/base/common/keyCodes';
+import { Disposable } from 'vs/base/common/lifecycle';
+import { IEditorContribution } from 'vs/editor/common/editorCommon';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
 
 /**
  * Prevents the top-level menu from showing up when doing Alt + Click in the editor
@@ -18,11 +18,11 @@ export class MenuPreventer extends Disposable implements IEditorContribution {
 
 	private static ID = 'editor.contrib.menuPreventer';
 
-	private _editor:ICodeEditor;
-	private _altListeningMouse:boolean;
-	private _altMouseTriggered:boolean;
+	private _editor: ICodeEditor;
+	private _altListeningMouse: boolean;
+	private _altMouseTriggered: boolean;
 
-	constructor(editor:ICodeEditor) {
+	constructor(editor: ICodeEditor) {
 		super();
 		this._editor = editor;
 		this._altListeningMouse = false;
@@ -49,7 +49,7 @@ export class MenuPreventer extends Disposable implements IEditorContribution {
 
 		this._register(this._editor.onKeyUp((e) => {
 			if (e.equals(KeyMod.Alt)) {
-				if(this._altMouseTriggered){
+				if (this._altMouseTriggered) {
 					e.preventDefault();
 				}
 				this._altListeningMouse = false;
diff --git a/src/vs/editor/contrib/multicursor/common/multicursor.ts b/src/vs/editor/contrib/multicursor/common/multicursor.ts
index dcc5e9195e71c..387f6dddd33a0 100644
--- a/src/vs/editor/contrib/multicursor/common/multicursor.ts
+++ b/src/vs/editor/contrib/multicursor/common/multicursor.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {Handler, ICommonCodeEditor, EditorContextKeys, ISelection} from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, EditorAction, HandlerEditorAction} from 'vs/editor/common/editorCommonExtensions';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { Handler, ICommonCodeEditor, EditorContextKeys, ISelection } from 'vs/editor/common/editorCommon';
+import { editorAction, ServicesAccessor, EditorAction, HandlerEditorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class InsertCursorAbove extends HandlerEditorAction {
@@ -67,7 +67,7 @@ class InsertCursorAtEndOfEachLineSelected extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		let selection = editor.getSelection();
 		if (selection.isEmpty()) {
 			return;
@@ -78,7 +78,7 @@ class InsertCursorAtEndOfEachLineSelected extends EditorAction {
 		let selectionStart = selection.getStartPosition();
 		let selectionEnd = selection.getEndPosition();
 		for (var i = selectionStart.lineNumber; i <= selectionEnd.lineNumber; i++) {
-			if(i !== selectionEnd.lineNumber) {
+			if (i !== selectionEnd.lineNumber) {
 				let currentLineMaxColumn = model.getLineMaxColumn(i);
 				newSelections.push({
 					selectionStartLineNumber: i,
@@ -86,7 +86,7 @@ class InsertCursorAtEndOfEachLineSelected extends EditorAction {
 					positionLineNumber: i,
 					positionColumn: currentLineMaxColumn
 				});
-			} else if( selectionEnd.column > 0 ) {
+			} else if (selectionEnd.column > 0) {
 				newSelections.push({
 					selectionStartLineNumber: selectionEnd.lineNumber,
 					selectionStartColumn: selectionEnd.column,
diff --git a/src/vs/editor/contrib/parameterHints/browser/parameterHints.ts b/src/vs/editor/contrib/parameterHints/browser/parameterHints.ts
index 348ea0fa010c1..2521b4aaa9232 100644
--- a/src/vs/editor/contrib/parameterHints/browser/parameterHints.ts
+++ b/src/vs/editor/contrib/parameterHints/browser/parameterHints.ts
@@ -21,14 +21,14 @@ class ParameterHintsController implements IEditorContribution {
 
 	private static ID = 'editor.controller.parameterHints';
 
-	public static get(editor:ICommonCodeEditor): ParameterHintsController {
+	public static get(editor: ICommonCodeEditor): ParameterHintsController {
 		return editor.getContribution<ParameterHintsController>(ParameterHintsController.ID);
 	}
 
-	private editor:ICodeEditor;
+	private editor: ICodeEditor;
 	private widget: ParameterHintsWidget;
 
-	constructor(editor:ICodeEditor, @IInstantiationService instantiationService: IInstantiationService) {
+	constructor(editor: ICodeEditor, @IInstantiationService instantiationService: IInstantiationService) {
 		this.editor = editor;
 		this.widget = instantiationService.createInstance(ParameterHintsWidget, this.editor);
 	}
@@ -74,7 +74,7 @@ export class TriggerParameterHintsAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		let controller = ParameterHintsController.get(editor);
 		if (controller) {
 			controller.trigger();
diff --git a/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts b/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts
index 067c75913ed15..97223d0987d94 100644
--- a/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts
+++ b/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts
@@ -15,13 +15,13 @@ import { SignatureHelp, SignatureInformation, SignatureHelpProviderRegistry } fr
 import { ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition } from 'vs/editor/browser/editorBrowser';
 import { RunOnceScheduler } from 'vs/base/common/async';
 import { onUnexpectedError } from 'vs/base/common/errors';
-import Event, {Emitter, chain} from 'vs/base/common/event';
-import {domEvent, stop} from 'vs/base/browser/event';
+import Event, { Emitter, chain } from 'vs/base/common/event';
+import { domEvent, stop } from 'vs/base/browser/event';
 import { ICommonCodeEditor, ICursorSelectionChangedEvent } from 'vs/editor/common/editorCommon';
 import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
 import { Context, provideSignatureHelp } from '../common/parameterHints';
 import { IConfigurationChangedEvent } from 'vs/editor/common/editorCommon';
-import {DomScrollableElement} from 'vs/base/browser/ui/scrollbar/scrollableElement';
+import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
 
 const $ = dom.$;
 
@@ -45,7 +45,7 @@ export class ParameterHintsModel extends Disposable {
 	private active: boolean;
 	private throttledDelayer: RunOnceScheduler;
 
-	constructor(editor:ICommonCodeEditor) {
+	constructor(editor: ICommonCodeEditor) {
 		super();
 
 		this.editor = editor;
@@ -97,13 +97,13 @@ export class ParameterHintsModel extends Disposable {
 
 				this.active = true;
 
-				const event:IHintEvent = { hints: result };
+				const event: IHintEvent = { hints: result };
 				this._onHint.fire(event);
 				return true;
 			});
 	}
 
-	isTriggered():boolean {
+	isTriggered(): boolean {
 		return this.active || this.throttledDelayer.isScheduled();
 	}
 
@@ -270,7 +270,7 @@ export class ParameterHintsWidget implements IContentWidget, IDisposable {
 		this.editor.layoutContentWidget(this);
 	}
 
-	getPosition():IContentWidgetPosition {
+	getPosition(): IContentWidgetPosition {
 		if (this.visible) {
 			return {
 				position: this.editor.getPosition(),
@@ -297,7 +297,7 @@ export class ParameterHintsWidget implements IContentWidget, IDisposable {
 		code.style.fontSize = `${fontInfo.fontSize}px`;
 		code.style.fontFamily = fontInfo.fontFamily;
 
-		if(!hasParameters) {
+		if (!hasParameters) {
 			const label = dom.append(code, $('span'));
 			label.textContent = signature.label;
 
@@ -307,7 +307,7 @@ export class ParameterHintsWidget implements IContentWidget, IDisposable {
 
 		const activeParameter = signature.parameters[this.hints.activeParameter];
 
-		if(activeParameter && activeParameter.documentation) {
+		if (activeParameter && activeParameter.documentation) {
 			const documentation = $('span.documentation');
 			documentation.textContent = activeParameter.documentation;
 			dom.append(this.docs, $('p', null, documentation));
@@ -315,7 +315,7 @@ export class ParameterHintsWidget implements IContentWidget, IDisposable {
 
 		dom.toggleClass(this.signature, 'has-docs', !!signature.documentation);
 
-		if(signature.documentation) {
+		if (signature.documentation) {
 			dom.append(this.docs, $('p', null, signature.documentation));
 		}
 
@@ -453,7 +453,7 @@ export class ParameterHintsWidget implements IContentWidget, IDisposable {
 
 	private updateMaxHeight(): void {
 		const height = Math.max(this.editor.getLayoutInfo().height / 4, 250);
-		this.element.style.maxHeight = `${ height }px`;
+		this.element.style.maxHeight = `${height}px`;
 	}
 
 	dispose(): void {
diff --git a/src/vs/editor/contrib/parameterHints/common/parameterHints.ts b/src/vs/editor/contrib/parameterHints/common/parameterHints.ts
index 8faa2feb737b1..6d919521de24f 100644
--- a/src/vs/editor/contrib/parameterHints/common/parameterHints.ts
+++ b/src/vs/editor/contrib/parameterHints/common/parameterHints.ts
@@ -18,7 +18,7 @@ export const Context = {
 	MultipleSignatures: new RawContextKey<boolean>('parameterHintsMultipleSignatures', false),
 };
 
-export function provideSignatureHelp(model:IReadOnlyModel, position:Position): TPromise<SignatureHelp> {
+export function provideSignatureHelp(model: IReadOnlyModel, position: Position): TPromise<SignatureHelp> {
 	const support = SignatureHelpProviderRegistry.ordered(model)[0];
 
 	if (!support) {
diff --git a/src/vs/editor/contrib/quickFix/common/quickFix.ts b/src/vs/editor/contrib/quickFix/common/quickFix.ts
index 77d41496c847b..ec099bca58c40 100644
--- a/src/vs/editor/contrib/quickFix/common/quickFix.ts
+++ b/src/vs/editor/contrib/quickFix/common/quickFix.ts
@@ -5,16 +5,16 @@
 
 'use strict';
 
-import {illegalArgument, onUnexpectedError} from 'vs/base/common/errors';
+import { illegalArgument, onUnexpectedError } from 'vs/base/common/errors';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IdGenerator} from 'vs/base/common/idGenerator';
-import {Range} from 'vs/editor/common/core/range';
-import {IReadOnlyModel} from 'vs/editor/common/editorCommon';
-import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {CodeActionProviderRegistry, CodeAction, CodeActionProvider} from 'vs/editor/common/modes';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {asWinJsPromise} from 'vs/base/common/async';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IdGenerator } from 'vs/base/common/idGenerator';
+import { Range } from 'vs/editor/common/core/range';
+import { IReadOnlyModel } from 'vs/editor/common/editorCommon';
+import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { CodeActionProviderRegistry, CodeAction, CodeActionProvider } from 'vs/editor/common/modes';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { asWinJsPromise } from 'vs/base/common/async';
 
 export interface IQuickFix2 extends CodeAction {
 	support: CodeActionProvider;
@@ -48,7 +48,7 @@ export function getCodeActions(model: IReadOnlyModel, range: Range): TPromise<IQ
 	return TPromise.join(promises).then(() => quickFixes);
 }
 
-CommonEditorRegistry.registerLanguageCommand('_executeCodeActionProvider', function(accessor, args) {
+CommonEditorRegistry.registerLanguageCommand('_executeCodeActionProvider', function (accessor, args) {
 
 	const {resource, range} = args;
 	if (!(resource instanceof URI) || !Range.isIRange(range)) {
diff --git a/src/vs/editor/contrib/quickOpen/browser/editorQuickOpen.ts b/src/vs/editor/contrib/quickOpen/browser/editorQuickOpen.ts
index 09889763253af..ef2a43e6e3140 100644
--- a/src/vs/editor/contrib/quickOpen/browser/editorQuickOpen.ts
+++ b/src/vs/editor/contrib/quickOpen/browser/editorQuickOpen.ts
@@ -4,19 +4,19 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {IAutoFocus} from 'vs/base/parts/quickopen/common/quickOpen';
+import { QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { IAutoFocus } from 'vs/base/parts/quickopen/common/quickOpen';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
-import {QuickOpenEditorWidget} from './quickOpenEditorWidget';
-import {Selection} from 'vs/editor/common/core/selection';
-import {IActionOptions, EditorAction} from 'vs/editor/common/editorCommonExtensions';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
+import { QuickOpenEditorWidget } from './quickOpenEditorWidget';
+import { Selection } from 'vs/editor/common/core/selection';
+import { IActionOptions, EditorAction } from 'vs/editor/common/editorCommonExtensions';
 
 export interface IQuickOpenControllerOpts {
 	inputAriaLabel: string;
-	getModel(value:string):QuickOpenModel;
-	getAutoFocus(searchValue:string):IAutoFocus;
+	getModel(value: string): QuickOpenModel;
+	getAutoFocus(searchValue: string): IAutoFocus;
 }
 
 @editorContribution
@@ -24,16 +24,16 @@ export class QuickOpenController implements editorCommon.IEditorContribution {
 
 	private static ID = 'editor.controller.quickOpenController';
 
-	public static get(editor:editorCommon.ICommonCodeEditor): QuickOpenController {
+	public static get(editor: editorCommon.ICommonCodeEditor): QuickOpenController {
 		return editor.getContribution<QuickOpenController>(QuickOpenController.ID);
 	}
 
-	private editor:ICodeEditor;
-	private widget:QuickOpenEditorWidget;
-	private rangeHighlightDecorationId:string;
-	private lastKnownEditorSelection:Selection;
+	private editor: ICodeEditor;
+	private widget: QuickOpenEditorWidget;
+	private rangeHighlightDecorationId: string;
+	private lastKnownEditorSelection: Selection;
 
-	constructor(editor:ICodeEditor) {
+	constructor(editor: ICodeEditor) {
 		this.editor = editor;
 	}
 
@@ -49,14 +49,14 @@ export class QuickOpenController implements editorCommon.IEditorContribution {
 		}
 	}
 
-	public run(opts:IQuickOpenControllerOpts): void {
+	public run(opts: IQuickOpenControllerOpts): void {
 		if (this.widget) {
 			this.widget.destroy();
 			this.widget = null;
 		}
 
 		// Create goto line widget
-		let onClose = (canceled:boolean) => {
+		let onClose = (canceled: boolean) => {
 			// Clear Highlight Decorations if present
 			this.clearDecorations();
 
@@ -74,7 +74,7 @@ export class QuickOpenController implements editorCommon.IEditorContribution {
 			this.editor,
 			() => onClose(false),
 			() => onClose(true),
-			(value:string)=>{
+			(value: string) => {
 				this.widget.setInput(opts.getModel(value), opts.getAutoFocus(value));
 			},
 			{
@@ -91,8 +91,8 @@ export class QuickOpenController implements editorCommon.IEditorContribution {
 		this.widget.show('');
 	}
 
-	public decorateLine(range:editorCommon.IRange, editor:ICodeEditor):void {
-		editor.changeDecorations((changeAccessor:editorCommon.IModelDecorationsChangeAccessor)=>{
+	public decorateLine(range: editorCommon.IRange, editor: ICodeEditor): void {
+		editor.changeDecorations((changeAccessor: editorCommon.IModelDecorationsChangeAccessor) => {
 			var oldDecorations: string[] = [];
 			if (this.rangeHighlightDecorationId) {
 				oldDecorations.push(this.rangeHighlightDecorationId);
@@ -114,9 +114,9 @@ export class QuickOpenController implements editorCommon.IEditorContribution {
 		});
 	}
 
-	public clearDecorations():void {
+	public clearDecorations(): void {
 		if (this.rangeHighlightDecorationId) {
-			this.editor.changeDecorations((changeAccessor:editorCommon.IModelDecorationsChangeAccessor)=>{
+			this.editor.changeDecorations((changeAccessor: editorCommon.IModelDecorationsChangeAccessor) => {
 				changeAccessor.deltaDecorations([this.rangeHighlightDecorationId], []);
 				this.rangeHighlightDecorationId = null;
 			});
@@ -128,12 +128,12 @@ export interface IQuickOpenOpts {
 	/**
 	 * provide the quick open model for the given search value.
 	 */
-	getModel(value:string):QuickOpenModel;
+	getModel(value: string): QuickOpenModel;
 
 	/**
 	 * provide the quick open auto focus mode for the given search value.
 	 */
-	getAutoFocus(searchValue:string):IAutoFocus;
+	getAutoFocus(searchValue: string): IAutoFocus;
 }
 
 /**
@@ -141,27 +141,27 @@ export interface IQuickOpenOpts {
  */
 export abstract class BaseEditorQuickOpenAction extends EditorAction {
 
-	private _inputAriaLabel:string;
+	private _inputAriaLabel: string;
 
-	constructor(inputAriaLabel:string, opts:IActionOptions) {
+	constructor(inputAriaLabel: string, opts: IActionOptions) {
 		super(opts);
 		this._inputAriaLabel = inputAriaLabel;
 	}
 
-	protected getController(editor:editorCommon.ICommonCodeEditor): QuickOpenController {
+	protected getController(editor: editorCommon.ICommonCodeEditor): QuickOpenController {
 		return QuickOpenController.get(editor);
 	}
 
-	protected _show(controller:QuickOpenController, opts:IQuickOpenOpts): void {
+	protected _show(controller: QuickOpenController, opts: IQuickOpenOpts): void {
 		controller.run({
 			inputAriaLabel: this._inputAriaLabel,
-			getModel: (value:string):QuickOpenModel => opts.getModel(value),
-			getAutoFocus: (searchValue:string):IAutoFocus => opts.getAutoFocus(searchValue)
+			getModel: (value: string): QuickOpenModel => opts.getModel(value),
+			getAutoFocus: (searchValue: string): IAutoFocus => opts.getAutoFocus(searchValue)
 		});
 	}
 }
 
 export interface IDecorator {
-	decorateLine(range:editorCommon.IRange, editor:editorCommon.IEditor):void;
-	clearDecorations():void;
+	decorateLine(range: editorCommon.IRange, editor: editorCommon.IEditor): void;
+	clearDecorations(): void;
 }
diff --git a/src/vs/editor/contrib/quickOpen/browser/gotoLine.ts b/src/vs/editor/contrib/quickOpen/browser/gotoLine.ts
index 97e445cf9925d..f6ffb29ca9ed5 100644
--- a/src/vs/editor/contrib/quickOpen/browser/gotoLine.ts
+++ b/src/vs/editor/contrib/quickOpen/browser/gotoLine.ts
@@ -7,13 +7,13 @@
 
 import 'vs/css!./gotoLine';
 import * as nls from 'vs/nls';
-import {IContext, QuickOpenEntry, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {IAutoFocus, Mode} from 'vs/base/parts/quickopen/common/quickOpen';
+import { IContext, QuickOpenEntry, QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { IAutoFocus, Mode } from 'vs/base/parts/quickopen/common/quickOpen';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ICodeEditor, IDiffEditor} from 'vs/editor/browser/editorBrowser';
-import {BaseEditorQuickOpenAction, IDecorator} from './editorQuickOpen';
-import {editorAction, ServicesAccessor} from 'vs/editor/common/editorCommonExtensions';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
+import { ICodeEditor, IDiffEditor } from 'vs/editor/browser/editorBrowser';
+import { BaseEditorQuickOpenAction, IDecorator } from './editorQuickOpen';
+import { editorAction, ServicesAccessor } from 'vs/editor/common/editorCommonExtensions';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 
 import EditorContextKeys = editorCommon.EditorContextKeys;
 
@@ -166,13 +166,13 @@ export class GotoLineAction extends BaseEditorQuickOpenAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void {
 		this._show(this.getController(editor), {
-			getModel: (value:string):QuickOpenModel => {
+			getModel: (value: string): QuickOpenModel => {
 				return new QuickOpenModel([new GotoLineEntry(value, editor, this.getController(editor))]);
 			},
 
-			getAutoFocus: (searchValue:string):IAutoFocus => {
+			getAutoFocus: (searchValue: string): IAutoFocus => {
 				return {
 					autoFocusFirstEntry: searchValue.length > 0
 				};
diff --git a/src/vs/editor/contrib/quickOpen/browser/quickCommand.ts b/src/vs/editor/contrib/quickOpen/browser/quickCommand.ts
index 2217475a62159..5b3c32dd8cd5b 100644
--- a/src/vs/editor/contrib/quickOpen/browser/quickCommand.ts
+++ b/src/vs/editor/contrib/quickOpen/browser/quickCommand.ts
@@ -5,16 +5,16 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {matchesFuzzy} from 'vs/base/common/filters';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IContext, IHighlight, QuickOpenEntryGroup, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {IAutoFocus, Mode} from 'vs/base/parts/quickopen/common/quickOpen';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IEditorAction, ICommonCodeEditor, IEditor, EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {BaseEditorQuickOpenAction} from './editorQuickOpen';
-import {editorAction, ServicesAccessor} from 'vs/editor/common/editorCommonExtensions';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { matchesFuzzy } from 'vs/base/common/filters';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IContext, IHighlight, QuickOpenEntryGroup, QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { IAutoFocus, Mode } from 'vs/base/parts/quickopen/common/quickOpen';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IEditorAction, ICommonCodeEditor, IEditor, EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { BaseEditorQuickOpenAction } from './editorQuickOpen';
+import { editorAction, ServicesAccessor } from 'vs/editor/common/editorCommonExtensions';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 import * as browser from 'vs/base/browser/browser';
 
 export class EditorActionCommandEntry extends QuickOpenEntryGroup {
@@ -85,15 +85,15 @@ export class QuickCommandAction extends BaseEditorQuickOpenAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		const keybindingService = accessor.get(IKeybindingService);
 
 		this._show(this.getController(editor), {
-			getModel: (value:string):QuickOpenModel => {
+			getModel: (value: string): QuickOpenModel => {
 				return new QuickOpenModel(this._editorActionsToEntries(keybindingService, editor, value));
 			},
 
-			getAutoFocus: (searchValue:string):IAutoFocus => {
+			getAutoFocus: (searchValue: string): IAutoFocus => {
 				return {
 					autoFocusFirstEntry: true,
 					autoFocusPrefixMatch: searchValue
@@ -109,7 +109,7 @@ export class QuickCommandAction extends BaseEditorQuickOpenAction {
 		return elementAName.localeCompare(elementBName);
 	}
 
-	private _editorActionsToEntries(keybindingService:IKeybindingService, editor:ICommonCodeEditor, searchValue: string): EditorActionCommandEntry[] {
+	private _editorActionsToEntries(keybindingService: IKeybindingService, editor: ICommonCodeEditor, searchValue: string): EditorActionCommandEntry[] {
 		let actions: IEditorAction[] = editor.getSupportedActions();
 		let entries: EditorActionCommandEntry[] = [];
 
diff --git a/src/vs/editor/contrib/quickOpen/browser/quickOpenEditorWidget.ts b/src/vs/editor/contrib/quickOpen/browser/quickOpenEditorWidget.ts
index 9285942306fef..f1b4d1441df5c 100644
--- a/src/vs/editor/contrib/quickOpen/browser/quickOpenEditorWidget.ts
+++ b/src/vs/editor/contrib/quickOpen/browser/quickOpenEditorWidget.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {$, Dimension} from 'vs/base/browser/builder';
-import {QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {QuickOpenWidget} from 'vs/base/parts/quickopen/browser/quickOpenWidget';
-import {IAutoFocus} from 'vs/base/parts/quickopen/common/quickOpen';
-import {ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference} from 'vs/editor/browser/editorBrowser';
+import { $, Dimension } from 'vs/base/browser/builder';
+import { QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { QuickOpenWidget } from 'vs/base/parts/quickopen/browser/quickOpenWidget';
+import { IAutoFocus } from 'vs/base/parts/quickopen/common/quickOpen';
+import { ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference } from 'vs/editor/browser/editorBrowser';
 
 export interface IQuickOpenEditorWidgetOptions {
 	inputAriaLabel: string;
@@ -18,26 +18,26 @@ export class QuickOpenEditorWidget implements IOverlayWidget {
 
 	private static ID = 'editor.contrib.quickOpenEditorWidget';
 
-	private codeEditor:ICodeEditor;
-	private visible:boolean;
-	private quickOpenWidget:QuickOpenWidget;
-	private domNode:HTMLElement;
+	private codeEditor: ICodeEditor;
+	private visible: boolean;
+	private quickOpenWidget: QuickOpenWidget;
+	private domNode: HTMLElement;
 
-	constructor(codeEditor:ICodeEditor, onOk:()=>void, onCancel:()=>void, onType:(value:string)=>void, configuration:IQuickOpenEditorWidgetOptions) {
+	constructor(codeEditor: ICodeEditor, onOk: () => void, onCancel: () => void, onType: (value: string) => void, configuration: IQuickOpenEditorWidgetOptions) {
 		this.codeEditor = codeEditor;
 
 		this.create(onOk, onCancel, onType, configuration);
 	}
 
-	private create(onOk:()=>void, onCancel:()=>void, onType:(value:string)=>void, configuration:IQuickOpenEditorWidgetOptions):void {
+	private create(onOk: () => void, onCancel: () => void, onType: (value: string) => void, configuration: IQuickOpenEditorWidgetOptions): void {
 		this.domNode = $().div().getHTMLElement();
 
 		this.quickOpenWidget = new QuickOpenWidget(
 			this.domNode,
 			{
-				onOk:onOk,
-				onCancel:onCancel,
-				onType:onType
+				onOk: onOk,
+				onCancel: onCancel,
+				onType: onType
 			}, {
 				inputPlaceHolder: null,
 				inputAriaLabel: configuration.inputAriaLabel
@@ -49,7 +49,7 @@ export class QuickOpenEditorWidget implements IOverlayWidget {
 		this.codeEditor.addOverlayWidget(this);
 	}
 
-	public setInput(model:QuickOpenModel, focus:IAutoFocus):void {
+	public setInput(model: QuickOpenModel, focus: IAutoFocus): void {
 		this.quickOpenWidget.setInput(model, focus);
 	}
 
@@ -57,20 +57,20 @@ export class QuickOpenEditorWidget implements IOverlayWidget {
 		return QuickOpenEditorWidget.ID;
 	}
 
-	public getDomNode():HTMLElement {
+	public getDomNode(): HTMLElement {
 		return this.domNode;
 	}
 
-	public destroy():void {
+	public destroy(): void {
 		this.codeEditor.removeOverlayWidget(this);
 		this.quickOpenWidget.dispose();
 	}
 
-	public isVisible():boolean {
+	public isVisible(): boolean {
 		return this.visible;
 	}
 
-	public show(value:string):void {
+	public show(value: string): void {
 		this.visible = true;
 
 		var editorLayout = this.codeEditor.getLayoutInfo();
@@ -82,7 +82,7 @@ export class QuickOpenEditorWidget implements IOverlayWidget {
 		this.codeEditor.layoutOverlayWidget(this);
 	}
 
-	public hide():void {
+	public hide(): void {
 		this.visible = false;
 		this.quickOpenWidget.hide();
 		this.codeEditor.layoutOverlayWidget(this);
diff --git a/src/vs/editor/contrib/quickOpen/browser/quickOutline.ts b/src/vs/editor/contrib/quickOpen/browser/quickOutline.ts
index a9cd9b60fa326..83dbc82ef1b33 100644
--- a/src/vs/editor/contrib/quickOpen/browser/quickOutline.ts
+++ b/src/vs/editor/contrib/quickOpen/browser/quickOutline.ts
@@ -8,17 +8,17 @@
 
 import 'vs/css!./quickOutline';
 import * as nls from 'vs/nls';
-import {matchesFuzzy} from 'vs/base/common/filters';
+import { matchesFuzzy } from 'vs/base/common/filters';
 import * as strings from 'vs/base/common/strings';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IContext, IHighlight, QuickOpenEntryGroup, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {IAutoFocus, Mode} from 'vs/base/parts/quickopen/common/quickOpen';
-import {ICommonCodeEditor, IRange, ModeContextKeys, EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {SymbolInformation, SymbolKind, DocumentSymbolProviderRegistry} from 'vs/editor/common/modes';
-import {BaseEditorQuickOpenAction, IDecorator} from './editorQuickOpen';
-import {getDocumentSymbols, IOutline} from 'vs/editor/contrib/quickOpen/common/quickOpen';
-import {editorAction, ServicesAccessor} from 'vs/editor/common/editorCommonExtensions';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IContext, IHighlight, QuickOpenEntryGroup, QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { IAutoFocus, Mode } from 'vs/base/parts/quickopen/common/quickOpen';
+import { ICommonCodeEditor, IRange, ModeContextKeys, EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { SymbolInformation, SymbolKind, DocumentSymbolProviderRegistry } from 'vs/editor/common/modes';
+import { BaseEditorQuickOpenAction, IDecorator } from './editorQuickOpen';
+import { getDocumentSymbols, IOutline } from 'vs/editor/contrib/quickOpen/common/quickOpen';
+import { editorAction, ServicesAccessor } from 'vs/editor/common/editorCommonExtensions';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 
 let SCOPE_PREFIX = ':';
 
@@ -127,7 +127,7 @@ export class QuickOutlineAction extends BaseEditorQuickOpenAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): TPromise<void> {
 
 		let model = editor.getModel();
 
@@ -145,13 +145,13 @@ export class QuickOutlineAction extends BaseEditorQuickOpenAction {
 		});
 	}
 
-	private _run(editor:ICommonCodeEditor, result:SymbolInformation[]): void {
+	private _run(editor: ICommonCodeEditor, result: SymbolInformation[]): void {
 		this._show(this.getController(editor), {
-			getModel: (value:string):QuickOpenModel => {
+			getModel: (value: string): QuickOpenModel => {
 				return new QuickOpenModel(this.toQuickOpenEntries(editor, result, value));
 			},
 
-			getAutoFocus: (searchValue:string):IAutoFocus => {
+			getAutoFocus: (searchValue: string): IAutoFocus => {
 				// Remove any type pattern (:) from search value as needed
 				if (searchValue.indexOf(SCOPE_PREFIX) === 0) {
 					searchValue = searchValue.substr(SCOPE_PREFIX.length);
@@ -165,7 +165,7 @@ export class QuickOutlineAction extends BaseEditorQuickOpenAction {
 		});
 	}
 
-	private toQuickOpenEntries(editor:ICommonCodeEditor, flattened: SymbolInformation[], searchValue: string): SymbolEntry[] {
+	private toQuickOpenEntries(editor: ICommonCodeEditor, flattened: SymbolInformation[], searchValue: string): SymbolEntry[] {
 		const controller = this.getController(editor);
 
 		let results: SymbolEntry[] = [];
diff --git a/src/vs/editor/contrib/quickOpen/common/quickOpen.ts b/src/vs/editor/contrib/quickOpen/common/quickOpen.ts
index f44b0ff666900..507b21a59d35e 100644
--- a/src/vs/editor/contrib/quickOpen/common/quickOpen.ts
+++ b/src/vs/editor/contrib/quickOpen/common/quickOpen.ts
@@ -5,15 +5,15 @@
 
 'use strict';
 
-import {illegalArgument, onUnexpectedError} from 'vs/base/common/errors';
+import { illegalArgument, onUnexpectedError } from 'vs/base/common/errors';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Range} from 'vs/editor/common/core/range';
-import {IModel} from 'vs/editor/common/editorCommon';
-import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {SymbolInformation, DocumentSymbolProviderRegistry} from 'vs/editor/common/modes';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {asWinJsPromise} from 'vs/base/common/async';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Range } from 'vs/editor/common/core/range';
+import { IModel } from 'vs/editor/common/editorCommon';
+import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { SymbolInformation, DocumentSymbolProviderRegistry } from 'vs/editor/common/modes';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { asWinJsPromise } from 'vs/base/common/async';
 
 export interface IOutline {
 	entries: SymbolInformation[];
@@ -47,7 +47,7 @@ export function getDocumentSymbols(model: IModel): TPromise<IOutline> {
 	});
 }
 
-function compareEntriesUsingStart(a: SymbolInformation, b: SymbolInformation): number{
+function compareEntriesUsingStart(a: SymbolInformation, b: SymbolInformation): number {
 	return Range.compareRangesUsingStarts(Range.lift(a.location.range), Range.lift(b.location.range));
 }
 
@@ -63,7 +63,7 @@ function flatten(bucket: SymbolInformation[], entries: SymbolInformation[], over
 }
 
 
-CommonEditorRegistry.registerLanguageCommand('_executeDocumentSymbolProvider', function(accessor, args) {
+CommonEditorRegistry.registerLanguageCommand('_executeDocumentSymbolProvider', function (accessor, args) {
 	const {resource} = args;
 	if (!(resource instanceof URI)) {
 		throw illegalArgument('resource');
diff --git a/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts b/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts
index 76a9086aa8eb6..e8dd921fb85c6 100644
--- a/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts
+++ b/src/vs/editor/contrib/referenceSearch/browser/referenceSearch.ts
@@ -5,23 +5,23 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IEditorService} from 'vs/platform/editor/common/editor';
-import {optional} from 'vs/platform/instantiation/common/instantiation';
-import {CommandsRegistry, ICommandHandler} from 'vs/platform/commands/common/commands';
-import {IContextKeyService, ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IEditorService } from 'vs/platform/editor/common/editor';
+import { optional } from 'vs/platform/instantiation/common/instantiation';
+import { CommandsRegistry, ICommandHandler } from 'vs/platform/commands/common/commands';
+import { IContextKeyService, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, EditorAction, CommonEditorRegistry, commonEditorContribution} from 'vs/editor/common/editorCommonExtensions';
-import {Location} from 'vs/editor/common/modes';
-import {IPeekViewService, PeekContext, getOuterEditor} from 'vs/editor/contrib/zoneWidget/browser/peekViewWidget';
-import {provideReferences} from '../common/referenceSearch';
-import {ReferencesController, RequestOptions, ctxReferenceSearchVisible} from './referencesController';
-import {ReferencesModel} from './referencesModel';
+import { editorAction, ServicesAccessor, EditorAction, CommonEditorRegistry, commonEditorContribution } from 'vs/editor/common/editorCommonExtensions';
+import { Location } from 'vs/editor/common/modes';
+import { IPeekViewService, PeekContext, getOuterEditor } from 'vs/editor/contrib/zoneWidget/browser/peekViewWidget';
+import { provideReferences } from '../common/referenceSearch';
+import { ReferencesController, RequestOptions, ctxReferenceSearchVisible } from './referencesController';
+import { ReferencesModel } from './referencesModel';
 
 import ModeContextKeys = editorCommon.ModeContextKeys;
 import EditorContextKeys = editorCommon.EditorContextKeys;
@@ -38,7 +38,7 @@ export class ReferenceController implements editorCommon.IEditorContribution {
 	private static ID = 'editor.contrib.referenceController';
 
 	constructor(
-		editor:editorCommon.ICommonCodeEditor,
+		editor: editorCommon.ICommonCodeEditor,
 		@IContextKeyService contextKeyService: IContextKeyService,
 		@optional(IPeekViewService) peekViewService: IPeekViewService
 	) {
@@ -75,7 +75,7 @@ export class ReferenceAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void {
 		let controller = ReferencesController.get(editor);
 		if (!controller) {
 			return;
@@ -87,7 +87,7 @@ export class ReferenceAction extends EditorAction {
 	}
 }
 
-let findReferencesCommand: ICommandHandler = (accessor:ServicesAccessor, resource:URI, position:editorCommon.IPosition) => {
+let findReferencesCommand: ICommandHandler = (accessor: ServicesAccessor, resource: URI, position: editorCommon.IPosition) => {
 
 	if (!(resource instanceof URI)) {
 		throw new Error('illegal argument, uri');
@@ -114,7 +114,7 @@ let findReferencesCommand: ICommandHandler = (accessor:ServicesAccessor, resourc
 	});
 };
 
-let showReferencesCommand: ICommandHandler = (accessor:ServicesAccessor, resource:URI, position:editorCommon.IPosition, references:Location[]) => {
+let showReferencesCommand: ICommandHandler = (accessor: ServicesAccessor, resource: URI, position: editorCommon.IPosition, references: Location[]) => {
 	if (!(resource instanceof URI)) {
 		throw new Error('illegal argument, uri expected');
 	}
diff --git a/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts b/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts
index 39f920914e04f..d66c428b668e8 100644
--- a/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts
+++ b/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts
@@ -5,26 +5,26 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import Severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IEditorService} from 'vs/platform/editor/common/editor';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IEditorService } from 'vs/platform/editor/common/editor';
 import { fromPromise, stopwatch } from 'vs/base/common/event';
-import {IInstantiationService, optional} from 'vs/platform/instantiation/common/instantiation';
-import {IContextKey, IContextKeyService, RawContextKey} from 'vs/platform/contextkey/common/contextkey';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IStorageService} from 'vs/platform/storage/common/storage';
+import { IInstantiationService, optional } from 'vs/platform/instantiation/common/instantiation';
+import { IContextKey, IContextKeyService, RawContextKey } from 'vs/platform/contextkey/common/contextkey';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IStorageService } from 'vs/platform/storage/common/storage';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
-import {IPeekViewService} from 'vs/editor/contrib/zoneWidget/browser/peekViewWidget';
-import {ReferencesModel, OneReference} from './referencesModel';
-import {ReferenceWidget, LayoutData} from './referencesWidget';
-import {Range} from 'vs/editor/common/core/range';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
+import { IPeekViewService } from 'vs/editor/contrib/zoneWidget/browser/peekViewWidget';
+import { ReferencesModel, OneReference } from './referencesModel';
+import { ReferenceWidget, LayoutData } from './referencesWidget';
+import { Range } from 'vs/editor/common/core/range';
 
 export const ctxReferenceSearchVisible = new RawContextKey<boolean>('referenceSearchVisible', false);
 
@@ -47,7 +47,7 @@ export class ReferencesController implements editorCommon.IEditorContribution {
 
 	private _referenceSearchVisible: IContextKey<boolean>;
 
-	public static get(editor:editorCommon.ICommonCodeEditor): ReferencesController {
+	public static get(editor: editorCommon.ICommonCodeEditor): ReferencesController {
 		return editor.getContribution<ReferencesController>(ReferencesController.ID);
 	}
 
@@ -79,7 +79,7 @@ export class ReferencesController implements editorCommon.IEditorContribution {
 		this._editor = null;
 	}
 
-	public toggleWidget(range: Range, modelPromise: TPromise<ReferencesModel>, options: RequestOptions) : void {
+	public toggleWidget(range: Range, modelPromise: TPromise<ReferencesModel>, options: RequestOptions): void {
 
 		// close current widget and return early is position didn't change
 		let widgetPosition: editorCommon.IPosition;
@@ -87,7 +87,7 @@ export class ReferencesController implements editorCommon.IEditorContribution {
 			widgetPosition = this._widget.position;
 		}
 		this.closeWidget();
-		if(!!widgetPosition && range.containsPosition(widgetPosition)) {
+		if (!!widgetPosition && range.containsPosition(widgetPosition)) {
 			return null;
 		}
 
@@ -96,12 +96,12 @@ export class ReferencesController implements editorCommon.IEditorContribution {
 		// close the widget on model/mode changes
 		this._disposables.push(this._editor.onDidChangeModelMode(() => { this.closeWidget(); }));
 		this._disposables.push(this._editor.onDidChangeModel(() => {
-			if(!this._ignoreModelChangeEvent) {
+			if (!this._ignoreModelChangeEvent) {
 				this.closeWidget();
 			}
 		}));
 		const storageKey = 'peekViewLayout';
-		const data = <LayoutData> JSON.parse(this._storageService.get(storageKey, undefined, '{}'));
+		const data = <LayoutData>JSON.parse(this._storageService.get(storageKey, undefined, '{}'));
 		this._widget = new ReferenceWidget(this._editor, data, this._editorService, this._contextService, this._instantiationService);
 		this._widget.setTitle(nls.localize('labelLoading', "Loading..."));
 		this._widget.show(range);
diff --git a/src/vs/editor/contrib/referenceSearch/browser/referencesModel.ts b/src/vs/editor/contrib/referenceSearch/browser/referencesModel.ts
index 5155f6ff6d3e9..453b72c5183d4 100644
--- a/src/vs/editor/contrib/referenceSearch/browser/referencesModel.ts
+++ b/src/vs/editor/contrib/referenceSearch/browser/referencesModel.ts
@@ -4,17 +4,17 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import Event, {fromEventEmitter} from 'vs/base/common/event';
-import {basename, dirname} from 'vs/base/common/paths';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import Event, { fromEventEmitter } from 'vs/base/common/event';
+import { basename, dirname } from 'vs/base/common/paths';
 import * as strings from 'vs/base/common/strings';
 import URI from 'vs/base/common/uri';
-import {defaultGenerator} from 'vs/base/common/idGenerator';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IEditorService} from 'vs/platform/editor/common/editor';
-import {Range} from 'vs/editor/common/core/range';
-import {IModel, IPosition, IRange} from 'vs/editor/common/editorCommon';
-import {Location} from 'vs/editor/common/modes';
+import { defaultGenerator } from 'vs/base/common/idGenerator';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IEditorService } from 'vs/platform/editor/common/editor';
+import { Range } from 'vs/editor/common/core/range';
+import { IModel, IPosition, IRange } from 'vs/editor/common/editorCommon';
+import { Location } from 'vs/editor/common/modes';
 
 export class OneReference {
 
@@ -188,7 +188,7 @@ export class ReferencesModel {
 		return this._groups.length === 0;
 	}
 
-	public get references(): OneReference[]{
+	public get references(): OneReference[] {
 		return this._references;
 	}
 
diff --git a/src/vs/editor/contrib/referenceSearch/browser/referencesWidget.ts b/src/vs/editor/contrib/referenceSearch/browser/referencesWidget.ts
index 8cb670d21671b..de1f33ba1c0b9 100644
--- a/src/vs/editor/contrib/referenceSearch/browser/referencesWidget.ts
+++ b/src/vs/editor/contrib/referenceSearch/browser/referencesWidget.ts
@@ -7,51 +7,51 @@
 import 'vs/css!./referencesWidget';
 import * as nls from 'vs/nls';
 import * as collections from 'vs/base/common/collections';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {getPathLabel} from 'vs/base/common/labels';
-import Event, {Emitter} from 'vs/base/common/event';
-import {IDisposable, dispose, Disposables} from 'vs/base/common/lifecycle';
-import {Schemas} from 'vs/base/common/network';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { getPathLabel } from 'vs/base/common/labels';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IDisposable, dispose, Disposables } from 'vs/base/common/lifecycle';
+import { Schemas } from 'vs/base/common/network';
 import * as strings from 'vs/base/common/strings';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {$, Builder} from 'vs/base/browser/builder';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { $, Builder } from 'vs/base/browser/builder';
 import * as dom from 'vs/base/browser/dom';
-import {Sash, ISashEvent, IVerticalSashLayoutProvider} from 'vs/base/browser/ui/sash/sash';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {IMouseEvent} from 'vs/base/browser/mouseEvent';
-import {GestureEvent} from 'vs/base/browser/touch';
-import {CountBadge} from 'vs/base/browser/ui/countBadge/countBadge';
-import {FileLabel} from 'vs/base/browser/ui/iconLabel/iconLabel';
-import {LeftRightWidget} from 'vs/base/browser/ui/leftRightWidget/leftRightWidget';
+import { Sash, ISashEvent, IVerticalSashLayoutProvider } from 'vs/base/browser/ui/sash/sash';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { IMouseEvent } from 'vs/base/browser/mouseEvent';
+import { GestureEvent } from 'vs/base/browser/touch';
+import { CountBadge } from 'vs/base/browser/ui/countBadge/countBadge';
+import { FileLabel } from 'vs/base/browser/ui/iconLabel/iconLabel';
+import { LeftRightWidget } from 'vs/base/browser/ui/leftRightWidget/leftRightWidget';
 import * as tree from 'vs/base/parts/tree/browser/tree';
-import {DefaultController, LegacyRenderer} from 'vs/base/parts/tree/browser/treeDefaults';
-import {Tree} from 'vs/base/parts/tree/browser/treeImpl';
-import {IEditorService} from 'vs/platform/editor/common/editor';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {DefaultConfig} from 'vs/editor/common/config/defaultConfig';
-import {Range} from 'vs/editor/common/core/range';
+import { DefaultController, LegacyRenderer } from 'vs/base/parts/tree/browser/treeDefaults';
+import { Tree } from 'vs/base/parts/tree/browser/treeImpl';
+import { IEditorService } from 'vs/platform/editor/common/editor';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { DefaultConfig } from 'vs/editor/common/config/defaultConfig';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {EmbeddedCodeEditorWidget} from 'vs/editor/browser/widget/embeddedCodeEditorWidget';
-import {PeekViewWidget, IPeekViewService} from 'vs/editor/contrib/zoneWidget/browser/peekViewWidget';
-import {FileReferences, OneReference, ReferencesModel} from './referencesModel';
+import { Model } from 'vs/editor/common/model/model';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { EmbeddedCodeEditorWidget } from 'vs/editor/browser/widget/embeddedCodeEditorWidget';
+import { PeekViewWidget, IPeekViewService } from 'vs/editor/contrib/zoneWidget/browser/peekViewWidget';
+import { FileReferences, OneReference, ReferencesModel } from './referencesModel';
 
 class DecorationsManager implements IDisposable {
 
-	private static DecorationOptions:editorCommon.IModelDecorationOptions = {
+	private static DecorationOptions: editorCommon.IModelDecorationOptions = {
 		stickiness: editorCommon.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
 		className: 'reference-decoration'
 	};
 
 	private _decorationSet = collections.createStringDictionary<OneReference>();
 	private _decorationIgnoreSet = collections.createStringDictionary<OneReference>();
-	private _callOnDispose:IDisposable[] = [];
-	private _callOnModelChange:IDisposable[] = [];
+	private _callOnDispose: IDisposable[] = [];
+	private _callOnModelChange: IDisposable[] = [];
 
-	constructor(private editor:ICodeEditor, private model:ReferencesModel) {
+	constructor(private editor: ICodeEditor, private model: ReferencesModel) {
 		this._callOnDispose.push(this.editor.onDidChangeModel(() => this._onModelChanged()));
 		this._onModelChanged();
 	}
@@ -62,34 +62,34 @@ class DecorationsManager implements IDisposable {
 		this.removeDecorations();
 	}
 
-	private _onModelChanged():void {
+	private _onModelChanged(): void {
 
 		this.removeDecorations();
 		this._callOnModelChange = dispose(this._callOnModelChange);
 
 		var model = this.editor.getModel();
-		if(!model) {
+		if (!model) {
 			return;
 		}
 
-		for(var i = 0, len = this.model.groups.length; i < len; i++) {
-			if(this.model.groups[i].uri.toString() === model.uri.toString()) {
+		for (var i = 0, len = this.model.groups.length; i < len; i++) {
+			if (this.model.groups[i].uri.toString() === model.uri.toString()) {
 				this._addDecorations(this.model.groups[i]);
 				return;
 			}
 		}
 	}
 
-	private _addDecorations(reference:FileReferences):void {
+	private _addDecorations(reference: FileReferences): void {
 		this._callOnModelChange.push(this.editor.getModel().onDidChangeDecorations((event) => this._onDecorationChanged(event)));
 
 		this.editor.getModel().changeDecorations((accessor) => {
 			var newDecorations: editorCommon.IModelDeltaDecoration[] = [];
 			var newDecorationsActualIndex: number[] = [];
 
-			for(let i = 0, len = reference.children.length; i < len; i++) {
+			for (let i = 0, len = reference.children.length; i < len; i++) {
 				let oneReference = reference.children[i];
-				if(this._decorationIgnoreSet[oneReference.id]) {
+				if (this._decorationIgnoreSet[oneReference.id]) {
 					continue;
 				}
 				newDecorations.push({
@@ -107,35 +107,35 @@ class DecorationsManager implements IDisposable {
 		});
 	}
 
-	private _onDecorationChanged(event:editorCommon.IModelDecorationsChangedEvent):void {
+	private _onDecorationChanged(event: editorCommon.IModelDecorationsChangedEvent): void {
 		var addedOrChangedDecorations = event.addedOrChangedDecorations,
-			toRemove:string[] = [];
+			toRemove: string[] = [];
 
-		for(var i = 0, len = addedOrChangedDecorations.length; i < len; i++) {
+		for (var i = 0, len = addedOrChangedDecorations.length; i < len; i++) {
 			var reference = collections.lookup(this._decorationSet, addedOrChangedDecorations[i].id);
-			if(!reference) {
+			if (!reference) {
 				continue;
 			}
 
 			var newRange = addedOrChangedDecorations[i].range,
 				ignore = false;
 
-			if(Range.equalsRange(newRange, reference.range)) {
+			if (Range.equalsRange(newRange, reference.range)) {
 				continue;
 
-			} else if(Range.spansMultipleLines(newRange)) {
+			} else if (Range.spansMultipleLines(newRange)) {
 				ignore = true;
 
 			} else {
 				var lineLength = reference.range.endColumn - reference.range.startColumn,
 					newLineLength = newRange.endColumn - newRange.startColumn;
 
-				if(lineLength !== newLineLength) {
+				if (lineLength !== newLineLength) {
 					ignore = true;
 				}
 			}
 
-			if(ignore) {
+			if (ignore) {
 				this._decorationIgnoreSet[reference.id] = reference;
 				toRemove.push(addedOrChangedDecorations[i].id);
 			} else {
@@ -151,7 +151,7 @@ class DecorationsManager implements IDisposable {
 		});
 	}
 
-	public removeDecorations():void {
+	public removeDecorations(): void {
 		var keys = Object.keys(this._decorationSet);
 		if (keys.length > 0) {
 			this.editor.changeDecorations((accessor) => {
@@ -225,7 +225,7 @@ class Controller extends DefaultController {
 		OPEN_TO_SIDE: 'events/custom/opentoside'
 	};
 
-	public onTap(tree: tree.ITree, element: any, event: GestureEvent):boolean {
+	public onTap(tree: tree.ITree, element: any, event: GestureEvent): boolean {
 		if (element instanceof FileReferences) {
 			event.preventDefault();
 			event.stopPropagation();
@@ -237,7 +237,7 @@ class Controller extends DefaultController {
 		return result;
 	}
 
-	public onMouseDown(tree:tree.ITree, element:any, event:IMouseEvent):boolean {
+	public onMouseDown(tree: tree.ITree, element: any, event: IMouseEvent): boolean {
 		if (event.leftButton) {
 			if (element instanceof FileReferences) {
 				event.preventDefault();
@@ -248,7 +248,7 @@ class Controller extends DefaultController {
 			var result = super.onClick(tree, element, event);
 			if (event.ctrlKey || event.metaKey) {
 				tree.emit(Controller.Events.OPEN_TO_SIDE, element);
-			} else if(event.detail === 2) {
+			} else if (event.detail === 2) {
 				tree.emit(Controller.Events.SELECTED, element);
 			} else {
 				tree.emit(Controller.Events.FOCUSED, element);
@@ -259,7 +259,7 @@ class Controller extends DefaultController {
 		return false;
 	}
 
-	public onClick(tree:tree.ITree, element:any, event:IMouseEvent):boolean {
+	public onClick(tree: tree.ITree, element: any, event: IMouseEvent): boolean {
 		if (event.leftButton) {
 			return false; // Already handled by onMouseDown
 		}
@@ -267,7 +267,7 @@ class Controller extends DefaultController {
 		return super.onClick(tree, element, event);
 	}
 
-	private _expandCollapse(tree:tree.ITree, element:any):boolean {
+	private _expandCollapse(tree: tree.ITree, element: any): boolean {
 
 		if (tree.isExpanded(element)) {
 			tree.collapse(element).done(null, onUnexpectedError);
@@ -277,11 +277,11 @@ class Controller extends DefaultController {
 		return true;
 	}
 
-	public onEscape(tree:tree.ITree, event:IKeyboardEvent):boolean {
+	public onEscape(tree: tree.ITree, event: IKeyboardEvent): boolean {
 		return false;
 	}
 
-	public onEnter(tree:tree.ITree, event:IKeyboardEvent):boolean {
+	public onEnter(tree: tree.ITree, event: IKeyboardEvent): boolean {
 		var element = tree.getFocus();
 		if (element instanceof FileReferences) {
 			return this._expandCollapse(tree, element);
@@ -296,43 +296,43 @@ class Controller extends DefaultController {
 		return result;
 	}
 
-	public onUp(tree:tree.ITree, event:IKeyboardEvent):boolean {
+	public onUp(tree: tree.ITree, event: IKeyboardEvent): boolean {
 		super.onUp(tree, event);
 		this._fakeFocus(tree, event);
 		return true;
 	}
 
-	public onPageUp(tree:tree.ITree, event:IKeyboardEvent):boolean {
+	public onPageUp(tree: tree.ITree, event: IKeyboardEvent): boolean {
 		super.onPageUp(tree, event);
 		this._fakeFocus(tree, event);
 		return true;
 	}
 
-	public onLeft(tree:tree.ITree, event:IKeyboardEvent):boolean {
+	public onLeft(tree: tree.ITree, event: IKeyboardEvent): boolean {
 		super.onLeft(tree, event);
 		this._fakeFocus(tree, event);
 		return true;
 	}
 
-	public onDown(tree:tree.ITree, event:IKeyboardEvent):boolean {
+	public onDown(tree: tree.ITree, event: IKeyboardEvent): boolean {
 		super.onDown(tree, event);
 		this._fakeFocus(tree, event);
 		return true;
 	}
 
-	public onPageDown(tree:tree.ITree, event:IKeyboardEvent):boolean {
+	public onPageDown(tree: tree.ITree, event: IKeyboardEvent): boolean {
 		super.onPageDown(tree, event);
 		this._fakeFocus(tree, event);
 		return true;
 	}
 
-	public onRight(tree:tree.ITree, event:IKeyboardEvent):boolean {
+	public onRight(tree: tree.ITree, event: IKeyboardEvent): boolean {
 		super.onRight(tree, event);
 		this._fakeFocus(tree, event);
 		return true;
 	}
 
-	private _fakeFocus(tree:tree.ITree, event:IKeyboardEvent):void {
+	private _fakeFocus(tree: tree.ITree, event: IKeyboardEvent): void {
 		// focus next item
 		var focus = tree.getFocus();
 		tree.setSelection([focus]);
@@ -342,7 +342,7 @@ class Controller extends DefaultController {
 }
 
 class Renderer extends LegacyRenderer {
-	private _contextService:IWorkspaceContextService;
+	private _contextService: IWorkspaceContextService;
 
 	constructor( @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super();
@@ -411,7 +411,7 @@ class VSash {
 	private _width: number;
 	private _onDidChangePercentages = new Emitter<VSash>();
 
-	constructor(container: HTMLElement, ratio:number) {
+	constructor(container: HTMLElement, ratio: number) {
 		this._ratio = ratio;
 		this._sash = new Sash(container, <IVerticalSashLayoutProvider>{
 			getVerticalSashLeft: () => this._width * this._ratio,
@@ -568,7 +568,7 @@ export class ReferenceWidget extends PeekViewWidget {
 		this._sash = new VSash(containerElement, this.layoutData.ratio || .8);
 		this._sash.onDidChangePercentages(() => {
 			let [left, right] = this._sash.percentages;
-			this._previewContainer.style({ width: left});
+			this._previewContainer.style({ width: left });
 			this._treeContainer.style({ width: right });
 			this._preview.layout();
 			this._tree.layout();
diff --git a/src/vs/editor/contrib/referenceSearch/common/referenceSearch.ts b/src/vs/editor/contrib/referenceSearch/common/referenceSearch.ts
index 9847a825266f3..54eeb5c217b9d 100644
--- a/src/vs/editor/contrib/referenceSearch/common/referenceSearch.ts
+++ b/src/vs/editor/contrib/referenceSearch/common/referenceSearch.ts
@@ -5,13 +5,13 @@
 
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IReadOnlyModel} from 'vs/editor/common/editorCommon';
-import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {Location, ReferenceProviderRegistry} from 'vs/editor/common/modes';
-import {asWinJsPromise} from 'vs/base/common/async';
-import {Position} from 'vs/editor/common/core/position';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IReadOnlyModel } from 'vs/editor/common/editorCommon';
+import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { Location, ReferenceProviderRegistry } from 'vs/editor/common/modes';
+import { asWinJsPromise } from 'vs/base/common/async';
+import { Position } from 'vs/editor/common/core/position';
 
 export function provideReferences(model: IReadOnlyModel, position: Position): TPromise<Location[]> {
 
@@ -21,7 +21,7 @@ export function provideReferences(model: IReadOnlyModel, position: Position): TP
 			return provider.provideReferences(model, position, { includeDeclaration: true }, token);
 		}).then(result => {
 			if (Array.isArray(result)) {
-				return <Location[]> result;
+				return <Location[]>result;
 			}
 		}, err => {
 			onUnexpectedError(err);
diff --git a/src/vs/editor/contrib/referenceSearch/test/browser/referencesModel.test.ts b/src/vs/editor/contrib/referenceSearch/test/browser/referencesModel.test.ts
index c3eed0f0e2a80..26c3ecd8f7e7a 100644
--- a/src/vs/editor/contrib/referenceSearch/test/browser/referencesModel.test.ts
+++ b/src/vs/editor/contrib/referenceSearch/test/browser/referencesModel.test.ts
@@ -6,9 +6,9 @@
 
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
-import {Range} from 'vs/editor/common/core/range';
-import {Position} from 'vs/editor/common/core/position';
-import {ReferencesModel} from 'vs/editor/contrib/referenceSearch/browser/referencesModel';
+import { Range } from 'vs/editor/common/core/range';
+import { Position } from 'vs/editor/common/core/position';
+import { ReferencesModel } from 'vs/editor/contrib/referenceSearch/browser/referencesModel';
 
 suite('references', function () {
 
diff --git a/src/vs/editor/contrib/rename/browser/rename.ts b/src/vs/editor/contrib/rename/browser/rename.ts
index c49745a103741..444f24f59bc43 100644
--- a/src/vs/editor/contrib/rename/browser/rename.ts
+++ b/src/vs/editor/contrib/rename/browser/rename.ts
@@ -6,21 +6,21 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {isPromiseCanceledError} from 'vs/base/common/errors';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
+import { isPromiseCanceledError } from 'vs/base/common/errors';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
 import Severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IEditorService} from 'vs/platform/editor/common/editor';
-import {IEventService} from 'vs/platform/event/common/event';
-import {RawContextKey, IContextKey, IContextKeyService, ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IProgressService} from 'vs/platform/progress/common/progress';
-import {editorAction, ServicesAccessor, EditorAction, EditorCommand, CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
-import {IRange, ICommonCodeEditor, EditorContextKeys, ModeContextKeys, IEditorContribution} from 'vs/editor/common/editorCommon';
-import {BulkEdit, createBulkEdit} from 'vs/editor/common/services/bulkEdit';
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {rename} from '../common/rename';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IEditorService } from 'vs/platform/editor/common/editor';
+import { IEventService } from 'vs/platform/event/common/event';
+import { RawContextKey, IContextKey, IContextKeyService, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IProgressService } from 'vs/platform/progress/common/progress';
+import { editorAction, ServicesAccessor, EditorAction, EditorCommand, CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
+import { IRange, ICommonCodeEditor, EditorContextKeys, ModeContextKeys, IEditorContribution } from 'vs/editor/common/editorCommon';
+import { BulkEdit, createBulkEdit } from 'vs/editor/common/services/bulkEdit';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { rename } from '../common/rename';
 import RenameInputField from './renameInputField';
 
 // ---  register actions and commands
@@ -32,7 +32,7 @@ class RenameController implements IEditorContribution {
 
 	private static ID = 'editor.contrib.renameController';
 
-	public static get(editor:ICommonCodeEditor): RenameController {
+	public static get(editor: ICommonCodeEditor): RenameController {
 		return editor.getContribution<RenameController>(RenameController.ID);
 	}
 
@@ -40,7 +40,7 @@ class RenameController implements IEditorContribution {
 	private _renameInputVisible: IContextKey<boolean>;
 
 	constructor(
-		private editor:ICodeEditor,
+		private editor: ICodeEditor,
 		@IMessageService private _messageService: IMessageService,
 		@IEventService private _eventService: IEventService,
 		@IEditorService private _editorService: IEditorService,
@@ -166,7 +166,7 @@ export class RenameAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): TPromise<void> {
 		let controller = RenameController.get(editor);
 		if (controller) {
 			return controller.run();
diff --git a/src/vs/editor/contrib/rename/browser/renameInputField.ts b/src/vs/editor/contrib/rename/browser/renameInputField.ts
index f146b3df159ea..9747b7cc0686e 100644
--- a/src/vs/editor/contrib/rename/browser/renameInputField.ts
+++ b/src/vs/editor/contrib/rename/browser/renameInputField.ts
@@ -6,13 +6,13 @@
 'use strict';
 
 import 'vs/css!./renameInputField';
-import {localize} from 'vs/nls';
-import {canceled} from 'vs/base/common/errors';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Range} from 'vs/editor/common/core/range';
-import {IPosition, IRange} from 'vs/editor/common/editorCommon';
-import {ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition} from 'vs/editor/browser/editorBrowser';
+import { localize } from 'vs/nls';
+import { canceled } from 'vs/base/common/errors';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Range } from 'vs/editor/common/core/range';
+import { IPosition, IRange } from 'vs/editor/common/editorCommon';
+import { ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition } from 'vs/editor/browser/editorBrowser';
 
 export default class RenameInputField implements IContentWidget, IDisposable {
 
@@ -70,7 +70,7 @@ export default class RenameInputField implements IContentWidget, IDisposable {
 		const fontInfo = this._editor.getConfiguration().fontInfo;
 		this._inputField.style.fontFamily = fontInfo.fontFamily;
 		this._inputField.style.fontWeight = fontInfo.fontWeight;
-		this._inputField.style.fontSize = `${ fontInfo.fontSize }px`;
+		this._inputField.style.fontSize = `${fontInfo.fontSize}px`;
 	}
 
 	public getPosition(): IContentWidgetPosition {
diff --git a/src/vs/editor/contrib/rename/common/rename.ts b/src/vs/editor/contrib/rename/common/rename.ts
index deedc8f631761..3d25d167b6f2f 100644
--- a/src/vs/editor/contrib/rename/common/rename.ts
+++ b/src/vs/editor/contrib/rename/common/rename.ts
@@ -5,14 +5,14 @@
 
 'use strict';
 
-import {localize} from 'vs/nls';
-import {sequence, asWinJsPromise} from 'vs/base/common/async';
-import {illegalArgument} from 'vs/base/common/errors';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IReadOnlyModel} from 'vs/editor/common/editorCommon';
-import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {WorkspaceEdit, RenameProviderRegistry} from 'vs/editor/common/modes';
-import {Position} from 'vs/editor/common/core/position';
+import { localize } from 'vs/nls';
+import { sequence, asWinJsPromise } from 'vs/base/common/async';
+import { illegalArgument } from 'vs/base/common/errors';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IReadOnlyModel } from 'vs/editor/common/editorCommon';
+import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { WorkspaceEdit, RenameProviderRegistry } from 'vs/editor/common/modes';
+import { Position } from 'vs/editor/common/core/position';
 
 export function rename(model: IReadOnlyModel, position: Position, newName: string): TPromise<WorkspaceEdit> {
 
@@ -57,7 +57,7 @@ export function rename(model: IReadOnlyModel, position: Position, newName: strin
 	});
 }
 
-CommonEditorRegistry.registerDefaultLanguageCommand('_executeDocumentRenameProvider', function(model, position, args) {
+CommonEditorRegistry.registerDefaultLanguageCommand('_executeDocumentRenameProvider', function (model, position, args) {
 	let {newName} = args;
 	if (typeof newName !== 'string') {
 		throw illegalArgument('newName');
diff --git a/src/vs/editor/contrib/selectionClipboard/electron-browser/selectionClipboard.ts b/src/vs/editor/contrib/selectionClipboard/electron-browser/selectionClipboard.ts
index 1a6e9f8db5783..85db4d3f9504c 100644
--- a/src/vs/editor/contrib/selectionClipboard/electron-browser/selectionClipboard.ts
+++ b/src/vs/editor/contrib/selectionClipboard/electron-browser/selectionClipboard.ts
@@ -5,34 +5,34 @@
 
 'use strict';
 
-import {clipboard} from 'electron';
+import { clipboard } from 'electron';
 import * as platform from 'vs/base/common/platform';
-import {ICodeEditor, IEditorMouseEvent} from 'vs/editor/browser/editorBrowser';
-import {Disposable} from 'vs/base/common/lifecycle';
-import {EndOfLinePreference, IEditorContribution, ICursorSelectionChangedEvent, IConfigurationChangedEvent} from 'vs/editor/common/editorCommon';
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {Range} from 'vs/editor/common/core/range';
+import { ICodeEditor, IEditorMouseEvent } from 'vs/editor/browser/editorBrowser';
+import { Disposable } from 'vs/base/common/lifecycle';
+import { EndOfLinePreference, IEditorContribution, ICursorSelectionChangedEvent, IConfigurationChangedEvent } from 'vs/editor/common/editorCommon';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { Range } from 'vs/editor/common/core/range';
 
 @editorContribution
 export class SelectionClipboard extends Disposable implements IEditorContribution {
 
 	private static ID = 'editor.contrib.selectionClipboard';
 
-	constructor(editor:ICodeEditor, @IContextKeyService contextKeyService:IContextKeyService) {
+	constructor(editor: ICodeEditor, @IContextKeyService contextKeyService: IContextKeyService) {
 		super();
 
 		if (platform.isLinux) {
 			var isEnabled = editor.getConfiguration().contribInfo.selectionClipboard;
 
-			this._register(editor.onDidChangeConfiguration((e:IConfigurationChangedEvent) => {
+			this._register(editor.onDidChangeConfiguration((e: IConfigurationChangedEvent) => {
 				if (e.contribInfo) {
 					isEnabled = editor.getConfiguration().contribInfo.selectionClipboard;
 				}
 			}));
 
-			this._register(editor.onMouseDown((e:IEditorMouseEvent) => {
+			this._register(editor.onMouseDown((e: IEditorMouseEvent) => {
 				if (!isEnabled) {
 					return;
 				}
@@ -82,7 +82,7 @@ export class SelectionClipboard extends Disposable implements IEditorContributio
 				clipboard.writeText(textToCopy, 'selection');
 			}, 100));
 
-			this._register(editor.onDidChangeCursorSelection((e:ICursorSelectionChangedEvent) => {
+			this._register(editor.onDidChangeCursorSelection((e: ICursorSelectionChangedEvent) => {
 				if (!isEnabled) {
 					return;
 				}
diff --git a/src/vs/editor/contrib/smartSelect/common/jumpToBracket.ts b/src/vs/editor/contrib/smartSelect/common/jumpToBracket.ts
index 3aa1137f93eda..6d080e3d84cb5 100644
--- a/src/vs/editor/contrib/smartSelect/common/jumpToBracket.ts
+++ b/src/vs/editor/contrib/smartSelect/common/jumpToBracket.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {Handler, EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {editorAction, HandlerEditorAction} from 'vs/editor/common/editorCommonExtensions';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { Handler, EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { editorAction, HandlerEditorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class SelectBracketAction extends HandlerEditorAction {
diff --git a/src/vs/editor/contrib/smartSelect/common/smartSelect.ts b/src/vs/editor/contrib/smartSelect/common/smartSelect.ts
index aaa9309795cdd..745a0f9fc0ae8 100644
--- a/src/vs/editor/contrib/smartSelect/common/smartSelect.ts
+++ b/src/vs/editor/contrib/smartSelect/common/smartSelect.ts
@@ -6,24 +6,24 @@
 
 import * as nls from 'vs/nls';
 import * as arrays from 'vs/base/common/arrays';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {Range} from 'vs/editor/common/core/range';
-import {ICommonCodeEditor, ICursorPositionChangedEvent, EditorContextKeys, IEditorContribution} from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, IActionOptions, EditorAction, commonEditorContribution} from 'vs/editor/common/editorCommonExtensions';
-import {TokenSelectionSupport, ILogicalSelectionEntry} from './tokenSelectionSupport';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { Range } from 'vs/editor/common/core/range';
+import { ICommonCodeEditor, ICursorPositionChangedEvent, EditorContextKeys, IEditorContribution } from 'vs/editor/common/editorCommon';
+import { editorAction, ServicesAccessor, IActionOptions, EditorAction, commonEditorContribution } from 'vs/editor/common/editorCommonExtensions';
+import { TokenSelectionSupport, ILogicalSelectionEntry } from './tokenSelectionSupport';
 
 // --- selection state machine
 
 class State {
 
-	public editor:ICommonCodeEditor;
-	public next:State;
-	public previous:State;
-	public selection:Range;
+	public editor: ICommonCodeEditor;
+	public next: State;
+	public previous: State;
+	public selection: Range;
 
-	constructor(editor:ICommonCodeEditor) {
+	constructor(editor: ICommonCodeEditor) {
 		this.editor = editor;
 		this.next = null;
 		this.previous = null;
@@ -32,7 +32,7 @@ class State {
 }
 
 // --- shared state between grow and shrink actions
-var state:State = null;
+var state: State = null;
 var ignoreSelection = false;
 
 // -- action implementation
@@ -42,7 +42,7 @@ class SmartSelectController implements IEditorContribution {
 
 	private static ID = 'editor.contrib.smartSelectController';
 
-	public static get(editor:ICommonCodeEditor): SmartSelectController {
+	public static get(editor: ICommonCodeEditor): SmartSelectController {
 		return editor.getContribution<SmartSelectController>(SmartSelectController.ID);
 	}
 
@@ -62,7 +62,7 @@ class SmartSelectController implements IEditorContribution {
 		return SmartSelectController.ID;
 	}
 
-	public run(forward:boolean): TPromise<void> {
+	public run(forward: boolean): TPromise<void> {
 
 		var selection = this.editor.getSelection();
 		var model = this.editor.getModel();
@@ -74,7 +74,7 @@ class SmartSelectController implements IEditorContribution {
 			}
 		}
 
-		var promise:TPromise<void> = TPromise.as(null);
+		var promise: TPromise<void> = TPromise.as(null);
 		if (!state) {
 			promise = this._tokenSelectionSupport.getRangesToPosition(model.uri, selection.getStartPosition()).then((elements: ILogicalSelectionEntry[]) => {
 
@@ -147,12 +147,12 @@ abstract class AbstractSmartSelect extends EditorAction {
 
 	private _forward: boolean;
 
-	constructor(forward: boolean, opts:IActionOptions) {
+	constructor(forward: boolean, opts: IActionOptions) {
 		super(opts);
 		this._forward = forward;
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): TPromise<void> {
 		let controller = SmartSelectController.get(editor);
 		if (controller) {
 			return controller.run(this._forward);
diff --git a/src/vs/editor/contrib/smartSelect/common/tokenSelectionSupport.ts b/src/vs/editor/contrib/smartSelect/common/tokenSelectionSupport.ts
index eb8096d7c7b96..a32b992987e2f 100644
--- a/src/vs/editor/contrib/smartSelect/common/tokenSelectionSupport.ts
+++ b/src/vs/editor/contrib/smartSelect/common/tokenSelectionSupport.ts
@@ -5,25 +5,25 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Range} from 'vs/editor/common/core/range';
-import {IModel, IPosition, IRange} from 'vs/editor/common/editorCommon';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {Node, build, find} from './tokenTree';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Range } from 'vs/editor/common/core/range';
+import { IModel, IPosition, IRange } from 'vs/editor/common/editorCommon';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { Node, build, find } from './tokenTree';
 
 /**
  * Interface used to compute a hierachry of logical ranges.
  */
 export interface ILogicalSelectionEntry {
-	type:string;
-	range:IRange;
+	type: string;
+	range: IRange;
 }
 
 export class TokenSelectionSupport {
 
 	private _modelService: IModelService;
 
-	constructor(@IModelService modelService: IModelService) {
+	constructor( @IModelService modelService: IModelService) {
 		this._modelService = modelService;
 	}
 
diff --git a/src/vs/editor/contrib/smartSelect/common/tokenTree.ts b/src/vs/editor/contrib/smartSelect/common/tokenTree.ts
index 78bccf690cd88..6a19a70b5e05c 100644
--- a/src/vs/editor/contrib/smartSelect/common/tokenTree.ts
+++ b/src/vs/editor/contrib/smartSelect/common/tokenTree.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {IModel, IPosition} from 'vs/editor/common/editorCommon';
-import {LineToken} from 'vs/editor/common/core/lineTokens';
-import {IRichEditBrackets} from 'vs/editor/common/modes';
-import {ignoreBracketsInToken} from 'vs/editor/common/modes/supports';
-import {BracketsUtils} from 'vs/editor/common/modes/supports/richEditBrackets';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { IModel, IPosition } from 'vs/editor/common/editorCommon';
+import { LineToken } from 'vs/editor/common/core/lineTokens';
+import { IRichEditBrackets } from 'vs/editor/common/modes';
+import { ignoreBracketsInToken } from 'vs/editor/common/modes/supports';
+import { BracketsUtils } from 'vs/editor/common/modes/supports/richEditBrackets';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
 
 export const enum TokenTreeBracket {
 	None = 0,
@@ -108,7 +108,7 @@ class Token {
 	type: string;
 	bracket: TokenTreeBracket;
 
-	constructor(range:Range, type: string, bracket: TokenTreeBracket) {
+	constructor(range: Range, type: string, bracket: TokenTreeBracket) {
 		this.range = range;
 		this.type = type;
 		this.bracket = bracket;
@@ -132,7 +132,7 @@ class RawToken {
 	public type: string;
 	public modeId: string;
 
-	constructor(source:LineToken, lineNumber:number, lineText:string) {
+	constructor(source: LineToken, lineNumber: number, lineText: string) {
 		this.lineNumber = lineNumber;
 		this.lineText = lineText;
 		this.startOffset = source.startOffset;
@@ -151,7 +151,7 @@ class ModelRawTokenScanner {
 	private _lineText: string;
 	private _next: LineToken;
 
-	constructor(model:IModel) {
+	constructor(model: IModel) {
 		this._model = model;
 		this._lineCount = this._model.getLineCount();
 		this._versionId = this._model.getVersionId();
@@ -258,7 +258,7 @@ class TokenScanner {
 
 				startOffset = foundBracketEndOffset;
 			}
-		} while(foundBracket);
+		} while (foundBracket);
 
 		if (startOffset < endOffset) {
 			// there is some remaining none-bracket text in this token
diff --git a/src/vs/editor/contrib/smartSelect/test/common/tokenSelectionSupport.test.ts b/src/vs/editor/contrib/smartSelect/test/common/tokenSelectionSupport.test.ts
index 5d699a809351b..e88adcf6fca4c 100644
--- a/src/vs/editor/contrib/smartSelect/test/common/tokenSelectionSupport.test.ts
+++ b/src/vs/editor/contrib/smartSelect/test/common/tokenSelectionSupport.test.ts
@@ -7,12 +7,12 @@
 import * as assert from 'assert';
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
 import URI from 'vs/base/common/uri';
-import {Range} from 'vs/editor/common/core/range';
-import {IMode, IndentAction} from 'vs/editor/common/modes';
-import {TokenSelectionSupport} from 'vs/editor/contrib/smartSelect/common/tokenSelectionSupport';
-import {createMockModelService} from 'vs/test/utils/servicesTestUtils';
-import {MockTokenizingMode} from 'vs/editor/test/common/mocks/mockMode';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { Range } from 'vs/editor/common/core/range';
+import { IMode, IndentAction } from 'vs/editor/common/modes';
+import { TokenSelectionSupport } from 'vs/editor/contrib/smartSelect/common/tokenSelectionSupport';
+import { createMockModelService } from 'vs/test/utils/servicesTestUtils';
+import { MockTokenizingMode } from 'vs/editor/test/common/mocks/mockMode';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
 
 class MockJSMode extends MockTokenizingMode {
 
@@ -65,11 +65,11 @@ suite('TokenSelectionSupport', () => {
 	let _mode: IMode = new MockJSMode();
 
 	setup(() => {
-		modelService= createMockModelService(new TestInstantiationService());
+		modelService = createMockModelService(new TestInstantiationService());
 		tokenSelectionSupport = new TokenSelectionSupport(modelService);
 	});
 
-	function assertGetRangesToPosition(text:string[], lineNumber:number, column:number, ranges:Range[]): void {
+	function assertGetRangesToPosition(text: string[], lineNumber: number, column: number, ranges: Range[]): void {
 		let uri = URI.file('test.js');
 		modelService.createModel(text.join('\n'), _mode, uri);
 
@@ -95,17 +95,17 @@ suite('TokenSelectionSupport', () => {
 			'\t}',
 			'}'
 		], 3, 20, [
-			new Range(1, 1, 5, 2),
-			new Range(1, 21, 5, 2),
-			new Range(2, 1, 4, 3),
-			new Range(2, 11, 4, 3),
-			new Range(3, 1, 4, 2),
-			new Range(3, 1, 3, 27),
-			new Range(3, 10, 3, 27),
-			new Range(3, 11, 3, 26),
-			new Range(3, 17, 3, 26),
-			new Range(3, 18, 3, 25),
-			// new Range(3, 19, 3, 20)
-		]);
+				new Range(1, 1, 5, 2),
+				new Range(1, 21, 5, 2),
+				new Range(2, 1, 4, 3),
+				new Range(2, 11, 4, 3),
+				new Range(3, 1, 4, 2),
+				new Range(3, 1, 3, 27),
+				new Range(3, 10, 3, 27),
+				new Range(3, 11, 3, 26),
+				new Range(3, 17, 3, 26),
+				new Range(3, 18, 3, 25),
+				// new Range(3, 19, 3, 20)
+			]);
 	});
 });
\ No newline at end of file
diff --git a/src/vs/editor/contrib/snippet/common/snippet.ts b/src/vs/editor/contrib/snippet/common/snippet.ts
index 4245228ea5d20..94b4bdec13c07 100644
--- a/src/vs/editor/contrib/snippet/common/snippet.ts
+++ b/src/vs/editor/contrib/snippet/common/snippet.ts
@@ -6,13 +6,13 @@
 'use strict';
 
 import * as strings from 'vs/base/common/strings';
-import {Range} from 'vs/editor/common/core/range';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
 import * as collections from 'vs/base/common/collections';
 
 export class CodeSnippet implements ICodeSnippet {
 
-	static fromTextmate(template:string):CodeSnippet {
+	static fromTextmate(template: string): CodeSnippet {
 		return TextMateSnippetParser.parse(template);
 	}
 
diff --git a/src/vs/editor/contrib/snippet/test/common/snippet.test.ts b/src/vs/editor/contrib/snippet/test/common/snippet.test.ts
index cdb521c40e694..096ff741722e1 100644
--- a/src/vs/editor/contrib/snippet/test/common/snippet.test.ts
+++ b/src/vs/editor/contrib/snippet/test/common/snippet.test.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Range} from 'vs/editor/common/core/range';
-import {CodeSnippet} from 'vs/editor/contrib/snippet/common/snippet';
+import { Range } from 'vs/editor/common/core/range';
+import { CodeSnippet } from 'vs/editor/contrib/snippet/common/snippet';
 
 suite('Editor Contrib - Snippets', () => {
 
diff --git a/src/vs/editor/contrib/snippet/test/common/snippetController.test.ts b/src/vs/editor/contrib/snippet/test/common/snippetController.test.ts
index e405b6ae79f49..05d39d8221354 100644
--- a/src/vs/editor/contrib/snippet/test/common/snippetController.test.ts
+++ b/src/vs/editor/contrib/snippet/test/common/snippetController.test.ts
@@ -5,13 +5,13 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Range} from 'vs/editor/common/core/range';
-import {Position} from 'vs/editor/common/core/position';
-import {Selection} from 'vs/editor/common/core/selection';
-import {CodeSnippet} from 'vs/editor/contrib/snippet/common/snippet';
-import {SnippetController} from 'vs/editor/contrib/snippet/common/snippetController';
-import {MockCodeEditor, withMockCodeEditor} from 'vs/editor/test/common/mocks/mockCodeEditor';
-import {Cursor} from 'vs/editor/common/controller/cursor';
+import { Range } from 'vs/editor/common/core/range';
+import { Position } from 'vs/editor/common/core/position';
+import { Selection } from 'vs/editor/common/core/selection';
+import { CodeSnippet } from 'vs/editor/contrib/snippet/common/snippet';
+import { SnippetController } from 'vs/editor/contrib/snippet/common/snippetController';
+import { MockCodeEditor, withMockCodeEditor } from 'vs/editor/test/common/mocks/mockCodeEditor';
+import { Cursor } from 'vs/editor/common/controller/cursor';
 
 class TestSnippetController extends SnippetController {
 
@@ -198,7 +198,7 @@ suite('SnippetController', () => {
 			editor.setPosition({ lineNumber: 4, column: 2 });
 			snippetController.run(codeSnippet, 0, 0, false);
 
-			editor.setPosition({lineNumber:1, column: 1});
+			editor.setPosition({ lineNumber: 1, column: 1 });
 
 			assert.equal(snippetController.isInSnippetMode(), false);
 		});
diff --git a/src/vs/editor/contrib/suggest/browser/suggestController.ts b/src/vs/editor/contrib/suggest/browser/suggestController.ts
index 0d11aed88ed1b..e4c8c42a35abb 100644
--- a/src/vs/editor/contrib/suggest/browser/suggestController.ts
+++ b/src/vs/editor/contrib/suggest/browser/suggestController.ts
@@ -177,7 +177,7 @@ export class TriggerSuggestAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		SuggestController.get(editor).triggerSuggest();
 	}
 }
diff --git a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts
index 236885ea69eda..17a353b7bcac2 100644
--- a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts
+++ b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts
@@ -10,7 +10,7 @@ import * as nls from 'vs/nls';
 import * as strings from 'vs/base/common/strings';
 import Event, { Emitter, chain } from 'vs/base/common/event';
 import { TPromise } from 'vs/base/common/winjs.base';
-import { isPromiseCanceledError, onUnexpectedError } from 'vs/base/common/errors';
+import { isPromiseCanceledError, onUnexpectedError } from 'vs/base/common/errors';
 import { IDisposable, dispose, toDisposable } from 'vs/base/common/lifecycle';
 import { addClass, append, $, hide, removeClass, show, toggleClass } from 'vs/base/browser/dom';
 import { HighlightedLabel } from 'vs/base/browser/ui/highlightedlabel/highlightedLabel';
@@ -18,13 +18,13 @@ import { IDelegate, IFocusChangeEvent, IRenderer, ISelectionChangeEvent } from '
 import { List } from 'vs/base/browser/ui/list/listWidget';
 import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
 import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
-import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
-import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
 import { IConfigurationChangedEvent } from 'vs/editor/common/editorCommon';
 import { ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition } from 'vs/editor/browser/editorBrowser';
 import { Context as SuggestContext } from '../common/suggest';
 import { ICompletionItem, CompletionModel } from '../common/completionModel';
-import { alert } from 'vs/base/browser/ui/aria/aria';
+import { alert } from 'vs/base/browser/ui/aria/aria';
 import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 
 const sticky = false; // for development purposes
@@ -86,8 +86,8 @@ class Renderer implements IRenderer<ICompletionItem, ISuggestionTemplateData> {
 			const fontFamily = configuration.fontInfo.fontFamily;
 			const fontSize = configuration.contribInfo.suggestFontSize || configuration.fontInfo.fontSize;
 			const lineHeight = configuration.contribInfo.suggestLineHeight || configuration.fontInfo.lineHeight;
-			const fontSizePx = `${ fontSize }px`;
-			const lineHeightPx = `${ lineHeight }px`;
+			const fontSizePx = `${fontSize}px`;
+			const lineHeightPx = `${lineHeight}px`;
 
 			data.root.style.fontSize = fontSizePx;
 			main.style.fontFamily = fontFamily;
@@ -270,8 +270,8 @@ class SuggestionDetails {
 		const fontFamily = configuration.fontInfo.fontFamily;
 		const fontSize = configuration.contribInfo.suggestFontSize || configuration.fontInfo.fontSize;
 		const lineHeight = configuration.contribInfo.suggestLineHeight || configuration.fontInfo.lineHeight;
-		const fontSizePx = `${ fontSize }px`;
-		const lineHeightPx = `${ lineHeight }px`;
+		const fontSizePx = `${fontSize}px`;
+		const lineHeightPx = `${lineHeight}px`;
 
 		this.el.style.fontSize = fontSizePx;
 		this.title.style.fontFamily = fontFamily;
@@ -403,16 +403,16 @@ export class SuggestWidget implements IContentWidget, IDelegate<ICompletionItem>
 		this.editor.focus();
 	}
 
-	private _getSuggestionAriaAlertLabel(item:ICompletionItem): string {
+	private _getSuggestionAriaAlertLabel(item: ICompletionItem): string {
 		if (item.suggestion.documentation) {
-			return nls.localize('ariaCurrentSuggestionWithDetails',"{0}, suggestion, has details", item.suggestion.label);
+			return nls.localize('ariaCurrentSuggestionWithDetails', "{0}, suggestion, has details", item.suggestion.label);
 		} else {
-			return nls.localize('ariaCurrentSuggestion',"{0}, suggestion", item.suggestion.label);
+			return nls.localize('ariaCurrentSuggestion', "{0}, suggestion", item.suggestion.label);
 		}
 	}
 
 	private _lastAriaAlertLabel: string;
-	private _ariaAlert(newAriaAlertLabel:string): void {
+	private _ariaAlert(newAriaAlertLabel: string): void {
 		if (this._lastAriaAlertLabel === newAriaAlertLabel) {
 			return;
 		}
@@ -528,7 +528,7 @@ export class SuggestWidget implements IContentWidget, IDelegate<ICompletionItem>
 		}
 	}
 
-	get onDidSelect():Event<ICompletionItem> {
+	get onDidSelect(): Event<ICompletionItem> {
 		return this.onDidSelectEmitter.event;
 	}
 
@@ -575,7 +575,7 @@ export class SuggestWidget implements IContentWidget, IDelegate<ICompletionItem>
 			this.completionModel = null;
 
 		} else {
-			const {stats}  = this.completionModel;
+			const {stats} = this.completionModel;
 			stats['wasAutomaticallyTriggered'] = !!isAuto;
 			this.telemetryService.publicLog('suggestWidget', stats);
 
diff --git a/src/vs/editor/contrib/suggest/common/suggest.ts b/src/vs/editor/contrib/suggest/common/suggest.ts
index 1fe0e23f11437..6a08e11b3aac9 100644
--- a/src/vs/editor/contrib/suggest/common/suggest.ts
+++ b/src/vs/editor/contrib/suggest/common/suggest.ts
@@ -4,20 +4,20 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {sequence, asWinJsPromise} from 'vs/base/common/async';
-import {isFalsyOrEmpty} from 'vs/base/common/arrays';
-import {compare} from 'vs/base/common/strings';
-import {assign} from 'vs/base/common/objects';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IReadOnlyModel, IPosition} from 'vs/editor/common/editorCommon';
-import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {ISuggestResult, ISuggestSupport, ISuggestion, SuggestRegistry} from 'vs/editor/common/modes';
-import {ISnippetsRegistry, Extensions} from 'vs/editor/common/modes/snippetsRegistry';
-import {Position} from 'vs/editor/common/core/position';
-import {Registry} from 'vs/platform/platform';
-import {RawContextKey} from 'vs/platform/contextkey/common/contextkey';
-import {DefaultConfig} from 'vs/editor/common/config/defaultConfig';
+import { sequence, asWinJsPromise } from 'vs/base/common/async';
+import { isFalsyOrEmpty } from 'vs/base/common/arrays';
+import { compare } from 'vs/base/common/strings';
+import { assign } from 'vs/base/common/objects';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IReadOnlyModel, IPosition } from 'vs/editor/common/editorCommon';
+import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { ISuggestResult, ISuggestSupport, ISuggestion, SuggestRegistry } from 'vs/editor/common/modes';
+import { ISnippetsRegistry, Extensions } from 'vs/editor/common/modes/snippetsRegistry';
+import { Position } from 'vs/editor/common/core/position';
+import { Registry } from 'vs/platform/platform';
+import { RawContextKey } from 'vs/platform/contextkey/common/contextkey';
+import { DefaultConfig } from 'vs/editor/common/config/defaultConfig';
 
 export const Context = {
 	Visible: new RawContextKey<boolean>('suggestWidgetVisible', false),
diff --git a/src/vs/editor/contrib/suggest/common/suggestModel.ts b/src/vs/editor/contrib/suggest/common/suggestModel.ts
index e465d4654a21f..551f54924abd3 100644
--- a/src/vs/editor/contrib/suggest/common/suggestModel.ts
+++ b/src/vs/editor/contrib/suggest/common/suggestModel.ts
@@ -4,17 +4,17 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
+import { onUnexpectedError } from 'vs/base/common/errors';
 import { isFalsyOrEmpty } from 'vs/base/common/arrays';
 import { forEach } from 'vs/base/common/collections';
 import Event, { Emitter } from 'vs/base/common/event';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {startsWith} from 'vs/base/common/strings';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ICommonCodeEditor, ICursorSelectionChangedEvent, CursorChangeReason, IModel, IPosition} from 'vs/editor/common/editorCommon';
-import {ISuggestSupport, SuggestRegistry} from 'vs/editor/common/modes';
-import {provideSuggestionItems, getSuggestionComparator} from './suggest';
-import {CompletionModel} from './completionModel';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { startsWith } from 'vs/base/common/strings';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ICommonCodeEditor, ICursorSelectionChangedEvent, CursorChangeReason, IModel, IPosition } from 'vs/editor/common/editorCommon';
+import { ISuggestSupport, SuggestRegistry } from 'vs/editor/common/modes';
+import { provideSuggestionItems, getSuggestionComparator } from './suggest';
+import { CompletionModel } from './completionModel';
 
 export interface ICancelEvent {
 	retrigger: boolean;
diff --git a/src/vs/editor/contrib/suggest/electron-browser/snippetCompletion.ts b/src/vs/editor/contrib/suggest/electron-browser/snippetCompletion.ts
index a8338aa08a2da..8941690c737f5 100644
--- a/src/vs/editor/contrib/suggest/electron-browser/snippetCompletion.ts
+++ b/src/vs/editor/contrib/suggest/electron-browser/snippetCompletion.ts
@@ -5,14 +5,14 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {Registry} from 'vs/platform/platform';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ICommonCodeEditor, EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {CodeSnippet} from 'vs/editor/contrib/snippet/common/snippet';
-import {SnippetController} from 'vs/editor/contrib/snippet/common/snippetController';
-import {IQuickOpenService, IPickOpenEntry} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {ISnippetsRegistry, Extensions, ISnippet} from 'vs/editor/common/modes/snippetsRegistry';
+import { Registry } from 'vs/platform/platform';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ICommonCodeEditor, EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { editorAction, ServicesAccessor, EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { CodeSnippet } from 'vs/editor/contrib/snippet/common/snippet';
+import { SnippetController } from 'vs/editor/contrib/snippet/common/snippetController';
+import { IQuickOpenService, IPickOpenEntry } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { ISnippetsRegistry, Extensions, ISnippet } from 'vs/editor/common/modes/snippetsRegistry';
 
 interface ISnippetPick extends IPickOpenEntry {
 	snippet: ISnippet;
@@ -30,7 +30,7 @@ class ShowSnippetsActions extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): TPromise<void> {
 		const quickOpenService = accessor.get(IQuickOpenService);
 
 		if (!editor.getModel()) {
diff --git a/src/vs/editor/contrib/suggest/test/common/completionModel.test.ts b/src/vs/editor/contrib/suggest/test/common/completionModel.test.ts
index 00d6d625e4a1e..3f8eacc2e37d3 100644
--- a/src/vs/editor/contrib/suggest/test/common/completionModel.test.ts
+++ b/src/vs/editor/contrib/suggest/test/common/completionModel.test.ts
@@ -5,10 +5,10 @@
 'use strict';
 
 import * as assert from 'assert';
-import {IPosition} from 'vs/editor/common/editorCommon';
-import {ISuggestion, ISuggestResult, ISuggestSupport} from 'vs/editor/common/modes';
-import {ISuggestionItem} from 'vs/editor/contrib/suggest/common/suggest';
-import {CompletionModel} from 'vs/editor/contrib/suggest/common/completionModel';
+import { IPosition } from 'vs/editor/common/editorCommon';
+import { ISuggestion, ISuggestResult, ISuggestSupport } from 'vs/editor/common/modes';
+import { ISuggestionItem } from 'vs/editor/contrib/suggest/common/suggest';
+import { CompletionModel } from 'vs/editor/contrib/suggest/common/completionModel';
 
 suite('CompletionModel', function () {
 
@@ -53,9 +53,9 @@ suite('CompletionModel', function () {
 			createSuggestItem('Foo', 3),
 			createSuggestItem('foo', 2),
 		], 1, {
-			leadingLineContent: 'foo',
-			characterCountDelta: 0
-		});
+				leadingLineContent: 'foo',
+				characterCountDelta: 0
+			});
 	});
 
 	test('filtering - cached', function () {
@@ -91,9 +91,9 @@ suite('CompletionModel', function () {
 			createSuggestItem('foo', 3, true),
 			createSuggestItem('foo', 2),
 		], 1, {
-			leadingLineContent: 'foo',
-			characterCountDelta: 0
-		});
+				leadingLineContent: 'foo',
+				characterCountDelta: 0
+			});
 		assert.equal(incompleteModel.incomplete.length, 1);
 	});
 
diff --git a/src/vs/editor/contrib/suggest/test/common/suggest.test.ts b/src/vs/editor/contrib/suggest/test/common/suggest.test.ts
index c512b913638b7..de5e98bc39e10 100644
--- a/src/vs/editor/contrib/suggest/test/common/suggest.test.ts
+++ b/src/vs/editor/contrib/suggest/test/common/suggest.test.ts
@@ -6,11 +6,11 @@
 
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {SuggestRegistry} from 'vs/editor/common/modes';
-import {provideSuggestionItems} from 'vs/editor/contrib/suggest/common/suggest';
-import {Position} from 'vs/editor/common/core/position';
-import {Model} from 'vs/editor/common/model/model';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { SuggestRegistry } from 'vs/editor/common/modes';
+import { provideSuggestionItems } from 'vs/editor/contrib/suggest/common/suggest';
+import { Position } from 'vs/editor/common/core/position';
+import { Model } from 'vs/editor/common/model/model';
 
 
 suite('Suggest', function () {
@@ -32,14 +32,14 @@ suite('Suggest', function () {
 						type: 'snippet',
 						insertText: 'aaa'
 					}, {
-							label: 'zzz',
-							type: 'snippet',
-							insertText: 'zzz'
-						}, {
-							label: 'fff',
-							type: 'property',
-							insertText: 'fff'
-						}]
+						label: 'zzz',
+						type: 'snippet',
+						insertText: 'zzz'
+					}, {
+						label: 'fff',
+						type: 'property',
+						insertText: 'fff'
+					}]
 				};
 			}
 		});
diff --git a/src/vs/editor/contrib/suggest/test/common/suggestModel.test.ts b/src/vs/editor/contrib/suggest/test/common/suggestModel.test.ts
index 5095800b09540..6a37a0bf15a5a 100644
--- a/src/vs/editor/contrib/suggest/test/common/suggestModel.test.ts
+++ b/src/vs/editor/contrib/suggest/test/common/suggestModel.test.ts
@@ -7,18 +7,18 @@
 import * as assert from 'assert';
 import Event from 'vs/base/common/event';
 import URI from 'vs/base/common/uri';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Model} from 'vs/editor/common/model/model';
-import {ICommonCodeEditor, Handler} from 'vs/editor/common/editorCommon';
-import {ISuggestSupport, ISuggestResult, SuggestRegistry} from 'vs/editor/common/modes';
-import {SuggestModel, Context} from 'vs/editor/contrib/suggest/common/suggestModel';
-import {MockCodeEditor, MockScopeLocation} from 'vs/editor/test/common/mocks/mockCodeEditor';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {InstantiationService} from 'vs/platform/instantiation/common/instantiationService';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {MockKeybindingService} from 'vs/platform/keybinding/test/common/mockKeybindingService';
-import {ITelemetryService, NullTelemetryService} from 'vs/platform/telemetry/common/telemetry';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Model } from 'vs/editor/common/model/model';
+import { ICommonCodeEditor, Handler } from 'vs/editor/common/editorCommon';
+import { ISuggestSupport, ISuggestResult, SuggestRegistry } from 'vs/editor/common/modes';
+import { SuggestModel, Context } from 'vs/editor/contrib/suggest/common/suggestModel';
+import { MockCodeEditor, MockScopeLocation } from 'vs/editor/test/common/mocks/mockCodeEditor';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { MockKeybindingService } from 'vs/platform/keybinding/test/common/mockKeybindingService';
+import { ITelemetryService, NullTelemetryService } from 'vs/platform/telemetry/common/telemetry';
 
 function createMockEditor(model: Model): MockCodeEditor {
 	const contextKeyService = new MockKeybindingService();
diff --git a/src/vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode.ts b/src/vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode.ts
index 1f7bd5cc8ec31..f0610929f880c 100644
--- a/src/vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode.ts
+++ b/src/vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode.ts
@@ -5,10 +5,10 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {ICommonCodeEditor} from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {TabFocus} from 'vs/editor/common/config/commonEditorConfig';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { ICommonCodeEditor } from 'vs/editor/common/editorCommon';
+import { editorAction, ServicesAccessor, EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { TabFocus } from 'vs/editor/common/config/commonEditorConfig';
 
 @editorAction
 export class ToggleTabFocusModeAction extends EditorAction {
@@ -29,7 +29,7 @@ export class ToggleTabFocusModeAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 		let oldValue = TabFocus.getTabFocusMode();
 		TabFocus.setTabFocusMode(!oldValue);
 	}
diff --git a/src/vs/editor/contrib/toggleWordWrap/common/toggleWordWrap.ts b/src/vs/editor/contrib/toggleWordWrap/common/toggleWordWrap.ts
index 77fbf077ea23c..54cdf21bc34ad 100644
--- a/src/vs/editor/contrib/toggleWordWrap/common/toggleWordWrap.ts
+++ b/src/vs/editor/contrib/toggleWordWrap/common/toggleWordWrap.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {ICommonCodeEditor, EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { ICommonCodeEditor, EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { editorAction, ServicesAccessor, EditorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class ToggleWordWrapAction extends EditorAction {
@@ -25,7 +25,7 @@ class ToggleWordWrapAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: ICommonCodeEditor): void {
 
 		let wrappingInfo = editor.getConfiguration().wrappingInfo;
 
diff --git a/src/vs/editor/contrib/wordHighlighter/common/wordHighlighter.ts b/src/vs/editor/contrib/wordHighlighter/common/wordHighlighter.ts
index 723e6f3f36ebf..48049ead0cd9c 100644
--- a/src/vs/editor/contrib/wordHighlighter/common/wordHighlighter.ts
+++ b/src/vs/editor/contrib/wordHighlighter/common/wordHighlighter.ts
@@ -4,17 +4,17 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {sequence, asWinJsPromise} from 'vs/base/common/async';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Range} from 'vs/editor/common/core/range';
+import { sequence, asWinJsPromise } from 'vs/base/common/async';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {CommonEditorRegistry, commonEditorContribution} from 'vs/editor/common/editorCommonExtensions';
-import {DocumentHighlight, DocumentHighlightKind, DocumentHighlightProviderRegistry} from 'vs/editor/common/modes';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {Position} from 'vs/editor/common/core/position';
+import { CommonEditorRegistry, commonEditorContribution } from 'vs/editor/common/editorCommonExtensions';
+import { DocumentHighlight, DocumentHighlightKind, DocumentHighlightProviderRegistry } from 'vs/editor/common/modes';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { Position } from 'vs/editor/common/core/position';
 
-export function getOccurrencesAtPosition(model: editorCommon.IReadOnlyModel, position: Position):TPromise<DocumentHighlight[]> {
+export function getOccurrencesAtPosition(model: editorCommon.IReadOnlyModel, position: Position): TPromise<DocumentHighlight[]> {
 
 	const orderedByScore = DocumentHighlightProviderRegistry.ordered(model);
 	let foundResult = false;
@@ -52,19 +52,19 @@ class WordHighlighter {
 	private _decorationIds: string[];
 	private toUnhook: IDisposable[];
 
-	private workerRequestTokenId:number = 0;
-	private workerRequest:TPromise<DocumentHighlight[]> = null;
-	private workerRequestCompleted:boolean = false;
-	private workerRequestValue:DocumentHighlight[] = [];
+	private workerRequestTokenId: number = 0;
+	private workerRequest: TPromise<DocumentHighlight[]> = null;
+	private workerRequestCompleted: boolean = false;
+	private workerRequestValue: DocumentHighlight[] = [];
 
-	private lastCursorPositionChangeTime:number = 0;
-	private renderDecorationsTimer:number = -1;
+	private lastCursorPositionChangeTime: number = 0;
+	private renderDecorationsTimer: number = -1;
 
-	constructor(editor:editorCommon.ICommonCodeEditor) {
+	constructor(editor: editorCommon.ICommonCodeEditor) {
 		this.editor = editor;
 		this.model = this.editor.getModel();
 		this.toUnhook = [];
-		this.toUnhook.push(editor.onDidChangeCursorPosition((e:editorCommon.ICursorPositionChangedEvent) => {
+		this.toUnhook.push(editor.onDidChangeCursorPosition((e: editorCommon.ICursorPositionChangedEvent) => {
 			this._onPositionChanged(e);
 		}));
 		this.toUnhook.push(editor.onDidChangeModel((e) => {
@@ -117,7 +117,7 @@ class WordHighlighter {
 		}
 	}
 
-	private _onPositionChanged(e:editorCommon.ICursorPositionChangedEvent): void {
+	private _onPositionChanged(e: editorCommon.ICursorPositionChangedEvent): void {
 
 		// ignore typing & other
 		if (e.reason !== editorCommon.CursorChangeReason.Explicit) {
@@ -126,7 +126,7 @@ class WordHighlighter {
 		}
 
 		// no providers for this model
-		if(!DocumentHighlightProviderRegistry.has(this.model)) {
+		if (!DocumentHighlightProviderRegistry.has(this.model)) {
 			this._stopAll();
 			return;
 		}
@@ -165,10 +165,10 @@ class WordHighlighter {
 
 		// Even if we are on a different word, if that word is in the decorations ranges, the request is still valid
 		// (Same symbol)
-		for(var i = 0, len = this._decorationIds.length; !workerRequestIsValid && i < len; i++) {
+		for (var i = 0, len = this._decorationIds.length; !workerRequestIsValid && i < len; i++) {
 			var range = this.model.getDecorationRange(this._decorationIds[i]);
-			if(range && range.startLineNumber === lineNumber) {
-				if(range.startColumn <= startColumn && range.endColumn >= endColumn) {
+			if (range && range.startLineNumber === lineNumber) {
+				if (range.startColumn <= startColumn && range.endColumn >= endColumn) {
 					workerRequestIsValid = true;
 				}
 			}
@@ -234,12 +234,12 @@ class WordHighlighter {
 
 	private renderDecorations(): void {
 		this.renderDecorationsTimer = -1;
-		var decorations:editorCommon.IModelDeltaDecoration[] = [];
-		for(var i = 0, len = this.workerRequestValue.length; i < len; i++) {
+		var decorations: editorCommon.IModelDeltaDecoration[] = [];
+		for (var i = 0, len = this.workerRequestValue.length; i < len; i++) {
 			var info = this.workerRequestValue[i];
 			var color = '#A0A0A0';
 
-			let className:string;
+			let className: string;
 			if (info.kind === DocumentHighlightKind.Write) {
 				className = 'wordHighlightStrong';
 			} else if (info.kind === DocumentHighlightKind.Text) {
@@ -278,7 +278,7 @@ class WordHighlighterContribution implements editorCommon.IEditorContribution {
 
 	private wordHighligher: WordHighlighter;
 
-	constructor(editor:editorCommon.ICommonCodeEditor) {
+	constructor(editor: editorCommon.ICommonCodeEditor) {
 		this.wordHighligher = new WordHighlighter(editor);
 	}
 
diff --git a/src/vs/editor/contrib/zoneWidget/browser/peekViewWidget.ts b/src/vs/editor/contrib/zoneWidget/browser/peekViewWidget.ts
index 7e722d10edf1c..b541cbefb197f 100644
--- a/src/vs/editor/contrib/zoneWidget/browser/peekViewWidget.ts
+++ b/src/vs/editor/contrib/zoneWidget/browser/peekViewWidget.ts
@@ -7,25 +7,25 @@
 
 import 'vs/css!./peekViewWidget';
 import * as nls from 'vs/nls';
-import {Action} from 'vs/base/common/actions';
+import { Action } from 'vs/base/common/actions';
 import * as strings from 'vs/base/common/strings';
-import {$} from 'vs/base/browser/builder';
-import Event, {Emitter} from 'vs/base/common/event';
+import { $ } from 'vs/base/browser/builder';
+import Event, { Emitter } from 'vs/base/common/event';
 import * as dom from 'vs/base/browser/dom';
-import {ActionBar} from 'vs/base/browser/ui/actionbar/actionbar';
-import {ServicesAccessor, createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {ICommonCodeEditor} from 'vs/editor/common/editorCommon';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {IOptions, ZoneWidget} from './zoneWidget';
-import {EmbeddedCodeEditorWidget} from 'vs/editor/browser/widget/embeddedCodeEditorWidget';
-import {ContextKeyExpr, RawContextKey} from 'vs/platform/contextkey/common/contextkey';
+import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
+import { ServicesAccessor, createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { ICommonCodeEditor } from 'vs/editor/common/editorCommon';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { IOptions, ZoneWidget } from './zoneWidget';
+import { EmbeddedCodeEditorWidget } from 'vs/editor/browser/widget/embeddedCodeEditorWidget';
+import { ContextKeyExpr, RawContextKey } from 'vs/platform/contextkey/common/contextkey';
 
 export var IPeekViewService = createDecorator<IPeekViewService>('peekViewService');
 
 export namespace PeekContext {
 	export const inPeekEditor = new RawContextKey<boolean>('inReferenceSearchEditor', true);
-	export const notInPeekEditor:ContextKeyExpr = inPeekEditor.toNegated();
+	export const notInPeekEditor: ContextKeyExpr = inPeekEditor.toNegated();
 }
 
 export const NOT_INNER_EDITOR_CONTEXT_KEY = new RawContextKey<boolean>('inReferenceSearchEditor', true);
diff --git a/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.ts b/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.ts
index 2101a009c8082..fb088a8383207 100644
--- a/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.ts
+++ b/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.ts
@@ -6,13 +6,13 @@
 'use strict';
 
 import 'vs/css!./zoneWidget';
-import {Disposables} from 'vs/base/common/lifecycle';
+import { Disposables } from 'vs/base/common/lifecycle';
 import * as objects from 'vs/base/common/objects';
 import * as dom from 'vs/base/browser/dom';
-import {Sash, Orientation, IHorizontalSashLayoutProvider, ISashEvent} from 'vs/base/browser/ui/sash/sash';
-import {EditorLayoutInfo, IPosition, IRange} from 'vs/editor/common/editorCommon';
-import {Range} from 'vs/editor/common/core/range';
-import {ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, IViewZone, IViewZoneChangeAccessor} from 'vs/editor/browser/editorBrowser';
+import { Sash, Orientation, IHorizontalSashLayoutProvider, ISashEvent } from 'vs/base/browser/ui/sash/sash';
+import { EditorLayoutInfo, IPosition, IRange } from 'vs/editor/common/editorCommon';
+import { Range } from 'vs/editor/common/core/range';
+import { ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, IViewZone, IViewZoneChangeAccessor } from 'vs/editor/browser/editorBrowser';
 
 export interface IOptions {
 	showFrame?: boolean;
@@ -307,7 +307,7 @@ export abstract class ZoneWidget implements IHorizontalSashLayoutProvider {
 
 	// --- sash
 
-	private _initSash(): void{
+	private _initSash(): void {
 		this._resizeSash = new Sash(this.domNode, this, { orientation: Orientation.HORIZONTAL });
 
 		if (!this.options.isResizeable) {
diff --git a/src/vs/editor/editor.main.ts b/src/vs/editor/editor.main.ts
index db23f0ef8ec98..7634a8eb6b03c 100644
--- a/src/vs/editor/editor.main.ts
+++ b/src/vs/editor/editor.main.ts
@@ -10,16 +10,16 @@ import 'vs/editor/contrib/quickOpen/browser/quickOutline';
 import 'vs/editor/contrib/quickOpen/browser/gotoLine';
 import 'vs/editor/contrib/quickOpen/browser/quickCommand';
 
-import {createMonacoBaseAPI} from 'vs/editor/common/standalone/standaloneBase';
-import {createMonacoEditorAPI} from 'vs/editor/browser/standalone/standaloneEditor';
-import {createMonacoLanguagesAPI} from 'vs/editor/browser/standalone/standaloneLanguages';
-import {DefaultConfig} from 'vs/editor/common/config/defaultConfig';
+import { createMonacoBaseAPI } from 'vs/editor/common/standalone/standaloneBase';
+import { createMonacoEditorAPI } from 'vs/editor/browser/standalone/standaloneEditor';
+import { createMonacoLanguagesAPI } from 'vs/editor/browser/standalone/standaloneLanguages';
+import { DefaultConfig } from 'vs/editor/common/config/defaultConfig';
 
 // Set defaults for standalone editor
 DefaultConfig.editor.wrappingIndent = 'none';
 DefaultConfig.editor.folding = false;
 
-var global:any = self;
+var global: any = self;
 global.monaco = createMonacoBaseAPI();
 global.monaco.editor = createMonacoEditorAPI();
 global.monaco.languages = createMonacoLanguagesAPI();
\ No newline at end of file
diff --git a/src/vs/editor/node/languageConfiguration.ts b/src/vs/editor/node/languageConfiguration.ts
index b0c81b5c3fac9..eaf20caa26177 100644
--- a/src/vs/editor/node/languageConfiguration.ts
+++ b/src/vs/editor/node/languageConfiguration.ts
@@ -5,15 +5,15 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {parse} from 'vs/base/common/json';
-import {readFile} from 'vs/base/node/pfs';
-import {LanguageConfiguration} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IAutoClosingPair, IAutoClosingPairConditional} from 'vs/editor/common/modes';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {Extensions, IJSONContributionRegistry} from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
-import {Registry} from 'vs/platform/platform';
-import {IJSONSchema} from 'vs/base/common/jsonSchema';
+import { parse } from 'vs/base/common/json';
+import { readFile } from 'vs/base/node/pfs';
+import { LanguageConfiguration } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IAutoClosingPair, IAutoClosingPairConditional } from 'vs/editor/common/modes';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { Extensions, IJSONContributionRegistry } from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
+import { Registry } from 'vs/platform/platform';
+import { IJSONSchema } from 'vs/base/common/jsonSchema';
 
 type CharacterPair = [string, string];
 
@@ -42,11 +42,11 @@ export class LanguageConfigurationFileHandler {
 		this._modeService.onDidAddModes((modes) => this._handleModes(modes));
 	}
 
-	private _handleModes(modes:string[]): void {
+	private _handleModes(modes: string[]): void {
 		modes.forEach(modeId => this._handleMode(modeId));
 	}
 
-	private _handleMode(modeId:string): void {
+	private _handleMode(modeId: string): void {
 		let disposable = this._modeService.onDidCreateMode((mode) => {
 			if (mode.getId() !== modeId) {
 				return;
@@ -59,7 +59,7 @@ export class LanguageConfigurationFileHandler {
 		});
 	}
 
-	private _handleConfigFile(modeId:string, configFilePath:string): void {
+	private _handleConfigFile(modeId: string, configFilePath: string): void {
 		readFile(configFilePath).then((fileContents) => {
 			var errors = [];
 			var configuration = <ILanguageConfiguration>parse(fileContents.toString(), errors);
@@ -72,9 +72,9 @@ export class LanguageConfigurationFileHandler {
 		});
 	}
 
-	private _handleConfig(modeId:string, configuration:ILanguageConfiguration): void {
+	private _handleConfig(modeId: string, configuration: ILanguageConfiguration): void {
 
-		let richEditConfig:LanguageConfiguration = {};
+		let richEditConfig: LanguageConfiguration = {};
 
 		if (configuration.comments) {
 			richEditConfig.comments = configuration.comments;
@@ -100,7 +100,7 @@ export class LanguageConfigurationFileHandler {
 			if (Array.isArray(pair)) {
 				return { open: pair[0], close: pair[1] };
 			}
-			return <IAutoClosingPairConditional> pair;
+			return <IAutoClosingPairConditional>pair;
 		});
 	}
 }
@@ -112,9 +112,9 @@ const schema: IJSONSchema = {
 			blockComment: ['/*', '*/'],
 			lineComment: '//'
 		},
-		brackets: [ [ '(', ')' ], [ '[', ']' ] , [ '{', '}' ]],
-		autoClosingPairs: [ [ '(', ')' ], [ '[', ']' ] , [ '{', '}' ]],
-		surroundingPairs: [ [ '(', ')' ], [ '[', ']' ] , [ '{', '}' ]]
+		brackets: [['(', ')'], ['[', ']'], ['{', '}']],
+		autoClosingPairs: [['(', ')'], ['[', ']'], ['{', '}']],
+		surroundingPairs: [['(', ')'], ['[', ']'], ['{', '}']]
 	},
 	definitions: {
 		openBracket: {
@@ -129,7 +129,7 @@ const schema: IJSONSchema = {
 			type: 'array',
 			items: [{
 				$ref: '#definitions/openBracket'
-			},{
+			}, {
 				$ref: '#definitions/closeBracket'
 			}]
 		}
@@ -149,7 +149,7 @@ const schema: IJSONSchema = {
 					items: [{
 						type: 'string',
 						description: nls.localize('schema.blockComment.begin', 'The character sequence that starts a block comment.')
-					},{
+					}, {
 						type: 'string',
 						description: nls.localize('schema.blockComment.end', 'The character sequence that ends a block comment.')
 					}]
@@ -161,7 +161,7 @@ const schema: IJSONSchema = {
 			}
 		},
 		brackets: {
-			default: [ [ '(', ')' ], [ '[', ']' ] , [ '{', '}' ]],
+			default: [['(', ')'], ['[', ']'], ['{', '}']],
 			description: nls.localize('schema.brackets', 'Defines the bracket symbols that increase or decrease the indentation.'),
 			type: 'array',
 			items: {
@@ -169,13 +169,13 @@ const schema: IJSONSchema = {
 			}
 		},
 		autoClosingPairs: {
-			default: [ [ '(', ')' ], [ '[', ']' ] , [ '{', '}' ]],
+			default: [['(', ')'], ['[', ']'], ['{', '}']],
 			description: nls.localize('schema.autoClosingPairs', 'Defines the bracket pairs. When a opening bracket is entered, the closing bracket is inserted automatically.'),
 			type: 'array',
 			items: {
 				oneOf: [{
 					$ref: '#definitions/bracketPair'
-				},{
+				}, {
 					type: 'object',
 					properties: {
 						open: {
@@ -196,13 +196,13 @@ const schema: IJSONSchema = {
 			}
 		},
 		surroundingPairs: {
-			default: [ [ '(', ')' ], [ '[', ']' ] , [ '{', '}' ]],
+			default: [['(', ')'], ['[', ']'], ['{', '}']],
 			description: nls.localize('schema.surroundingPairs', 'Defines the bracket pairs that can be used to surround a selected string.'),
 			type: 'array',
 			items: {
 				oneOf: [{
 					$ref: '#definitions/bracketPair'
-				},{
+				}, {
 					type: 'object',
 					properties: {
 						open: {
diff --git a/src/vs/editor/node/model/modelBuilder.ts b/src/vs/editor/node/model/modelBuilder.ts
index 88f292c1be7e5..56516bc322bcd 100644
--- a/src/vs/editor/node/model/modelBuilder.ts
+++ b/src/vs/editor/node/model/modelBuilder.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IStringStream} from 'vs/platform/files/common/files';
+import { IStringStream } from 'vs/platform/files/common/files';
 import * as crypto from 'crypto';
-import {DefaultEndOfLine, ITextModelCreationOptions, ITextModelResolvedOptions, IRawText} from 'vs/editor/common/editorCommon';
+import { DefaultEndOfLine, ITextModelCreationOptions, ITextModelResolvedOptions, IRawText } from 'vs/editor/common/editorCommon';
 import * as strings from 'vs/base/common/strings';
-import {guessIndentation} from 'vs/editor/common/model/indentationGuesser';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {CharCode} from 'vs/base/common/charCode';
+import { guessIndentation } from 'vs/editor/common/model/indentationGuesser';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { CharCode } from 'vs/base/common/charCode';
 
 export class ModelBuilderResult {
 	rawText: IRawText;
@@ -31,7 +31,7 @@ class ModelLineBasedBuilder {
 		this.currLineIndex = 0;
 	}
 
-	public acceptLines(lines:string[]): void {
+	public acceptLines(lines: string[]): void {
 		if (this.currLineIndex === 0) {
 			// Remove the BOM (if present)
 			if (strings.startsWithUTF8BOM(lines[0])) {
@@ -46,7 +46,7 @@ class ModelLineBasedBuilder {
 		this.hash.update(lines.join('\n') + '\n');
 	}
 
-	public finish(totalLength:number, carriageReturnCnt:number, opts:ITextModelCreationOptions): ModelBuilderResult {
+	public finish(totalLength: number, carriageReturnCnt: number, opts: ITextModelCreationOptions): ModelBuilderResult {
 
 		let lineFeedCnt = this.lines.length - 1;
 		let EOL = '';
@@ -92,7 +92,7 @@ class ModelLineBasedBuilder {
 	}
 }
 
-export function computeHash(rawText:IRawText): string {
+export function computeHash(rawText: IRawText): string {
 	let hash = crypto.createHash('sha1');
 	for (let i = 0, len = rawText.lines.length; i < len; i++) {
 		hash.update(rawText.lines[i] + '\n');
@@ -108,7 +108,7 @@ export class ModelBuilder {
 	private lineBasedBuilder: ModelLineBasedBuilder;
 	private totalLength: number;
 
-	public static fromStringStream(stream:IStringStream, options:ITextModelCreationOptions): TPromise<ModelBuilderResult> {
+	public static fromStringStream(stream: IStringStream, options: ITextModelCreationOptions): TPromise<ModelBuilderResult> {
 		return new TPromise<ModelBuilderResult>((c, e, p) => {
 			let done = false;
 			let builder = new ModelBuilder();
@@ -141,7 +141,7 @@ export class ModelBuilder {
 		this.totalLength = 0;
 	}
 
-	private _updateCRCount(chunk:string): void {
+	private _updateCRCount(chunk: string): void {
 		// Count how many \r are present in chunk to determine the majority EOL sequence
 		let chunkCarriageReturnCnt = 0;
 		let lastCarriageReturnIndex = -1;
@@ -151,7 +151,7 @@ export class ModelBuilder {
 		this.totalCRCount += chunkCarriageReturnCnt;
 	}
 
-	public acceptChunk(chunk:string): void {
+	public acceptChunk(chunk: string): void {
 		if (chunk.length === 0) {
 			return;
 		}
@@ -183,7 +183,7 @@ export class ModelBuilder {
 		this.leftoverPrevChunk = lines[lines.length - 1];
 	}
 
-	public finish(opts:ITextModelCreationOptions): ModelBuilderResult {
+	public finish(opts: ITextModelCreationOptions): ModelBuilderResult {
 		let finalLines = [this.leftoverPrevChunk];
 		if (this.leftoverEndsInCR) {
 			finalLines.push('');
diff --git a/src/vs/editor/node/textMate/TMSnippets.ts b/src/vs/editor/node/textMate/TMSnippets.ts
index cad80f566370c..3352966b60f2e 100644
--- a/src/vs/editor/node/textMate/TMSnippets.ts
+++ b/src/vs/editor/node/textMate/TMSnippets.ts
@@ -5,13 +5,13 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {parse} from 'vs/base/common/json';
+import { parse } from 'vs/base/common/json';
 import * as paths from 'vs/base/common/paths';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {readFile} from 'vs/base/node/pfs';
-import {IExtensionMessageCollector, ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-import {ISnippetsRegistry, Extensions, ISnippet} from 'vs/editor/common/modes/snippetsRegistry';
-import {IModeService} from 'vs/editor/common/services/modeService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { readFile } from 'vs/base/node/pfs';
+import { IExtensionMessageCollector, ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+import { ISnippetsRegistry, Extensions, ISnippet } from 'vs/editor/common/modes/snippetsRegistry';
+import { IModeService } from 'vs/editor/common/services/modeService';
 import platform = require('vs/platform/platform');
 
 export interface ISnippetsExtensionPoint {
@@ -22,10 +22,10 @@ export interface ISnippetsExtensionPoint {
 let snippetsExtensionPoint = ExtensionsRegistry.registerExtensionPoint<ISnippetsExtensionPoint[]>('snippets', {
 	description: nls.localize('vscode.extension.contributes.snippets', 'Contributes snippets.'),
 	type: 'array',
-	defaultSnippets: [ { body: [{ language: '', path: '' }] }],
+	defaultSnippets: [{ body: [{ language: '', path: '' }] }],
 	items: {
 		type: 'object',
-		defaultSnippets: [ { body: { language: '{{id}}', path: './snippets/{{id}}.json.'} }] ,
+		defaultSnippets: [{ body: { language: '{{id}}', path: './snippets/{{id}}.json.' } }],
 		properties: {
 			language: {
 				description: nls.localize('vscode.extension.contributes.snippets-language', 'Language identifier for which this snippet is contributed to.'),
@@ -42,7 +42,7 @@ let snippetsExtensionPoint = ExtensionsRegistry.registerExtensionPoint<ISnippets
 export class MainProcessTextMateSnippet {
 	private _modeService: IModeService;
 
-	constructor(@IModeService modeService: IModeService) {
+	constructor( @IModeService modeService: IModeService) {
 		this._modeService = modeService;
 
 		snippetsExtensionPoint.setHandler((extensions) => {
diff --git a/src/vs/editor/node/textMate/TMSyntax.ts b/src/vs/editor/node/textMate/TMSyntax.ts
index bdc263d7f84b0..5adacc3446113 100644
--- a/src/vs/editor/node/textMate/TMSyntax.ts
+++ b/src/vs/editor/node/textMate/TMSyntax.ts
@@ -5,16 +5,16 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {onUnexpectedError} from 'vs/base/common/errors';
+import { onUnexpectedError } from 'vs/base/common/errors';
 import * as paths from 'vs/base/common/paths';
-import {IExtensionMessageCollector, ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-import {ILineTokens, ITokenizationSupport, TokenizationRegistry} from 'vs/editor/common/modes';
-import {TMState} from 'vs/editor/common/modes/TMState';
-import {LineTokens} from 'vs/editor/common/modes/supports';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IGrammar, Registry, StackElement} from 'vscode-textmate';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {Token} from 'vs/editor/common/core/token';
+import { IExtensionMessageCollector, ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+import { ILineTokens, ITokenizationSupport, TokenizationRegistry } from 'vs/editor/common/modes';
+import { TMState } from 'vs/editor/common/modes/TMState';
+import { LineTokens } from 'vs/editor/common/modes/supports';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IGrammar, Registry, StackElement } from 'vscode-textmate';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { Token } from 'vs/editor/common/core/token';
 
 export interface ITMSyntaxExtensionPoint {
 	language: string;
@@ -27,10 +27,10 @@ export interface ITMSyntaxExtensionPoint {
 let grammarsExtPoint = ExtensionsRegistry.registerExtensionPoint<ITMSyntaxExtensionPoint[]>('grammars', <any>{
 	description: nls.localize('vscode.extension.contributes.grammars', 'Contributes textmate tokenizers.'),
 	type: 'array',
-	defaultSnippets: [ { body: [{ language: '{{id}}', scopeName: 'source.{{id}}', path: './syntaxes/{{id}}.tmLanguage.'}] }],
+	defaultSnippets: [{ body: [{ language: '{{id}}', scopeName: 'source.{{id}}', path: './syntaxes/{{id}}.tmLanguage.' }] }],
 	items: {
 		type: 'object',
-		defaultSnippets: [ { body: { language: '{{id}}', scopeName: 'source.{{id}}', path: './syntaxes/{{id}}.tmLanguage.'} }],
+		defaultSnippets: [{ body: { language: '{{id}}', scopeName: 'source.{{id}}', path: './syntaxes/{{id}}.tmLanguage.' } }],
 		properties: {
 			language: {
 				description: nls.localize('vscode.extension.contributes.grammars.language', 'Language identifier for which this syntax is contributed to.'),
@@ -59,8 +59,8 @@ let grammarsExtPoint = ExtensionsRegistry.registerExtensionPoint<ITMSyntaxExtens
 export class MainProcessTextMateSyntax {
 	private _grammarRegistry: Registry;
 	private _modeService: IModeService;
-	private _scopeNameToFilePath: { [scopeName:string]: string; };
-	private _injections: { [scopeName:string]: string[]; };
+	private _scopeNameToFilePath: { [scopeName: string]: string; };
+	private _injections: { [scopeName: string]: string[]; };
 
 	constructor(
 		@IModeService modeService: IModeService
@@ -70,10 +70,10 @@ export class MainProcessTextMateSyntax {
 		this._injections = {};
 
 		this._grammarRegistry = new Registry({
-			getFilePath: (scopeName:string) => {
+			getFilePath: (scopeName: string) => {
 				return this._scopeNameToFilePath[scopeName];
 			},
-			getInjections: (scopeName:string) => {
+			getInjections: (scopeName: string) => {
 				return this._injections[scopeName];
 			}
 		});
@@ -88,7 +88,7 @@ export class MainProcessTextMateSyntax {
 		});
 	}
 
-	private _handleGrammarExtensionPointUser(extensionFolderPath:string, syntax:ITMSyntaxExtensionPoint, collector: IExtensionMessageCollector): void {
+	private _handleGrammarExtensionPointUser(extensionFolderPath: string, syntax: ITMSyntaxExtensionPoint, collector: IExtensionMessageCollector): void {
 		if (syntax.language && ((typeof syntax.language !== 'string') || !this._modeService.isRegisteredMode(syntax.language))) {
 			collector.error(nls.localize('invalid.language', "Unknown language in `contributes.{0}.language`. Provided value: {1}", grammarsExtPoint.name, String(syntax.language)));
 			return;
@@ -151,7 +151,7 @@ function createTokenizationSupport(modeId: string, grammar: IGrammar): ITokeniza
 	var tokenizer = new Tokenizer(modeId, grammar);
 	return {
 		getInitialState: () => new TMState(modeId, null, null),
-		tokenize: (line, state, offsetDelta?, stopAtOffset?) => tokenizer.tokenize(line, <TMState> state, offsetDelta, stopAtOffset)
+		tokenize: (line, state, offsetDelta?, stopAtOffset?) => tokenizer.tokenize(line, <TMState>state, offsetDelta, stopAtOffset)
 	};
 }
 
@@ -159,8 +159,8 @@ export class DecodeMap {
 	_decodeMapBrand: void;
 
 	lastAssignedId: number;
-	scopeToTokenIds: { [scope:string]:number[]; };
-	tokenToTokenId: { [token:string]:number; };
+	scopeToTokenIds: { [scope: string]: number[]; };
+	tokenToTokenId: { [token: string]: number; };
 	tokenIdToToken: string[];
 	prevToken: TMTokenDecodeData;
 
@@ -172,7 +172,7 @@ export class DecodeMap {
 		this.prevToken = new TMTokenDecodeData([], []);
 	}
 
-	public getTokenIds(scope:string): number[] {
+	public getTokenIds(scope: string): number[] {
 		let tokens = this.scopeToTokenIds[scope];
 		if (tokens) {
 			return tokens;
@@ -195,7 +195,7 @@ export class DecodeMap {
 		return tokens;
 	}
 
-	public getToken(tokenMap:boolean[]): string {
+	public getToken(tokenMap: boolean[]): string {
 		let result = '';
 		let isFirst = true;
 		for (let i = 1; i <= this.lastAssignedId; i++) {
@@ -219,7 +219,7 @@ export class TMTokenDecodeData {
 	public scopes: string[];
 	public scopeTokensMaps: boolean[][];
 
-	constructor(scopes:string[], scopeTokensMaps:boolean[][]) {
+	constructor(scopes: string[], scopeTokensMaps: boolean[][]) {
 		this.scopes = scopes;
 		this.scopeTokensMaps = scopeTokensMaps;
 	}
@@ -239,7 +239,7 @@ class Tokenizer {
 	private _modeId: string;
 	private _decodeMap: DecodeMap;
 
-	constructor(modeId:string, grammar: IGrammar) {
+	constructor(modeId: string, grammar: IGrammar) {
 		this._modeId = modeId;
 		this._grammar = grammar;
 		this._decodeMap = new DecodeMap();
@@ -261,9 +261,9 @@ class Tokenizer {
 		freshState.setRuleStack(textMateResult.ruleStack);
 
 		// Create the result early and fill in the tokens later
-		let tokens:Token[] = [];
+		let tokens: Token[] = [];
 
-		let lastTokenType:string = null;
+		let lastTokenType: string = null;
 		for (let tokenIndex = 0, len = textMateResult.tokens.length; tokenIndex < len; tokenIndex++) {
 			let token = textMateResult.tokens[tokenIndex];
 			let tokenStartIndex = token.startIndex;
diff --git a/src/vs/editor/node/textMate/vscode-textmate.d.ts b/src/vs/editor/node/textMate/vscode-textmate.d.ts
index be40607a48655..481741bce338f 100644
--- a/src/vs/editor/node/textMate/vscode-textmate.d.ts
+++ b/src/vs/editor/node/textMate/vscode-textmate.d.ts
@@ -5,76 +5,76 @@
 
 declare module "vscode-textmate" {
 
-/**
- * A registry helper that can locate grammar file paths given scope names.
- */
-export interface IGrammarLocator {
-	getFilePath(scopeName:string): string;
-	getInjections?(scopeName:string): string[];
-}
-
-/**
- * The registry that will hold all grammars.
- */
-export class Registry {
-
-	constructor(locator?:IGrammarLocator);
-
 	/**
-	 * Load the grammar for `scopeName` and all referenced included grammars asynchronously.
+	 * A registry helper that can locate grammar file paths given scope names.
 	 */
-	public loadGrammar(scopeName:string, callback:(err:any, grammar:IGrammar)=>void): void;
+	export interface IGrammarLocator {
+		getFilePath(scopeName: string): string;
+		getInjections?(scopeName: string): string[];
+	}
 
 	/**
-	 * Load the grammar at `path` synchronously.
+	 * The registry that will hold all grammars.
 	 */
-	public loadGrammarFromPathSync(path:string): IGrammar;
+	export class Registry {
 
-	/**
-	 * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `loadGrammarFromPathSync`.
-	 */
-	public grammarForScopeName(scopeName:string): IGrammar;
-}
+		constructor(locator?: IGrammarLocator);
 
-export interface IGrammarInfo {
-	fileTypes: string[];
-	name: string;
-	scopeName: string;
-	firstLineMatch: string;
-}
+		/**
+		 * Load the grammar for `scopeName` and all referenced included grammars asynchronously.
+		 */
+		public loadGrammar(scopeName: string, callback: (err: any, grammar: IGrammar) => void): void;
 
-/**
- * A grammar
- */
-export interface IGrammar {
-	/**
-	 * Tokenize `lineText` using previous line state `prevState`.
-	 */
-	tokenizeLine(lineText: string, prevState: StackElement): ITokenizeLineResult;
-}
+		/**
+		 * Load the grammar at `path` synchronously.
+		 */
+		public loadGrammarFromPathSync(path: string): IGrammar;
+
+		/**
+		 * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `loadGrammarFromPathSync`.
+		 */
+		public grammarForScopeName(scopeName: string): IGrammar;
+	}
+
+	export interface IGrammarInfo {
+		fileTypes: string[];
+		name: string;
+		scopeName: string;
+		firstLineMatch: string;
+	}
 
-export interface ITokenizeLineResult {
-	tokens: IToken[];
 	/**
-	 * The `prevState` to be passed on to the next line tokenization.
+	 * A grammar
 	 */
-	ruleStack: StackElement;
-}
+	export interface IGrammar {
+		/**
+		 * Tokenize `lineText` using previous line state `prevState`.
+		 */
+		tokenizeLine(lineText: string, prevState: StackElement): ITokenizeLineResult;
+	}
 
-export interface IToken {
-	startIndex: number;
-	endIndex: number;
-	scopes: string[];
-}
+	export interface ITokenizeLineResult {
+		tokens: IToken[];
+		/**
+		 * The `prevState` to be passed on to the next line tokenization.
+		 */
+		ruleStack: StackElement;
+	}
 
-/**
- * Should not be used by consumers, as its shape might change at any time.
- */
-export interface StackElement {
-	_stackElementBrand: void;
-	_parent: StackElement;
+	export interface IToken {
+		startIndex: number;
+		endIndex: number;
+		scopes: string[];
+	}
+
+	/**
+	 * Should not be used by consumers, as its shape might change at any time.
+	 */
+	export interface StackElement {
+		_stackElementBrand: void;
+		_parent: StackElement;
 
-	equals(other:StackElement): boolean;
-}
+		equals(other: StackElement): boolean;
+	}
 
 }
\ No newline at end of file
diff --git a/src/vs/editor/test/browser/controller/imeTester.ts b/src/vs/editor/test/browser/controller/imeTester.ts
index 7d93323a8233d..906f40bf5d486 100644
--- a/src/vs/editor/test/browser/controller/imeTester.ts
+++ b/src/vs/editor/test/browser/controller/imeTester.ts
@@ -4,31 +4,31 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TextAreaHandler} from 'vs/editor/common/controller/textAreaHandler';
+import { TextAreaHandler } from 'vs/editor/common/controller/textAreaHandler';
 import * as browser from 'vs/base/browser/browser';
-import {TextAreaStrategy, ISimpleModel} from 'vs/editor/common/controller/textAreaState';
-import {Range} from 'vs/editor/common/core/range';
+import { TextAreaStrategy, ISimpleModel } from 'vs/editor/common/controller/textAreaState';
+import { Range } from 'vs/editor/common/core/range';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {TextAreaWrapper} from 'vs/editor/browser/controller/input/textAreaWrapper';
-import {Position} from 'vs/editor/common/core/position';
+import { TextAreaWrapper } from 'vs/editor/browser/controller/input/textAreaWrapper';
+import { Position } from 'vs/editor/common/core/position';
 
 // To run this test, open imeTester.html
 
 class SingleLineTestModel implements ISimpleModel {
 
-	private _line:string;
-	private _eol:string;
+	private _line: string;
+	private _eol: string;
 
-	constructor(line:string) {
+	constructor(line: string) {
 		this._line = line;
 		this._eol = '\n';
 	}
 
-	setText(text:string) {
+	setText(text: string) {
 		this._line = text;
 	}
 
-	getLineMaxColumn(lineNumber:number): number {
+	getLineMaxColumn(lineNumber: number): number {
 		return this._line.length + 1;
 	}
 
@@ -36,11 +36,11 @@ class SingleLineTestModel implements ISimpleModel {
 		return this._eol;
 	}
 
-	getValueInRange(range:editorCommon.IRange, eol:editorCommon.EndOfLinePreference): string {
+	getValueInRange(range: editorCommon.IRange, eol: editorCommon.EndOfLinePreference): string {
 		return this._line.substring(range.startColumn - 1, range.endColumn - 1);
 	}
 
-	getModelLineContent(lineNumber:number): string {
+	getModelLineContent(lineNumber: number): string {
 		return this._line;
 	}
 
@@ -48,7 +48,7 @@ class SingleLineTestModel implements ISimpleModel {
 		return 1;
 	}
 
-	convertViewPositionToModelPosition(viewLineNumber:number, viewColumn:number): Position {
+	convertViewPositionToModelPosition(viewLineNumber: number, viewColumn: number): Position {
 		return new Position(viewLineNumber, viewColumn);
 	}
 }
@@ -57,11 +57,11 @@ class TestView {
 
 	private _model: SingleLineTestModel;
 
-	constructor(model:SingleLineTestModel) {
+	constructor(model: SingleLineTestModel) {
 		this._model = model;
 	}
 
-	public paint(output:HTMLElement) {
+	public paint(output: HTMLElement) {
 		let r = '';
 		for (let i = 1; i <= this._model.getLineCount(); i++) {
 			let content = this._model.getModelLineContent(i);
@@ -71,7 +71,7 @@ class TestView {
 	}
 }
 
-function doCreateTest(strategy:TextAreaStrategy, description:string, inputStr:string, expectedStr:string): HTMLElement {
+function doCreateTest(strategy: TextAreaStrategy, description: string, inputStr: string, expectedStr: string): HTMLElement {
 	let container = document.createElement('div');
 	container.className = 'container';
 
@@ -94,7 +94,7 @@ function doCreateTest(strategy:TextAreaStrategy, description:string, inputStr:st
 
 	let model = new SingleLineTestModel('some  text');
 
-	let handler = new TextAreaHandler(browser, strategy, textAreaWrapper, model, () => {});
+	let handler = new TextAreaHandler(browser, strategy, textAreaWrapper, model, () => { });
 
 	input.onfocus = () => {
 		handler.setHasFocus(true);
@@ -120,14 +120,14 @@ function doCreateTest(strategy:TextAreaStrategy, description:string, inputStr:st
 
 	let cursorOffset: number;
 	let cursorLength: number;
-	let updatePosition = (off:number, len:number) => {
+	let updatePosition = (off: number, len: number) => {
 		cursorOffset = off;
 		cursorLength = len;
 		handler.setCursorSelections(new Range(1, 1 + cursorOffset, 1, 1 + cursorOffset + cursorLength), []);
 		handler.writePlaceholderAndSelectTextAreaSync();
 	};
 
-	let updateModelAndPosition = (text:string, off:number, len:number) => {
+	let updateModelAndPosition = (text: string, off: number, len: number) => {
 		model.setText(text);
 		updatePosition(off, len);
 		view.paint(output);
@@ -155,7 +155,7 @@ function doCreateTest(strategy:TextAreaStrategy, description:string, inputStr:st
 
 	view.paint(output);
 
-	startBtn.onclick = function() {
+	startBtn.onclick = function () {
 		updateModelAndPosition('some  text', 5, 0);
 		input.focus();
 	};
diff --git a/src/vs/editor/test/browser/services/decorationRenderOptions.test.ts b/src/vs/editor/test/browser/services/decorationRenderOptions.test.ts
index 1a6ec2aac0ed0..c1def2da6c20c 100644
--- a/src/vs/editor/test/browser/services/decorationRenderOptions.test.ts
+++ b/src/vs/editor/test/browser/services/decorationRenderOptions.test.ts
@@ -7,8 +7,8 @@
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
 import * as dom from 'vs/base/browser/dom';
-import {CodeEditorServiceImpl} from 'vs/editor/browser/services/codeEditorServiceImpl';
-import {IDecorationRenderOptions} from 'vs/editor/common/editorCommon';
+import { CodeEditorServiceImpl } from 'vs/editor/browser/services/codeEditorServiceImpl';
+import { IDecorationRenderOptions } from 'vs/editor/common/editorCommon';
 
 suite('Browser Services - EditorLayoutProvider', () => {
 	var options: IDecorationRenderOptions = {
diff --git a/src/vs/editor/test/browser/standalone/simpleServices.test.ts b/src/vs/editor/test/browser/standalone/simpleServices.test.ts
index 27303a890e2b2..ac6c380bbc015 100644
--- a/src/vs/editor/test/browser/standalone/simpleServices.test.ts
+++ b/src/vs/editor/test/browser/standalone/simpleServices.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {ContextKeyService} from 'vs/platform/contextkey/browser/contextKeyService';
-import {SimpleConfigurationService, SimpleMessageService, SimpleExtensionService, StandaloneKeybindingService, StandaloneCommandService} from 'vs/editor/browser/standalone/simpleServices';
-import {InstantiationService} from 'vs/platform/instantiation/common/instantiationService';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {KeyCode} from 'vs/base/common/keyCodes';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
+import { ContextKeyService } from 'vs/platform/contextkey/browser/contextKeyService';
+import { SimpleConfigurationService, SimpleMessageService, SimpleExtensionService, StandaloneKeybindingService, StandaloneCommandService } from 'vs/editor/browser/standalone/simpleServices';
+import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { KeyCode } from 'vs/base/common/keyCodes';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
 
 suite('StandaloneKeybindingService', () => {
 
@@ -46,7 +46,7 @@ suite('StandaloneKeybindingService', () => {
 
 		keybindingService.dispatch(<any>{
 			asKeybinding: () => KeyCode.F9,
-			preventDefault: () => {}
+			preventDefault: () => { }
 		});
 
 		assert.ok(commandInvoked, 'command invoked');
diff --git a/src/vs/editor/test/browser/view/viewLayer.test.ts b/src/vs/editor/test/browser/view/viewLayer.test.ts
index a778393d0c8c8..eca69fc62c433 100644
--- a/src/vs/editor/test/browser/view/viewLayer.test.ts
+++ b/src/vs/editor/test/browser/view/viewLayer.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {RenderedLinesCollection, ILine} from 'vs/editor/browser/view/viewLayer';
+import { RenderedLinesCollection, ILine } from 'vs/editor/browser/view/viewLayer';
 
 class TestLine implements ILine {
 
 	_pinged = false;
-	constructor(public id:string) {
+	constructor(public id: string) {
 	}
 
 	onContentChanged(): void {
@@ -36,8 +36,8 @@ interface ILinesCollectionState {
 	pinged: boolean[];
 }
 
-function assertState(col:RenderedLinesCollection<TestLine>, state:ILinesCollectionState): void {
-	let actualState:ILinesCollectionState = {
+function assertState(col: RenderedLinesCollection<TestLine>, state: ILinesCollectionState): void {
+	let actualState: ILinesCollectionState = {
 		startLineNumber: col.getStartLineNumber(),
 		lines: [],
 		pinged: []
@@ -51,7 +51,7 @@ function assertState(col:RenderedLinesCollection<TestLine>, state:ILinesCollecti
 
 suite('RenderedLinesCollection onModelLinesDeleted', () => {
 
-	function testOnModelLinesDeleted(deleteFromLineNumber:number, deleteToLineNumber:number, expectedDeleted:string[], expectedState:ILinesCollectionState): void {
+	function testOnModelLinesDeleted(deleteFromLineNumber: number, deleteToLineNumber: number, expectedDeleted: string[], expectedState: ILinesCollectionState): void {
 		let col = new RenderedLinesCollection<TestLine>(() => new TestLine('new'));
 		col._set(6, [
 			new TestLine('old6'),
@@ -326,7 +326,7 @@ suite('RenderedLinesCollection onModelLinesDeleted', () => {
 
 suite('RenderedLinesCollection onModelLineChanged', () => {
 
-	function testOnModelLineChanged(changedLineNumber:number, expectedPinged:boolean, expectedState:ILinesCollectionState): void {
+	function testOnModelLineChanged(changedLineNumber: number, expectedPinged: boolean, expectedState: ILinesCollectionState): void {
 		let col = new RenderedLinesCollection<TestLine>(() => new TestLine('new'));
 		col._set(6, [
 			new TestLine('old6'),
@@ -407,7 +407,7 @@ suite('RenderedLinesCollection onModelLineChanged', () => {
 
 suite('RenderedLinesCollection onModelLinesInserted', () => {
 
-	function testOnModelLinesInserted(insertFromLineNumber:number, insertToLineNumber:number, expectedDeleted:string[], expectedState:ILinesCollectionState): void {
+	function testOnModelLinesInserted(insertFromLineNumber: number, insertToLineNumber: number, expectedDeleted: string[], expectedState: ILinesCollectionState): void {
 		let col = new RenderedLinesCollection<TestLine>(() => new TestLine('new'));
 		col._set(6, [
 			new TestLine('old6'),
@@ -683,7 +683,7 @@ suite('RenderedLinesCollection onModelLinesInserted', () => {
 
 suite('RenderedLinesCollection onModelTokensChanged', () => {
 
-	function testOnModelTokensChanged(changedFromLineNumber:number, changedToLineNumber:number, expectedPinged:boolean, expectedState:ILinesCollectionState): void {
+	function testOnModelTokensChanged(changedFromLineNumber: number, changedToLineNumber: number, expectedPinged: boolean, expectedState: ILinesCollectionState): void {
 		let col = new RenderedLinesCollection<TestLine>(() => new TestLine('new'));
 		col._set(6, [
 			new TestLine('old6'),
diff --git a/src/vs/editor/test/common/commands/commandTestUtils.ts b/src/vs/editor/test/common/commands/commandTestUtils.ts
index be95d2ff0df5f..ff4f923d496ae 100644
--- a/src/vs/editor/test/common/commands/commandTestUtils.ts
+++ b/src/vs/editor/test/common/commands/commandTestUtils.ts
@@ -5,19 +5,19 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Cursor} from 'vs/editor/common/controller/cursor';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Cursor } from 'vs/editor/common/controller/cursor';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
-import {MockConfiguration} from 'vs/editor/test/common/mocks/mockConfiguration';
-import {viewModelHelper} from 'vs/editor/test/common/editorTestUtils';
+import { Model } from 'vs/editor/common/model/model';
+import { MockConfiguration } from 'vs/editor/test/common/mocks/mockConfiguration';
+import { viewModelHelper } from 'vs/editor/test/common/editorTestUtils';
 
 export function testCommand(
 	lines: string[],
 	mode: string,
 	selection: Selection,
-	commandFactory: (selection:Selection) => editorCommon.ICommand,
+	commandFactory: (selection: Selection) => editorCommon.ICommand,
 	expectedLines: string[],
 	expectedSelection: Selection
 ): void {
@@ -67,7 +67,7 @@ export function getEditOperation(model: editorCommon.IModel, command: editorComm
 /**
  * Create single edit operation
  */
-export function createSingleEditOp(text:string, positionLineNumber:number, positionColumn:number, selectionLineNumber:number = positionLineNumber, selectionColumn:number = positionColumn):editorCommon.IIdentifiedSingleEditOperation {
+export function createSingleEditOp(text: string, positionLineNumber: number, positionColumn: number, selectionLineNumber: number = positionLineNumber, selectionColumn: number = positionColumn): editorCommon.IIdentifiedSingleEditOperation {
 	return {
 		identifier: null,
 		range: new Range(selectionLineNumber, selectionColumn, positionLineNumber, positionColumn),
@@ -79,7 +79,7 @@ export function createSingleEditOp(text:string, positionLineNumber:number, posit
 /**
  * Create single edit operation
  */
-export function createInsertDeleteSingleEditOp(text:string, positionLineNumber:number, positionColumn:number, selectionLineNumber:number = positionLineNumber, selectionColumn:number = positionColumn):editorCommon.IIdentifiedSingleEditOperation {
+export function createInsertDeleteSingleEditOp(text: string, positionLineNumber: number, positionColumn: number, selectionLineNumber: number = positionLineNumber, selectionColumn: number = positionColumn): editorCommon.IIdentifiedSingleEditOperation {
 	return {
 		identifier: null,
 		range: new Range(selectionLineNumber, selectionColumn, positionLineNumber, positionColumn),
diff --git a/src/vs/editor/test/common/commands/shiftCommand.test.ts b/src/vs/editor/test/common/commands/shiftCommand.test.ts
index 39188e1096b90..a2a744a099aa0 100644
--- a/src/vs/editor/test/common/commands/shiftCommand.test.ts
+++ b/src/vs/editor/test/common/commands/shiftCommand.test.ts
@@ -5,14 +5,14 @@
 'use strict';
 
 import * as assert from 'assert';
-import {ShiftCommand} from 'vs/editor/common/commands/shiftCommand';
-import {Selection} from 'vs/editor/common/core/selection';
-import {IIdentifiedSingleEditOperation} from 'vs/editor/common/editorCommon';
-import {IndentAction} from 'vs/editor/common/modes';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {createSingleEditOp, getEditOperation, testCommand} from 'vs/editor/test/common/commands/commandTestUtils';
-import {withEditorModel} from 'vs/editor/test/common/editorTestUtils';
-import {MockMode} from 'vs/editor/test/common/mocks/mockMode';
+import { ShiftCommand } from 'vs/editor/common/commands/shiftCommand';
+import { Selection } from 'vs/editor/common/core/selection';
+import { IIdentifiedSingleEditOperation } from 'vs/editor/common/editorCommon';
+import { IndentAction } from 'vs/editor/common/modes';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { createSingleEditOp, getEditOperation, testCommand } from 'vs/editor/test/common/commands/commandTestUtils';
+import { withEditorModel } from 'vs/editor/test/common/editorTestUtils';
+import { MockMode } from 'vs/editor/test/common/mocks/mockMode';
 
 function testShiftCommand(lines: string[], selection: Selection, expectedLines: string[], expectedSelection: Selection): void {
 	testCommand(lines, null, selection, (sel) => new ShiftCommand(sel, {
@@ -537,7 +537,7 @@ suite('Editor Commands - ShiftCommand', () => {
 				' */',
 				'function hello() {}'
 			],
-			new Selection(1,1,5,20),
+			new Selection(1, 1, 5, 20),
 			[
 				'',
 				'\t/**',
@@ -545,7 +545,7 @@ suite('Editor Commands - ShiftCommand', () => {
 				'\t */',
 				'\tfunction hello() {}'
 			],
-			new Selection(1,1,5,21)
+			new Selection(1, 1, 5, 21)
 		);
 
 		testUnshiftCommandInDocBlockCommentMode(
@@ -556,7 +556,7 @@ suite('Editor Commands - ShiftCommand', () => {
 				' */',
 				'function hello() {}'
 			],
-			new Selection(1,1,5,20),
+			new Selection(1, 1, 5, 20),
 			[
 				'',
 				'/**',
@@ -564,7 +564,7 @@ suite('Editor Commands - ShiftCommand', () => {
 				' */',
 				'function hello() {}'
 			],
-			new Selection(1,1,5,20)
+			new Selection(1, 1, 5, 20)
 		);
 
 		testUnshiftCommandInDocBlockCommentMode(
@@ -575,7 +575,7 @@ suite('Editor Commands - ShiftCommand', () => {
 				'\t */',
 				'\tfunction hello() {}'
 			],
-			new Selection(1,1,5,21),
+			new Selection(1, 1, 5, 21),
 			[
 				'',
 				'/**',
@@ -583,7 +583,7 @@ suite('Editor Commands - ShiftCommand', () => {
 				' */',
 				'function hello() {}'
 			],
-			new Selection(1,1,5,20)
+			new Selection(1, 1, 5, 20)
 		);
 	});
 
@@ -598,7 +598,7 @@ suite('Editor Commands - ShiftCommand', () => {
 				' */',
 				'var foo = 0;'
 			],
-			new Selection(1,1,7,13),
+			new Selection(1, 1, 7, 13),
 			[
 				'',
 				'\t/**',
@@ -608,13 +608,13 @@ suite('Editor Commands - ShiftCommand', () => {
 				'\t */',
 				'\tvar foo = 0;'
 			],
-			new Selection(1,1,7,14)
+			new Selection(1, 1, 7, 14)
 		);
 	});
 
 	test('bug #16815:Shift+Tab doesn\'t go back to tabstop', () => {
 
-		var repeatStr = (str:string, cnt:number): string => {
+		var repeatStr = (str: string, cnt: number): string => {
 			var r = '';
 			for (var i = 0; i < cnt; i++) {
 				r += str;
@@ -622,7 +622,7 @@ suite('Editor Commands - ShiftCommand', () => {
 			return r;
 		};
 
-		var testOutdent = (tabSize: number, oneIndent: string, lineText:string, expectedIndents:number) => {
+		var testOutdent = (tabSize: number, oneIndent: string, lineText: string, expectedIndents: number) => {
 			var expectedIndent = repeatStr(oneIndent, expectedIndents);
 			if (lineText.length > 0) {
 				_assertUnshiftCommand(tabSize, oneIndent, [lineText + 'aaa'], [createSingleEditOp(expectedIndent, 1, 1, 1, lineText.length + 1)]);
@@ -631,12 +631,12 @@ suite('Editor Commands - ShiftCommand', () => {
 			}
 		};
 
-		var testIndent = (tabSize: number, oneIndent: string, lineText:string, expectedIndents:number) => {
+		var testIndent = (tabSize: number, oneIndent: string, lineText: string, expectedIndents: number) => {
 			var expectedIndent = repeatStr(oneIndent, expectedIndents);
 			_assertShiftCommand(tabSize, oneIndent, [lineText + 'aaa'], [createSingleEditOp(expectedIndent, 1, 1, 1, lineText.length + 1)]);
 		};
 
-		var testIndentation = (tabSize: number, lineText:string, expectedOnOutdent:number, expectedOnIndent:number) => {
+		var testIndentation = (tabSize: number, lineText: string, expectedOnOutdent: number, expectedOnIndent: number) => {
 			var spaceIndent = '';
 			for (var i = 0; i < tabSize; i++) {
 				spaceIndent += ' ';
@@ -710,9 +710,9 @@ suite('Editor Commands - ShiftCommand', () => {
 
 	});
 
-	function _assertUnshiftCommand(tabSize:number, oneIndent:string, text:string[], expected:IIdentifiedSingleEditOperation[]): void {
+	function _assertUnshiftCommand(tabSize: number, oneIndent: string, text: string[], expected: IIdentifiedSingleEditOperation[]): void {
 		return withEditorModel(text, (model) => {
-			var op = new ShiftCommand(new Selection(1,1,text.length+1,1), {
+			var op = new ShiftCommand(new Selection(1, 1, text.length + 1, 1), {
 				isUnshift: true,
 				tabSize: tabSize,
 				oneIndent: oneIndent
@@ -722,9 +722,9 @@ suite('Editor Commands - ShiftCommand', () => {
 		});
 	}
 
-	function _assertShiftCommand(tabSize:number, oneIndent:string, text:string[], expected:IIdentifiedSingleEditOperation[]): void {
+	function _assertShiftCommand(tabSize: number, oneIndent: string, text: string[], expected: IIdentifiedSingleEditOperation[]): void {
 		return withEditorModel(text, (model) => {
-			var op = new ShiftCommand(new Selection(1,1,text.length+1,1), {
+			var op = new ShiftCommand(new Selection(1, 1, text.length + 1, 1), {
 				isUnshift: false,
 				tabSize: tabSize,
 				oneIndent: oneIndent
diff --git a/src/vs/editor/test/common/commands/sideEditing.test.ts b/src/vs/editor/test/common/commands/sideEditing.test.ts
index d918da1ac52ee..11bffa264dc5a 100644
--- a/src/vs/editor/test/common/commands/sideEditing.test.ts
+++ b/src/vs/editor/test/common/commands/sideEditing.test.ts
@@ -5,20 +5,20 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Cursor} from 'vs/editor/common/controller/cursor';
-import {EditOperation} from 'vs/editor/common/core/editOperation';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {IIdentifiedSingleEditOperation} from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
-import {ILineEdit, ModelLine} from 'vs/editor/common/model/modelLine';
-import {MockConfiguration} from 'vs/editor/test/common/mocks/mockConfiguration';
-import {viewModelHelper} from 'vs/editor/test/common/editorTestUtils';
+import { Cursor } from 'vs/editor/common/controller/cursor';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { IIdentifiedSingleEditOperation } from 'vs/editor/common/editorCommon';
+import { Model } from 'vs/editor/common/model/model';
+import { ILineEdit, ModelLine } from 'vs/editor/common/model/modelLine';
+import { MockConfiguration } from 'vs/editor/test/common/mocks/mockConfiguration';
+import { viewModelHelper } from 'vs/editor/test/common/editorTestUtils';
 
 const NO_TAB_SIZE = 0;
 
-function testCommand(lines:string[], selection:Selection, edits:IIdentifiedSingleEditOperation[], expectedLines:string[], expectedSelection:Selection): void {
+function testCommand(lines: string[], selection: Selection, edits: IIdentifiedSingleEditOperation[], expectedLines: string[], expectedSelection: Selection): void {
 	let model = Model.createFromString(lines.join('\n'));
 	let config = new MockConfiguration(null);
 	let cursor = new Cursor(0, config, model, viewModelHelper(model), false);
@@ -38,7 +38,7 @@ function testCommand(lines:string[], selection:Selection, edits:IIdentifiedSingl
 	model.dispose();
 }
 
-function testLineEditMarker(text:string, column:number, stickToPreviousCharacter:boolean, edit:ILineEdit, expectedColumn: number): void {
+function testLineEditMarker(text: string, column: number, stickToPreviousCharacter: boolean, edit: ILineEdit, expectedColumn: number): void {
 	var line = new ModelLine(1, text, NO_TAB_SIZE);
 	line.addMarker({
 		id: '1',
@@ -64,9 +64,9 @@ suite('Editor Side Editing - collapsed selection', () => {
 				'third line',
 				'fourth'
 			],
-			new Selection(1,1,1,1),
+			new Selection(1, 1, 1, 1),
 			[
-				EditOperation.replace(new Selection(1,1,1,1), 'something ')
+				EditOperation.replace(new Selection(1, 1, 1, 1), 'something ')
 			],
 			[
 				'something first',
@@ -74,7 +74,7 @@ suite('Editor Side Editing - collapsed selection', () => {
 				'third line',
 				'fourth'
 			],
-			new Selection(1,1,1,11)
+			new Selection(1, 1, 1, 11)
 		);
 	});
 
@@ -86,9 +86,9 @@ suite('Editor Side Editing - collapsed selection', () => {
 				'third line',
 				'fourth'
 			],
-			new Selection(1,1,1,6),
+			new Selection(1, 1, 1, 6),
 			[
-				EditOperation.replace(new Selection(1,1,1,6), 'something')
+				EditOperation.replace(new Selection(1, 1, 1, 6), 'something')
 			],
 			[
 				'something',
@@ -96,7 +96,7 @@ suite('Editor Side Editing - collapsed selection', () => {
 				'third line',
 				'fourth'
 			],
-			new Selection(1,1,1,10)
+			new Selection(1, 1, 1, 10)
 		);
 	});
 
@@ -116,9 +116,9 @@ suite('Editor Side Editing - collapsed selection', () => {
 				'third line',
 				'fourth'
 			],
-			new Selection(1,1,1,1),
+			new Selection(1, 1, 1, 1),
 			[
-				EditOperation.insert(new Position(1,1), 'something ')
+				EditOperation.insert(new Position(1, 1), 'something ')
 			],
 			[
 				'something first',
@@ -126,7 +126,7 @@ suite('Editor Side Editing - collapsed selection', () => {
 				'third line',
 				'fourth'
 			],
-			new Selection(1,11,1,11)
+			new Selection(1, 11, 1, 11)
 		);
 	});
 
@@ -138,9 +138,9 @@ suite('Editor Side Editing - collapsed selection', () => {
 				'third line',
 				'fourth'
 			],
-			new Selection(1,6,1,6),
+			new Selection(1, 6, 1, 6),
 			[
-				EditOperation.insert(new Position(1,6), ' something\nnew ')
+				EditOperation.insert(new Position(1, 6), ' something\nnew ')
 			],
 			[
 				'first something',
@@ -149,7 +149,7 @@ suite('Editor Side Editing - collapsed selection', () => {
 				'third line',
 				'fourth'
 			],
-			new Selection(2,5,2,5)
+			new Selection(2, 5, 2, 5)
 		);
 	});
 
@@ -158,14 +158,14 @@ suite('Editor Side Editing - collapsed selection', () => {
 			[
 				'$obj = New-Object "system.col"'
 			],
-			new Selection(1,30,1,30),
+			new Selection(1, 30, 1, 30),
 			[
-				EditOperation.replaceMove(new Range(1,19,1,31), '"System.Collections"')
+				EditOperation.replaceMove(new Range(1, 19, 1, 31), '"System.Collections"')
 			],
 			[
 				'$obj = New-Object "System.Collections"'
 			],
-			new Selection(1,39,1,39)
+			new Selection(1, 39, 1, 39)
 		);
 	});
 
diff --git a/src/vs/editor/test/common/commands/trimTrailingWhitespaceCommand.test.ts b/src/vs/editor/test/common/commands/trimTrailingWhitespaceCommand.test.ts
index 38ff31ce71837..b1a5ab4176cd4 100644
--- a/src/vs/editor/test/common/commands/trimTrailingWhitespaceCommand.test.ts
+++ b/src/vs/editor/test/common/commands/trimTrailingWhitespaceCommand.test.ts
@@ -5,22 +5,22 @@
 'use strict';
 
 import * as assert from 'assert';
-import {TrimTrailingWhitespaceCommand, trimTrailingWhitespace} from 'vs/editor/common/commands/trimTrailingWhitespaceCommand';
-import {Selection} from 'vs/editor/common/core/selection';
-import {Position} from 'vs/editor/common/core/position';
-import {IIdentifiedSingleEditOperation, IPosition} from 'vs/editor/common/editorCommon';
-import {createInsertDeleteSingleEditOp, createSingleEditOp, getEditOperation} from 'vs/editor/test/common/commands/commandTestUtils';
-import {withEditorModel} from 'vs/editor/test/common/editorTestUtils';
+import { TrimTrailingWhitespaceCommand, trimTrailingWhitespace } from 'vs/editor/common/commands/trimTrailingWhitespaceCommand';
+import { Selection } from 'vs/editor/common/core/selection';
+import { Position } from 'vs/editor/common/core/position';
+import { IIdentifiedSingleEditOperation, IPosition } from 'vs/editor/common/editorCommon';
+import { createInsertDeleteSingleEditOp, createSingleEditOp, getEditOperation } from 'vs/editor/test/common/commands/commandTestUtils';
+import { withEditorModel } from 'vs/editor/test/common/editorTestUtils';
 
-function assertTrimTrailingWhitespaceCommand(text:string[], expected:IIdentifiedSingleEditOperation[]): void {
+function assertTrimTrailingWhitespaceCommand(text: string[], expected: IIdentifiedSingleEditOperation[]): void {
 	return withEditorModel(text, (model) => {
-		var op = new TrimTrailingWhitespaceCommand(new Selection(1,1,1,1));
+		var op = new TrimTrailingWhitespaceCommand(new Selection(1, 1, 1, 1));
 		var actual = getEditOperation(model, op);
 		assert.deepEqual(actual, expected);
 	});
 }
 
-function assertTrimTrailingWhitespace(text:string[], cursors:IPosition[], expected:IIdentifiedSingleEditOperation[]): void {
+function assertTrimTrailingWhitespace(text: string[], cursors: IPosition[], expected: IIdentifiedSingleEditOperation[]): void {
 	return withEditorModel(text, (model) => {
 		var actual = trimTrailingWhitespace(model, cursors);
 		assert.deepEqual(actual, expected);
@@ -43,16 +43,16 @@ suite('Editor Commands - Trim Trailing Whitespace Command', () => {
 			'even more text  ',
 			'and some mixed\t   \t'
 		], [
-			createSingleEditOp(null, 1, 10, 1, 11),
-			createSingleEditOp(null, 3, 1, 3, 4),
-			createSingleEditOp(null, 4, 15, 4, 17),
-			createSingleEditOp(null, 5, 15, 5, 20)
-		]);
+				createSingleEditOp(null, 1, 10, 1, 11),
+				createSingleEditOp(null, 3, 1, 3, 4),
+				createSingleEditOp(null, 4, 15, 4, 17),
+				createSingleEditOp(null, 5, 15, 5, 20)
+			]);
 
 
-		assertTrimTrailingWhitespace(['text   '], [new Position(1,1), new Position(1,2), new Position(1,3)], [createInsertDeleteSingleEditOp(null, 1, 5, 1, 8)]);
-		assertTrimTrailingWhitespace(['text   '], [new Position(1,1), new Position(1,5)], [createInsertDeleteSingleEditOp(null, 1, 5, 1, 8)]);
-		assertTrimTrailingWhitespace(['text   '], [new Position(1,1), new Position(1,5), new Position(1,6)], [createInsertDeleteSingleEditOp(null, 1, 6, 1, 8)]);
+		assertTrimTrailingWhitespace(['text   '], [new Position(1, 1), new Position(1, 2), new Position(1, 3)], [createInsertDeleteSingleEditOp(null, 1, 5, 1, 8)]);
+		assertTrimTrailingWhitespace(['text   '], [new Position(1, 1), new Position(1, 5)], [createInsertDeleteSingleEditOp(null, 1, 5, 1, 8)]);
+		assertTrimTrailingWhitespace(['text   '], [new Position(1, 1), new Position(1, 5), new Position(1, 6)], [createInsertDeleteSingleEditOp(null, 1, 6, 1, 8)]);
 		assertTrimTrailingWhitespace([
 			'some text\t',
 			'some more text',
@@ -60,22 +60,22 @@ suite('Editor Commands - Trim Trailing Whitespace Command', () => {
 			'even more text  ',
 			'and some mixed\t   \t'
 		], [], [
-			createInsertDeleteSingleEditOp(null, 1, 10, 1, 11),
-			createInsertDeleteSingleEditOp(null, 3, 1, 3, 4),
-			createInsertDeleteSingleEditOp(null, 4, 15, 4, 17),
-			createInsertDeleteSingleEditOp(null, 5, 15, 5, 20)
-		]);
+				createInsertDeleteSingleEditOp(null, 1, 10, 1, 11),
+				createInsertDeleteSingleEditOp(null, 3, 1, 3, 4),
+				createInsertDeleteSingleEditOp(null, 4, 15, 4, 17),
+				createInsertDeleteSingleEditOp(null, 5, 15, 5, 20)
+			]);
 		assertTrimTrailingWhitespace([
 			'some text\t',
 			'some more text',
 			'\t  ',
 			'even more text  ',
 			'and some mixed\t   \t'
-		], [new Position(1,11), new Position(3,2), new Position(5,1), new Position(4,1), new Position(5,10)], [
-			createInsertDeleteSingleEditOp(null, 3, 2, 3, 4),
-			createInsertDeleteSingleEditOp(null, 4, 15, 4, 17),
-			createInsertDeleteSingleEditOp(null, 5, 15, 5, 20)
-		]);
+		], [new Position(1, 11), new Position(3, 2), new Position(5, 1), new Position(4, 1), new Position(5, 10)], [
+				createInsertDeleteSingleEditOp(null, 3, 2, 3, 4),
+				createInsertDeleteSingleEditOp(null, 4, 15, 4, 17),
+				createInsertDeleteSingleEditOp(null, 5, 15, 5, 20)
+			]);
 	});
 
 });
diff --git a/src/vs/editor/test/common/controller/cursor.test.ts b/src/vs/editor/test/common/controller/cursor.test.ts
index 1ff109d8c587d..5dad5cf0d496c 100644
--- a/src/vs/editor/test/common/controller/cursor.test.ts
+++ b/src/vs/editor/test/common/controller/cursor.test.ts
@@ -5,23 +5,23 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Cursor} from 'vs/editor/common/controller/cursor';
-import {EditOperation} from 'vs/editor/common/core/editOperation';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Cursor } from 'vs/editor/common/controller/cursor';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 import {
 	EndOfLinePreference, EventType, Handler, IEditorOptions,
 	DefaultEndOfLine, ITextModelCreationOptions, ICommand,
 	ITokenizedModel, IEditOperationBuilder, ICursorStateComputerData,
 	ICursorPositionChangedEvent, ICursorSelectionChangedEvent
 } from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
-import {IMode, IndentAction} from 'vs/editor/common/modes';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {MockConfiguration} from 'vs/editor/test/common/mocks/mockConfiguration';
-import {MockMode} from 'vs/editor/test/common/mocks/mockMode';
-import {viewModelHelper} from 'vs/editor/test/common/editorTestUtils';
+import { Model } from 'vs/editor/common/model/model';
+import { IMode, IndentAction } from 'vs/editor/common/modes';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { MockConfiguration } from 'vs/editor/test/common/mocks/mockConfiguration';
+import { MockMode } from 'vs/editor/test/common/mocks/mockMode';
+import { viewModelHelper } from 'vs/editor/test/common/editorTestUtils';
 
 let H = Handler;
 
@@ -84,7 +84,7 @@ function moveToBeginningOfLine(cursor: Cursor, inSelectionMode: boolean = false)
 }
 
 function moveToEndOfLine(cursor: Cursor, inSelectionMode: boolean = false) {
-	cursorCommand(cursor, inSelectionMode ?  H.CursorEndSelect : H.CursorEnd);
+	cursorCommand(cursor, inSelectionMode ? H.CursorEndSelect : H.CursorEnd);
 }
 
 function moveToBeginningOfBuffer(cursor: Cursor, inSelectionMode: boolean = false) {
@@ -115,8 +115,8 @@ function deleteWordEndRight(cursor: Cursor) {
 	cursorCommand(cursor, H.DeleteWordEndRight);
 }
 
-function assertCursor(cursor: Cursor, what: Position|Selection|Selection[]): void {
-	let selections:Selection[];
+function assertCursor(cursor: Cursor, what: Position | Selection | Selection[]): void {
+	let selections: Selection[];
 	if (what instanceof Position) {
 		selections = [new Selection(what.lineNumber, what.column, what.lineNumber, what.column)];
 	} else if (what instanceof Selection) {
@@ -268,7 +268,7 @@ suite('Editor Controller - Cursor', () => {
 			[1, 1],
 		];
 
-		let actualStops:number[][] = [];
+		let actualStops: number[][] = [];
 		for (let i = 0; i < expectedStops.length; i++) {
 			moveWordLeft(thisCursor);
 			let pos = thisCursor.getPosition();
@@ -341,7 +341,7 @@ suite('Editor Controller - Cursor', () => {
 			[5, 2],
 		];
 
-		let actualStops:number[][] = [];
+		let actualStops: number[][] = [];
 		for (let i = 0; i < expectedStops.length; i++) {
 			moveWordRight(thisCursor);
 			let pos = thisCursor.getPosition();
@@ -718,11 +718,11 @@ suite('Editor Controller - Cursor', () => {
 
 	test('move eventing', () => {
 		let events = 0;
-		thisCursor.addListener2(EventType.CursorPositionChanged, (e:ICursorPositionChangedEvent) => {
+		thisCursor.addListener2(EventType.CursorPositionChanged, (e: ICursorPositionChangedEvent) => {
 			events++;
 			assert.deepEqual(e.position, new Position(1, 2));
 		});
-		thisCursor.addListener2(EventType.CursorSelectionChanged, (e:ICursorSelectionChangedEvent) => {
+		thisCursor.addListener2(EventType.CursorSelectionChanged, (e: ICursorSelectionChangedEvent) => {
 			events++;
 			assert.deepEqual(e.selection, new Selection(1, 2, 1, 2));
 		});
@@ -732,11 +732,11 @@ suite('Editor Controller - Cursor', () => {
 
 	test('move in selection mode eventing', () => {
 		let events = 0;
-		thisCursor.addListener2(EventType.CursorPositionChanged, (e:ICursorPositionChangedEvent) => {
+		thisCursor.addListener2(EventType.CursorPositionChanged, (e: ICursorPositionChangedEvent) => {
 			events++;
 			assert.deepEqual(e.position, new Position(1, 2));
 		});
-		thisCursor.addListener2(EventType.CursorSelectionChanged, (e:ICursorSelectionChangedEvent) => {
+		thisCursor.addListener2(EventType.CursorSelectionChanged, (e: ICursorSelectionChangedEvent) => {
 			events++;
 			assert.deepEqual(e.selection, new Selection(1, 1, 1, 2));
 		});
@@ -1086,7 +1086,7 @@ suite('Editor Controller - Regression tests', () => {
 			cursorCommand(cursor, H.Tab, {});
 			assert.equal(model.getValue(EndOfLinePreference.LF), '\n\t', 'assert2');
 
-			cursorCommand(cursor, H.Type, { text: '\n'}, 'keyboard');
+			cursorCommand(cursor, H.Type, { text: '\n' }, 'keyboard');
 			assert.equal(model.getValue(EndOfLinePreference.LF), '\n\t\n\t', 'assert3');
 
 			cursorCommand(cursor, H.Type, { text: 'x' });
@@ -1942,15 +1942,15 @@ suite('Editor Controller - Regression tests', () => {
 				assert.equal(cursor.getSelection().endColumn, expectedCol, 'TEST FOR ' + col);
 			}
 
-			assertWordRight( 1, '   '.length + 1);
-			assertWordRight( 2, '   '.length + 1);
-			assertWordRight( 3, '   '.length + 1);
-			assertWordRight( 4, '   '.length + 1);
-			assertWordRight( 5, '   /'.length + 1);
-			assertWordRight( 6, '   /*'.length + 1);
-			assertWordRight( 7, '   /* '.length + 1);
-			assertWordRight( 8, '   /* Just'.length + 1);
-			assertWordRight( 9, '   /* Just'.length + 1);
+			assertWordRight(1, '   '.length + 1);
+			assertWordRight(2, '   '.length + 1);
+			assertWordRight(3, '   '.length + 1);
+			assertWordRight(4, '   '.length + 1);
+			assertWordRight(5, '   /'.length + 1);
+			assertWordRight(6, '   /*'.length + 1);
+			assertWordRight(7, '   /* '.length + 1);
+			assertWordRight(8, '   /* Just'.length + 1);
+			assertWordRight(9, '   /* Just'.length + 1);
 			assertWordRight(10, '   /* Just'.length + 1);
 			assertWordRight(11, '   /* Just'.length + 1);
 			assertWordRight(12, '   /* Just '.length + 1);
@@ -2081,17 +2081,17 @@ suite('Editor Controller - Regression tests', () => {
 			assertCursor(cursor, new Position(1, 1));
 
 			// Typing sennsei in Japanese - Hiragana
-			cursorCommand(cursor, H.Type, { text: 's'}, 'keyboard');
-			cursorCommand(cursor, H.ReplacePreviousChar, {text: 'せ', replaceCharCnt: 1});
-			cursorCommand(cursor, H.ReplacePreviousChar, {text: 'せn', replaceCharCnt: 1});
-			cursorCommand(cursor, H.ReplacePreviousChar, {text: 'せん', replaceCharCnt: 2});
-			cursorCommand(cursor, H.ReplacePreviousChar, {text: 'せんs', replaceCharCnt: 2});
-			cursorCommand(cursor, H.ReplacePreviousChar, {text: 'せんせ', replaceCharCnt: 3});
-			cursorCommand(cursor, H.ReplacePreviousChar, {text: 'せんせ', replaceCharCnt: 3});
-			cursorCommand(cursor, H.ReplacePreviousChar, {text: 'せんせい', replaceCharCnt: 3});
-			cursorCommand(cursor, H.ReplacePreviousChar, {text: 'せんせい', replaceCharCnt: 4});
-			cursorCommand(cursor, H.ReplacePreviousChar, {text: 'せんせい', replaceCharCnt: 4});
-			cursorCommand(cursor, H.ReplacePreviousChar, {text: 'せんせい', replaceCharCnt: 4});
+			cursorCommand(cursor, H.Type, { text: 's' }, 'keyboard');
+			cursorCommand(cursor, H.ReplacePreviousChar, { text: 'せ', replaceCharCnt: 1 });
+			cursorCommand(cursor, H.ReplacePreviousChar, { text: 'せn', replaceCharCnt: 1 });
+			cursorCommand(cursor, H.ReplacePreviousChar, { text: 'せん', replaceCharCnt: 2 });
+			cursorCommand(cursor, H.ReplacePreviousChar, { text: 'せんs', replaceCharCnt: 2 });
+			cursorCommand(cursor, H.ReplacePreviousChar, { text: 'せんせ', replaceCharCnt: 3 });
+			cursorCommand(cursor, H.ReplacePreviousChar, { text: 'せんせ', replaceCharCnt: 3 });
+			cursorCommand(cursor, H.ReplacePreviousChar, { text: 'せんせい', replaceCharCnt: 3 });
+			cursorCommand(cursor, H.ReplacePreviousChar, { text: 'せんせい', replaceCharCnt: 4 });
+			cursorCommand(cursor, H.ReplacePreviousChar, { text: 'せんせい', replaceCharCnt: 4 });
+			cursorCommand(cursor, H.ReplacePreviousChar, { text: 'せんせい', replaceCharCnt: 4 });
 
 			assert.equal(model.getLineContent(1), 'せんせい');
 			assertCursor(cursor, new Position(1, 5));
@@ -2239,7 +2239,7 @@ suite('Editor Controller - Cursor Configuration', () => {
 	});
 
 	test('Insert line before', () => {
-		let testInsertLineBefore = (lineNumber:number, column:number, callback:(model:Model, cursor:Cursor) => void) => {
+		let testInsertLineBefore = (lineNumber: number, column: number, callback: (model: Model, cursor: Cursor) => void) => {
 			usingCursor({
 				text: [
 					'First line',
@@ -2281,7 +2281,7 @@ suite('Editor Controller - Cursor Configuration', () => {
 	});
 
 	test('Insert line after', () => {
-		let testInsertLineAfter = (lineNumber:number, column:number, callback:(model:Model, cursor:Cursor) => void) => {
+		let testInsertLineAfter = (lineNumber: number, column: number, callback: (model: Model, cursor: Cursor) => void) => {
 			usingCursor({
 				text: [
 					'First line',
@@ -2638,10 +2638,10 @@ suite('Editor Controller - Cursor Configuration', () => {
 			cursorCommand(cursor, H.Tab, {});
 			assert.equal(model.getValue(EndOfLinePreference.LF), '\n\t', 'assert2');
 
-			cursorCommand(cursor, H.Type, { text: 'y'}, 'keyboard');
+			cursorCommand(cursor, H.Type, { text: 'y' }, 'keyboard');
 			assert.equal(model.getValue(EndOfLinePreference.LF), '\n\ty', 'assert2');
 
-			cursorCommand(cursor, H.Type, { text: '\n'}, 'keyboard');
+			cursorCommand(cursor, H.Type, { text: '\n' }, 'keyboard');
 			assert.equal(model.getValue(EndOfLinePreference.LF), '\n\ty\n\t', 'assert3');
 
 			cursorCommand(cursor, H.Type, { text: 'x' });
@@ -2693,7 +2693,7 @@ interface ICursorOpts {
 	editorOpts?: IEditorOptions;
 }
 
-function usingCursor(opts:ICursorOpts, callback:(model:Model, cursor:Cursor)=>void): void {
+function usingCursor(opts: ICursorOpts, callback: (model: Model, cursor: Cursor) => void): void {
 	let model = Model.createFromString(opts.text.join('\n'), opts.modelOpts, opts.modeId);
 	let config = new MockConfiguration(opts.editorOpts);
 	let cursor = new Cursor(1, config, model, viewModelHelper(model), false);
diff --git a/src/vs/editor/test/common/controller/cursorMoveCommand.test.ts b/src/vs/editor/test/common/controller/cursorMoveCommand.test.ts
index 8f23d8cc65ec0..25e5660880552 100644
--- a/src/vs/editor/test/common/controller/cursorMoveCommand.test.ts
+++ b/src/vs/editor/test/common/controller/cursorMoveCommand.test.ts
@@ -5,15 +5,15 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Cursor} from 'vs/editor/common/controller/cursor';
-import {Position} from 'vs/editor/common/core/position';
-import {Handler, IEditorOptions, ITextModelCreationOptions, CursorMovePosition, CursorMoveByUnit, ISelection, IPosition} from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
-import {IMode} from 'vs/editor/common/modes';
-import {MockConfiguration} from 'vs/editor/test/common/mocks/mockConfiguration';
-import {viewModelHelper as aViewModelHelper} from 'vs/editor/test/common/editorTestUtils';
-import {IViewModelHelper} from 'vs/editor/common/controller/oneCursor';
-import {Range} from 'vs/editor/common/core/range';
+import { Cursor } from 'vs/editor/common/controller/cursor';
+import { Position } from 'vs/editor/common/core/position';
+import { Handler, IEditorOptions, ITextModelCreationOptions, CursorMovePosition, CursorMoveByUnit, ISelection, IPosition } from 'vs/editor/common/editorCommon';
+import { Model } from 'vs/editor/common/model/model';
+import { IMode } from 'vs/editor/common/modes';
+import { MockConfiguration } from 'vs/editor/test/common/mocks/mockConfiguration';
+import { viewModelHelper as aViewModelHelper } from 'vs/editor/test/common/editorTestUtils';
+import { IViewModelHelper } from 'vs/editor/common/controller/oneCursor';
+import { Range } from 'vs/editor/common/core/range';
 
 let H = Handler;
 
@@ -47,7 +47,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move left should move to left character', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 8);
 
 		moveLeft(thisCursor);
@@ -56,7 +56,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move left should move to left by n characters', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 8);
 
 		moveLeft(thisCursor, 3);
@@ -65,7 +65,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move left should move to left by half line', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 8);
 
 		moveLeft(thisCursor, 1, CursorMoveByUnit.HalfLine);
@@ -74,7 +74,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move left moves to previous line', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 2, 3);
 
 		moveLeft(thisCursor, 10);
@@ -83,7 +83,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move right should move to right character', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 5);
 
 		moveRight(thisCursor);
@@ -92,7 +92,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move right should move to right by n characters', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 2);
 
 		moveRight(thisCursor, 6);
@@ -101,7 +101,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move right should move to right by half line', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 4);
 
 		moveRight(thisCursor, 1, CursorMoveByUnit.HalfLine);
@@ -110,7 +110,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move right moves to next line', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 8);
 
 		moveRight(thisCursor, 100);
@@ -119,14 +119,14 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to first character of line from middle', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 8);
 		moveToLineStart(thisCursor);
 		cursorEqual(thisCursor, 1, 1);
 	});
 
 	test('move to first character of line from first non white space character', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 6);
 
 		moveToLineStart(thisCursor);
@@ -135,7 +135,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to first character of line from first character', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 1);
 
 		moveToLineStart(thisCursor);
@@ -144,7 +144,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to first non white space character of line from middle', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 8);
 
 		moveToLineFirstNonWhiteSpaceCharacter(thisCursor);
@@ -153,7 +153,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to first non white space character of line from first non white space character', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 6);
 
 		moveToLineFirstNonWhiteSpaceCharacter(thisCursor);
@@ -162,7 +162,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to first non white space character of line from first character', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 1);
 
 		moveToLineFirstNonWhiteSpaceCharacter(thisCursor);
@@ -171,7 +171,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to end of line from middle', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 8);
 
 		moveToLineEnd(thisCursor);
@@ -180,7 +180,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to end of line from last non white space character', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, LINE1.length - 1);
 
 		moveToLineEnd(thisCursor);
@@ -189,7 +189,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to end of line from line end', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, LINE1.length + 1);
 
 		moveToLineEnd(thisCursor);
@@ -198,7 +198,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to last non white space character from middle', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 8);
 
 		moveToLineLastNonWhiteSpaceCharacter(thisCursor);
@@ -207,7 +207,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to last non white space character from last non white space character', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, LINE1.length - 1);
 
 		moveToLineLastNonWhiteSpaceCharacter(thisCursor);
@@ -216,7 +216,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to last non white space character from line end', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, LINE1.length + 1);
 
 		moveToLineLastNonWhiteSpaceCharacter(thisCursor);
@@ -225,7 +225,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to center of line not from center', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 8);
 
 		moveToLineCenter(thisCursor);
@@ -234,7 +234,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to center of line from center', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveTo(thisCursor, 1, 11);
 
 		moveToLineCenter(thisCursor);
@@ -243,7 +243,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to center of line from start', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveToLineStart(thisCursor);
 
 		moveToLineCenter(thisCursor);
@@ -252,7 +252,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to center of line from end', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 		moveToLineEnd(thisCursor);
 
 		moveToLineCenter(thisCursor);
@@ -261,7 +261,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move up by cursor move command', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 
 		moveTo(thisCursor, 3, 5);
 		cursorEqual(thisCursor, 3, 5);
@@ -274,7 +274,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move up by model line cursor move command', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 
 		moveTo(thisCursor, 3, 5);
 		cursorEqual(thisCursor, 3, 5);
@@ -287,7 +287,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move down by model line cursor move command', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 
 		moveTo(thisCursor, 3, 5);
 		cursorEqual(thisCursor, 3, 5);
@@ -300,7 +300,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move up with selection by cursor move command', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 
 		moveTo(thisCursor, 3, 5);
 		cursorEqual(thisCursor, 3, 5);
@@ -313,7 +313,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move up and down with tabs by cursor move command', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 
 		moveTo(thisCursor, 1, 5);
 		cursorEqual(thisCursor, 1, 5);
@@ -335,7 +335,7 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move up and down with end of lines starting from a long one by cursor move command', () => {
-		thisCursor= aCursor();
+		thisCursor = aCursor();
 
 		moveToEndOfLine(thisCursor);
 		cursorEqual(thisCursor, 1, LINE1.length - 1);
@@ -357,9 +357,9 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to view top line moves to first visible line if it is first line', () => {
-		let viewModelHelper= aViewModelHelper(thisModel);
-		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport= () =>  new Range(1, 1, 10, 1);
-		thisCursor= aCursor(viewModelHelper);
+		let viewModelHelper = aViewModelHelper(thisModel);
+		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport = () => new Range(1, 1, 10, 1);
+		thisCursor = aCursor(viewModelHelper);
 
 		moveTo(thisCursor, 2, 2);
 		moveToTop(thisCursor);
@@ -368,9 +368,9 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to view top line moves to top visible line when first line is not visible', () => {
-		let viewModelHelper= aViewModelHelper(thisModel);
-		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport= () =>  new Range(2, 1, 10, 1);
-		thisCursor= aCursor(viewModelHelper);
+		let viewModelHelper = aViewModelHelper(thisModel);
+		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport = () => new Range(2, 1, 10, 1);
+		thisCursor = aCursor(viewModelHelper);
 
 		moveTo(thisCursor, 4, 1);
 		moveToTop(thisCursor);
@@ -379,9 +379,9 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to view top line moves to nth line from top', () => {
-		let viewModelHelper= aViewModelHelper(thisModel);
-		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport= () =>  new Range(1, 1, 10, 1);
-		thisCursor= aCursor(viewModelHelper);
+		let viewModelHelper = aViewModelHelper(thisModel);
+		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport = () => new Range(1, 1, 10, 1);
+		thisCursor = aCursor(viewModelHelper);
 
 		moveTo(thisCursor, 4, 1);
 		moveToTop(thisCursor, 3);
@@ -390,9 +390,9 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to view top line moves to last line if n is greater than last visible line number', () => {
-		let viewModelHelper= aViewModelHelper(thisModel);
-		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport= () =>  new Range(1, 1, 3, 1);
-		thisCursor= aCursor(viewModelHelper);
+		let viewModelHelper = aViewModelHelper(thisModel);
+		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport = () => new Range(1, 1, 3, 1);
+		thisCursor = aCursor(viewModelHelper);
 
 		moveTo(thisCursor, 2, 2);
 		moveToTop(thisCursor, 4);
@@ -401,9 +401,9 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to view center line moves to the center line', () => {
-		let viewModelHelper= aViewModelHelper(thisModel);
-		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport= () =>  new Range(3, 1, 3, 1);
-		thisCursor= aCursor(viewModelHelper);
+		let viewModelHelper = aViewModelHelper(thisModel);
+		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport = () => new Range(3, 1, 3, 1);
+		thisCursor = aCursor(viewModelHelper);
 
 		moveTo(thisCursor, 2, 2);
 		moveToCenter(thisCursor);
@@ -412,9 +412,9 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to view bottom line moves to last visible line if it is last line', () => {
-		let viewModelHelper= aViewModelHelper(thisModel);
-		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport= () =>  new Range(1, 1, 5, 1);
-		thisCursor= aCursor(viewModelHelper);
+		let viewModelHelper = aViewModelHelper(thisModel);
+		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport = () => new Range(1, 1, 5, 1);
+		thisCursor = aCursor(viewModelHelper);
 
 		moveTo(thisCursor, 2, 2);
 		moveToBottom(thisCursor);
@@ -423,9 +423,9 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to view bottom line moves to last visible line when last line is not visible', () => {
-		let viewModelHelper= aViewModelHelper(thisModel);
-		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport= () =>  new Range(2, 1, 3, 1);
-		thisCursor= aCursor(viewModelHelper);
+		let viewModelHelper = aViewModelHelper(thisModel);
+		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport = () => new Range(2, 1, 3, 1);
+		thisCursor = aCursor(viewModelHelper);
 
 		moveTo(thisCursor, 2, 2);
 		moveToBottom(thisCursor);
@@ -434,9 +434,9 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to view bottom line moves to nth line from bottom', () => {
-		let viewModelHelper= aViewModelHelper(thisModel);
-		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport= () =>  new Range(1, 1, 5, 1);
-		thisCursor= aCursor(viewModelHelper);
+		let viewModelHelper = aViewModelHelper(thisModel);
+		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport = () => new Range(1, 1, 5, 1);
+		thisCursor = aCursor(viewModelHelper);
 
 		moveTo(thisCursor, 4, 1);
 		moveToBottom(thisCursor, 3);
@@ -445,9 +445,9 @@ suite('Cursor move command test', () => {
 	});
 
 	test('move to view bottom line moves to first line if n is lesser than first visible line number', () => {
-		let viewModelHelper= aViewModelHelper(thisModel);
-		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport= () =>  new Range(2, 1, 5, 1);
-		thisCursor= aCursor(viewModelHelper);
+		let viewModelHelper = aViewModelHelper(thisModel);
+		viewModelHelper.getCurrentCompletelyVisibleModelLinesRangeInViewport = () => new Range(2, 1, 5, 1);
+		thisCursor = aCursor(viewModelHelper);
 
 		moveTo(thisCursor, 4, 1);
 		moveToBottom(thisCursor, 5);
@@ -483,59 +483,59 @@ function move(cursor: Cursor, args: any) {
 }
 
 function moveToLineStart(cursor: Cursor) {
-	move(cursor, {to: CursorMovePosition.WrappedLineStart});
+	move(cursor, { to: CursorMovePosition.WrappedLineStart });
 }
 
 function moveToLineFirstNonWhiteSpaceCharacter(cursor: Cursor) {
-	move(cursor, {to: CursorMovePosition.WrappedLineFirstNonWhitespaceCharacter});
+	move(cursor, { to: CursorMovePosition.WrappedLineFirstNonWhitespaceCharacter });
 }
 
 function moveToLineCenter(cursor: Cursor) {
-	move(cursor, {to: CursorMovePosition.WrappedLineColumnCenter});
+	move(cursor, { to: CursorMovePosition.WrappedLineColumnCenter });
 }
 
 function moveToLineEnd(cursor: Cursor) {
-	move(cursor, {to: CursorMovePosition.WrappedLineEnd});
+	move(cursor, { to: CursorMovePosition.WrappedLineEnd });
 }
 
 function moveToLineLastNonWhiteSpaceCharacter(cursor: Cursor) {
-	move(cursor, {to: CursorMovePosition.WrappedLineLastNonWhitespaceCharacter});
+	move(cursor, { to: CursorMovePosition.WrappedLineLastNonWhitespaceCharacter });
 }
 
 function moveLeft(cursor: Cursor, value?: number, by?: string, select?: boolean) {
-	move(cursor, {to: CursorMovePosition.Left, by:by, value: value, select: select});
+	move(cursor, { to: CursorMovePosition.Left, by: by, value: value, select: select });
 }
 
 function moveRight(cursor: Cursor, value?: number, by?: string, select?: boolean) {
-	move(cursor, {to: CursorMovePosition.Right, by:by, value: value, select: select});
+	move(cursor, { to: CursorMovePosition.Right, by: by, value: value, select: select });
 }
 
-function moveUp(cursor: Cursor, noOfLines: number= 1, select?: boolean) {
-	move(cursor, {to: CursorMovePosition.Up, by:CursorMoveByUnit.WrappedLine, value: noOfLines, select: select});
+function moveUp(cursor: Cursor, noOfLines: number = 1, select?: boolean) {
+	move(cursor, { to: CursorMovePosition.Up, by: CursorMoveByUnit.WrappedLine, value: noOfLines, select: select });
 }
 
-function moveUpByModelLine(cursor: Cursor, noOfLines: number= 1, select?: boolean) {
-	move(cursor, {to: CursorMovePosition.Up, value: noOfLines, select: select});
+function moveUpByModelLine(cursor: Cursor, noOfLines: number = 1, select?: boolean) {
+	move(cursor, { to: CursorMovePosition.Up, value: noOfLines, select: select });
 }
 
-function moveDown(cursor: Cursor, noOfLines: number= 1, select?: boolean) {
-	move(cursor, {to: CursorMovePosition.Down, by:CursorMoveByUnit.WrappedLine, value: noOfLines, select: select});
+function moveDown(cursor: Cursor, noOfLines: number = 1, select?: boolean) {
+	move(cursor, { to: CursorMovePosition.Down, by: CursorMoveByUnit.WrappedLine, value: noOfLines, select: select });
 }
 
-function moveDownByModelLine(cursor: Cursor, noOfLines: number= 1, select?: boolean) {
-	move(cursor, {to: CursorMovePosition.Down, value: noOfLines, select: select});
+function moveDownByModelLine(cursor: Cursor, noOfLines: number = 1, select?: boolean) {
+	move(cursor, { to: CursorMovePosition.Down, value: noOfLines, select: select });
 }
 
-function moveToTop(cursor: Cursor, noOfLines: number= 1, select?: boolean) {
-	move(cursor, {to: CursorMovePosition.ViewPortTop, value: noOfLines, select: select});
+function moveToTop(cursor: Cursor, noOfLines: number = 1, select?: boolean) {
+	move(cursor, { to: CursorMovePosition.ViewPortTop, value: noOfLines, select: select });
 }
 
 function moveToCenter(cursor: Cursor, select?: boolean) {
-	move(cursor, {to: CursorMovePosition.ViewPortCenter, select: select});
+	move(cursor, { to: CursorMovePosition.ViewPortCenter, select: select });
 }
 
-function moveToBottom(cursor: Cursor, noOfLines: number= 1, select?: boolean) {
-	move(cursor, {to: CursorMovePosition.ViewPortBottom, value: noOfLines, select: select});
+function moveToBottom(cursor: Cursor, noOfLines: number = 1, select?: boolean) {
+	move(cursor, { to: CursorMovePosition.ViewPortBottom, value: noOfLines, select: select });
 }
 
 function cursorEqual(cursor: Cursor, posLineNumber: number, posColumn: number, selLineNumber: number = posLineNumber, selColumn: number = posColumn) {
@@ -543,28 +543,28 @@ function cursorEqual(cursor: Cursor, posLineNumber: number, posColumn: number, s
 	selectionEqual(cursor.getSelection(), posLineNumber, posColumn, selLineNumber, selColumn);
 }
 
-function positionEqual(position:IPosition, lineNumber: number, column: number) {
+function positionEqual(position: IPosition, lineNumber: number, column: number) {
 	assert.deepEqual({
 		lineNumber: position.lineNumber,
 		column: position.column
 	}, {
-		lineNumber: lineNumber,
-		column: column
-	}, 'position equal');
+			lineNumber: lineNumber,
+			column: column
+		}, 'position equal');
 }
 
-function selectionEqual(selection:ISelection, posLineNumber: number, posColumn: number, selLineNumber: number, selColumn: number) {
+function selectionEqual(selection: ISelection, posLineNumber: number, posColumn: number, selLineNumber: number, selColumn: number) {
 	assert.deepEqual({
 		selectionStartLineNumber: selection.selectionStartLineNumber,
 		selectionStartColumn: selection.selectionStartColumn,
 		positionLineNumber: selection.positionLineNumber,
 		positionColumn: selection.positionColumn
 	}, {
-		selectionStartLineNumber: selLineNumber,
-		selectionStartColumn: selColumn,
-		positionLineNumber: posLineNumber,
-		positionColumn: posColumn
-	}, 'selection equal');
+			selectionStartLineNumber: selLineNumber,
+			selectionStartColumn: selColumn,
+			positionLineNumber: posLineNumber,
+			positionColumn: posColumn
+		}, 'selection equal');
 }
 
 function moveTo(cursor: Cursor, lineNumber: number, column: number, inSelectionMode: boolean = false) {
@@ -572,5 +572,5 @@ function moveTo(cursor: Cursor, lineNumber: number, column: number, inSelectionM
 }
 
 function moveToEndOfLine(cursor: Cursor, inSelectionMode: boolean = false) {
-	cursorCommand(cursor, inSelectionMode ?  H.CursorEndSelect : H.CursorEnd);
+	cursorCommand(cursor, inSelectionMode ? H.CursorEndSelect : H.CursorEnd);
 }
\ No newline at end of file
diff --git a/src/vs/editor/test/common/controller/textAreaState.test.ts b/src/vs/editor/test/common/controller/textAreaState.test.ts
index e196f14088d73..565798b770283 100644
--- a/src/vs/editor/test/common/controller/textAreaState.test.ts
+++ b/src/vs/editor/test/common/controller/textAreaState.test.ts
@@ -5,15 +5,15 @@
 'use strict';
 
 import * as assert from 'assert';
-import {IENarratorTextAreaState, ISimpleModel, TextAreaState} from 'vs/editor/common/controller/textAreaState';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {EndOfLinePreference, IRange} from 'vs/editor/common/editorCommon';
-import {MockTextAreaWrapper} from 'vs/editor/test/common/mocks/mockTextAreaWrapper';
+import { IENarratorTextAreaState, ISimpleModel, TextAreaState } from 'vs/editor/common/controller/textAreaState';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { EndOfLinePreference, IRange } from 'vs/editor/common/editorCommon';
+import { MockTextAreaWrapper } from 'vs/editor/test/common/mocks/mockTextAreaWrapper';
 
 suite('TextAreaState', () => {
 
-	function assertTextAreaState(actual:TextAreaState, value:string, selectionStart:number, selectionEnd:number, isInOverwriteMode:boolean, selectionToken:number): void {
+	function assertTextAreaState(actual: TextAreaState, value: string, selectionStart: number, selectionEnd: number, isInOverwriteMode: boolean, selectionToken: number): void {
 		let desired = new IENarratorTextAreaState(null, value, selectionStart, selectionEnd, isInOverwriteMode, selectionToken);
 		assert.ok(desired.equals(actual), desired.toString() + ' == ' + actual.toString());
 	}
@@ -67,7 +67,7 @@ suite('TextAreaState', () => {
 		textArea.dispose();
 	});
 
-	function testDeduceInput(prevState:TextAreaState, value:string, selectionStart:number, selectionEnd:number, isInOverwriteMode: boolean, expected:string, expectedCharReplaceCnt: number): void {
+	function testDeduceInput(prevState: TextAreaState, value: string, selectionStart: number, selectionEnd: number, isInOverwriteMode: boolean, expected: string, expectedCharReplaceCnt: number): void {
 		let textArea = new MockTextAreaWrapper();
 		textArea._value = value;
 		textArea._selectionStart = selectionStart;
@@ -356,7 +356,7 @@ suite('TextAreaState', () => {
 		);
 	});
 
-	function testFromEditorSelectionAndPreviousState(eol:string, lines:string[], range:Range, prevSelectionToken:number): TextAreaState {
+	function testFromEditorSelectionAndPreviousState(eol: string, lines: string[], range: Range, prevSelectionToken: number): TextAreaState {
 		let model = new SimpleModel(lines, eol);
 		let previousState = new IENarratorTextAreaState(null, '', 0, 0, false, prevSelectionToken);
 		return previousState.fromEditorSelection(model, range);
@@ -366,7 +366,7 @@ suite('TextAreaState', () => {
 		let actual = testFromEditorSelectionAndPreviousState('\n', [
 			'Just a line',
 			'And another line'
-		], new Range(1,1,1,1), 0);
+		], new Range(1, 1, 1, 1), 0);
 		assertTextAreaState(actual, 'Just a line', 0, 11, false, 1);
 	});
 
@@ -375,7 +375,7 @@ suite('TextAreaState', () => {
 			'Just a line',
 			'And another line',
 			'And yet another line',
-		], new Range(2,1,2,1), 0);
+		], new Range(2, 1, 2, 1), 0);
 		assertTextAreaState(actual, 'And another line', 0, 16, false, 2);
 	});
 
@@ -388,7 +388,7 @@ suite('TextAreaState', () => {
 			'Just a line',
 			aLongLine,
 			'And yet another line',
-		], new Range(2,500,2,500), 0);
+		], new Range(2, 500, 2, 500), 0);
 		assertTextAreaState(actual, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 0, 201, false, 2);
 	});
 
@@ -401,7 +401,7 @@ suite('TextAreaState', () => {
 			'Just a line',
 			aLongLine,
 			'And yet another line',
-		], new Range(2,500,2,500), 2);
+		], new Range(2, 500, 2, 500), 2);
 		assertTextAreaState(actual, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 100, 100, false, 2);
 	});
 });
@@ -411,16 +411,16 @@ class SimpleModel implements ISimpleModel {
 	private _lines: string[];
 	private _eol: string;
 
-	constructor(lines:string[], eol:string) {
+	constructor(lines: string[], eol: string) {
 		this._lines = lines;
 		this._eol = eol;
 	}
 
-	public getLineMaxColumn(lineNumber:number): number {
+	public getLineMaxColumn(lineNumber: number): number {
 		return this._lines[lineNumber - 1].length + 1;
 	}
 
-	private _getEndOfLine(eol:EndOfLinePreference): string {
+	private _getEndOfLine(eol: EndOfLinePreference): string {
 		switch (eol) {
 			case EndOfLinePreference.LF:
 				return '\n';
@@ -436,7 +436,7 @@ class SimpleModel implements ISimpleModel {
 		return this._eol;
 	}
 
-	public getValueInRange(range:IRange, eol:EndOfLinePreference): string {
+	public getValueInRange(range: IRange, eol: EndOfLinePreference): string {
 		if (Range.isEmpty(range)) {
 			return '';
 		}
@@ -448,7 +448,7 @@ class SimpleModel implements ISimpleModel {
 		var lineEnding = this._getEndOfLine(eol),
 			startLineIndex = range.startLineNumber - 1,
 			endLineIndex = range.endLineNumber - 1,
-			resultLines:string[] = [];
+			resultLines: string[] = [];
 
 		resultLines.push(this._lines[startLineIndex].substring(range.startColumn - 1));
 		for (var i = startLineIndex + 1; i < endLineIndex; i++) {
@@ -459,7 +459,7 @@ class SimpleModel implements ISimpleModel {
 		return resultLines.join(lineEnding);
 	}
 
-	public getModelLineContent(lineNumber:number): string {
+	public getModelLineContent(lineNumber: number): string {
 		return this._lines[lineNumber - 1];
 	}
 
@@ -467,7 +467,7 @@ class SimpleModel implements ISimpleModel {
 		return this._lines.length;
 	}
 
-	public convertViewPositionToModelPosition(viewLineNumber:number, viewColumn:number): Position {
+	public convertViewPositionToModelPosition(viewLineNumber: number, viewColumn: number): Position {
 		return new Position(viewLineNumber, viewColumn);
 	}
 }
diff --git a/src/vs/editor/test/common/core/characterClassifier.test.ts b/src/vs/editor/test/common/core/characterClassifier.test.ts
index 80578c0edc7c7..4146a150697db 100644
--- a/src/vs/editor/test/common/core/characterClassifier.test.ts
+++ b/src/vs/editor/test/common/core/characterClassifier.test.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {CharacterClassifier} from 'vs/editor/common/core/characterClassifier';
-import {CharCode} from 'vs/base/common/charCode';
+import { CharacterClassifier } from 'vs/editor/common/core/characterClassifier';
+import { CharCode } from 'vs/base/common/charCode';
 
 suite('CharacterClassifier', () => {
 
diff --git a/src/vs/editor/test/common/core/range.test.ts b/src/vs/editor/test/common/core/range.test.ts
index 5991bff8f0bdf..9652e2b88437b 100644
--- a/src/vs/editor/test/common/core/range.test.ts
+++ b/src/vs/editor/test/common/core/range.test.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Range} from 'vs/editor/common/core/range';
-import {Position} from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Position } from 'vs/editor/common/core/position';
 
 suite('Editor Core - Range', () => {
 	test('empty range', () => {
diff --git a/src/vs/editor/test/common/diff/diffComputer.test.ts b/src/vs/editor/test/common/diff/diffComputer.test.ts
index 192bbc4e5c266..507aedae29916 100644
--- a/src/vs/editor/test/common/diff/diffComputer.test.ts
+++ b/src/vs/editor/test/common/diff/diffComputer.test.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {DiffComputer} from 'vs/editor/common/diff/diffComputer';
-import {IChange, ICharChange, ILineChange} from 'vs/editor/common/editorCommon';
+import { DiffComputer } from 'vs/editor/common/diff/diffComputer';
+import { IChange, ICharChange, ILineChange } from 'vs/editor/common/editorCommon';
 
 function extractCharChangeRepresentation(change, expectedChange): ICharChange {
 	var hasOriginal = expectedChange && expectedChange.originalStartLineNumber > 0;
@@ -25,8 +25,8 @@ function extractCharChangeRepresentation(change, expectedChange): ICharChange {
 }
 
 function extractLineChangeRepresentation(change, expectedChange): ILineChange {
-	var result:ILineChange = <any>{
-		originalStartLineNumber:change.originalStartLineNumber,
+	var result: ILineChange = <any>{
+		originalStartLineNumber: change.originalStartLineNumber,
 		originalEndLineNumber: change.originalEndLineNumber,
 		modifiedStartLineNumber: change.modifiedStartLineNumber,
 		modifiedEndLineNumber: change.modifiedEndLineNumber
@@ -42,7 +42,7 @@ function extractLineChangeRepresentation(change, expectedChange): ILineChange {
 	return result;
 }
 
-function assertDiff(originalLines:string[], modifiedLines:string[], expectedChanges:IChange[], shouldPostProcessCharChanges:boolean = false, shouldIgnoreTrimWhitespace:boolean=false) {
+function assertDiff(originalLines: string[], modifiedLines: string[], expectedChanges: IChange[], shouldPostProcessCharChanges: boolean = false, shouldIgnoreTrimWhitespace: boolean = false) {
 	var diffComputer = new DiffComputer(originalLines, modifiedLines, {
 		shouldPostProcessCharChanges: shouldPostProcessCharChanges || false,
 		shouldIgnoreTrimWhitespace: shouldIgnoreTrimWhitespace || false,
@@ -112,7 +112,7 @@ function createCharDeletion(startLineNumber, startColumn, endLineNumber, endColu
 }
 
 function createCharChange(originalStartLineNumber, originalStartColumn, originalEndLineNumber, originalEndColumn,
-			modifiedStartLineNumber, modifiedStartColumn, modifiedEndLineNumber, modifiedEndColumn) {
+	modifiedStartLineNumber, modifiedStartColumn, modifiedEndLineNumber, modifiedEndColumn) {
 	return {
 		originalStartLineNumber: originalStartLineNumber,
 		originalStartColumn: originalStartColumn,
@@ -130,110 +130,110 @@ suite('Editor Diff - DiffComputer', () => {
 	// ---- insertions
 
 	test('one inserted line below', () => {
-		var original = [ 'line' ];
-		var modified = [ 'line', 'new line' ];
-		var expected = [ createLineInsertion(2, 2, 1) ];
+		var original = ['line'];
+		var modified = ['line', 'new line'];
+		var expected = [createLineInsertion(2, 2, 1)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('two inserted lines below', () => {
-		var original = [ 'line' ];
-		var modified = [ 'line', 'new line', 'another new line' ];
-		var expected = [ createLineInsertion(2, 3, 1) ];
+		var original = ['line'];
+		var modified = ['line', 'new line', 'another new line'];
+		var expected = [createLineInsertion(2, 3, 1)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('one inserted line above', () => {
-		var original = [ 'line' ];
-		var modified = [ 'new line', 'line' ];
-		var expected = [ createLineInsertion(1, 1, 0) ];
+		var original = ['line'];
+		var modified = ['new line', 'line'];
+		var expected = [createLineInsertion(1, 1, 0)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('two inserted lines above', () => {
-		var original = [ 'line' ];
-		var modified = [ 'new line', 'another new line', 'line' ];
-		var expected = [ createLineInsertion(1, 2, 0) ];
+		var original = ['line'];
+		var modified = ['new line', 'another new line', 'line'];
+		var expected = [createLineInsertion(1, 2, 0)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('one inserted line in middle', () => {
-		var original = [ 'line1', 'line2', 'line3', 'line4' ];
-		var modified = [ 'line1', 'line2', 'new line', 'line3', 'line4' ];
-		var expected = [ createLineInsertion(3, 3, 2) ];
+		var original = ['line1', 'line2', 'line3', 'line4'];
+		var modified = ['line1', 'line2', 'new line', 'line3', 'line4'];
+		var expected = [createLineInsertion(3, 3, 2)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('two inserted lines in middle', () => {
-		var original = [ 'line1', 'line2', 'line3', 'line4' ];
-		var modified = [ 'line1', 'line2', 'new line', 'another new line', 'line3', 'line4' ];
-		var expected = [ createLineInsertion(3, 4, 2) ];
+		var original = ['line1', 'line2', 'line3', 'line4'];
+		var modified = ['line1', 'line2', 'new line', 'another new line', 'line3', 'line4'];
+		var expected = [createLineInsertion(3, 4, 2)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('two inserted lines in middle interrupted', () => {
-		var original = [ 'line1', 'line2', 'line3', 'line4' ];
-		var modified = [ 'line1', 'line2', 'new line', 'line3', 'another new line', 'line4' ];
-		var expected = [ createLineInsertion(3, 3, 2), createLineInsertion(5, 5, 3) ];
+		var original = ['line1', 'line2', 'line3', 'line4'];
+		var modified = ['line1', 'line2', 'new line', 'line3', 'another new line', 'line4'];
+		var expected = [createLineInsertion(3, 3, 2), createLineInsertion(5, 5, 3)];
 		assertDiff(original, modified, expected);
 	});
 
 	// ---- deletions
 
 	test('one deleted line below', () => {
-		var original = [ 'line', 'new line' ];
-		var modified = [ 'line' ];
-		var expected = [ createLineDeletion(2, 2, 1) ];
+		var original = ['line', 'new line'];
+		var modified = ['line'];
+		var expected = [createLineDeletion(2, 2, 1)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('two deleted lines below', () => {
-		var original = [ 'line', 'new line', 'another new line' ];
-		var modified = [ 'line' ];
-		var expected = [ createLineDeletion(2, 3, 1) ];
+		var original = ['line', 'new line', 'another new line'];
+		var modified = ['line'];
+		var expected = [createLineDeletion(2, 3, 1)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('one deleted lines above', () => {
-		var original = [ 'new line', 'line' ];
-		var modified = [ 'line' ];
-		var expected = [ createLineDeletion(1, 1, 0) ];
+		var original = ['new line', 'line'];
+		var modified = ['line'];
+		var expected = [createLineDeletion(1, 1, 0)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('two deleted lines above', () => {
-		var original = [ 'new line', 'another new line', 'line' ];
-		var modified = [ 'line' ];
-		var expected = [ createLineDeletion(1, 2, 0) ];
+		var original = ['new line', 'another new line', 'line'];
+		var modified = ['line'];
+		var expected = [createLineDeletion(1, 2, 0)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('one deleted line in middle', () => {
-		var original = [ 'line1', 'line2', 'new line', 'line3', 'line4' ];
-		var modified = [ 'line1', 'line2', 'line3', 'line4' ];
-		var expected = [ createLineDeletion(3, 3, 2) ];
+		var original = ['line1', 'line2', 'new line', 'line3', 'line4'];
+		var modified = ['line1', 'line2', 'line3', 'line4'];
+		var expected = [createLineDeletion(3, 3, 2)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('two deleted lines in middle', () => {
-		var original = [ 'line1', 'line2', 'new line', 'another new line', 'line3', 'line4' ];
-		var modified = [ 'line1', 'line2', 'line3', 'line4' ];
-		var expected = [ createLineDeletion(3, 4, 2) ];
+		var original = ['line1', 'line2', 'new line', 'another new line', 'line3', 'line4'];
+		var modified = ['line1', 'line2', 'line3', 'line4'];
+		var expected = [createLineDeletion(3, 4, 2)];
 		assertDiff(original, modified, expected);
 	});
 
 	test('two deleted lines in middle interrupted', () => {
-		var original = [ 'line1', 'line2', 'new line', 'line3', 'another new line', 'line4' ];
-		var modified = [ 'line1', 'line2', 'line3', 'line4' ];
-		var expected = [ createLineDeletion(3, 3, 2), createLineDeletion(5, 5, 3) ];
+		var original = ['line1', 'line2', 'new line', 'line3', 'another new line', 'line4'];
+		var modified = ['line1', 'line2', 'line3', 'line4'];
+		var expected = [createLineDeletion(3, 3, 2), createLineDeletion(5, 5, 3)];
 		assertDiff(original, modified, expected);
 	});
 
 	// ---- changes
 
 	test('one line changed: chars inserted at the end', () => {
-		var original = [ 'line' ];
-		var modified = [ 'line changed' ];
+		var original = ['line'];
+		var modified = ['line changed'];
 		var expected = [
 			createLineChange(1, 1, 1, 1, [
 				createCharInsertion(1, 5, 1, 13)
@@ -243,8 +243,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('one line changed: chars inserted at the beginning', () => {
-		var original = [ 'line' ];
-		var modified = [ 'my line' ];
+		var original = ['line'];
+		var modified = ['my line'];
 		var expected = [
 			createLineChange(1, 1, 1, 1, [
 				createCharInsertion(1, 1, 1, 4)
@@ -254,8 +254,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('one line changed: chars inserted in the middle', () => {
-		var original = [ 'abba' ];
-		var modified = [ 'abzzba' ];
+		var original = ['abba'];
+		var modified = ['abzzba'];
 		var expected = [
 			createLineChange(1, 1, 1, 1, [
 				createCharInsertion(1, 3, 1, 5)
@@ -265,8 +265,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('one line changed: chars inserted in the middle (two spots)', () => {
-		var original = [ 'abba' ];
-		var modified = [ 'abzzbzza' ];
+		var original = ['abba'];
+		var modified = ['abzzbzza'];
 		var expected = [
 			createLineChange(1, 1, 1, 1, [
 				createCharInsertion(1, 3, 1, 5),
@@ -277,8 +277,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('one line changed: chars deleted 1', () => {
-		var original = [ 'abcdefg' ];
-		var modified = [ 'abcfg' ];
+		var original = ['abcdefg'];
+		var modified = ['abcfg'];
 		var expected = [
 			createLineChange(1, 1, 1, 1, [
 				createCharDeletion(1, 4, 1, 6)
@@ -288,8 +288,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('one line changed: chars deleted 2', () => {
-		var original = [ 'abcdefg' ];
-		var modified = [ 'acfg' ];
+		var original = ['abcdefg'];
+		var modified = ['acfg'];
 		var expected = [
 			createLineChange(1, 1, 1, 1, [
 				createCharDeletion(1, 2, 1, 3),
@@ -300,8 +300,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('two lines changed 1', () => {
-		var original = [ 'abcd', 'efgh' ];
-		var modified = [ 'abcz' ];
+		var original = ['abcd', 'efgh'];
+		var modified = ['abcz'];
 		var expected = [
 			createLineChange(1, 2, 1, 1, [
 				createCharChange(1, 4, 2, 5, 1, 4, 1, 5)
@@ -311,8 +311,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('two lines changed 2', () => {
-		var original = [ 'foo', 'abcd', 'efgh', 'BAR' ];
-		var modified = [ 'foo', 'abcz', 'BAR' ];
+		var original = ['foo', 'abcd', 'efgh', 'BAR'];
+		var modified = ['foo', 'abcz', 'BAR'];
 		var expected = [
 			createLineChange(2, 3, 2, 2, [
 				createCharChange(2, 4, 3, 5, 2, 4, 2, 5)
@@ -322,8 +322,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('two lines changed 3', () => {
-		var original = [ 'foo', 'abcd', 'efgh', 'BAR' ];
-		var modified = [ 'foo', 'abcz', 'zzzzefgh', 'BAR' ];
+		var original = ['foo', 'abcd', 'efgh', 'BAR'];
+		var modified = ['foo', 'abcz', 'zzzzefgh', 'BAR'];
 		var expected = [
 			createLineChange(2, 3, 2, 3, [
 				createCharChange(2, 4, 2, 5, 2, 4, 3, 5)
@@ -333,8 +333,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('three lines changed', () => {
-		var original = [ 'foo', 'abcd', 'efgh', 'BAR' ];
-		var modified = [ 'foo', 'zzzefgh', 'xxx', 'BAR' ];
+		var original = ['foo', 'abcd', 'efgh', 'BAR'];
+		var modified = ['foo', 'zzzefgh', 'xxx', 'BAR'];
 		var expected = [
 			createLineChange(2, 3, 2, 3, [
 				createCharChange(2, 1, 2, 5, 2, 1, 2, 4),
@@ -345,8 +345,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('big change part 1', () => {
-		var original = [ 'foo', 'abcd', 'efgh', 'BAR' ];
-		var modified = [ 'hello', 'foo', 'zzzefgh', 'xxx', 'BAR' ];
+		var original = ['foo', 'abcd', 'efgh', 'BAR'];
+		var modified = ['hello', 'foo', 'zzzefgh', 'xxx', 'BAR'];
 		var expected = [
 			createLineInsertion(1, 1, 0),
 			createLineChange(2, 3, 3, 4, [
@@ -358,8 +358,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('big change part 2', () => {
-		var original = [ 'foo', 'abcd', 'efgh', 'BAR', 'RAB' ];
-		var modified = [ 'hello', 'foo', 'zzzefgh', 'xxx', 'BAR' ];
+		var original = ['foo', 'abcd', 'efgh', 'BAR', 'RAB'];
+		var modified = ['hello', 'foo', 'zzzefgh', 'xxx', 'BAR'];
 		var expected = [
 			createLineInsertion(1, 1, 0),
 			createLineChange(2, 3, 3, 4, [
@@ -372,8 +372,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('char change postprocessing merges', () => {
-		var original = [ 'abba' ];
-		var modified = [ 'azzzbzzzbzzza' ];
+		var original = ['abba'];
+		var modified = ['azzzbzzzbzzza'];
 		var expected = [
 			createLineChange(1, 1, 1, 1, [
 				createCharChange(1, 2, 1, 4, 1, 2, 1, 13)
@@ -383,8 +383,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('ignore trim whitespace', () => {
-		var original = [ '\t\t foo ', 'abcd', 'efgh', '\t\t BAR\t\t' ];
-		var modified = [ '  hello\t', '\t foo   \t', 'zzzefgh', 'xxx', '   BAR   \t' ];
+		var original = ['\t\t foo ', 'abcd', 'efgh', '\t\t BAR\t\t'];
+		var modified = ['  hello\t', '\t foo   \t', 'zzzefgh', 'xxx', '   BAR   \t'];
 		var expected = [
 			createLineInsertion(1, 1, 0),
 			createLineChange(2, 3, 3, 4, [
@@ -396,8 +396,8 @@ suite('Editor Diff - DiffComputer', () => {
 	});
 
 	test('issue #12122 r.hasOwnProperty is not a function', () => {
-		var original = [ 'hasOwnProperty' ];
-		var modified = [ 'hasOwnProperty', 'and another line' ];
+		var original = ['hasOwnProperty'];
+		var modified = ['hasOwnProperty', 'and another line'];
 		var expected = [
 			createLineInsertion(2, 2, 1)
 		];
diff --git a/src/vs/editor/test/common/editorTestUtils.ts b/src/vs/editor/test/common/editorTestUtils.ts
index 19c9cc1fd5552..a1debaa84cc51 100644
--- a/src/vs/editor/test/common/editorTestUtils.ts
+++ b/src/vs/editor/test/common/editorTestUtils.ts
@@ -4,43 +4,43 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Model} from 'vs/editor/common/model/model';
-import {IViewModelHelper} from 'vs/editor/common/controller/oneCursor';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { Model } from 'vs/editor/common/model/model';
+import { IViewModelHelper } from 'vs/editor/common/controller/oneCursor';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 
-export function withEditorModel(text:string[], callback:(model:Model) => void): void {
+export function withEditorModel(text: string[], callback: (model: Model) => void): void {
 	var model = Model.createFromString(text.join('\n'));
 	callback(model);
 	model.dispose();
 }
 
-export function viewModelHelper(model): IViewModelHelper{
+export function viewModelHelper(model): IViewModelHelper {
 	return {
-			viewModel: model,
-			getCurrentCompletelyVisibleViewLinesRangeInViewport: () => { return null; },
-			getCurrentCompletelyVisibleModelLinesRangeInViewport: () => { return null; },
-			convertModelPositionToViewPosition: (lineNumber: number, column: number) => {
-				return new Position(lineNumber, column);
-			},
-			convertModelRangeToViewRange: (modelRange: Range) => {
-				return modelRange;
-			},
-			convertViewToModelPosition: (lineNumber: number, column: number) => {
-				return new Position(lineNumber, column);
-			},
-			convertViewSelectionToModelSelection: (viewSelection: Selection) => {
-				return viewSelection;
-			},
-			convertViewRangeToModelRange: (modelRange: Range) => {
-				return modelRange;
-			},
-			validateViewPosition: (viewLineNumber: number, viewColumn: number, modelPosition: Position) => {
-				return modelPosition;
-			},
-			validateViewRange: (viewStartLineNumber: number, viewStartColumn: number, viewEndLineNumber: number, viewEndColumn: number, modelRange: Range) => {
-				return modelRange;
-			}
+		viewModel: model,
+		getCurrentCompletelyVisibleViewLinesRangeInViewport: () => { return null; },
+		getCurrentCompletelyVisibleModelLinesRangeInViewport: () => { return null; },
+		convertModelPositionToViewPosition: (lineNumber: number, column: number) => {
+			return new Position(lineNumber, column);
+		},
+		convertModelRangeToViewRange: (modelRange: Range) => {
+			return modelRange;
+		},
+		convertViewToModelPosition: (lineNumber: number, column: number) => {
+			return new Position(lineNumber, column);
+		},
+		convertViewSelectionToModelSelection: (viewSelection: Selection) => {
+			return viewSelection;
+		},
+		convertViewRangeToModelRange: (modelRange: Range) => {
+			return modelRange;
+		},
+		validateViewPosition: (viewLineNumber: number, viewColumn: number, modelPosition: Position) => {
+			return modelPosition;
+		},
+		validateViewRange: (viewStartLineNumber: number, viewStartColumn: number, viewEndLineNumber: number, viewEndColumn: number, modelRange: Range) => {
+			return modelRange;
+		}
 	};
 }
diff --git a/src/vs/editor/test/common/mocks/mockCodeEditor.ts b/src/vs/editor/test/common/mocks/mockCodeEditor.ts
index 403a12f01a547..9b645b213b262 100644
--- a/src/vs/editor/test/common/mocks/mockCodeEditor.ts
+++ b/src/vs/editor/test/common/mocks/mockCodeEditor.ts
@@ -4,21 +4,21 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EventEmitter, IEventEmitter} from 'vs/base/common/eventEmitter';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {InstantiationService} from 'vs/platform/instantiation/common/instantiationService';
-import {IContextKeyService, IContextKeyServiceTarget} from 'vs/platform/contextkey/common/contextkey';
-import {MockKeybindingService} from 'vs/platform/keybinding/test/common/mockKeybindingService';
-import {CommonCodeEditor} from 'vs/editor/common/commonCodeEditor';
-import {CommonEditorConfiguration} from 'vs/editor/common/config/commonEditorConfig';
-import {Cursor} from 'vs/editor/common/controller/cursor';
+import { EventEmitter, IEventEmitter } from 'vs/base/common/eventEmitter';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
+import { IContextKeyService, IContextKeyServiceTarget } from 'vs/platform/contextkey/common/contextkey';
+import { MockKeybindingService } from 'vs/platform/keybinding/test/common/mockKeybindingService';
+import { CommonCodeEditor } from 'vs/editor/common/commonCodeEditor';
+import { CommonEditorConfiguration } from 'vs/editor/common/config/commonEditorConfig';
+import { Cursor } from 'vs/editor/common/controller/cursor';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
-import {MockConfiguration} from 'vs/editor/test/common/mocks/mockConfiguration';
-import {Range} from 'vs/editor/common/core/range';
+import { Model } from 'vs/editor/common/model/model';
+import { MockConfiguration } from 'vs/editor/test/common/mocks/mockConfiguration';
+import { Range } from 'vs/editor/common/core/range';
 
 export class MockCodeEditor extends CommonCodeEditor {
-	protected _createConfiguration(options:editorCommon.ICodeEditorWidgetCreationOptions): CommonEditorConfiguration {
+	protected _createConfiguration(options: editorCommon.ICodeEditorWidgetCreationOptions): CommonEditorConfiguration {
 		return new MockConfiguration(options);
 	}
 	public getCenteredRangeInViewport(): Range { return null; }
@@ -30,14 +30,14 @@ export class MockCodeEditor extends CommonCodeEditor {
 	public getScrollHeight(): number { return 0; }
 	public getScrollTop(): number { return 0; }
 
-	public setScrollLeft(newScrollLeft:number): void { }
-	public setScrollTop(newScrollTop:number): void { }
+	public setScrollLeft(newScrollLeft: number): void { }
+	public setScrollTop(newScrollTop: number): void { }
 	public setScrollPosition(position: editorCommon.INewScrollPosition): void { }
 
 	public saveViewState(): editorCommon.ICodeEditorViewState { return null; }
-	public restoreViewState(state:editorCommon.IEditorViewState): void { }
+	public restoreViewState(state: editorCommon.IEditorViewState): void { }
 
-	public layout(dimension?:editorCommon.IDimension): void { }
+	public layout(dimension?: editorCommon.IDimension): void { }
 
 	public focus(): void { }
 	public isFocused(): boolean { return true; }
@@ -47,16 +47,16 @@ export class MockCodeEditor extends CommonCodeEditor {
 	protected _createView(): void { }
 	protected _getViewInternalEventBus(): IEventEmitter { return new EventEmitter(); }
 
-	protected _registerDecorationType(key:string, options: editorCommon.IDecorationRenderOptions, parentTypeKey?: string): void { throw new Error('NotImplemented'); }
-	protected _removeDecorationType(key:string): void { throw new Error('NotImplemented'); }
-	protected _resolveDecorationOptions(typeKey:string, writable: boolean): editorCommon.IModelDecorationOptions { throw new Error('NotImplemented'); }
+	protected _registerDecorationType(key: string, options: editorCommon.IDecorationRenderOptions, parentTypeKey?: string): void { throw new Error('NotImplemented'); }
+	protected _removeDecorationType(key: string): void { throw new Error('NotImplemented'); }
+	protected _resolveDecorationOptions(typeKey: string, writable: boolean): editorCommon.IModelDecorationOptions { throw new Error('NotImplemented'); }
 
 	// --- test utils
 	getCursor(): Cursor {
 		return this.cursor;
 	}
 
-	public registerAndInstantiateContribution<T extends editorCommon.IEditorContribution>(ctor:any): T {
+	public registerAndInstantiateContribution<T extends editorCommon.IEditorContribution>(ctor: any): T {
 		let r = <T>this._instantiationService.createInstance(ctor, this);
 		this._contributions[r.getId()] = r;
 		return r;
@@ -72,20 +72,20 @@ export class MockCodeEditor extends CommonCodeEditor {
 }
 
 export class MockScopeLocation implements IContextKeyServiceTarget {
-	parentElement:IContextKeyServiceTarget = null;
-	setAttribute(attr:string, value:string): void { }
-	removeAttribute(attr:string): void { }
+	parentElement: IContextKeyServiceTarget = null;
+	setAttribute(attr: string, value: string): void { }
+	removeAttribute(attr: string): void { }
 	hasAttribute(attr: string): boolean { return false; }
 	getAttribute(attr: string): string { return; }
 }
 
-export function withMockCodeEditor(text:string[], options:editorCommon.ICodeEditorWidgetCreationOptions, callback:(editor:MockCodeEditor, cursor:Cursor)=>void): void {
+export function withMockCodeEditor(text: string[], options: editorCommon.ICodeEditorWidgetCreationOptions, callback: (editor: MockCodeEditor, cursor: Cursor) => void): void {
 	let editor = <MockCodeEditor>mockCodeEditor(text, options);
 	callback(editor, editor.getCursor());
 	editor.dispose();
 }
 
-export function mockCodeEditor(text:string[], options:editorCommon.ICodeEditorWidgetCreationOptions): CommonCodeEditor {
+export function mockCodeEditor(text: string[], options: editorCommon.ICodeEditorWidgetCreationOptions): CommonCodeEditor {
 
 	let contextKeyService = new MockKeybindingService();
 
diff --git a/src/vs/editor/test/common/mocks/mockCodeEditorService.ts b/src/vs/editor/test/common/mocks/mockCodeEditorService.ts
index 90835421b62cf..867c08557946b 100644
--- a/src/vs/editor/test/common/mocks/mockCodeEditorService.ts
+++ b/src/vs/editor/test/common/mocks/mockCodeEditorService.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDecorationRenderOptions, IModelDecorationOptions} from 'vs/editor/common/editorCommon';
-import {AbstractCodeEditorService} from 'vs/editor/common/services/abstractCodeEditorService';
+import { IDecorationRenderOptions, IModelDecorationOptions } from 'vs/editor/common/editorCommon';
+import { AbstractCodeEditorService } from 'vs/editor/common/services/abstractCodeEditorService';
 
 export class MockCodeEditorService extends AbstractCodeEditorService {
-	public registerDecorationType(key:string, options: IDecorationRenderOptions, parentTypeKey?: string): void { }
-	public removeDecorationType(key:string): void { }
-	public resolveDecorationOptions(decorationTypeKey:string, writable: boolean): IModelDecorationOptions { return null; }
+	public registerDecorationType(key: string, options: IDecorationRenderOptions, parentTypeKey?: string): void { }
+	public removeDecorationType(key: string): void { }
+	public resolveDecorationOptions(decorationTypeKey: string, writable: boolean): IModelDecorationOptions { return null; }
 }
diff --git a/src/vs/editor/test/common/mocks/mockConfiguration.ts b/src/vs/editor/test/common/mocks/mockConfiguration.ts
index fa8c3b8c77e55..9dd59affb8b9d 100644
--- a/src/vs/editor/test/common/mocks/mockConfiguration.ts
+++ b/src/vs/editor/test/common/mocks/mockConfiguration.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {CommonEditorConfiguration} from 'vs/editor/common/config/commonEditorConfig';
-import {IEditorOptions, FontInfo, BareFontInfo} from 'vs/editor/common/editorCommon';
+import { CommonEditorConfiguration } from 'vs/editor/common/config/commonEditorConfig';
+import { IEditorOptions, FontInfo, BareFontInfo } from 'vs/editor/common/editorCommon';
 
 export class MockConfiguration extends CommonEditorConfiguration {
 
-	constructor(opts:IEditorOptions) {
+	constructor(opts: IEditorOptions) {
 		super(opts);
 	}
 
-	protected _getEditorClassName(theme:string, fontLigatures:boolean): string {
+	protected _getEditorClassName(theme: string, fontLigatures: boolean): string {
 		return '';
 	}
 
@@ -35,9 +35,9 @@ export class MockConfiguration extends CommonEditorConfiguration {
 			fontWeight: 'normal',
 			fontSize: 14,
 			lineHeight: 19,
-			typicalHalfwidthCharacterWidth:10,
-			typicalFullwidthCharacterWidth:20,
-			spaceWidth:10,
+			typicalHalfwidthCharacterWidth: 10,
+			typicalFullwidthCharacterWidth: 20,
+			spaceWidth: 10,
 			maxDigitWidth: 10,
 		});
 	}
diff --git a/src/vs/editor/test/common/mocks/mockExtensionService.ts b/src/vs/editor/test/common/mocks/mockExtensionService.ts
index ea80f3d0ef729..7eb1c1be34618 100644
--- a/src/vs/editor/test/common/mocks/mockExtensionService.ts
+++ b/src/vs/editor/test/common/mocks/mockExtensionService.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import Severity from 'vs/base/common/severity';
-import {AbstractExtensionService, ActivatedExtension} from 'vs/platform/extensions/common/abstractExtensionService';
+import { AbstractExtensionService, ActivatedExtension } from 'vs/platform/extensions/common/abstractExtensionService';
 
 export class MockExtensionService extends AbstractExtensionService<ActivatedExtension> {
 	constructor() {
diff --git a/src/vs/editor/test/common/mocks/mockMode.ts b/src/vs/editor/test/common/mocks/mockMode.ts
index eb4457630ab7b..41295249f64ea 100644
--- a/src/vs/editor/test/common/mocks/mockMode.ts
+++ b/src/vs/editor/test/common/mocks/mockMode.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IMode, IState, TokenizationRegistry} from 'vs/editor/common/modes';
-import {AbstractState, ITokenizationResult} from 'vs/editor/common/modes/abstractState';
-import {TokenizationSupport} from 'vs/editor/common/modes/supports/tokenizationSupport';
-import {LineStream} from 'vs/editor/common/modes/lineStream';
+import { IMode, IState, TokenizationRegistry } from 'vs/editor/common/modes';
+import { AbstractState, ITokenizationResult } from 'vs/editor/common/modes/abstractState';
+import { TokenizationSupport } from 'vs/editor/common/modes/supports/tokenizationSupport';
+import { LineStream } from 'vs/editor/common/modes/lineStream';
 
 let instanceCount = 0;
 function generateMockModeId(): string {
@@ -15,16 +15,16 @@ function generateMockModeId(): string {
 }
 
 export class MockMode implements IMode {
-	private _id:string;
+	private _id: string;
 
-	constructor(id?:string) {
+	constructor(id?: string) {
 		if (typeof id === 'undefined') {
 			id = generateMockModeId();
 		}
 		this._id = id;
 	}
 
-	public getId():string {
+	public getId(): string {
 		return this._id;
 	}
 }
@@ -33,20 +33,20 @@ export class StateForMockTokenizingMode extends AbstractState {
 
 	private _tokenType: string;
 
-	constructor(modeId:string, tokenType:string) {
+	constructor(modeId: string, tokenType: string) {
 		super(modeId);
 		this._tokenType = tokenType;
 	}
 
-	public makeClone():StateForMockTokenizingMode {
+	public makeClone(): StateForMockTokenizingMode {
 		return this;
 	}
 
-	public equals(other:IState):boolean {
+	public equals(other: IState): boolean {
 		return true;
 	}
 
-	public tokenize(stream:LineStream):ITokenizationResult {
+	public tokenize(stream: LineStream): ITokenizationResult {
 		stream.advanceToEOS();
 		return { type: this._tokenType };
 	}
@@ -54,7 +54,7 @@ export class StateForMockTokenizingMode extends AbstractState {
 
 export class MockTokenizingMode extends MockMode {
 
-	constructor(tokenType:string) {
+	constructor(tokenType: string) {
 		super();
 
 		TokenizationRegistry.register(this.getId(), new TokenizationSupport(null, this.getId(), {
diff --git a/src/vs/editor/test/common/mocks/mockTextAreaWrapper.ts b/src/vs/editor/test/common/mocks/mockTextAreaWrapper.ts
index 127647989ab1f..77d242da63c53 100644
--- a/src/vs/editor/test/common/mocks/mockTextAreaWrapper.ts
+++ b/src/vs/editor/test/common/mocks/mockTextAreaWrapper.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import Event, {Emitter} from 'vs/base/common/event';
-import {Disposable} from 'vs/base/common/lifecycle';
-import {IClipboardEvent, ICompositionEvent, IKeyboardEventWrapper, ITextAreaWrapper} from 'vs/editor/common/controller/textAreaState';
+import Event, { Emitter } from 'vs/base/common/event';
+import { Disposable } from 'vs/base/common/lifecycle';
+import { IClipboardEvent, ICompositionEvent, IKeyboardEventWrapper, ITextAreaWrapper } from 'vs/editor/common/controller/textAreaState';
 
 export class MockTextAreaWrapper extends Disposable implements ITextAreaWrapper {
 
@@ -57,7 +57,7 @@ export class MockTextAreaWrapper extends Disposable implements ITextAreaWrapper
 		return this._value;
 	}
 
-	public setValue(reason:string, value:string): void {
+	public setValue(reason: string, value: string): void {
 		this._value = value;
 		this._selectionStart = this._value.length;
 		this._selectionEnd = this._value.length;
@@ -71,7 +71,7 @@ export class MockTextAreaWrapper extends Disposable implements ITextAreaWrapper
 		return this._selectionEnd;
 	}
 
-	public setSelectionRange(selectionStart:number, selectionEnd:number): void {
+	public setSelectionRange(selectionStart: number, selectionEnd: number): void {
 		if (selectionStart < 0) {
 			selectionStart = 0;
 		}
diff --git a/src/vs/editor/test/common/model/editableTextModel.test.ts b/src/vs/editor/test/common/model/editableTextModel.test.ts
index a04e32d8e2636..24ba6dceaaaba 100644
--- a/src/vs/editor/test/common/model/editableTextModel.test.ts
+++ b/src/vs/editor/test/common/model/editableTextModel.test.ts
@@ -5,16 +5,16 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Range} from 'vs/editor/common/core/range';
-import {EndOfLinePreference, EndOfLineSequence, IIdentifiedSingleEditOperation, IModelContentChangedEvent2} from 'vs/editor/common/editorCommon';
-import {EditableTextModel, IValidatedEditOperation} from 'vs/editor/common/model/editableTextModel';
-import {MirrorModel2} from 'vs/editor/common/model/mirrorModel2';
-import {TextModel} from 'vs/editor/common/model/textModel';
-import {assertSyncedModels, testApplyEditsWithSyncedModels} from 'vs/editor/test/common/model/editableTextModelTestUtils';
+import { Range } from 'vs/editor/common/core/range';
+import { EndOfLinePreference, EndOfLineSequence, IIdentifiedSingleEditOperation, IModelContentChangedEvent2 } from 'vs/editor/common/editorCommon';
+import { EditableTextModel, IValidatedEditOperation } from 'vs/editor/common/model/editableTextModel';
+import { MirrorModel2 } from 'vs/editor/common/model/mirrorModel2';
+import { TextModel } from 'vs/editor/common/model/textModel';
+import { assertSyncedModels, testApplyEditsWithSyncedModels } from 'vs/editor/test/common/model/editableTextModelTestUtils';
 
 suite('EditorModel - EditableTextModel._getInverseEdits', () => {
 
-	function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, rangeLength: number, text:string[]): IValidatedEditOperation {
+	function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, rangeLength: number, text: string[]): IValidatedEditOperation {
 		return {
 			sortIndex: 0,
 			identifier: null,
@@ -30,7 +30,7 @@ suite('EditorModel - EditableTextModel._getInverseEdits', () => {
 		return new Range(startLineNumber, startColumn, endLineNumber, endColumn);
 	}
 
-	function assertInverseEdits(ops:IValidatedEditOperation[], expected:Range[]): void {
+	function assertInverseEdits(ops: IValidatedEditOperation[], expected: Range[]): void {
 		var actual = EditableTextModel._getInverseEditRanges(ops);
 		assert.deepEqual(actual, expected);
 	}
@@ -264,7 +264,7 @@ suite('EditorModel - EditableTextModel._getInverseEdits', () => {
 
 suite('EditorModel - EditableTextModel._toSingleEditOperation', () => {
 
-	function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, rangeLength:number, text:string[]): IValidatedEditOperation {
+	function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, rangeLength: number, text: string[]): IValidatedEditOperation {
 		return {
 			sortIndex: 0,
 			identifier: null,
@@ -276,7 +276,7 @@ suite('EditorModel - EditableTextModel._toSingleEditOperation', () => {
 		};
 	}
 
-	function testSimpleApplyEdits(original:string[], edits:IValidatedEditOperation[], expected:IValidatedEditOperation): void {
+	function testSimpleApplyEdits(original: string[], edits: IValidatedEditOperation[], expected: IValidatedEditOperation): void {
 		let model = new EditableTextModel([], TextModel.toRawText(original.join('\n'), TextModel.DEFAULT_CREATION_OPTIONS), null);
 		model.setEOL(EndOfLineSequence.LF);
 
@@ -310,14 +310,14 @@ suite('EditorModel - EditableTextModel._toSingleEditOperation', () => {
 			'',
 			'1'
 		], [
-			editOp(1, 1, 1, 3, 0, ['Your']),
-			editOp(1, 4, 1, 4, 0, ['Interesting ']),
-			editOp(2, 3, 2, 6, 0, null)
-		],
-		editOp(1, 1, 2, 6, 19, [
-			'Your Interesting First Line',
-			'\t\t'
-		]));
+				editOp(1, 1, 1, 3, 0, ['Your']),
+				editOp(1, 4, 1, 4, 0, ['Interesting ']),
+				editOp(2, 3, 2, 6, 0, null)
+			],
+			editOp(1, 1, 2, 6, 19, [
+				'Your Interesting First Line',
+				'\t\t'
+			]));
 	});
 
 	test('insert multiple newlines', () => {
@@ -475,14 +475,14 @@ suite('EditorModel - EditableTextModel._toSingleEditOperation', () => {
 			],
 			[
 				editOp(1, 1, 1, 2, 0, ['']),
-				editOp(1, 3, 1, 10, 0, ['','  ']),
-				editOp(1, 16, 2, 14, 0, ['','    ']),
-				editOp(2, 18, 3, 9, 0, ['','  ']),
+				editOp(1, 3, 1, 10, 0, ['', '  ']),
+				editOp(1, 16, 2, 14, 0, ['', '    ']),
+				editOp(2, 18, 3, 9, 0, ['', '  ']),
 				editOp(3, 22, 4, 9, 0, ['']),
-				editOp(4, 10, 4, 10, 0, ['','  ']),
-				editOp(4, 28, 4, 28, 0, ['','    ']),
-				editOp(4, 32, 4, 32, 0, ['','  ']),
-				editOp(4, 33, 4, 34, 0, ['',''])
+				editOp(4, 10, 4, 10, 0, ['', '  ']),
+				editOp(4, 28, 4, 28, 0, ['', '    ']),
+				editOp(4, 32, 4, 32, 0, ['', '  ']),
+				editOp(4, 33, 4, 34, 0, ['', ''])
 			],
 			editOp(1, 1, 4, 34, 89, [
 				'{',
@@ -518,7 +518,7 @@ suite('EditorModel - EditableTextModel._toSingleEditOperation', () => {
 
 suite('EditorModel - EditableTextModel.applyEdits', () => {
 
-	function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, text:string[]): IIdentifiedSingleEditOperation {
+	function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, text: string[]): IIdentifiedSingleEditOperation {
 		return {
 			identifier: null,
 			range: new Range(startLineNumber, startColumn, endLineNumber, endColumn),
@@ -1149,14 +1149,14 @@ suite('EditorModel - EditableTextModel.applyEdits', () => {
 			],
 			[
 				editOp(1, 1, 1, 2, ['']),
-				editOp(1, 3, 1, 10, ['','  ']),
-				editOp(1, 16, 2, 14, ['','    ']),
-				editOp(2, 18, 3, 9, ['','  ']),
+				editOp(1, 3, 1, 10, ['', '  ']),
+				editOp(1, 16, 2, 14, ['', '    ']),
+				editOp(2, 18, 3, 9, ['', '  ']),
 				editOp(3, 22, 4, 9, ['']),
-				editOp(4, 10, 4, 10, ['','  ']),
-				editOp(4, 28, 4, 28, ['','    ']),
-				editOp(4, 32, 4, 32, ['','  ']),
-				editOp(4, 33, 4, 34, ['',''])
+				editOp(4, 10, 4, 10, ['', '  ']),
+				editOp(4, 28, 4, 28, ['', '    ']),
+				editOp(4, 32, 4, 32, ['', '  ']),
+				editOp(4, 33, 4, 34, ['', ''])
 			],
 			[
 				'{',
@@ -1269,13 +1269,13 @@ suite('EditorModel - EditableTextModel.applyEdits', () => {
 		);
 	});
 
-	function testApplyEditsFails(original:string[], edits:IIdentifiedSingleEditOperation[]): void {
+	function testApplyEditsFails(original: string[], edits: IIdentifiedSingleEditOperation[]): void {
 		let model = new EditableTextModel([], TextModel.toRawText(original.join('\n'), TextModel.DEFAULT_CREATION_OPTIONS), null);
 
 		let hasThrown = false;
 		try {
 			model.applyEdits(edits);
-		} catch(err) {
+		} catch (err) {
 			hasThrown = true;
 		}
 		assert.ok(hasThrown, 'expected model.applyEdits to fail.');
@@ -1441,7 +1441,7 @@ suite('EditorModel - EditableTextModel.applyEdits', () => {
 
 		}, (model) => {
 			var isFirstTime = true;
-			model.onDidChangeContent((e:IModelContentChangedEvent2) => {
+			model.onDidChangeContent((e: IModelContentChangedEvent2) => {
 				if (!isFirstTime) {
 					return;
 				}
@@ -1464,7 +1464,7 @@ suite('EditorModel - EditableTextModel.applyEdits', () => {
 		let mirrorModel2 = new MirrorModel2(null, model.toRawText().lines, model.toRawText().EOL, model.getVersionId());
 		let mirrorModel2PrevVersionId = model.getVersionId();
 
-		model.onDidChangeContent((e:IModelContentChangedEvent2) => {
+		model.onDidChangeContent((e: IModelContentChangedEvent2) => {
 			let versionId = e.versionId;
 			if (versionId < mirrorModel2PrevVersionId) {
 				console.warn('Model version id did not advance between edits (2)');
@@ -1496,7 +1496,7 @@ interface ILightWeightMarker {
 
 suite('EditorModel - EditableTextModel.applyEdits & markers', () => {
 
-	function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, text:string[]): IIdentifiedSingleEditOperation {
+	function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, text: string[]): IIdentifiedSingleEditOperation {
 		return {
 			identifier: null,
 			range: new Range(startLineNumber, startColumn, endLineNumber, endColumn),
@@ -1505,7 +1505,7 @@ suite('EditorModel - EditableTextModel.applyEdits & markers', () => {
 		};
 	}
 
-	function marker(id: string, lineNumber:number, column: number, stickToPreviousCharacter: boolean): ILightWeightMarker {
+	function marker(id: string, lineNumber: number, column: number, stickToPreviousCharacter: boolean): ILightWeightMarker {
 		return {
 			id: id,
 			lineNumber: lineNumber,
@@ -1514,15 +1514,15 @@ suite('EditorModel - EditableTextModel.applyEdits & markers', () => {
 		};
 	}
 
-	function toMarkersMap(markers:ILightWeightMarker[]): {[markerId:string]:ILightWeightMarker} {
-		var result: {[markerId:string]:ILightWeightMarker} = {};
+	function toMarkersMap(markers: ILightWeightMarker[]): { [markerId: string]: ILightWeightMarker } {
+		var result: { [markerId: string]: ILightWeightMarker } = {};
 		markers.forEach(m => {
 			result[m.id] = m;
 		});
 		return result;
 	}
 
-	function testApplyEditsAndMarkers(text:string[], markers:ILightWeightMarker[], edits:IIdentifiedSingleEditOperation[], changedMarkers:string[], expectedText:string[], expectedMarkers:ILightWeightMarker[]): void {
+	function testApplyEditsAndMarkers(text: string[], markers: ILightWeightMarker[], edits: IIdentifiedSingleEditOperation[], changedMarkers: string[], expectedText: string[], expectedMarkers: ILightWeightMarker[]): void {
 		var textStr = text.join('\n');
 		var expectedTextStr = expectedText.join('\n');
 		var markersMap = toMarkersMap(markers);
@@ -1666,7 +1666,7 @@ suite('EditorModel - EditableTextModel.applyEdits & markers', () => {
 				editOp(1, 7, 1, 12, ['friends']),
 				editOp(1, 13, 1, 13, ['', 'this is an inserted line', 'and another one. By the way,'])
 			],
-			['e','f','g','h'],
+			['e', 'f', 'g', 'h'],
 			[
 				'Hello friends,',
 				'this is an inserted line',
@@ -1716,7 +1716,7 @@ suite('EditorModel - EditableTextModel.applyEdits & markers', () => {
 				editOp(1, 13, 1, 13, ['', 'this is an inserted line', 'and another one. By the way,', 'This is another line']),
 				editOp(2, 1, 7, 14, ['Some new text here'])
 			],
-			['e','f','g','h', 'i', 'j', 'k'],
+			['e', 'f', 'g', 'h', 'i', 'j', 'k'],
 			[
 				'Hello friends,',
 				'this is an inserted line',
diff --git a/src/vs/editor/test/common/model/editableTextModelAuto.test.ts b/src/vs/editor/test/common/model/editableTextModelAuto.test.ts
index 32ea6d6ea4412..59094be270082 100644
--- a/src/vs/editor/test/common/model/editableTextModelAuto.test.ts
+++ b/src/vs/editor/test/common/model/editableTextModelAuto.test.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {IIdentifiedSingleEditOperation} from 'vs/editor/common/editorCommon';
-import {testApplyEditsWithSyncedModels} from 'vs/editor/test/common/model/editableTextModelTestUtils';
-import {CharCode} from 'vs/base/common/charCode';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { IIdentifiedSingleEditOperation } from 'vs/editor/common/editorCommon';
+import { testApplyEditsWithSyncedModels } from 'vs/editor/test/common/model/editableTextModelTestUtils';
+import { CharCode } from 'vs/base/common/charCode';
 
 const GENERATE_TESTS = false;
 
 suite('EditorModel Auto Tests', () => {
-	function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, text:string[]): IIdentifiedSingleEditOperation {
+	function editOp(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, text: string[]): IIdentifiedSingleEditOperation {
 		return {
 			identifier: null,
 			range: new Range(startLineNumber, startColumn, endLineNumber, endColumn),
@@ -25,24 +25,24 @@ suite('EditorModel Auto Tests', () => {
 	test('auto1', () => {
 		testApplyEditsWithSyncedModels(
 			[
-					'ioe',
-					'',
-					'yjct',
-					'',
-					'',
+				'ioe',
+				'',
+				'yjct',
+				'',
+				'',
 			],
 			[
 				editOp(1, 2, 1, 2, ['b', 'r', 'fq']),
 				editOp(1, 4, 2, 1, ['', '']),
 			],
 			[
-					'ib',
-					'r',
-					'fqoe',
-					'',
-					'yjct',
-					'',
-					'',
+				'ib',
+				'r',
+				'fqoe',
+				'',
+				'yjct',
+				'',
+				'',
 			]
 		);
 	});
@@ -50,25 +50,25 @@ suite('EditorModel Auto Tests', () => {
 	test('auto2', () => {
 		testApplyEditsWithSyncedModels(
 			[
-					'f',
-					'littnhskrq',
-					'utxvsizqnk',
-					'lslqz',
-					'jxn',
-					'gmm',
+				'f',
+				'littnhskrq',
+				'utxvsizqnk',
+				'lslqz',
+				'jxn',
+				'gmm',
 			],
 			[
-					editOp(1, 2, 1, 2, ['', 'o']),
-					editOp(2, 4, 2, 4, ['zaq', 'avb']),
-					editOp(2, 5, 6, 2, ['jlr', 'zl', 'j']),
+				editOp(1, 2, 1, 2, ['', 'o']),
+				editOp(2, 4, 2, 4, ['zaq', 'avb']),
+				editOp(2, 5, 6, 2, ['jlr', 'zl', 'j']),
 			],
 			[
-					'f',
-					'o',
-					'litzaq',
-					'avbtjlr',
-					'zl',
-					'jmm',
+				'f',
+				'o',
+				'litzaq',
+				'avbtjlr',
+				'zl',
+				'jmm',
 			]
 		);
 	});
@@ -76,31 +76,31 @@ suite('EditorModel Auto Tests', () => {
 	test('auto3', () => {
 		testApplyEditsWithSyncedModels(
 			[
-					'ofw',
-					'qsxmziuvzw',
-					'rp',
-					'qsnymek',
-					'elth',
-					'wmgzbwudxz',
-					'iwsdkndh',
-					'bujlbwb',
-					'asuouxfv',
-					'xuccnb',
+				'ofw',
+				'qsxmziuvzw',
+				'rp',
+				'qsnymek',
+				'elth',
+				'wmgzbwudxz',
+				'iwsdkndh',
+				'bujlbwb',
+				'asuouxfv',
+				'xuccnb',
 			],
 			[
-					editOp(4, 3, 4, 3, ['']),
+				editOp(4, 3, 4, 3, ['']),
 			],
 			[
-					'ofw',
-					'qsxmziuvzw',
-					'rp',
-					'qsnymek',
-					'elth',
-					'wmgzbwudxz',
-					'iwsdkndh',
-					'bujlbwb',
-					'asuouxfv',
-					'xuccnb',
+				'ofw',
+				'qsxmziuvzw',
+				'rp',
+				'qsnymek',
+				'elth',
+				'wmgzbwudxz',
+				'iwsdkndh',
+				'bujlbwb',
+				'asuouxfv',
+				'xuccnb',
 			]
 		);
 	});
@@ -148,7 +148,7 @@ function getRandomString(minLength: number, maxLength: number): string {
 	return r;
 }
 
-function generateFile(small:boolean): string {
+function generateFile(small: boolean): string {
 	let lineCount = getRandomInt(1, small ? 3 : 10);
 	let lines: string[] = [];
 	for (let i = 0; i < lineCount; i++) {
@@ -157,9 +157,9 @@ function generateFile(small:boolean): string {
 	return lines.join('\n');
 }
 
-function generateEdits(content:string): ITestModelEdit[] {
+function generateEdits(content: string): ITestModelEdit[] {
 
-	let result:ITestModelEdit[] = [];
+	let result: ITestModelEdit[] = [];
 	let cnt = getRandomInt(1, 5);
 
 	let maxOffset = content.length;
@@ -197,7 +197,7 @@ class TestModel {
 	public resultingContent: string;
 	public edits: IIdentifiedSingleEditOperation[];
 
-	private static _generateOffsetToPosition(content:string): Position[] {
+	private static _generateOffsetToPosition(content: string): Position[] {
 		let result: Position[] = [];
 		let lineNumber = 1;
 		let column = 1;
@@ -271,7 +271,7 @@ class TestModel {
 
 if (GENERATE_TESTS) {
 	let number = 1;
-	while(true) {
+	while (true) {
 
 		console.log('------BEGIN NEW TEST: ' + number);
 
@@ -288,7 +288,7 @@ if (GENERATE_TESTS) {
 				testModel.resultingContent.split('\n')
 			);
 			// throw new Error('a');
-		} catch(err) {
+		} catch (err) {
 			console.log(err);
 			console.log(testModel.print());
 			break;
diff --git a/src/vs/editor/test/common/model/editableTextModelTestUtils.ts b/src/vs/editor/test/common/model/editableTextModelTestUtils.ts
index afde76f3171d8..f2b8a8fdc8fd7 100644
--- a/src/vs/editor/test/common/model/editableTextModelTestUtils.ts
+++ b/src/vs/editor/test/common/model/editableTextModelTestUtils.ts
@@ -6,12 +6,12 @@
 
 import * as assert from 'assert';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {EditableTextModel} from 'vs/editor/common/model/editableTextModel';
-import {MirrorModel2} from 'vs/editor/common/model/mirrorModel2';
-import {TextModel} from 'vs/editor/common/model/textModel';
-import {Position} from 'vs/editor/common/core/position';
+import { EditableTextModel } from 'vs/editor/common/model/editableTextModel';
+import { MirrorModel2 } from 'vs/editor/common/model/mirrorModel2';
+import { TextModel } from 'vs/editor/common/model/textModel';
+import { Position } from 'vs/editor/common/core/position';
 
-export function testApplyEditsWithSyncedModels(original:string[], edits:editorCommon.IIdentifiedSingleEditOperation[], expected:string[], inputEditsAreInvalid:boolean = false): void {
+export function testApplyEditsWithSyncedModels(original: string[], edits: editorCommon.IIdentifiedSingleEditOperation[], expected: string[], inputEditsAreInvalid: boolean = false): void {
 	var originalStr = original.join('\n');
 	var expectedStr = expected.join('\n');
 
@@ -44,13 +44,13 @@ const enum AssertDocumentLineMappingDirection {
 	PositionToOffset
 }
 
-function assertOneDirectionLineMapping(model:TextModel, direction:AssertDocumentLineMappingDirection, msg:string): void {
+function assertOneDirectionLineMapping(model: TextModel, direction: AssertDocumentLineMappingDirection, msg: string): void {
 	let allText = model.getValue();
 
 	let line = 1, column = 1, previousIsCarriageReturn = false;
 	for (let offset = 0; offset <= allText.length; offset++) {
 		// The position coordinate system cannot express the position between \r and \n
-		let	position = new Position(line, column + (previousIsCarriageReturn ? -1 : 0));
+		let position = new Position(line, column + (previousIsCarriageReturn ? -1 : 0));
 
 		if (direction === AssertDocumentLineMappingDirection.OffsetToPosition) {
 			let actualPosition = model.getPositionAt(offset);
@@ -73,13 +73,13 @@ function assertOneDirectionLineMapping(model:TextModel, direction:AssertDocument
 	}
 }
 
-function assertLineMapping(model:TextModel, msg:string): void {
+function assertLineMapping(model: TextModel, msg: string): void {
 	assertOneDirectionLineMapping(model, AssertDocumentLineMappingDirection.PositionToOffset, msg);
 	assertOneDirectionLineMapping(model, AssertDocumentLineMappingDirection.OffsetToPosition, msg);
 }
 
 
-export function assertSyncedModels(text:string, callback:(model:EditableTextModel, assertMirrorModels:()=>void)=>void, setup:(model:EditableTextModel)=>void = null): void {
+export function assertSyncedModels(text: string, callback: (model: EditableTextModel, assertMirrorModels: () => void) => void, setup: (model: EditableTextModel) => void = null): void {
 	var model = new EditableTextModel([], TextModel.toRawText(text, TextModel.DEFAULT_CREATION_OPTIONS), null);
 	model.setEOL(editorCommon.EndOfLineSequence.LF);
 	assertLineMapping(model, 'model');
@@ -92,7 +92,7 @@ export function assertSyncedModels(text:string, callback:(model:EditableTextMode
 	var mirrorModel2 = new MirrorModel2(null, model.toRawText().lines, model.toRawText().EOL, model.getVersionId());
 	var mirrorModel2PrevVersionId = model.getVersionId();
 
-	model.onDidChangeContent((e:editorCommon.IModelContentChangedEvent2) => {
+	model.onDidChangeContent((e: editorCommon.IModelContentChangedEvent2) => {
 		let versionId = e.versionId;
 		if (versionId < mirrorModel2PrevVersionId) {
 			console.warn('Model version id did not advance between edits (2)');
diff --git a/src/vs/editor/test/common/model/indentRanges.test.ts b/src/vs/editor/test/common/model/indentRanges.test.ts
index 0d6683ab17110..f65722224b9be 100644
--- a/src/vs/editor/test/common/model/indentRanges.test.ts
+++ b/src/vs/editor/test/common/model/indentRanges.test.ts
@@ -6,12 +6,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Model} from 'vs/editor/common/model/model';
-import {IFoldingRange} from 'vs/editor/contrib/folding/common/foldingModel';
-import {computeRanges} from 'vs/editor/common/model/indentRanges';
+import { Model } from 'vs/editor/common/model/model';
+import { IFoldingRange } from 'vs/editor/contrib/folding/common/foldingModel';
+import { computeRanges } from 'vs/editor/common/model/indentRanges';
 
 suite('Indentation Folding', () => {
-	function assertRanges(lines: string[], expected:IFoldingRange[]): void {
+	function assertRanges(lines: string[], expected: IFoldingRange[]): void {
 		let model = Model.createFromString(lines.join('\n'));
 		let actual = computeRanges(model);
 		actual.sort((r1, r2) => r1.startLineNumber - r2.startLineNumber);
@@ -39,7 +39,7 @@ suite('Indentation Folding', () => {
 			'  A',
 			'    A',
 			'    A'
-		], [r(1, 5, 0), r(3, 5, 2)] );
+		], [r(1, 5, 0), r(3, 5, 2)]);
 	});
 
 	test('Fold three levels', () => {
@@ -49,7 +49,7 @@ suite('Indentation Folding', () => {
 			'    A',
 			'      A',
 			'A'
-		], [r(1, 4, 0), r(2, 4, 2), r(3, 4, 4)] );
+		], [r(1, 4, 0), r(2, 4, 2), r(3, 4, 4)]);
 	});
 
 	test('Fold decreasing indent', () => {
@@ -57,7 +57,7 @@ suite('Indentation Folding', () => {
 			'    A',
 			'  A',
 			'A'
-		], [] );
+		], []);
 	});
 
 	test('Fold Java', () => {
@@ -75,7 +75,7 @@ suite('Indentation Folding', () => {
 		/*11*/	'interface B {',
 		/*12*/	'  void bar();',
 		/*13*/	'}',
-		], [r(1, 9, 0), r(2, 4, 2), r(7, 8, 2), r(11, 12, 0)] );
+		], [r(1, 9, 0), r(2, 4, 2), r(7, 8, 2), r(11, 12, 0)]);
 	});
 
 	test('Fold Javadoc', () => {
@@ -87,7 +87,7 @@ suite('Indentation Folding', () => {
 		/* 5*/	'  void foo() {',
 		/* 6*/	'  }',
 		/* 7*/	'}',
-		], [r(1, 3, 0), r(4, 6, 0)] );
+		], [r(1, 3, 0), r(4, 6, 0)]);
 	});
 	test('Fold Whitespace', () => {
 		assertRanges([
@@ -99,7 +99,7 @@ suite('Indentation Folding', () => {
 		/* 6*/	'  }',
 		/* 7*/	'      ',
 		/* 8*/	'}',
-		], [r(1, 7, 0), r(3, 5, 2)] );
+		], [r(1, 7, 0), r(3, 5, 2)]);
 	});
 
 	test('Fold Tabs', () => {
@@ -112,6 +112,6 @@ suite('Indentation Folding', () => {
 		/* 6*/	'  \t}',
 		/* 7*/	'      ',
 		/* 8*/	'}',
-		], [r(1, 7, 0), r(3, 5, 4)] );
+		], [r(1, 7, 0), r(3, 5, 4)]);
 	});
 });
diff --git a/src/vs/editor/test/common/model/model.line.test.ts b/src/vs/editor/test/common/model/model.line.test.ts
index 070113d2b84af..80e28bb5494b5 100644
--- a/src/vs/editor/test/common/model/model.line.test.ts
+++ b/src/vs/editor/test/common/model/model.line.test.ts
@@ -5,13 +5,13 @@
 'use strict';
 
 import * as assert from 'assert';
-import {LineTokens} from 'vs/editor/common/core/lineTokens';
-import {ModelLine, ILineEdit, ILineMarker} from 'vs/editor/common/model/modelLine';
-import {LineMarker} from 'vs/editor/common/model/textModelWithMarkers';
-import {TokensInflatorMap} from 'vs/editor/common/model/tokensBinaryEncoding';
-import {Token} from 'vs/editor/common/core/token';
+import { LineTokens } from 'vs/editor/common/core/lineTokens';
+import { ModelLine, ILineEdit, ILineMarker } from 'vs/editor/common/model/modelLine';
+import { LineMarker } from 'vs/editor/common/model/textModelWithMarkers';
+import { TokensInflatorMap } from 'vs/editor/common/model/tokensBinaryEncoding';
+import { Token } from 'vs/editor/common/core/token';
 
-function assertLineTokens(actual:LineTokens, expected:Token[]): void {
+function assertLineTokens(actual: LineTokens, expected: Token[]): void {
 	var inflatedActual = actual.inflate();
 	assert.deepEqual(inflatedActual, expected, 'Line tokens are equal');
 }
@@ -19,7 +19,7 @@ function assertLineTokens(actual:LineTokens, expected:Token[]): void {
 const NO_TAB_SIZE = 0;
 
 suite('ModelLine - getIndentLevel', () => {
-	function assertIndentLevel(text:string, expected:number, tabSize:number = 4): void {
+	function assertIndentLevel(text: string, expected: number, tabSize: number = 4): void {
 		let modelLine = new ModelLine(1, text, tabSize);
 		let actual = modelLine.getIndentLevel();
 		assert.equal(actual, expected, text);
@@ -45,13 +45,13 @@ suite('ModelLine - getIndentLevel', () => {
 
 suite('Editor Model - modelLine.applyEdits text', () => {
 
-	function testEdits(initial:string, edits:ILineEdit[], expected:string): void {
+	function testEdits(initial: string, edits: ILineEdit[], expected: string): void {
 		var line = new ModelLine(1, initial, NO_TAB_SIZE);
 		line.applyEdits({}, edits, NO_TAB_SIZE);
 		assert.equal(line.text, expected);
 	}
 
-	function editOp(startColumn: number, endColumn: number, text:string): ILineEdit {
+	function editOp(startColumn: number, endColumn: number, text: string): ILineEdit {
 		return {
 			startColumn: startColumn,
 			endColumn: endColumn,
@@ -192,7 +192,7 @@ suite('Editor Model - modelLine.applyEdits text', () => {
 
 suite('Editor Model - modelLine.split text', () => {
 
-	function testLineSplit(initial:string, splitColumn:number, expected1:string, expected2:string): void {
+	function testLineSplit(initial: string, splitColumn: number, expected1: string, expected2: string): void {
 		var line = new ModelLine(1, initial, NO_TAB_SIZE);
 		var newLine = line.split({}, splitColumn, false, NO_TAB_SIZE);
 		assert.equal(line.text, expected1);
@@ -229,7 +229,7 @@ suite('Editor Model - modelLine.split text', () => {
 
 suite('Editor Model - modelLine.append text', () => {
 
-	function testLineAppend(a:string, b:string, expected:string): void {
+	function testLineAppend(a: string, b: string, expected: string): void {
 		var line1 = new ModelLine(1, a, NO_TAB_SIZE);
 		var line2 = new ModelLine(2, b, NO_TAB_SIZE);
 		line1.append({}, line2, NO_TAB_SIZE);
@@ -262,7 +262,7 @@ suite('Editor Model - modelLine.append text', () => {
 });
 
 suite('Editor Model - modelLine.applyEdits text & tokens', () => {
-	function testLineEditTokens(initialText:string, initialTokens: Token[], edits:ILineEdit[], expectedText:string, expectedTokens: Token[]): void {
+	function testLineEditTokens(initialText: string, initialTokens: Token[], edits: ILineEdit[], expectedText: string, expectedTokens: Token[]): void {
 		let line = new ModelLine(1, initialText, NO_TAB_SIZE);
 		let map = new TokensInflatorMap(null);
 		line.setTokens(map, initialTokens, []);
@@ -278,10 +278,10 @@ suite('Editor Model - modelLine.applyEdits text & tokens', () => {
 		let map = new TokensInflatorMap(null);
 		line.setTokens(map, [new Token(0, 'bar')], []);
 
-		line.applyEdits({}, [{startColumn:1, endColumn:10, text:'', forceMoveMarkers: false}], NO_TAB_SIZE);
+		line.applyEdits({}, [{ startColumn: 1, endColumn: 10, text: '', forceMoveMarkers: false }], NO_TAB_SIZE);
 		line.setTokens(map, [], []);
 
-		line.applyEdits({}, [{startColumn:1, endColumn:1, text:'a', forceMoveMarkers: false}], NO_TAB_SIZE);
+		line.applyEdits({}, [{ startColumn: 1, endColumn: 1, text: 'a', forceMoveMarkers: false }], NO_TAB_SIZE);
 		assertLineTokens(line.getTokens(map), [new Token(0, '')]);
 	});
 
@@ -547,8 +547,8 @@ suite('Editor Model - modelLine.applyEdits text & tokens', () => {
 			}],
 			'abchellodefghij',
 			[
-				new Token( 0, '1'),
-				new Token( 8, '2'),
+				new Token(0, '1'),
+				new Token(8, '2'),
 				new Token(11, '3')
 			]
 		);
@@ -794,8 +794,8 @@ suite('Editor Model - modelLine.applyEdits text & tokens', () => {
 				new Token(0, 'hello'),
 				new Token(2, ''),
 				new Token(3, 'world'),
-				new Token(8, '' ),
-				new Token(10, '' ),
+				new Token(8, ''),
+				new Token(10, ''),
 			]
 		);
 	});
@@ -834,7 +834,7 @@ suite('Editor Model - modelLine.applyEdits text & tokens', () => {
 });
 
 suite('Editor Model - modelLine.split text & tokens', () => {
-	function testLineSplitTokens(initialText:string, initialTokens: Token[], splitColumn:number, expectedText1:string, expectedText2:string, expectedTokens: Token[]): void {
+	function testLineSplitTokens(initialText: string, initialTokens: Token[], splitColumn: number, expectedText1: string, expectedText2: string, expectedTokens: Token[]): void {
 		let line = new ModelLine(1, initialText, NO_TAB_SIZE);
 		let map = new TokensInflatorMap(null);
 		line.setTokens(map, initialTokens, []);
@@ -917,7 +917,7 @@ suite('Editor Model - modelLine.split text & tokens', () => {
 });
 
 suite('Editor Model - modelLine.append text & tokens', () => {
-	function testLineAppendTokens(aText:string, aTokens: Token[], bText:string, bTokens:Token[], expectedText:string, expectedTokens:Token[]): void {
+	function testLineAppendTokens(aText: string, aTokens: Token[], bText: string, bTokens: Token[], expectedText: string, expectedTokens: Token[]): void {
 		let inflator = new TokensInflatorMap(null);
 
 		let a = new ModelLine(1, aText, NO_TAB_SIZE);
@@ -1049,7 +1049,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 		return new LineMarker(String(id), column, stickToPreviousCharacter);
 	}
 
-	function toLightWeightMarker(marker:ILineMarker): ILightWeightMarker {
+	function toLightWeightMarker(marker: ILineMarker): ILightWeightMarker {
 		return {
 			id: marker.id,
 			column: marker.column,
@@ -1057,7 +1057,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 		};
 	}
 
-	function testLineEditMarkers(initialText:string, initialMarkers: LineMarker[], edits:ILineEdit[], expectedText:string, expectedChangedMarkers:number[], _expectedMarkers: LineMarker[]): void {
+	function testLineEditMarkers(initialText: string, initialMarkers: LineMarker[], edits: ILineEdit[], expectedText: string, expectedChangedMarkers: number[], _expectedMarkers: LineMarker[]): void {
 		let line = new ModelLine(1, initialText, NO_TAB_SIZE);
 		line.addMarkers(initialMarkers);
 
@@ -1095,7 +1095,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'abcabcd efgh',
-			[2,3,4,5,6,7,8],
+			[2, 3, 4, 5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 4, false),
@@ -1129,7 +1129,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'aabcbcd efgh',
-			[4,5,6,7,8],
+			[4, 5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -1163,7 +1163,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'ababccd efgh',
-			[5,6,7,8],
+			[5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -1197,7 +1197,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'abcdabc efgh',
-			[6,7,8],
+			[6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -1265,7 +1265,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'aabcd efgh',
-			[2,3,4,5,6,7,8],
+			[2, 3, 4, 5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 2, false),
@@ -1299,7 +1299,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'aabcd efgh',
-			[4,5,6,7,8],
+			[4, 5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -1333,7 +1333,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'abacd efgh',
-			[5,6,7,8],
+			[5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -1367,7 +1367,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'abcda efgh',
-			[6,7,8],
+			[6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -1511,7 +1511,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'bcd efgh',
-			[3,4,5,6,7,8],
+			[3, 4, 5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -1545,7 +1545,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'd efgh',
-			[3,4,5,6,7,8],
+			[3, 4, 5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -1579,7 +1579,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'abcdefgh',
-			[7,8],
+			[7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -1618,7 +1618,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			'aacd efgh',
-			[2,3,4],
+			[2, 3, 4],
 			[
 				marker(1, 1, true),
 				marker(2, 2, false),
@@ -1680,7 +1680,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			' - Hello, how are things',
-			[1,2,3,4],
+			[1, 2, 3, 4],
 			[
 				marker(1, 4, false),
 				marker(2, 9, true),
@@ -1716,7 +1716,7 @@ suite('Editor Model - modelLine.applyEdits text & markers', () => {
 				forceMoveMarkers: false
 			}],
 			' - Hello, how are things',
-			[1,2,3,4],
+			[1, 2, 3, 4],
 			[
 				marker(1, 4, false),
 				marker(2, 9, true),
@@ -1865,7 +1865,7 @@ suite('Editor Model - modelLine.split text & markers', () => {
 		return new LineMarker(String(id), column, stickToPreviousCharacter);
 	}
 
-	function toLightWeightMarker(marker:ILineMarker): ILightWeightMarker {
+	function toLightWeightMarker(marker: ILineMarker): ILightWeightMarker {
 		return {
 			id: marker.id,
 			column: marker.column,
@@ -1873,7 +1873,7 @@ suite('Editor Model - modelLine.split text & markers', () => {
 		};
 	}
 
-	function testLineSplitMarkers(initialText:string, initialMarkers: LineMarker[], splitColumn:number, forceMoveMarkers:boolean, expectedText1:string, expectedText2:string, expectedChangedMarkers:number[], _expectedMarkers1: LineMarker[], _expectedMarkers2: LineMarker[]): void {
+	function testLineSplitMarkers(initialText: string, initialMarkers: LineMarker[], splitColumn: number, forceMoveMarkers: boolean, expectedText1: string, expectedText2: string, expectedChangedMarkers: number[], _expectedMarkers1: LineMarker[], _expectedMarkers2: LineMarker[]): void {
 		let line = new ModelLine(1, initialText, NO_TAB_SIZE);
 		line.addMarkers(initialMarkers);
 
@@ -1913,7 +1913,7 @@ suite('Editor Model - modelLine.split text & markers', () => {
 			false,
 			'',
 			'abcd efgh',
-			[2,3,4,5,6,7,8],
+			[2, 3, 4, 5, 6, 7, 8],
 			[
 				marker(1, 1, true)
 			],
@@ -1946,7 +1946,7 @@ suite('Editor Model - modelLine.split text & markers', () => {
 			true,
 			'',
 			'abcd efgh',
-			[1,2,3,4,5,6,7,8],
+			[1, 2, 3, 4, 5, 6, 7, 8],
 			[],
 			[
 				marker(1, 1, true),
@@ -2011,7 +2011,7 @@ suite('Editor Model - modelLine.split text & markers', () => {
 			false,
 			'a',
 			'bcd efgh',
-			[4,5,6,7,8],
+			[4, 5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -2044,7 +2044,7 @@ suite('Editor Model - modelLine.split text & markers', () => {
 			false,
 			'ab',
 			'cd efgh',
-			[5,6,7,8],
+			[5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -2077,7 +2077,7 @@ suite('Editor Model - modelLine.split text & markers', () => {
 			false,
 			'abcd',
 			' efgh',
-			[6,7,8],
+			[6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -2110,7 +2110,7 @@ suite('Editor Model - modelLine.split text & markers', () => {
 			false,
 			'abcd ',
 			'efgh',
-			[7,8],
+			[7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -2133,7 +2133,7 @@ suite('Editor Model - modelLine.append text & markers', () => {
 		return new LineMarker(String(id), column, stickToPreviousCharacter);
 	}
 
-	function toLightWeightMarker(marker:ILineMarker): ILightWeightMarker {
+	function toLightWeightMarker(marker: ILineMarker): ILightWeightMarker {
 		return {
 			id: marker.id,
 			column: marker.column,
@@ -2141,7 +2141,7 @@ suite('Editor Model - modelLine.append text & markers', () => {
 		};
 	}
 
-	function testLinePrependMarkers(aText:string, aMarkers: LineMarker[], bText:string, bMarkers: LineMarker[], expectedText:string, expectedChangedMarkers:number[], _expectedMarkers: LineMarker[]): void {
+	function testLinePrependMarkers(aText: string, aMarkers: LineMarker[], bText: string, bMarkers: LineMarker[], expectedText: string, expectedChangedMarkers: number[], _expectedMarkers: LineMarker[]): void {
 		let a = new ModelLine(1, aText, NO_TAB_SIZE);
 		a.addMarkers(aMarkers);
 
@@ -2210,7 +2210,7 @@ suite('Editor Model - modelLine.append text & markers', () => {
 				marker(8, 10, false),
 			],
 			'abcd efgh',
-			[1,2,3,4,5,6,7,8],
+			[1, 2, 3, 4, 5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -2241,7 +2241,7 @@ suite('Editor Model - modelLine.append text & markers', () => {
 				marker(8, 6, false),
 			],
 			'abcd efgh',
-			[5,6,7,8],
+			[5, 6, 7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
@@ -2272,7 +2272,7 @@ suite('Editor Model - modelLine.append text & markers', () => {
 				marker(8, 4, false),
 			],
 			'abcd efgh',
-			[7,8],
+			[7, 8],
 			[
 				marker(1, 1, true),
 				marker(2, 1, false),
diff --git a/src/vs/editor/test/common/model/model.modes.test.ts b/src/vs/editor/test/common/model/model.modes.test.ts
index c6fc70968d77b..15d3f85d9a65b 100644
--- a/src/vs/editor/test/common/model/model.modes.test.ts
+++ b/src/vs/editor/test/common/model/model.modes.test.ts
@@ -5,14 +5,14 @@
 'use strict';
 
 import * as assert from 'assert';
-import {EditOperation} from 'vs/editor/common/core/editOperation';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {Model} from 'vs/editor/common/model/model';
-import {AbstractState, ITokenizationResult} from 'vs/editor/common/modes/abstractState';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { Model } from 'vs/editor/common/model/model';
+import { AbstractState, ITokenizationResult } from 'vs/editor/common/modes/abstractState';
 import * as modes from 'vs/editor/common/modes';
-import {TokenizationSupport} from 'vs/editor/common/modes/supports/tokenizationSupport';
-import {LineStream} from 'vs/editor/common/modes/lineStream';
+import { TokenizationSupport } from 'vs/editor/common/modes/supports/tokenizationSupport';
+import { LineStream } from 'vs/editor/common/modes/lineStream';
 
 // --------- utils
 
@@ -33,13 +33,13 @@ suite('Editor Model - Model Modes 1', () => {
 	let thisModel: Model;
 
 	class ModelState1 extends AbstractState {
-		public makeClone():ModelState1 {
+		public makeClone(): ModelState1 {
 			return this;
 		}
 		public equals(other: modes.IState): boolean {
 			return this === other;
 		}
-		public tokenize(stream:LineStream): ITokenizationResult {
+		public tokenize(stream: LineStream): ITokenizationResult {
 			let chr = stream.peek();
 			stream.advance(1);
 			calledState.calledFor.push(chr);
@@ -48,7 +48,7 @@ suite('Editor Model - Model Modes 1', () => {
 		}
 	}
 
-	function checkAndClear(calledState: { calledFor: string[] }, arr:string[]) {
+	function checkAndClear(calledState: { calledFor: string[] }, arr: string[]) {
 		assert.deepEqual(calledState.calledFor, arr);
 		calledState.calledFor = [];
 	}
@@ -176,24 +176,24 @@ suite('Editor Model - Model Modes 2', () => {
 
 	class ModelState2 extends AbstractState {
 
-		private prevLineContent:string;
+		private prevLineContent: string;
 
-		constructor(modeId:string, prevLineContent:string) {
+		constructor(modeId: string, prevLineContent: string) {
 			super(modeId);
 			this.prevLineContent = prevLineContent;
 		}
 
-		public makeClone():ModelState2 {
+		public makeClone(): ModelState2 {
 			return new ModelState2(this.getModeId(), this.prevLineContent);
 		}
 
-		public equals(other: modes.IState):boolean {
+		public equals(other: modes.IState): boolean {
 			return (other instanceof ModelState2) && (this.prevLineContent === (<ModelState2>other).prevLineContent);
 		}
 
-		public tokenize(stream:LineStream):ITokenizationResult {
-			var line= stream.advanceToEOS();
-			this.prevLineContent= line;
+		public tokenize(stream: LineStream): ITokenizationResult {
+			var line = stream.advanceToEOS();
+			this.prevLineContent = line;
 			return { type: '' };
 		}
 	}
@@ -215,7 +215,7 @@ suite('Editor Model - Model Modes 2', () => {
 		assert.equal(state.prevLineContent, content);
 	}
 
-	function statesEqual(model:Model, states:string[]) {
+	function statesEqual(model: Model, states: string[]) {
 		var i, len = states.length - 1;
 		for (i = 0; i < len; i++) {
 			stateEqual(model._lines[i].getState(), states[i]);
@@ -308,26 +308,26 @@ suite('Editor Model - Token Iterator', () => {
 
 	class NState extends AbstractState {
 
-		private n:number;
-		private allResults:ITokenizationResult[];
+		private n: number;
+		private allResults: ITokenizationResult[];
 
-		constructor(modeId:string, n:number) {
+		constructor(modeId: string, n: number) {
 			super(modeId);
 			this.n = n;
 			this.allResults = null;
 		}
 
-		public makeClone():NState {
+		public makeClone(): NState {
 			return this;
 		}
 
-		public equals(other: modes.IState):boolean {
+		public equals(other: modes.IState): boolean {
 			return true;
 		}
 
-		public tokenize(stream:LineStream):ITokenizationResult {
+		public tokenize(stream: LineStream): ITokenizationResult {
 			var ndash = this.n, value = '';
-			while(!stream.eos() && ndash > 0) {
+			while (!stream.eos() && ndash > 0) {
 				let chr = stream.peek();
 				stream.advance(1);
 				value += chr;
@@ -363,9 +363,9 @@ suite('Editor Model - Token Iterator', () => {
 		];
 		thisModel.tokenIterator(new Position(1, 1), (iter) => {
 			var a = [], line = 0;
-			while(iter.hasNext()) {
+			while (iter.hasNext()) {
 				calls++;
-				if(a.length === 0) {
+				if (a.length === 0) {
 					a = ranges.shift();
 					line += 1;
 				}
@@ -381,7 +381,7 @@ suite('Editor Model - Token Iterator', () => {
 	test('all tokens from beginning with next', () => {
 		var n = 0;
 		thisModel.tokenIterator(new Position(1, 1), (iter) => {
-			while(iter.hasNext()) {
+			while (iter.hasNext()) {
 				iter.next();
 				n++;
 			}
@@ -392,7 +392,7 @@ suite('Editor Model - Token Iterator', () => {
 	test('all tokens from beginning with prev', () => {
 		var n = 0;
 		thisModel.tokenIterator(new Position(1, 1), (iter) => {
-			while(iter.hasPrev()) {
+			while (iter.hasPrev()) {
 				iter.prev();
 				n++;
 			}
@@ -403,7 +403,7 @@ suite('Editor Model - Token Iterator', () => {
 	test('all tokens from end with prev', () => {
 		var n = 0;
 		thisModel.tokenIterator(new Position(3, 12), (iter) => {
-			while(iter.hasPrev()) {
+			while (iter.hasPrev()) {
 				iter.prev();
 				n++;
 			}
@@ -414,7 +414,7 @@ suite('Editor Model - Token Iterator', () => {
 	test('all tokens from end with next', () => {
 		var n = 0;
 		thisModel.tokenIterator(new Position(3, 12), (iter) => {
-			while(iter.hasNext()) {
+			while (iter.hasNext()) {
 				iter.next();
 				n++;
 			}
@@ -467,12 +467,12 @@ suite('Editor Model - Token Iterator', () => {
 		var n = 0;
 		var up = [], down = [];
 		thisModel.tokenIterator(new Position(1, 1), (iter) => {
-			while(iter.hasNext()) {
+			while (iter.hasNext()) {
 				var next = iter.next();
 				up.push(next);
 				n++;
 			}
-			while(iter.hasPrev()) {
+			while (iter.hasPrev()) {
 				var prev = iter.prev();
 				down.push(prev);
 				n++;
@@ -481,7 +481,7 @@ suite('Editor Model - Token Iterator', () => {
 		assert.equal(n, 24);
 		assert.equal(up.length, 12);
 		assert.equal(down.length, 12);
-		while(up.length) {
+		while (up.length) {
 			assert.deepEqual(up.pop(), down.shift());
 		}
 	});
@@ -490,12 +490,12 @@ suite('Editor Model - Token Iterator', () => {
 		var n = 0;
 		var up = [], down = [];
 		thisModel.tokenIterator(new Position(3, 12), (iter) => {
-			while(iter.hasPrev()) {
+			while (iter.hasPrev()) {
 				var prev = iter.prev();
 				down.push(prev);
 				n++;
 			}
-			while(iter.hasNext()) {
+			while (iter.hasNext()) {
 				var next = iter.next();
 				up.push(next);
 				n++;
@@ -504,7 +504,7 @@ suite('Editor Model - Token Iterator', () => {
 		assert.equal(n, 24);
 		assert.equal(up.length, 12);
 		assert.equal(down.length, 12);
-		while(up.length) {
+		while (up.length) {
 			assert.deepEqual(up.pop(), down.shift());
 		}
 	});
@@ -520,25 +520,25 @@ suite('Editor Model - Token Iterator', () => {
 		try {
 			illegalIterReference.hasNext();
 			assert.ok(false);
-		} catch(e) {
+		} catch (e) {
 			assert.ok(true);
 		}
 		try {
 			illegalIterReference.next();
 			assert.ok(false);
-		} catch(e) {
+		} catch (e) {
 			assert.ok(true);
 		}
 		try {
 			illegalIterReference.hasPrev();
 			assert.ok(false);
-		} catch(e) {
+		} catch (e) {
 			assert.ok(true);
 		}
 		try {
 			illegalIterReference.prev();
 			assert.ok(false);
-		} catch(e) {
+		} catch (e) {
 			assert.ok(true);
 		}
 	});
diff --git a/src/vs/editor/test/common/model/model.test.ts b/src/vs/editor/test/common/model/model.test.ts
index 2a1a42834ec83..9e1e6758b3c55 100644
--- a/src/vs/editor/test/common/model/model.test.ts
+++ b/src/vs/editor/test/common/model/model.test.ts
@@ -5,15 +5,15 @@
 'use strict';
 
 import * as assert from 'assert';
-import {EditOperation} from 'vs/editor/common/core/editOperation';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
 import {
 	EventType, IModelContentChangedEvent, IModelContentChangedFlushEvent, IModelContentChangedLineChangedEvent,
 	IModelContentChangedLinesDeletedEvent, IModelContentChangedLinesInsertedEvent
 } from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
-import {TextModel} from 'vs/editor/common/model/textModel';
+import { Model } from 'vs/editor/common/model/model';
+import { TextModel } from 'vs/editor/common/model/textModel';
 
 // --------- utils
 
@@ -131,7 +131,7 @@ suite('Editor Model - Model', () => {
 				assert.equal((<IModelContentChangedLinesInsertedEvent>e).fromLineNumber, 2, 'ModelContentChangedLinesInserted fromLineNumber');
 				assert.equal((<IModelContentChangedLinesInsertedEvent>e).toLineNumber, 2, 'ModelContentChangedLinesInserted toLineNumber');
 			} else {
-				assert.ok (false);
+				assert.ok(false);
 			}
 
 		});
@@ -238,7 +238,7 @@ suite('Editor Model - Model', () => {
 				assert.equal((<IModelContentChangedLinesDeletedEvent>e).fromLineNumber, 2);
 				assert.equal((<IModelContentChangedLinesDeletedEvent>e).toLineNumber, 2);
 			} else {
-				assert.ok (false);
+				assert.ok(false);
 			}
 
 		});
@@ -266,7 +266,7 @@ suite('Editor Model - Model', () => {
 				assert.equal((<IModelContentChangedLinesDeletedEvent>e).fromLineNumber, 2);
 				assert.equal((<IModelContentChangedLinesDeletedEvent>e).toLineNumber, 3);
 			} else {
-				assert.ok (false);
+				assert.ok(false);
 			}
 
 		});
@@ -309,12 +309,12 @@ suite('Editor Model - Model', () => {
 	// --------- setValue
 	test('setValue eventing', () => {
 		var listenerCalls = 0;
-		thisModel.onDidChangeRawContent((e:IModelContentChangedEvent) => {
+		thisModel.onDidChangeRawContent((e: IModelContentChangedEvent) => {
 			listenerCalls++;
 
 			assert.equal(e.changeType, EventType.ModelRawContentChangedFlush);
 
-			assert.deepEqual((<IModelContentChangedFlushEvent>e).detail.lines, [ 'new value' ]);
+			assert.deepEqual((<IModelContentChangedFlushEvent>e).detail.lines, ['new value']);
 		});
 		thisModel.setValue('new value');
 		assert.equal(listenerCalls, 1, 'listener calls');
@@ -371,7 +371,7 @@ suite('Editor Model - Words', () => {
 	var thisModel: Model;
 
 	setup(() => {
-		var text = [ 'This text has some  words. ' ];
+		var text = ['This text has some  words. '];
 		thisModel = Model.createFromString(text.join('\n'));
 	});
 
@@ -398,11 +398,11 @@ suite('Editor Model - Words', () => {
 // --------- Find
 suite('Editor Model - Find', () => {
 
-	function toArrRange(r:Range): [number,number,number,number] {
+	function toArrRange(r: Range): [number, number, number, number] {
 		return [r.startLineNumber, r.startColumn, r.endLineNumber, r.endColumn];
 	}
 
-	function assertFindMatches(text:string, searchString:string, isRegex:boolean, matchCase:boolean, wholeWord:boolean, expected:[number,number,number,number][]): void {
+	function assertFindMatches(text: string, searchString: string, isRegex: boolean, matchCase: boolean, wholeWord: boolean, expected: [number, number, number, number][]): void {
 		let model = Model.createFromString(text);
 
 		let actualRanges = model.findMatches(searchString, false, isRegex, matchCase, wholeWord);
@@ -423,7 +423,7 @@ suite('Editor Model - Find', () => {
 		// test `findPrevMatch`
 		startPos = new Position(model.getLineCount(), model.getLineMaxColumn(model.getLineCount()));
 		match = model.findPreviousMatch(searchString, startPos, isRegex, matchCase, wholeWord);
-		assert.deepEqual(toArrRange(match), expected[expected.length-1], `findPrevMatch ${startPos}`);
+		assert.deepEqual(toArrRange(match), expected[expected.length - 1], `findPrevMatch ${startPos}`);
 		for (let i = 0; i < expected.length; i++) {
 			startPos = new Position(expected[i][2], expected[i][3]);
 			match = model.findPreviousMatch(searchString, startPos, isRegex, matchCase, wholeWord);
@@ -699,7 +699,7 @@ suite('Editor Model - Find', () => {
 		actual = testObject.findNextMatch('line', actual.getEndPosition(), false, false, false);
 		assert.equal(new Range(1, 6, 1, 10).toString(), actual.toString());
 
-		actual = testObject.findNextMatch('line', {lineNumber: 1, column: 3}, false, false, false);
+		actual = testObject.findNextMatch('line', { lineNumber: 1, column: 3 }, false, false, false);
 		assert.equal(new Range(1, 6, 1, 10).toString(), actual.toString());
 
 		actual = testObject.findNextMatch('line', actual.getEndPosition(), false, false, false);
@@ -780,7 +780,7 @@ suite('Editor Model - Find', () => {
 		testObject.dispose();
 	});
 
-	function assertParseSearchResult(searchString:string, isRegex:boolean, matchCase:boolean, wholeWord:boolean, expected:RegExp): void {
+	function assertParseSearchResult(searchString: string, isRegex: boolean, matchCase: boolean, wholeWord: boolean, expected: RegExp): void {
 		let actual = TextModel.parseSearchRequest(searchString, isRegex, matchCase, wholeWord);
 		assert.deepEqual(actual, expected);
 	}
diff --git a/src/vs/editor/test/common/model/modelDecorations.test.ts b/src/vs/editor/test/common/model/modelDecorations.test.ts
index bd74489068767..3da5c4a0d5c70 100644
--- a/src/vs/editor/test/common/model/modelDecorations.test.ts
+++ b/src/vs/editor/test/common/model/modelDecorations.test.ts
@@ -5,11 +5,11 @@
 'use strict';
 
 import * as assert from 'assert';
-import {EditOperation} from 'vs/editor/common/core/editOperation';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {IModelDeltaDecoration, IRange, TrackedRangeStickiness} from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { IModelDeltaDecoration, IRange, TrackedRangeStickiness } from 'vs/editor/common/editorCommon';
+import { Model } from 'vs/editor/common/model/model';
 
 // --------- utils
 
@@ -78,7 +78,7 @@ suite('Editor Model - Model Decorations', () => {
 
 	// --------- Model Decorations
 
-	var thisModel:Model;
+	var thisModel: Model;
 
 	setup(() => {
 		var text =
@@ -403,7 +403,7 @@ export interface ILightWeightDecoration {
 
 suite('deltaDecorations', () => {
 
-	function decoration(id:string, startLineNumber:number, startColumn:number, endLineNumber:number, endColum:number): ILightWeightDecoration {
+	function decoration(id: string, startLineNumber: number, startColumn: number, endLineNumber: number, endColum: number): ILightWeightDecoration {
 		return {
 			id: id,
 			range: {
@@ -415,7 +415,7 @@ suite('deltaDecorations', () => {
 		};
 	}
 
-	function toModelDeltaDecoration(dec:ILightWeightDecoration): IModelDeltaDecoration {
+	function toModelDeltaDecoration(dec: ILightWeightDecoration): IModelDeltaDecoration {
 		return {
 			range: dec.range,
 			options: {
@@ -424,7 +424,7 @@ suite('deltaDecorations', () => {
 		};
 	}
 
-	function strcmp(a:string, b:string): number {
+	function strcmp(a: string, b: string): number {
 		if (a === b) {
 			return 0;
 		}
@@ -434,7 +434,7 @@ suite('deltaDecorations', () => {
 		return 1;
 	}
 
-	function readModelDecorations(model:Model, ids:string[]): ILightWeightDecoration[] {
+	function readModelDecorations(model: Model, ids: string[]): ILightWeightDecoration[] {
 		return ids.map((id) => {
 			return {
 				range: model.getDecorationRange(id),
@@ -443,7 +443,7 @@ suite('deltaDecorations', () => {
 		});
 	}
 
-	function testDeltaDecorations(text:string[], decorations:ILightWeightDecoration[], newDecorations:ILightWeightDecoration[]): void {
+	function testDeltaDecorations(text: string[], decorations: ILightWeightDecoration[], newDecorations: ILightWeightDecoration[]): void {
 
 		var model = Model.createFromString(text.join('\n'));
 
@@ -473,7 +473,7 @@ suite('deltaDecorations', () => {
 		model.dispose();
 	}
 
-	function range(startLineNumber:number, startColumn:number, endLineNumber:number, endColumn:number): Range {
+	function range(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number): Range {
 		return new Range(startLineNumber, startColumn, endLineNumber, endColumn);
 	}
 
@@ -488,8 +488,8 @@ suite('deltaDecorations', () => {
 			toModelDeltaDecoration(decoration('b', 2, 1, 2, 13))
 		]);
 
-		assert.deepEqual(model.getDecorationRange(ids[0]), range(1,1,1,12));
-		assert.deepEqual(model.getDecorationRange(ids[1]), range(2,1,2,13));
+		assert.deepEqual(model.getDecorationRange(ids[0]), range(1, 1, 1, 12));
+		assert.deepEqual(model.getDecorationRange(ids[1]), range(2, 1, 2, 13));
 
 		model.dispose();
 	});
@@ -618,16 +618,16 @@ suite('deltaDecorations', () => {
 			toModelDeltaDecoration(decoration('b', 2, 1, 2, 13))
 		]);
 
-		assert.deepEqual(model.getDecorationRange(ids[0]), range(1,1,1,12));
-		assert.deepEqual(model.getDecorationRange(ids[1]), range(2,1,2,13));
+		assert.deepEqual(model.getDecorationRange(ids[0]), range(1, 1, 1, 12));
+		assert.deepEqual(model.getDecorationRange(ids[1]), range(2, 1, 2, 13));
 
 		ids = model.deltaDecorations(ids, [
 			toModelDeltaDecoration(decoration('a', 1, 1, 1, 12)),
 			toModelDeltaDecoration(decoration('b', 2, 1, 2, 13))
 		]);
 
-		assert.deepEqual(model.getDecorationRange(ids[0]), range(1,1,1,12));
-		assert.deepEqual(model.getDecorationRange(ids[1]), range(2,1,2,13));
+		assert.deepEqual(model.getDecorationRange(ids[0]), range(1, 1, 1, 12));
+		assert.deepEqual(model.getDecorationRange(ids[1]), range(2, 1, 2, 13));
 
 		model.dispose();
 	});
diff --git a/src/vs/editor/test/common/model/modelEditOperation.test.ts b/src/vs/editor/test/common/model/modelEditOperation.test.ts
index 89182c554984c..f3f041f371f44 100644
--- a/src/vs/editor/test/common/model/modelEditOperation.test.ts
+++ b/src/vs/editor/test/common/model/modelEditOperation.test.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Range} from 'vs/editor/common/core/range';
-import {IIdentifiedSingleEditOperation} from 'vs/editor/common/editorCommon';
-import {Model} from 'vs/editor/common/model/model';
+import { Range } from 'vs/editor/common/core/range';
+import { IIdentifiedSingleEditOperation } from 'vs/editor/common/editorCommon';
+import { Model } from 'vs/editor/common/model/model';
 
 suite('Editor Model - Model Edit Operation', () => {
 	var LINE1 = 'My First Line';
@@ -33,7 +33,7 @@ suite('Editor Model - Model Edit Operation', () => {
 		model = null;
 	});
 
-	function createSingleEditOp(text:string, positionLineNumber:number, positionColumn:number, selectionLineNumber:number = positionLineNumber, selectionColumn:number = positionColumn):IIdentifiedSingleEditOperation {
+	function createSingleEditOp(text: string, positionLineNumber: number, positionColumn: number, selectionLineNumber: number = positionLineNumber, selectionColumn: number = positionColumn): IIdentifiedSingleEditOperation {
 		var range = new Range(
 			selectionLineNumber,
 			selectionColumn,
@@ -52,7 +52,7 @@ suite('Editor Model - Model Edit Operation', () => {
 		};
 	}
 
-	function assertSingleEditOp(singleEditOp:IIdentifiedSingleEditOperation, editedLines:string[]) {
+	function assertSingleEditOp(singleEditOp: IIdentifiedSingleEditOperation, editedLines: string[]) {
 		var editOp = [singleEditOp];
 
 		var inverseEditOp = model.applyEdits(editOp);
diff --git a/src/vs/editor/test/common/model/textModel.test.ts b/src/vs/editor/test/common/model/textModel.test.ts
index 78e3d9806bcd3..8f5fd19dba0be 100644
--- a/src/vs/editor/test/common/model/textModel.test.ts
+++ b/src/vs/editor/test/common/model/textModel.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {TextModel} from 'vs/editor/common/model/textModel';
-import {DefaultEndOfLine} from 'vs/editor/common/editorCommon';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { TextModel } from 'vs/editor/common/model/textModel';
+import { DefaultEndOfLine } from 'vs/editor/common/editorCommon';
 
-function testGuessIndentation(defaultInsertSpaces:boolean, defaultTabSize:number, expectedInsertSpaces:boolean, expectedTabSize:number, text:string[], msg?:string): void {
+function testGuessIndentation(defaultInsertSpaces: boolean, defaultTabSize: number, expectedInsertSpaces: boolean, expectedTabSize: number, text: string[], msg?: string): void {
 	var m = new TextModel([], TextModel.toRawText(text.join('\n'), {
 		tabSize: defaultTabSize,
 		insertSpaces: defaultInsertSpaces,
@@ -25,7 +25,7 @@ function testGuessIndentation(defaultInsertSpaces:boolean, defaultTabSize:number
 	assert.equal(r.tabSize, expectedTabSize, msg);
 }
 
-function assertGuess(expectedInsertSpaces:boolean, expectedTabSize:number, text:string[], msg?:string): void {
+function assertGuess(expectedInsertSpaces: boolean, expectedTabSize: number, text: string[], msg?: string): void {
 	if (typeof expectedInsertSpaces === 'undefined') {
 		// cannot guess insertSpaces
 		if (typeof expectedTabSize === 'undefined') {
@@ -579,20 +579,20 @@ suite('Editor Model - TextModel', () => {
 	test('modifyPosition', () => {
 
 		var m = new TextModel([], TextModel.toRawText('line one\nline two', TextModel.DEFAULT_CREATION_OPTIONS));
-		assert.deepEqual(m.modifyPosition(new Position(1,1), 0), new Position(1, 1));
-		assert.deepEqual(m.modifyPosition(new Position(0,0), 0), new Position(1, 1));
+		assert.deepEqual(m.modifyPosition(new Position(1, 1), 0), new Position(1, 1));
+		assert.deepEqual(m.modifyPosition(new Position(0, 0), 0), new Position(1, 1));
 		assert.deepEqual(m.modifyPosition(new Position(30, 1), 0), new Position(2, 9));
 
-		assert.deepEqual(m.modifyPosition(new Position(1,1), 17), new Position(2, 9));
-		assert.deepEqual(m.modifyPosition(new Position(1,1), 1), new Position(1, 2));
-		assert.deepEqual(m.modifyPosition(new Position(1,1), 3), new Position(1, 4));
+		assert.deepEqual(m.modifyPosition(new Position(1, 1), 17), new Position(2, 9));
+		assert.deepEqual(m.modifyPosition(new Position(1, 1), 1), new Position(1, 2));
+		assert.deepEqual(m.modifyPosition(new Position(1, 1), 3), new Position(1, 4));
 		assert.deepEqual(m.modifyPosition(new Position(1, 2), 10), new Position(2, 3));
 		assert.deepEqual(m.modifyPosition(new Position(1, 5), 13), new Position(2, 9));
 		assert.deepEqual(m.modifyPosition(new Position(1, 2), 16), new Position(2, 9));
 
 		assert.deepEqual(m.modifyPosition(new Position(2, 9), -17), new Position(1, 1));
-		assert.deepEqual(m.modifyPosition(new Position(1,2), -1), new Position(1, 1));
-		assert.deepEqual(m.modifyPosition(new Position(1,4), -3), new Position(1, 1));
+		assert.deepEqual(m.modifyPosition(new Position(1, 2), -1), new Position(1, 1));
+		assert.deepEqual(m.modifyPosition(new Position(1, 4), -3), new Position(1, 1));
 		assert.deepEqual(m.modifyPosition(new Position(2, 3), -10), new Position(1, 2));
 		assert.deepEqual(m.modifyPosition(new Position(2, 9), -13), new Position(1, 5));
 		assert.deepEqual(m.modifyPosition(new Position(2, 9), -16), new Position(1, 2));
@@ -675,11 +675,11 @@ suite('Editor Model - TextModel', () => {
 });
 
 suite('TextModel.getLineIndentGuide', () => {
-	function assertIndentGuides(lines:[number,string][]): void {
+	function assertIndentGuides(lines: [number, string][]): void {
 		let text = lines.map(l => l[1]).join('\n');
 		let model = new TextModel([], TextModel.toRawText(text, TextModel.DEFAULT_CREATION_OPTIONS));
 
-		let actual: [number,string][] = [];
+		let actual: [number, string][] = [];
 		for (let line = 1; line <= model.getLineCount(); line++) {
 			actual[line - 1] = [model.getLineIndentGuide(line), model.getLineContent(line)];
 		}
@@ -786,23 +786,23 @@ suite('TextModel.getLineIndentGuide', () => {
 
 	test('getLineIndentGuide checker.ts', () => {
 		assertIndentGuides([
-			/* 1*/[ 0, '/// <reference path="binder.ts"/>'],
-			/* 2*/[ 0, ''],
-			/* 3*/[ 0, '/* @internal */'],
-			/* 4*/[ 0, 'namespace ts {'],
-			/* 5*/[ 1, '    let nextSymbolId = 1;'],
-			/* 6*/[ 1, '    let nextNodeId = 1;'],
-			/* 7*/[ 1, '    let nextMergeId = 1;'],
-			/* 8*/[ 1, '    let nextFlowId = 1;'],
-			/* 9*/[ 1, ''],
-			/*10*/[ 1, '    export function getNodeId(node: Node): number {'],
-			/*11*/[ 2, '        if (!node.id) {'],
-			/*12*/[ 3, '            node.id = nextNodeId;'],
-			/*13*/[ 3, '            nextNodeId++;'],
-			/*14*/[ 2, '        }'],
-			/*15*/[ 2, '        return node.id;'],
-			/*16*/[ 1, '    }'],
-			/*17*/[ 0, '}'],
+			/* 1*/[0, '/// <reference path="binder.ts"/>'],
+			/* 2*/[0, ''],
+			/* 3*/[0, '/* @internal */'],
+			/* 4*/[0, 'namespace ts {'],
+			/* 5*/[1, '    let nextSymbolId = 1;'],
+			/* 6*/[1, '    let nextNodeId = 1;'],
+			/* 7*/[1, '    let nextMergeId = 1;'],
+			/* 8*/[1, '    let nextFlowId = 1;'],
+			/* 9*/[1, ''],
+			/*10*/[1, '    export function getNodeId(node: Node): number {'],
+			/*11*/[2, '        if (!node.id) {'],
+			/*12*/[3, '            node.id = nextNodeId;'],
+			/*13*/[3, '            nextNodeId++;'],
+			/*14*/[2, '        }'],
+			/*15*/[2, '        return node.id;'],
+			/*16*/[1, '    }'],
+			/*17*/[0, '}'],
 		]);
 	});
 
diff --git a/src/vs/editor/test/common/model/textModelWithTokens.test.ts b/src/vs/editor/test/common/model/textModelWithTokens.test.ts
index a15cc16ed1e48..b07c86f1b3ebb 100644
--- a/src/vs/editor/test/common/model/textModelWithTokens.test.ts
+++ b/src/vs/editor/test/common/model/textModelWithTokens.test.ts
@@ -5,22 +5,22 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Model} from 'vs/editor/common/model/model';
-import {ViewLineToken} from 'vs/editor/common/core/viewLineToken';
-import {TokenizationRegistry, CharacterPair} from 'vs/editor/common/modes';
-import {MockMode} from 'vs/editor/test/common/mocks/mockMode';
-import {Token} from 'vs/editor/common/core/token';
-import {Range} from 'vs/editor/common/core/range';
-import {Position} from 'vs/editor/common/core/position';
-import {IFoundBracket} from 'vs/editor/common/editorCommon';
-import {TextModel} from 'vs/editor/common/model/textModel';
-import {TextModelWithTokens} from 'vs/editor/common/model/textModelWithTokens';
-import {LanguageConfigurationRegistry} from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { Model } from 'vs/editor/common/model/model';
+import { ViewLineToken } from 'vs/editor/common/core/viewLineToken';
+import { TokenizationRegistry, CharacterPair } from 'vs/editor/common/modes';
+import { MockMode } from 'vs/editor/test/common/mocks/mockMode';
+import { Token } from 'vs/editor/common/core/token';
+import { Range } from 'vs/editor/common/core/range';
+import { Position } from 'vs/editor/common/core/position';
+import { IFoundBracket } from 'vs/editor/common/editorCommon';
+import { TextModel } from 'vs/editor/common/model/textModel';
+import { TextModelWithTokens } from 'vs/editor/common/model/textModelWithTokens';
+import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry';
 
 suite('TextModelWithTokens', () => {
 
-	function testBrackets(contents: string[], brackets:CharacterPair[]): void {
-		function toRelaxedFoundBracket(a:IFoundBracket) {
+	function testBrackets(contents: string[], brackets: CharacterPair[]): void {
+		function toRelaxedFoundBracket(a: IFoundBracket) {
 			if (!a) {
 				return null;
 			}
@@ -32,10 +32,10 @@ suite('TextModelWithTokens', () => {
 			};
 		}
 
-		let charIsBracket: {[char:string]:boolean} = {};
-		let charIsOpenBracket: {[char:string]:boolean} = {};
-		let openForChar: {[char:string]:string} = {};
-		let closeForChar: {[char:string]:string} = {};
+		let charIsBracket: { [char: string]: boolean } = {};
+		let charIsOpenBracket: { [char: string]: boolean } = {};
+		let openForChar: { [char: string]: string } = {};
+		let closeForChar: { [char: string]: string } = {};
 		brackets.forEach((b) => {
 			charIsBracket[b[0]] = true;
 			charIsBracket[b[1]] = true;
@@ -50,7 +50,7 @@ suite('TextModelWithTokens', () => {
 			closeForChar[b[1]] = b[1];
 		});
 
-		let expectedBrackets:IFoundBracket[] = [];
+		let expectedBrackets: IFoundBracket[] = [];
 		for (let lineIndex = 0; lineIndex < contents.length; lineIndex++) {
 			let lineText = contents[lineIndex];
 
@@ -137,10 +137,10 @@ suite('TextModelWithTokens', () => {
 		testBrackets([
 			'if (a == 3) { return (7 * (a + 5)); }'
 		], [
-			['{', '}'],
-			['[', ']'],
-			['(', ')']
-		]);
+				['{', '}'],
+				['[', ']'],
+				['(', ')']
+			]);
 	});
 
 
@@ -148,12 +148,12 @@ suite('TextModelWithTokens', () => {
 
 suite('TextModelWithTokens - bracket matching', () => {
 
-	function isNotABracket(model:Model, lineNumber:number, column:number) {
+	function isNotABracket(model: Model, lineNumber: number, column: number) {
 		let match = model.matchBracket(new Position(lineNumber, column));
 		assert.equal(match, null, 'is not matching brackets at ' + lineNumber + ', ' + column);
 	}
 
-	function isBracket2(model:Model, testPosition:Position, expected:[Range,Range]): void {
+	function isBracket2(model: Model, testPosition: Position, expected: [Range, Range]): void {
 		let actual = model.matchBracket(testPosition);
 		assert.deepEqual(actual, expected, 'matches brackets at ' + testPosition);
 	}
@@ -177,15 +177,15 @@ suite('TextModelWithTokens - bracket matching', () => {
 		isNotABracket(model, 1, 1);
 		isNotABracket(model, 1, 2);
 		isNotABracket(model, 1, 3);
-		isBracket2(model, new Position(1,4), [new Range(1,4,1,5), new Range(2,3,2,4)]);
-		isBracket2(model, new Position(1,5), [new Range(1,5,1,6), new Range(2,2,2,3)]);
-		isBracket2(model, new Position(1,6), [new Range(1,6,1,7), new Range(2,1,2,2)]);
-		isBracket2(model, new Position(1,7), [new Range(1,6,1,7), new Range(2,1,2,2)]);
-
-		isBracket2(model, new Position(2,1), [new Range(2,1,2,2), new Range(1,6,1,7)]);
-		isBracket2(model, new Position(2,2), [new Range(2,2,2,3), new Range(1,5,1,6)]);
-		isBracket2(model, new Position(2,3), [new Range(2,3,2,4), new Range(1,4,1,5)]);
-		isBracket2(model, new Position(2,4), [new Range(2,3,2,4), new Range(1,4,1,5)]);
+		isBracket2(model, new Position(1, 4), [new Range(1, 4, 1, 5), new Range(2, 3, 2, 4)]);
+		isBracket2(model, new Position(1, 5), [new Range(1, 5, 1, 6), new Range(2, 2, 2, 3)]);
+		isBracket2(model, new Position(1, 6), [new Range(1, 6, 1, 7), new Range(2, 1, 2, 2)]);
+		isBracket2(model, new Position(1, 7), [new Range(1, 6, 1, 7), new Range(2, 1, 2, 2)]);
+
+		isBracket2(model, new Position(2, 1), [new Range(2, 1, 2, 2), new Range(1, 6, 1, 7)]);
+		isBracket2(model, new Position(2, 2), [new Range(2, 2, 2, 3), new Range(1, 5, 1, 6)]);
+		isBracket2(model, new Position(2, 3), [new Range(2, 3, 2, 4), new Range(1, 4, 1, 5)]);
+		isBracket2(model, new Position(2, 4), [new Range(2, 3, 2, 4), new Range(1, 4, 1, 5)]);
 		isNotABracket(model, 2, 5);
 		isNotABracket(model, 2, 6);
 		isNotABracket(model, 2, 7);
@@ -202,37 +202,37 @@ suite('TextModelWithTokens - bracket matching', () => {
 			'}]}}';
 		let model = Model.createFromString(text, undefined, LANGUAGE_ID);
 
-		let brackets:[Position,Range,Range][] = [
-			[new Position(1,11), new Range(1,11,1,12), new Range(5,4,5,5)],
-			[new Position(1,12), new Range(1,11,1,12), new Range(5,4,5,5)],
-
-			[new Position(2,6), new Range(2,6,2,7), new Range(3,1,3,2)],
-			[new Position(2,7), new Range(2,6,2,7), new Range(3,1,3,2)],
-
-			[new Position(3,1), new Range(3,1,3,2), new Range(2,6,2,7)],
-			[new Position(3,2), new Range(3,1,3,2), new Range(2,6,2,7)],
-			[new Position(3,9), new Range(3,9,3,10), new Range(5,3,5,4)],
-			[new Position(3,10), new Range(3,9,3,10), new Range(5,3,5,4)],
-			[new Position(3,17), new Range(3,17,3,18), new Range(5,2,5,3)],
-			[new Position(3,18), new Range(3,18,3,19), new Range(4,1,4,2)],
-			[new Position(3,19), new Range(3,18,3,19), new Range(4,1,4,2)],
-
-			[new Position(4,1), new Range(4,1,4,2), new Range(3,18,3,19)],
-			[new Position(4,2), new Range(4,1,4,2), new Range(3,18,3,19)],
-			[new Position(4,4), new Range(4,4,4,5), new Range(5,1,5,2)],
-			[new Position(4,5), new Range(4,4,4,5), new Range(5,1,5,2)],
-
-			[new Position(5,1), new Range(5,1,5,2), new Range(4,4,4,5)],
-			[new Position(5,2), new Range(5,2,5,3), new Range(3,17,3,18)],
-			[new Position(5,3), new Range(5,3,5,4), new Range(3,9,3,10)],
-			[new Position(5,4), new Range(5,4,5,5), new Range(1,11,1,12)],
-			[new Position(5,5), new Range(5,4,5,5), new Range(1,11,1,12)],
+		let brackets: [Position, Range, Range][] = [
+			[new Position(1, 11), new Range(1, 11, 1, 12), new Range(5, 4, 5, 5)],
+			[new Position(1, 12), new Range(1, 11, 1, 12), new Range(5, 4, 5, 5)],
+
+			[new Position(2, 6), new Range(2, 6, 2, 7), new Range(3, 1, 3, 2)],
+			[new Position(2, 7), new Range(2, 6, 2, 7), new Range(3, 1, 3, 2)],
+
+			[new Position(3, 1), new Range(3, 1, 3, 2), new Range(2, 6, 2, 7)],
+			[new Position(3, 2), new Range(3, 1, 3, 2), new Range(2, 6, 2, 7)],
+			[new Position(3, 9), new Range(3, 9, 3, 10), new Range(5, 3, 5, 4)],
+			[new Position(3, 10), new Range(3, 9, 3, 10), new Range(5, 3, 5, 4)],
+			[new Position(3, 17), new Range(3, 17, 3, 18), new Range(5, 2, 5, 3)],
+			[new Position(3, 18), new Range(3, 18, 3, 19), new Range(4, 1, 4, 2)],
+			[new Position(3, 19), new Range(3, 18, 3, 19), new Range(4, 1, 4, 2)],
+
+			[new Position(4, 1), new Range(4, 1, 4, 2), new Range(3, 18, 3, 19)],
+			[new Position(4, 2), new Range(4, 1, 4, 2), new Range(3, 18, 3, 19)],
+			[new Position(4, 4), new Range(4, 4, 4, 5), new Range(5, 1, 5, 2)],
+			[new Position(4, 5), new Range(4, 4, 4, 5), new Range(5, 1, 5, 2)],
+
+			[new Position(5, 1), new Range(5, 1, 5, 2), new Range(4, 4, 4, 5)],
+			[new Position(5, 2), new Range(5, 2, 5, 3), new Range(3, 17, 3, 18)],
+			[new Position(5, 3), new Range(5, 3, 5, 4), new Range(3, 9, 3, 10)],
+			[new Position(5, 4), new Range(5, 4, 5, 5), new Range(1, 11, 1, 12)],
+			[new Position(5, 5), new Range(5, 4, 5, 5), new Range(1, 11, 1, 12)],
 		];
 
-		let isABracket = {1:{}, 2:{}, 3:{}, 4:{}, 5:{}};
+		let isABracket = { 1: {}, 2: {}, 3: {}, 4: {}, 5: {} };
 		for (let i = 0, len = brackets.length; i < len; i++) {
 			let [testPos, b1, b2] = brackets[i];
-			isBracket2(model, testPos, [b1,b2]);
+			isBracket2(model, testPos, [b1, b2]);
 			isABracket[testPos.lineNumber][testPos.column] = true;
 		}
 
@@ -253,7 +253,7 @@ suite('TextModelWithTokens - bracket matching', () => {
 suite('TextModelWithTokens regression tests', () => {
 
 	test('Microsoft/monaco-editor#122: Unhandled Exception: TypeError: Unable to get property \'replace\' of undefined or null reference', () => {
-		function assertViewLineTokens(model:Model, lineNumber:number, forceTokenization:boolean, expected:ViewLineToken[]): void {
+		function assertViewLineTokens(model: Model, lineNumber: number, forceTokenization: boolean, expected: ViewLineToken[]): void {
 			let actual = model.getLineTokens(lineNumber, !forceTokenization).inflate();
 			assert.deepEqual(actual, expected);
 		}
@@ -269,7 +269,7 @@ suite('TextModelWithTokens regression tests', () => {
 					tokenize: (line, state, offsetDelta, stopAtOffset) => {
 						let myId = ++_tokenId;
 						return {
-							tokens: [new Token(0, 'custom.'+myId)],
+							tokens: [new Token(0, 'custom.' + myId)],
 							actualStopOffset: line.length,
 							endState: null,
 							modeTransitions: [],
@@ -303,8 +303,8 @@ suite('TextModelWithTokens regression tests', () => {
 
 		LanguageConfigurationRegistry.register(LANGUAGE_ID, {
 			brackets: [
-				['module','end module'],
-				['sub','end sub']
+				['module', 'end module'],
+				['sub', 'end sub']
 			]
 		});
 
@@ -320,8 +320,8 @@ suite('TextModelWithTokens regression tests', () => {
 			'End Module',
 		].join('\n'), undefined, LANGUAGE_ID);
 
-		let actual = model.matchBracket(new Position(4,1));
-		assert.deepEqual(actual, [new Range(4,1,4,7), new Range(9,1,9,11)]);
+		let actual = model.matchBracket(new Position(4, 1));
+		assert.deepEqual(actual, [new Range(4, 1, 4, 7), new Range(9, 1, 9, 11)]);
 
 		model.dispose();
 	});
diff --git a/src/vs/editor/test/common/modes/TMState.test.ts b/src/vs/editor/test/common/modes/TMState.test.ts
index cde214ec8c4fd..b599d885a5bf7 100644
--- a/src/vs/editor/test/common/modes/TMState.test.ts
+++ b/src/vs/editor/test/common/modes/TMState.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {TMState} from 'vs/editor/common/modes/TMState';
+import { TMState } from 'vs/editor/common/modes/TMState';
 
 suite('Editor Modes - TMState', () => {
 	test('Bug #16982: Cannot read property \'length\' of null', () => {
diff --git a/src/vs/editor/test/common/modes/autoIndentation.test.ts b/src/vs/editor/test/common/modes/autoIndentation.test.ts
index 1663dd2f6c2bd..8f5c00f979af4 100644
--- a/src/vs/editor/test/common/modes/autoIndentation.test.ts
+++ b/src/vs/editor/test/common/modes/autoIndentation.test.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Brackets} from 'vs/editor/common/modes/supports/electricCharacter';
-import {createLineContextFromTokenText} from 'vs/editor/test/common/modesTestUtils';
+import { Brackets } from 'vs/editor/common/modes/supports/electricCharacter';
+import { createLineContextFromTokenText } from 'vs/editor/test/common/modesTestUtils';
 
 suite('Editor Modes - Auto Indentation', () => {
 	test('Doc comments', () => {
diff --git a/src/vs/editor/test/common/modes/languageSelector.test.ts b/src/vs/editor/test/common/modes/languageSelector.test.ts
index 9d05591c75ebf..19845bef2d6d3 100644
--- a/src/vs/editor/test/common/modes/languageSelector.test.ts
+++ b/src/vs/editor/test/common/modes/languageSelector.test.ts
@@ -7,30 +7,30 @@
 
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
-import {score} from 'vs/editor/common/modes/languageSelector';
+import { score } from 'vs/editor/common/modes/languageSelector';
 
-suite('LanguageSelector', function() {
+suite('LanguageSelector', function () {
 
 	let model = {
 		language: 'farboo',
 		uri: URI.parse('file:///testbed/file.fb')
 	};
 
-	test('score, invalid selector', function() {
+	test('score, invalid selector', function () {
 		assert.equal(score({}, model.uri, model.language), 0);
 		assert.equal(score(undefined, model.uri, model.language), undefined);
 		assert.equal(score(null, model.uri, model.language), undefined);
 		assert.equal(score('', model.uri, model.language), 0);
 	});
 
-	test('score, any language', function() {
-		assert.equal(score({ language: '*'}, model.uri, model.language), 5);
+	test('score, any language', function () {
+		assert.equal(score({ language: '*' }, model.uri, model.language), 5);
 		assert.equal(score('*', model.uri, model.language), 5);
 	});
 
-	test('score, filter', function() {
+	test('score, filter', function () {
 		assert.equal(score('farboo', model.uri, model.language), 10);
-		assert.equal(score({ language: 'farboo'}, model.uri, model.language), 10);
+		assert.equal(score({ language: 'farboo' }, model.uri, model.language), 10);
 		assert.equal(score({ language: 'farboo', scheme: 'file' }, model.uri, model.language), 10);
 		assert.equal(score({ language: 'farboo', scheme: 'http' }, model.uri, model.language), 0);
 
@@ -38,7 +38,7 @@ suite('LanguageSelector', function() {
 		// assert.equal(score({ pattern: '/testbed/file.fb' }, model.uri, model.language), 10); fails on windows
 	});
 
-	test('score, max(filters)', function() {
+	test('score, max(filters)', function () {
 		let match = { language: 'farboo', scheme: 'file' };
 		let fail = { language: 'farboo', scheme: 'http' };
 
diff --git a/src/vs/editor/test/common/modes/lineStream.test.ts b/src/vs/editor/test/common/modes/lineStream.test.ts
index 19490b888abd9..64f4f8caee0c6 100644
--- a/src/vs/editor/test/common/modes/lineStream.test.ts
+++ b/src/vs/editor/test/common/modes/lineStream.test.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 import * as assert from 'assert';
-import {LineStream} from 'vs/editor/common/modes/lineStream';
+import { LineStream } from 'vs/editor/common/modes/lineStream';
 
 suite('Editor Modes - LineStream', () => {
 
diff --git a/src/vs/editor/test/common/modes/linkComputer.test.ts b/src/vs/editor/test/common/modes/linkComputer.test.ts
index 35c6d0e69439d..c71c5a2537d83 100644
--- a/src/vs/editor/test/common/modes/linkComputer.test.ts
+++ b/src/vs/editor/test/common/modes/linkComputer.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {ILink} from 'vs/editor/common/modes';
-import {ILinkComputerTarget, computeLinks} from 'vs/editor/common/modes/linkComputer';
+import { ILink } from 'vs/editor/common/modes';
+import { ILinkComputerTarget, computeLinks } from 'vs/editor/common/modes/linkComputer';
 
 class SimpleLinkComputerTarget implements ILinkComputerTarget {
 
-	constructor(private _lines:string[]) {
+	constructor(private _lines: string[]) {
 		// Intentional Empty
 	}
 
@@ -18,17 +18,17 @@ class SimpleLinkComputerTarget implements ILinkComputerTarget {
 		return this._lines.length;
 	}
 
-	public getLineContent(lineNumber:number): string {
+	public getLineContent(lineNumber: number): string {
 		return this._lines[lineNumber - 1];
 	}
 }
 
-function myComputeLinks(lines:string[]): ILink[] {
+function myComputeLinks(lines: string[]): ILink[] {
 	var target = new SimpleLinkComputerTarget(lines);
 	return computeLinks(target);
 }
 
-function assertLink(text:string, extractedLink:string): void {
+function assertLink(text: string, extractedLink: string): void {
 	var startColumn = 0,
 		endColumn = 0,
 		chr: string,
@@ -64,7 +64,7 @@ function assertLink(text:string, extractedLink:string): void {
 
 suite('Editor Modes - Link Computer', () => {
 
-	test('Null model',() => {
+	test('Null model', () => {
 		var r = computeLinks(null);
 		assert.deepEqual(r, []);
 	});
diff --git a/src/vs/editor/test/common/modes/snippetsRegistry.test.ts b/src/vs/editor/test/common/modes/snippetsRegistry.test.ts
index f869753e0b36a..27b69ba380b96 100644
--- a/src/vs/editor/test/common/modes/snippetsRegistry.test.ts
+++ b/src/vs/editor/test/common/modes/snippetsRegistry.test.ts
@@ -6,13 +6,13 @@
 'use strict';
 
 import * as assert from 'assert';
-import {getNonWhitespacePrefix} from 'vs/editor/common/modes/snippetsRegistry';
+import { getNonWhitespacePrefix } from 'vs/editor/common/modes/snippetsRegistry';
 
 suite('getNonWhitespacePrefix', () => {
 
-	function assertGetNonWhitespacePrefix(line:string, column:number, expected:string): void {
+	function assertGetNonWhitespacePrefix(line: string, column: number, expected: string): void {
 		let model = {
-			getLineContent: (lineNumber:number) => line
+			getLineContent: (lineNumber: number) => line
 		};
 		let actual = getNonWhitespacePrefix(model, { lineNumber: 1, column: column });
 		assert.equal(actual, expected);
@@ -23,28 +23,28 @@ suite('getNonWhitespacePrefix', () => {
 	});
 
 	test('singleWordLine', () => {
-		assertGetNonWhitespacePrefix('something',  1, '');
-		assertGetNonWhitespacePrefix('something',  2, 's');
-		assertGetNonWhitespacePrefix('something',  3, 'so');
-		assertGetNonWhitespacePrefix('something',  4, 'som');
-		assertGetNonWhitespacePrefix('something',  5, 'some');
-		assertGetNonWhitespacePrefix('something',  6, 'somet');
-		assertGetNonWhitespacePrefix('something',  7, 'someth');
-		assertGetNonWhitespacePrefix('something',  8, 'somethi');
-		assertGetNonWhitespacePrefix('something',  9, 'somethin');
+		assertGetNonWhitespacePrefix('something', 1, '');
+		assertGetNonWhitespacePrefix('something', 2, 's');
+		assertGetNonWhitespacePrefix('something', 3, 'so');
+		assertGetNonWhitespacePrefix('something', 4, 'som');
+		assertGetNonWhitespacePrefix('something', 5, 'some');
+		assertGetNonWhitespacePrefix('something', 6, 'somet');
+		assertGetNonWhitespacePrefix('something', 7, 'someth');
+		assertGetNonWhitespacePrefix('something', 8, 'somethi');
+		assertGetNonWhitespacePrefix('something', 9, 'somethin');
 		assertGetNonWhitespacePrefix('something', 10, 'something');
 	});
 
 	test('two word line', () => {
-		assertGetNonWhitespacePrefix('something interesting',  1, '');
-		assertGetNonWhitespacePrefix('something interesting',  2, 's');
-		assertGetNonWhitespacePrefix('something interesting',  3, 'so');
-		assertGetNonWhitespacePrefix('something interesting',  4, 'som');
-		assertGetNonWhitespacePrefix('something interesting',  5, 'some');
-		assertGetNonWhitespacePrefix('something interesting',  6, 'somet');
-		assertGetNonWhitespacePrefix('something interesting',  7, 'someth');
-		assertGetNonWhitespacePrefix('something interesting',  8, 'somethi');
-		assertGetNonWhitespacePrefix('something interesting',  9, 'somethin');
+		assertGetNonWhitespacePrefix('something interesting', 1, '');
+		assertGetNonWhitespacePrefix('something interesting', 2, 's');
+		assertGetNonWhitespacePrefix('something interesting', 3, 'so');
+		assertGetNonWhitespacePrefix('something interesting', 4, 'som');
+		assertGetNonWhitespacePrefix('something interesting', 5, 'some');
+		assertGetNonWhitespacePrefix('something interesting', 6, 'somet');
+		assertGetNonWhitespacePrefix('something interesting', 7, 'someth');
+		assertGetNonWhitespacePrefix('something interesting', 8, 'somethi');
+		assertGetNonWhitespacePrefix('something interesting', 9, 'somethin');
 		assertGetNonWhitespacePrefix('something interesting', 10, 'something');
 		assertGetNonWhitespacePrefix('something interesting', 11, '');
 		assertGetNonWhitespacePrefix('something interesting', 12, 'i');
diff --git a/src/vs/editor/test/common/modes/supports/onEnter.test.ts b/src/vs/editor/test/common/modes/supports/onEnter.test.ts
index 4ec3eb1488872..9367831963916 100644
--- a/src/vs/editor/test/common/modes/supports/onEnter.test.ts
+++ b/src/vs/editor/test/common/modes/supports/onEnter.test.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {IndentAction, CharacterPair} from 'vs/editor/common/modes';
-import {OnEnterSupport} from 'vs/editor/common/modes/supports/onEnter';
+import { IndentAction, CharacterPair } from 'vs/editor/common/modes';
+import { OnEnterSupport } from 'vs/editor/common/modes/supports/onEnter';
 
 suite('OnEnter', () => {
 
@@ -20,7 +20,7 @@ suite('OnEnter', () => {
 			}
 		});
 
-		var testIndentAction = (oneLineAboveText:string, beforeText:string, afterText:string, expected:IndentAction) => {
+		var testIndentAction = (oneLineAboveText: string, beforeText: string, afterText: string, expected: IndentAction) => {
 			var actual = support._actualOnEnter(oneLineAboveText, beforeText, afterText);
 			if (expected === IndentAction.None) {
 				assert.equal(actual, null);
@@ -45,7 +45,7 @@ suite('OnEnter', () => {
 		var support = new OnEnterSupport(null, null, {
 			brackets: brackets
 		});
-		var testIndentAction = (beforeText:string, afterText:string, expected:IndentAction) => {
+		var testIndentAction = (beforeText: string, afterText: string, expected: IndentAction) => {
 			var actual = support._actualOnEnter('', beforeText, afterText);
 			if (expected === IndentAction.None) {
 				assert.equal(actual, null);
@@ -100,7 +100,7 @@ suite('OnEnter', () => {
 				}
 			]
 		});
-		var testIndentAction = (beforeText:string, afterText:string, expectedIndentAction:IndentAction, expectedAppendText:string, removeText:number = 0) => {
+		var testIndentAction = (beforeText: string, afterText: string, expectedIndentAction: IndentAction, expectedAppendText: string, removeText: number = 0) => {
 			var actual = support._actualOnEnter('', beforeText, afterText);
 			if (expectedIndentAction === null) {
 				assert.equal(actual, null, 'isNull:' + beforeText);
diff --git a/src/vs/editor/test/common/modes/supports/richEditBrackets.test.ts b/src/vs/editor/test/common/modes/supports/richEditBrackets.test.ts
index 5dd6c26122f3c..e18130fc8d8fd 100644
--- a/src/vs/editor/test/common/modes/supports/richEditBrackets.test.ts
+++ b/src/vs/editor/test/common/modes/supports/richEditBrackets.test.ts
@@ -5,16 +5,16 @@
 'use strict';
 
 import * as assert from 'assert';
-import {BracketsUtils} from 'vs/editor/common/modes/supports/richEditBrackets';
-import {Range} from 'vs/editor/common/core/range';
+import { BracketsUtils } from 'vs/editor/common/modes/supports/richEditBrackets';
+import { Range } from 'vs/editor/common/core/range';
 
 suite('richEditBrackets', () => {
 
-	function findPrevBracketInToken(reversedBracketRegex:RegExp, lineText:string, currentTokenStart:number, currentTokenEnd:number): Range {
+	function findPrevBracketInToken(reversedBracketRegex: RegExp, lineText: string, currentTokenStart: number, currentTokenEnd: number): Range {
 		return BracketsUtils.findPrevBracketInToken(reversedBracketRegex, 1, lineText, currentTokenStart, currentTokenEnd);
 	}
 
-	function findNextBracketInToken(forwardBracketRegex:RegExp, lineText:string, currentTokenStart:number, currentTokenEnd:number): Range {
+	function findNextBracketInToken(forwardBracketRegex: RegExp, lineText: string, currentTokenStart: number, currentTokenEnd: number): Range {
 		return BracketsUtils.findNextBracketInToken(forwardBracketRegex, 1, lineText, currentTokenStart, currentTokenEnd);
 	}
 
diff --git a/src/vs/editor/test/common/modes/textToHtmlTokenizer.test.ts b/src/vs/editor/test/common/modes/textToHtmlTokenizer.test.ts
index a2b8951495354..51e54052d9f30 100644
--- a/src/vs/editor/test/common/modes/textToHtmlTokenizer.test.ts
+++ b/src/vs/editor/test/common/modes/textToHtmlTokenizer.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {TokenizationRegistry} from 'vs/editor/common/modes';
-import {AbstractState, ITokenizationResult} from 'vs/editor/common/modes/abstractState';
-import {TokenizationSupport} from 'vs/editor/common/modes/supports/tokenizationSupport';
-import {tokenizeToHtmlContent} from 'vs/editor/common/modes/textToHtmlTokenizer';
-import {MockMode} from 'vs/editor/test/common/mocks/mockMode';
-import {LineStream} from 'vs/editor/common/modes/lineStream';
+import { TokenizationRegistry } from 'vs/editor/common/modes';
+import { AbstractState, ITokenizationResult } from 'vs/editor/common/modes/abstractState';
+import { TokenizationSupport } from 'vs/editor/common/modes/supports/tokenizationSupport';
+import { tokenizeToHtmlContent } from 'vs/editor/common/modes/textToHtmlTokenizer';
+import { MockMode } from 'vs/editor/test/common/mocks/mockMode';
+import { LineStream } from 'vs/editor/common/modes/lineStream';
 
 suite('Editor Modes - textToHtmlTokenizer', () => {
 	test('TextToHtmlTokenizer', () => {
@@ -60,15 +60,15 @@ suite('Editor Modes - textToHtmlTokenizer', () => {
 
 class State extends AbstractState {
 
-	constructor(modeId:string) {
+	constructor(modeId: string) {
 		super(modeId);
 	}
 
-	public makeClone() : AbstractState {
+	public makeClone(): AbstractState {
 		return new State(this.getModeId());
 	}
 
-	public tokenize(stream:LineStream):ITokenizationResult {
+	public tokenize(stream: LineStream): ITokenizationResult {
 		let chr = stream.peek();
 		stream.advance(1);
 		return { type: chr === '.' ? '' : 'text' };
diff --git a/src/vs/editor/test/common/modes/tokenization.test.ts b/src/vs/editor/test/common/modes/tokenization.test.ts
index e4e83709d5e6f..1d6cf4cd04c86 100644
--- a/src/vs/editor/test/common/modes/tokenization.test.ts
+++ b/src/vs/editor/test/common/modes/tokenization.test.ts
@@ -6,17 +6,17 @@
 
 import * as assert from 'assert';
 import * as modes from 'vs/editor/common/modes';
-import {AbstractState, ITokenizationResult} from 'vs/editor/common/modes/abstractState';
-import {handleEvent} from 'vs/editor/common/modes/supports';
-import {IModeLocator, ILeavingNestedModeData, TokenizationSupport} from 'vs/editor/common/modes/supports/tokenizationSupport';
-import {createMockLineContext} from 'vs/editor/test/common/modesTestUtils';
-import {MockMode} from 'vs/editor/test/common/mocks/mockMode';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {Token} from 'vs/editor/common/core/token';
-import {LineStream} from 'vs/editor/common/modes/lineStream';
+import { AbstractState, ITokenizationResult } from 'vs/editor/common/modes/abstractState';
+import { handleEvent } from 'vs/editor/common/modes/supports';
+import { IModeLocator, ILeavingNestedModeData, TokenizationSupport } from 'vs/editor/common/modes/supports/tokenizationSupport';
+import { createMockLineContext } from 'vs/editor/test/common/modesTestUtils';
+import { MockMode } from 'vs/editor/test/common/mocks/mockMode';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { Token } from 'vs/editor/common/core/token';
+import { LineStream } from 'vs/editor/common/modes/lineStream';
 
 export interface IModeSwitchingDescriptor {
-	[character:string]:{
+	[character: string]: {
 		endCharacter: string;
 		mode: modes.IMode;
 	};
@@ -24,20 +24,20 @@ export interface IModeSwitchingDescriptor {
 
 export class StateMemorizingLastWord extends AbstractState {
 
-	public lastWord:string;
-	private descriptor:IModeSwitchingDescriptor;
+	public lastWord: string;
+	private descriptor: IModeSwitchingDescriptor;
 
-	constructor(modeId:string, descriptor:IModeSwitchingDescriptor, lastWord:string) {
+	constructor(modeId: string, descriptor: IModeSwitchingDescriptor, lastWord: string) {
 		super(modeId);
 		this.lastWord = lastWord;
 		this.descriptor = descriptor;
 	}
 
-	public makeClone() : AbstractState {
+	public makeClone(): AbstractState {
 		return new StateMemorizingLastWord(this.getModeId(), this.descriptor, this.lastWord);
 	}
 
-	public tokenize(stream:LineStream):ITokenizationResult {
+	public tokenize(stream: LineStream): ITokenizationResult {
 		let contents = stream.advanceToEOS();
 		stream.goBack(contents.length);
 
@@ -68,31 +68,31 @@ export class StateMemorizingLastWord extends AbstractState {
 
 export class SwitchingMode extends MockMode {
 
-	private _switchingModeDescriptor:IModeSwitchingDescriptor;
+	private _switchingModeDescriptor: IModeSwitchingDescriptor;
 
-	constructor(id:string, descriptor:IModeSwitchingDescriptor) {
+	constructor(id: string, descriptor: IModeSwitchingDescriptor) {
 		super(id);
 		this._switchingModeDescriptor = descriptor;
 		modes.TokenizationRegistry.register(this.getId(), new TokenizationSupport(null, this.getId(), this, true));
 	}
 
-	public getInitialState():AbstractState {
+	public getInitialState(): AbstractState {
 		return new StateMemorizingLastWord(this.getId(), this._switchingModeDescriptor, null);
 	}
 
-	public enterNestedMode(state:modes.IState):boolean {
+	public enterNestedMode(state: modes.IState): boolean {
 		var s = <StateMemorizingLastWord>state;
 		if (this._switchingModeDescriptor.hasOwnProperty(s.lastWord)) {
 			return true;
 		}
 	}
 
-	public getNestedMode(state:modes.IState, locator:IModeLocator): modes.IMode {
+	public getNestedMode(state: modes.IState, locator: IModeLocator): modes.IMode {
 		var s = <StateMemorizingLastWord>state;
 		return this._switchingModeDescriptor[s.lastWord].mode;
 	}
 
-	public getLeavingNestedModeData(line:string, state:modes.IState): ILeavingNestedModeData {
+	public getLeavingNestedModeData(line: string, state: modes.IState): ILeavingNestedModeData {
 		var s = <StateMemorizingLastWord>state;
 		var endChar = this._switchingModeDescriptor[s.lastWord].endCharacter;
 		var endCharPosition = line.indexOf(endChar);
@@ -108,10 +108,10 @@ export class SwitchingMode extends MockMode {
 }
 
 interface ITestToken {
-	startIndex:number;
-	type:string;
+	startIndex: number;
+	type: string;
 }
-function assertTokens(actual:Token[], expected:ITestToken[], message?:string) {
+function assertTokens(actual: Token[], expected: ITestToken[], message?: string) {
 	assert.equal(actual.length, expected.length, 'Lengths mismatch');
 	for (var i = 0; i < expected.length; i++) {
 		assert.equal(actual[i].startIndex, expected[i].startIndex, 'startIndex mismatch');
@@ -120,11 +120,11 @@ function assertTokens(actual:Token[], expected:ITestToken[], message?:string) {
 };
 
 interface ITestModeTransition {
-	startIndex:number;
-	id:string;
+	startIndex: number;
+	id: string;
 }
-function assertModeTransitions(actual:ModeTransition[], expected:ITestModeTransition[], message?:string) {
-	var massagedActual:ITestModeTransition[] = [];
+function assertModeTransitions(actual: ModeTransition[], expected: ITestModeTransition[], message?: string) {
+	var massagedActual: ITestModeTransition[] = [];
 	for (var i = 0; i < actual.length; i++) {
 		massagedActual.push({
 			startIndex: actual[i].startIndex,
@@ -134,7 +134,7 @@ function assertModeTransitions(actual:ModeTransition[], expected:ITestModeTransi
 	assert.deepEqual(massagedActual, expected, message);
 };
 
-let switchingMode = (function() {
+let switchingMode = (function () {
 	var modeB = new SwitchingMode('B', {});
 	var modeC = new SwitchingMode('C', {});
 	var modeD = new SwitchingMode('D', {
@@ -160,7 +160,7 @@ let switchingMode = (function() {
 	return modeA;
 })();
 
-function switchingModeTokenize(line:string, state:modes.IState = null) {
+function switchingModeTokenize(line: string, state: modes.IState = null) {
 	let tokenizationSupport = modes.TokenizationRegistry.get(switchingMode.getId());
 	if (state) {
 		return tokenizationSupport.tokenize(line, state);
@@ -174,15 +174,15 @@ suite('Editor Modes - Tokenization', () => {
 	test('Syntax engine merges sequential untyped tokens', () => {
 		class State extends AbstractState {
 
-			constructor(modeId:string) {
+			constructor(modeId: string) {
 				super(modeId);
 			}
 
-			public makeClone() : AbstractState {
+			public makeClone(): AbstractState {
 				return new State(this.getModeId());
 			}
 
-			public tokenize(stream:LineStream):ITokenizationResult {
+			public tokenize(stream: LineStream): ITokenizationResult {
 				let chr = stream.peek();
 				stream.advance(1);
 				return { type: chr === '.' ? '' : 'text' };
@@ -207,28 +207,28 @@ suite('Editor Modes - Tokenization', () => {
 	test('Warmup', () => {
 		var lineTokens = switchingModeTokenize('abc def ghi');
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'A.abc' },
-			{ startIndex:3, type: '' },
-			{ startIndex:4, type: 'A.def' },
-			{ startIndex:7, type: '' },
-			{ startIndex:8, type: 'A.ghi' }
+			{ startIndex: 0, type: 'A.abc' },
+			{ startIndex: 3, type: '' },
+			{ startIndex: 4, type: 'A.def' },
+			{ startIndex: 7, type: '' },
+			{ startIndex: 8, type: 'A.ghi' }
 		]);
 		assert.equal((<StateMemorizingLastWord>lineTokens.endState).lastWord, 'ghi');
 		assertModeTransitions(lineTokens.modeTransitions, [
-			{ startIndex:0, id: 'A' }
+			{ startIndex: 0, id: 'A' }
 		]);
 	});
 
 	test('One embedded', () => {
 		var lineTokens = switchingModeTokenize('abc (def) ghi');
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'A.abc' },
-			{ startIndex:3, type: '' },
-			{ startIndex:4, type: 'A.(' },
-			{ startIndex:5, type: 'B.def' },
-			{ startIndex:8, type: 'A.)' },
-			{ startIndex:9, type: '' },
-			{ startIndex:10, type: 'A.ghi' }
+			{ startIndex: 0, type: 'A.abc' },
+			{ startIndex: 3, type: '' },
+			{ startIndex: 4, type: 'A.(' },
+			{ startIndex: 5, type: 'B.def' },
+			{ startIndex: 8, type: 'A.)' },
+			{ startIndex: 9, type: '' },
+			{ startIndex: 10, type: 'A.ghi' }
 		]);
 		assert.equal((<StateMemorizingLastWord>lineTokens.endState).lastWord, 'ghi');
 		assertModeTransitions(lineTokens.modeTransitions, [
@@ -241,12 +241,12 @@ suite('Editor Modes - Tokenization', () => {
 	test('Empty one embedded', () => {
 		var lineTokens = switchingModeTokenize('abc () ghi');
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'A.abc' },
-			{ startIndex:3, type: '' },
-			{ startIndex:4, type: 'A.(' },
-			{ startIndex:5, type: 'A.)' },
-			{ startIndex:6, type: '' },
-			{ startIndex:7, type: 'A.ghi' }
+			{ startIndex: 0, type: 'A.abc' },
+			{ startIndex: 3, type: '' },
+			{ startIndex: 4, type: 'A.(' },
+			{ startIndex: 5, type: 'A.)' },
+			{ startIndex: 6, type: '' },
+			{ startIndex: 7, type: 'A.ghi' }
 		]);
 		assert.equal((<StateMemorizingLastWord>lineTokens.endState).lastWord, 'ghi');
 		assertModeTransitions(lineTokens.modeTransitions, [
@@ -257,9 +257,9 @@ suite('Editor Modes - Tokenization', () => {
 	test('Finish in embedded', () => {
 		var lineTokens = switchingModeTokenize('abc (');
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'A.abc' },
-			{ startIndex:3, type: '' },
-			{ startIndex:4, type: 'A.(' }
+			{ startIndex: 0, type: 'A.abc' },
+			{ startIndex: 3, type: '' },
+			{ startIndex: 4, type: 'A.(' }
 		]);
 		assert.equal((<StateMemorizingLastWord>lineTokens.endState).getModeId(), 'B');
 		assertModeTransitions(lineTokens.modeTransitions, [
@@ -270,10 +270,10 @@ suite('Editor Modes - Tokenization', () => {
 	test('One embedded over multiple lines 1', () => {
 		var lineTokens = switchingModeTokenize('abc (def');
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'A.abc' },
-			{ startIndex:3, type: '' },
-			{ startIndex:4, type: 'A.(' },
-			{ startIndex:5, type: 'B.def' }
+			{ startIndex: 0, type: 'A.abc' },
+			{ startIndex: 3, type: '' },
+			{ startIndex: 4, type: 'A.(' },
+			{ startIndex: 5, type: 'B.def' }
 		]);
 		assertModeTransitions(lineTokens.modeTransitions, [
 			{ startIndex: 0, id: 'A' },
@@ -282,9 +282,9 @@ suite('Editor Modes - Tokenization', () => {
 
 		lineTokens = switchingModeTokenize('ghi jkl', lineTokens.endState);
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'B.ghi' },
-			{ startIndex:3, type: '' },
-			{ startIndex:4, type: 'B.jkl' }
+			{ startIndex: 0, type: 'B.ghi' },
+			{ startIndex: 3, type: '' },
+			{ startIndex: 4, type: 'B.jkl' }
 		]);
 		assertModeTransitions(lineTokens.modeTransitions, [
 			{ startIndex: 0, id: 'B' }
@@ -292,9 +292,9 @@ suite('Editor Modes - Tokenization', () => {
 
 		lineTokens = switchingModeTokenize('mno)pqr', lineTokens.endState);
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'B.mno' },
-			{ startIndex:3, type: 'A.)' },
-			{ startIndex:4, type: 'A.pqr' }
+			{ startIndex: 0, type: 'B.mno' },
+			{ startIndex: 3, type: 'A.)' },
+			{ startIndex: 4, type: 'A.pqr' }
 		]);
 		assertModeTransitions(lineTokens.modeTransitions, [
 			{ startIndex: 0, id: 'B' },
@@ -305,17 +305,17 @@ suite('Editor Modes - Tokenization', () => {
 	test('One embedded over multiple lines 2 with handleEvent', () => {
 		var lineTokens = switchingModeTokenize('abc (def');
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'A.abc' },
-			{ startIndex:3, type: '' },
-			{ startIndex:4, type: 'A.(' },
-			{ startIndex:5, type: 'B.def' }
+			{ startIndex: 0, type: 'A.abc' },
+			{ startIndex: 3, type: '' },
+			{ startIndex: 4, type: 'A.(' },
+			{ startIndex: 5, type: 'B.def' }
 		]);
 		assertModeTransitions(lineTokens.modeTransitions, [
 			{ startIndex: 0, id: 'A' },
 			{ startIndex: 5, id: 'B' }
 		]);
 
-		handleEvent(createMockLineContext('abc (def', lineTokens), 0, (modeId:string, context:modes.ILineContext, offset:number) => {
+		handleEvent(createMockLineContext('abc (def', lineTokens), 0, (modeId: string, context: modes.ILineContext, offset: number) => {
 			assert.deepEqual(modeId, 'A');
 			assert.equal(context.getTokenCount(), 3);
 			assert.equal(context.getTokenStartOffset(0), 0);
@@ -328,7 +328,7 @@ suite('Editor Modes - Tokenization', () => {
 			assert.equal(context.getLineContent(), 'abc (');
 		});
 
-		handleEvent(createMockLineContext('abc (def', lineTokens), 6, (modeId:string, context:modes.ILineContext, offset:number) => {
+		handleEvent(createMockLineContext('abc (def', lineTokens), 6, (modeId: string, context: modes.ILineContext, offset: number) => {
 			assert.deepEqual(modeId, 'B');
 			assert.equal(context.getTokenCount(), 1);
 			assert.equal(context.getTokenStartOffset(0), 0);
@@ -339,9 +339,9 @@ suite('Editor Modes - Tokenization', () => {
 
 		lineTokens = switchingModeTokenize('ghi jkl', lineTokens.endState);
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'B.ghi' },
-			{ startIndex:3, type: '' },
-			{ startIndex:4, type: 'B.jkl' }
+			{ startIndex: 0, type: 'B.ghi' },
+			{ startIndex: 3, type: '' },
+			{ startIndex: 4, type: 'B.jkl' }
 		]);
 		assertModeTransitions(lineTokens.modeTransitions, [
 			{ startIndex: 0, id: 'B' }
@@ -349,8 +349,8 @@ suite('Editor Modes - Tokenization', () => {
 
 		lineTokens = switchingModeTokenize(')pqr', lineTokens.endState);
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'A.)' },
-			{ startIndex:1, type: 'A.pqr' }
+			{ startIndex: 0, type: 'A.)' },
+			{ startIndex: 1, type: 'A.pqr' }
 		]);
 		assertModeTransitions(lineTokens.modeTransitions, [
 			{ startIndex: 0, id: 'A' }
@@ -360,17 +360,17 @@ suite('Editor Modes - Tokenization', () => {
 	test('Two embedded in breadth', () => {
 		var lineTokens = switchingModeTokenize('abc (def) [ghi] jkl');
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'A.abc' },
-			{ startIndex:3, type: '' },
-			{ startIndex:4, type: 'A.(' },
-			{ startIndex:5, type: 'B.def' },
-			{ startIndex:8, type: 'A.)' },
-			{ startIndex:9, type: '' },
-			{ startIndex:10, type: 'A.[' },
-			{ startIndex:11, type: 'C.ghi' },
-			{ startIndex:14, type: 'A.]' },
-			{ startIndex:15, type: '' },
-			{ startIndex:16, type: 'A.jkl' }
+			{ startIndex: 0, type: 'A.abc' },
+			{ startIndex: 3, type: '' },
+			{ startIndex: 4, type: 'A.(' },
+			{ startIndex: 5, type: 'B.def' },
+			{ startIndex: 8, type: 'A.)' },
+			{ startIndex: 9, type: '' },
+			{ startIndex: 10, type: 'A.[' },
+			{ startIndex: 11, type: 'C.ghi' },
+			{ startIndex: 14, type: 'A.]' },
+			{ startIndex: 15, type: '' },
+			{ startIndex: 16, type: 'A.jkl' }
 		]);
 		assert.equal((<StateMemorizingLastWord>lineTokens.endState).lastWord, 'jkl');
 		assertModeTransitions(lineTokens.modeTransitions, [
@@ -385,14 +385,14 @@ suite('Editor Modes - Tokenization', () => {
 	test('Two embedded in breadth tightly', () => {
 		var lineTokens = switchingModeTokenize('abc(def)[ghi]jkl');
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'A.abc' },
-			{ startIndex:3, type: 'A.(' },
-			{ startIndex:4, type: 'B.def' },
-			{ startIndex:7, type: 'A.)' },
-			{ startIndex:8, type: 'A.[' },
-			{ startIndex:9, type: 'C.ghi' },
-			{ startIndex:12, type: 'A.]' },
-			{ startIndex:13, type: 'A.jkl' }
+			{ startIndex: 0, type: 'A.abc' },
+			{ startIndex: 3, type: 'A.(' },
+			{ startIndex: 4, type: 'B.def' },
+			{ startIndex: 7, type: 'A.)' },
+			{ startIndex: 8, type: 'A.[' },
+			{ startIndex: 9, type: 'C.ghi' },
+			{ startIndex: 12, type: 'A.]' },
+			{ startIndex: 13, type: 'A.jkl' }
 		]);
 		assert.equal((<StateMemorizingLastWord>lineTokens.endState).lastWord, 'jkl');
 		assertModeTransitions(lineTokens.modeTransitions, [
@@ -407,15 +407,15 @@ suite('Editor Modes - Tokenization', () => {
 	test('Two embedded in depth tightly', () => {
 		var lineTokens = switchingModeTokenize('abc{de(efg)hi}jkl');
 		assertTokens(lineTokens.tokens, [
-			{ startIndex:0, type: 'A.abc' },
-			{ startIndex:3, type: 'A.{' },
-			{ startIndex:4, type: 'D.de' },
-			{ startIndex:6, type: 'D.(' },
-			{ startIndex:7, type: 'B.efg' },
-			{ startIndex:10, type: 'D.)' },
-			{ startIndex:11, type: 'D.hi' },
-			{ startIndex:13, type: 'A.}' },
-			{ startIndex:14, type: 'A.jkl' }
+			{ startIndex: 0, type: 'A.abc' },
+			{ startIndex: 3, type: 'A.{' },
+			{ startIndex: 4, type: 'D.de' },
+			{ startIndex: 6, type: 'D.(' },
+			{ startIndex: 7, type: 'B.efg' },
+			{ startIndex: 10, type: 'D.)' },
+			{ startIndex: 11, type: 'D.hi' },
+			{ startIndex: 13, type: 'A.}' },
+			{ startIndex: 14, type: 'A.jkl' }
 		]);
 		assert.equal((<StateMemorizingLastWord>lineTokens.endState).lastWord, 'jkl');
 		assertModeTransitions(lineTokens.modeTransitions, [
diff --git a/src/vs/editor/test/common/modesTestUtils.ts b/src/vs/editor/test/common/modesTestUtils.ts
index da95106b4ef14..f810d241106d7 100644
--- a/src/vs/editor/test/common/modesTestUtils.ts
+++ b/src/vs/editor/test/common/modesTestUtils.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Arrays} from 'vs/editor/common/core/arrays';
+import { Arrays } from 'vs/editor/common/core/arrays';
 import * as modes from 'vs/editor/common/modes';
-import {ModeTransition} from 'vs/editor/common/core/modeTransition';
-import {Token} from 'vs/editor/common/core/token';
+import { ModeTransition } from 'vs/editor/common/core/modeTransition';
+import { Token } from 'vs/editor/common/core/token';
 
 export interface TokenText {
 	text: string;
@@ -19,7 +19,7 @@ export function createLineContextFromTokenText(tokens: TokenText[]): modes.ILine
 	let processedTokens: Token[] = [];
 
 	let indexSoFar = 0;
-	for (let i = 0; i < tokens.length; ++i){
+	for (let i = 0; i < tokens.length; ++i) {
 		processedTokens.push(new Token(indexSoFar, tokens[i].type));
 		line += tokens[i].text;
 		indexSoFar += tokens[i].text.length;
@@ -28,17 +28,17 @@ export function createLineContextFromTokenText(tokens: TokenText[]): modes.ILine
 	return new TestLineContext(line, processedTokens, null);
 }
 
-export function createMockLineContext(line:string, tokens:modes.ILineTokens): modes.ILineContext {
+export function createMockLineContext(line: string, tokens: modes.ILineTokens): modes.ILineContext {
 	return new TestLineContext(line, tokens.tokens, tokens.modeTransitions);
 }
 
 class TestLineContext implements modes.ILineContext {
 
 	public modeTransitions: ModeTransition[];
-	private _line:string;
+	private _line: string;
 	private _tokens: Token[];
 
-	constructor(line:string, tokens: Token[], modeTransitions:ModeTransition[]) {
+	constructor(line: string, tokens: Token[], modeTransitions: ModeTransition[]) {
 		this.modeTransitions = modeTransitions;
 		this._line = line;
 		this._tokens = tokens;
@@ -52,15 +52,15 @@ class TestLineContext implements modes.ILineContext {
 		return this._tokens.length;
 	}
 
-	public getTokenStartOffset(tokenIndex:number): number {
+	public getTokenStartOffset(tokenIndex: number): number {
 		return this._tokens[tokenIndex].startIndex;
 	}
 
-	public getTokenType(tokenIndex:number): string {
+	public getTokenType(tokenIndex: number): string {
 		return this._tokens[tokenIndex].type;
 	}
 
-	public findIndexOfOffset(offset:number): number {
+	public findIndexOfOffset(offset: number): number {
 		return Arrays.findIndexInSegmentsArray(this._tokens, offset);
 	}
 }
\ No newline at end of file
diff --git a/src/vs/editor/test/common/services/languagesRegistry.test.ts b/src/vs/editor/test/common/services/languagesRegistry.test.ts
index 3a9805a62c4c9..cffe7c7d71e27 100644
--- a/src/vs/editor/test/common/services/languagesRegistry.test.ts
+++ b/src/vs/editor/test/common/services/languagesRegistry.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {LanguagesRegistry} from 'vs/editor/common/services/languagesRegistry';
+import { LanguagesRegistry } from 'vs/editor/common/services/languagesRegistry';
 
 suite('LanguagesRegistry', () => {
 
diff --git a/src/vs/editor/test/common/standalone/standaloneBase.test.ts b/src/vs/editor/test/common/standalone/standaloneBase.test.ts
index 14dced132061e..d99158231923c 100644
--- a/src/vs/editor/test/common/standalone/standaloneBase.test.ts
+++ b/src/vs/editor/test/common/standalone/standaloneBase.test.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as assert from 'assert';
-import {KeyCode as StandaloneKeyCode, Severity as StandaloneSeverity} from 'vs/editor/common/standalone/standaloneBase';
-import {KeyCode as RuntimeKeyCode} from 'vs/base/common/keyCodes';
-import {Keybinding} from 'vs/base/common/keybinding';
+import { KeyCode as StandaloneKeyCode, Severity as StandaloneSeverity } from 'vs/editor/common/standalone/standaloneBase';
+import { KeyCode as RuntimeKeyCode } from 'vs/base/common/keyCodes';
+import { Keybinding } from 'vs/base/common/keybinding';
 import RuntimeSeverity from 'vs/base/common/severity';
 
 suite('StandaloneBase', () => {
@@ -141,7 +141,7 @@ suite('KeyCode', () => {
 	test('getUserSettingsKeybindingRegex', () => {
 		let regex = new RegExp(Keybinding.getUserSettingsKeybindingRegex());
 
-		function testIsGood(userSettingsLabel:string, message:string = userSettingsLabel): void {
+		function testIsGood(userSettingsLabel: string, message: string = userSettingsLabel): void {
 			let userSettings = '"' + userSettingsLabel.replace(/\\/g, '\\\\') + '"';
 			let isGood = regex.test(userSettings);
 			assert.ok(isGood, message);
diff --git a/src/vs/editor/test/common/testModes.ts b/src/vs/editor/test/common/testModes.ts
index 2b22cd526b27f..4e3c144111e32 100644
--- a/src/vs/editor/test/common/testModes.ts
+++ b/src/vs/editor/test/common/testModes.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {LanguageConfigurationRegistry, CommentRule} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {MockMode} from 'vs/editor/test/common/mocks/mockMode';
+import { LanguageConfigurationRegistry, CommentRule } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { MockMode } from 'vs/editor/test/common/mocks/mockMode';
 
 export class CommentMode extends MockMode {
-	constructor(commentsConfig:CommentRule) {
+	constructor(commentsConfig: CommentRule) {
 		super();
 		LanguageConfigurationRegistry.register(this.getId(), {
 			comments: commentsConfig
diff --git a/src/vs/editor/test/common/view/overviewZoneManager.test.ts b/src/vs/editor/test/common/view/overviewZoneManager.test.ts
index 522b3241e4736..66b4ac649b803 100644
--- a/src/vs/editor/test/common/view/overviewZoneManager.test.ts
+++ b/src/vs/editor/test/common/view/overviewZoneManager.test.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {OverviewRulerLane, OverviewRulerZone, ColorZone} from 'vs/editor/common/editorCommon';
-import {OverviewZoneManager} from 'vs/editor/common/view/overviewZoneManager';
+import { OverviewRulerLane, OverviewRulerZone, ColorZone } from 'vs/editor/common/editorCommon';
+import { OverviewZoneManager } from 'vs/editor/common/view/overviewZoneManager';
 
 suite('Editor View - OverviewZoneManager', () => {
 
diff --git a/src/vs/editor/test/common/viewLayout/editorLayoutProvider.test.ts b/src/vs/editor/test/common/viewLayout/editorLayoutProvider.test.ts
index b43dc218979d2..01d5c3b35cde0 100644
--- a/src/vs/editor/test/common/viewLayout/editorLayoutProvider.test.ts
+++ b/src/vs/editor/test/common/viewLayout/editorLayoutProvider.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {EditorLayoutInfo, OverviewRulerPosition} from 'vs/editor/common/editorCommon';
-import {EditorLayoutProvider, IEditorLayoutProviderOpts} from 'vs/editor/common/viewLayout/editorLayoutProvider';
+import { EditorLayoutInfo, OverviewRulerPosition } from 'vs/editor/common/editorCommon';
+import { EditorLayoutProvider, IEditorLayoutProviderOpts } from 'vs/editor/common/viewLayout/editorLayoutProvider';
 
 suite('Editor ViewLayout - EditorLayoutProvider', () => {
 
-	function doTest(input:IEditorLayoutProviderOpts, expected:EditorLayoutInfo): void {
+	function doTest(input: IEditorLayoutProviderOpts, expected: EditorLayoutInfo): void {
 		let actual = EditorLayoutProvider.compute(input);
 		assert.deepEqual(actual, expected);
 	}
@@ -31,24 +31,24 @@ suite('Editor ViewLayout - EditorLayoutProvider', () => {
 			scrollbarArrowSize: 0,
 			verticalScrollbarHasArrows: false
 		}, new EditorLayoutInfo({
-			width:1000,
-			height:800,
+			width: 1000,
+			height: 800,
 
-			glyphMarginLeft:0,
+			glyphMarginLeft: 0,
 			glyphMarginWidth: 0,
-			glyphMarginHeight:800,
+			glyphMarginHeight: 800,
 
-			lineNumbersLeft:0,
-			lineNumbersWidth:0,
-			lineNumbersHeight:800,
+			lineNumbersLeft: 0,
+			lineNumbersWidth: 0,
+			lineNumbersHeight: 800,
 
-			decorationsLeft:0,
-			decorationsWidth:10,
-			decorationsHeight:800,
+			decorationsLeft: 0,
+			decorationsWidth: 10,
+			decorationsHeight: 800,
 
-			contentLeft:10,
-			contentWidth:990,
-			contentHeight:800,
+			contentLeft: 10,
+			contentWidth: 990,
+			contentHeight: 800,
 
 			verticalScrollbarWidth: 0,
 			horizontalScrollbarHeight: 0,
@@ -78,24 +78,24 @@ suite('Editor ViewLayout - EditorLayoutProvider', () => {
 			scrollbarArrowSize: 13,
 			verticalScrollbarHasArrows: true
 		}, new EditorLayoutInfo({
-			width:1000,
-			height:800,
+			width: 1000,
+			height: 800,
 
-			glyphMarginLeft:0,
+			glyphMarginLeft: 0,
 			glyphMarginWidth: 0,
-			glyphMarginHeight:800,
+			glyphMarginHeight: 800,
 
-			lineNumbersLeft:0,
-			lineNumbersWidth:0,
-			lineNumbersHeight:800,
+			lineNumbersLeft: 0,
+			lineNumbersWidth: 0,
+			lineNumbersHeight: 800,
 
-			decorationsLeft:0,
-			decorationsWidth:10,
-			decorationsHeight:800,
+			decorationsLeft: 0,
+			decorationsWidth: 10,
+			decorationsHeight: 800,
 
-			contentLeft:10,
-			contentWidth:990,
-			contentHeight:800,
+			contentLeft: 10,
+			contentWidth: 990,
+			contentHeight: 800,
 
 			verticalScrollbarWidth: 11,
 			horizontalScrollbarHeight: 12,
@@ -125,24 +125,24 @@ suite('Editor ViewLayout - EditorLayoutProvider', () => {
 			scrollbarArrowSize: 0,
 			verticalScrollbarHasArrows: false
 		}, new EditorLayoutInfo({
-			width:900,
-			height:800,
+			width: 900,
+			height: 800,
 
-			glyphMarginLeft:0,
+			glyphMarginLeft: 0,
 			glyphMarginWidth: 0,
-			glyphMarginHeight:800,
+			glyphMarginHeight: 800,
 
-			lineNumbersLeft:0,
-			lineNumbersWidth:0,
-			lineNumbersHeight:800,
+			lineNumbersLeft: 0,
+			lineNumbersWidth: 0,
+			lineNumbersHeight: 800,
 
-			decorationsLeft:0,
-			decorationsWidth:10,
-			decorationsHeight:800,
+			decorationsLeft: 0,
+			decorationsWidth: 10,
+			decorationsHeight: 800,
 
-			contentLeft:10,
-			contentWidth:890,
-			contentHeight:800,
+			contentLeft: 10,
+			contentWidth: 890,
+			contentHeight: 800,
 
 			verticalScrollbarWidth: 0,
 			horizontalScrollbarHeight: 0,
@@ -172,24 +172,24 @@ suite('Editor ViewLayout - EditorLayoutProvider', () => {
 			scrollbarArrowSize: 0,
 			verticalScrollbarHasArrows: false
 		}, new EditorLayoutInfo({
-			width:900,
-			height:900,
+			width: 900,
+			height: 900,
 
-			glyphMarginLeft:0,
+			glyphMarginLeft: 0,
 			glyphMarginWidth: 0,
-			glyphMarginHeight:900,
+			glyphMarginHeight: 900,
 
-			lineNumbersLeft:0,
-			lineNumbersWidth:0,
-			lineNumbersHeight:900,
+			lineNumbersLeft: 0,
+			lineNumbersWidth: 0,
+			lineNumbersHeight: 900,
 
-			decorationsLeft:0,
-			decorationsWidth:10,
-			decorationsHeight:900,
+			decorationsLeft: 0,
+			decorationsWidth: 10,
+			decorationsHeight: 900,
 
-			contentLeft:10,
-			contentWidth:890,
-			contentHeight:900,
+			contentLeft: 10,
+			contentWidth: 890,
+			contentHeight: 900,
 
 			verticalScrollbarWidth: 0,
 			horizontalScrollbarHeight: 0,
@@ -219,24 +219,24 @@ suite('Editor ViewLayout - EditorLayoutProvider', () => {
 			scrollbarArrowSize: 0,
 			verticalScrollbarHasArrows: false
 		}, new EditorLayoutInfo({
-			width:900,
-			height:900,
+			width: 900,
+			height: 900,
 
-			glyphMarginLeft:0,
+			glyphMarginLeft: 0,
 			glyphMarginWidth: 0,
-			glyphMarginHeight:900,
+			glyphMarginHeight: 900,
 
-			lineNumbersLeft:0,
-			lineNumbersWidth:0,
-			lineNumbersHeight:900,
+			lineNumbersLeft: 0,
+			lineNumbersWidth: 0,
+			lineNumbersHeight: 900,
 
-			decorationsLeft:0,
-			decorationsWidth:10,
-			decorationsHeight:900,
+			decorationsLeft: 0,
+			decorationsWidth: 10,
+			decorationsHeight: 900,
 
-			contentLeft:10,
-			contentWidth:890,
-			contentHeight:900,
+			contentLeft: 10,
+			contentWidth: 890,
+			contentHeight: 900,
 
 			verticalScrollbarWidth: 0,
 			horizontalScrollbarHeight: 0,
@@ -266,24 +266,24 @@ suite('Editor ViewLayout - EditorLayoutProvider', () => {
 			scrollbarArrowSize: 0,
 			verticalScrollbarHasArrows: false
 		}, new EditorLayoutInfo({
-			width:900,
-			height:900,
+			width: 900,
+			height: 900,
 
-			glyphMarginLeft:0,
+			glyphMarginLeft: 0,
 			glyphMarginWidth: 0,
-			glyphMarginHeight:900,
+			glyphMarginHeight: 900,
 
-			lineNumbersLeft:0,
-			lineNumbersWidth:50,
-			lineNumbersHeight:900,
+			lineNumbersLeft: 0,
+			lineNumbersWidth: 50,
+			lineNumbersHeight: 900,
 
-			decorationsLeft:50,
-			decorationsWidth:10,
-			decorationsHeight:900,
+			decorationsLeft: 50,
+			decorationsWidth: 10,
+			decorationsHeight: 900,
 
-			contentLeft:60,
-			contentWidth:840,
-			contentHeight:900,
+			contentLeft: 60,
+			contentWidth: 840,
+			contentHeight: 900,
 
 			verticalScrollbarWidth: 0,
 			horizontalScrollbarHeight: 0,
@@ -313,24 +313,24 @@ suite('Editor ViewLayout - EditorLayoutProvider', () => {
 			scrollbarArrowSize: 0,
 			verticalScrollbarHasArrows: false
 		}, new EditorLayoutInfo({
-			width:900,
-			height:900,
+			width: 900,
+			height: 900,
 
-			glyphMarginLeft:0,
+			glyphMarginLeft: 0,
 			glyphMarginWidth: 0,
-			glyphMarginHeight:900,
+			glyphMarginHeight: 900,
 
-			lineNumbersLeft:0,
-			lineNumbersWidth:50,
-			lineNumbersHeight:900,
+			lineNumbersLeft: 0,
+			lineNumbersWidth: 50,
+			lineNumbersHeight: 900,
 
-			decorationsLeft:50,
-			decorationsWidth:10,
-			decorationsHeight:900,
+			decorationsLeft: 50,
+			decorationsWidth: 10,
+			decorationsHeight: 900,
 
-			contentLeft:60,
-			contentWidth:840,
-			contentHeight:900,
+			contentLeft: 60,
+			contentWidth: 840,
+			contentHeight: 900,
 
 			verticalScrollbarWidth: 0,
 			horizontalScrollbarHeight: 0,
@@ -360,24 +360,24 @@ suite('Editor ViewLayout - EditorLayoutProvider', () => {
 			scrollbarArrowSize: 0,
 			verticalScrollbarHasArrows: false
 		}, new EditorLayoutInfo({
-			width:900,
-			height:900,
+			width: 900,
+			height: 900,
 
-			glyphMarginLeft:0,
+			glyphMarginLeft: 0,
 			glyphMarginWidth: 0,
-			glyphMarginHeight:900,
+			glyphMarginHeight: 900,
 
-			lineNumbersLeft:0,
-			lineNumbersWidth:60,
-			lineNumbersHeight:900,
+			lineNumbersLeft: 0,
+			lineNumbersWidth: 60,
+			lineNumbersHeight: 900,
 
-			decorationsLeft:60,
-			decorationsWidth:10,
-			decorationsHeight:900,
+			decorationsLeft: 60,
+			decorationsWidth: 10,
+			decorationsHeight: 900,
 
-			contentLeft:70,
-			contentWidth:830,
-			contentHeight:900,
+			contentLeft: 70,
+			contentWidth: 830,
+			contentHeight: 900,
 
 			verticalScrollbarWidth: 0,
 			horizontalScrollbarHeight: 0,
@@ -407,24 +407,24 @@ suite('Editor ViewLayout - EditorLayoutProvider', () => {
 			scrollbarArrowSize: 0,
 			verticalScrollbarHasArrows: false
 		}, new EditorLayoutInfo({
-			width:900,
-			height:900,
+			width: 900,
+			height: 900,
 
-			glyphMarginLeft:0,
+			glyphMarginLeft: 0,
 			glyphMarginWidth: 0,
-			glyphMarginHeight:900,
+			glyphMarginHeight: 900,
 
-			lineNumbersLeft:0,
-			lineNumbersWidth:30,
-			lineNumbersHeight:900,
+			lineNumbersLeft: 0,
+			lineNumbersWidth: 30,
+			lineNumbersHeight: 900,
 
-			decorationsLeft:30,
-			decorationsWidth:10,
-			decorationsHeight:900,
+			decorationsLeft: 30,
+			decorationsWidth: 10,
+			decorationsHeight: 900,
 
-			contentLeft:40,
-			contentWidth:860,
-			contentHeight:900,
+			contentLeft: 40,
+			contentWidth: 860,
+			contentHeight: 900,
 
 			verticalScrollbarWidth: 0,
 			horizontalScrollbarHeight: 0,
@@ -454,24 +454,24 @@ suite('Editor ViewLayout - EditorLayoutProvider', () => {
 			scrollbarArrowSize: 0,
 			verticalScrollbarHasArrows: false
 		}, new EditorLayoutInfo({
-			width:900,
-			height:900,
+			width: 900,
+			height: 900,
 
-			glyphMarginLeft:0,
+			glyphMarginLeft: 0,
 			glyphMarginWidth: 0,
-			glyphMarginHeight:900,
+			glyphMarginHeight: 900,
 
-			lineNumbersLeft:0,
-			lineNumbersWidth:30,
-			lineNumbersHeight:900,
+			lineNumbersLeft: 0,
+			lineNumbersWidth: 30,
+			lineNumbersHeight: 900,
 
-			decorationsLeft:30,
-			decorationsWidth:10,
-			decorationsHeight:900,
+			decorationsLeft: 30,
+			decorationsWidth: 10,
+			decorationsHeight: 900,
 
-			contentLeft:40,
-			contentWidth:860,
-			contentHeight:900,
+			contentLeft: 40,
+			contentWidth: 860,
+			contentHeight: 900,
 
 			verticalScrollbarWidth: 0,
 			horizontalScrollbarHeight: 0,
diff --git a/src/vs/editor/test/common/viewLayout/verticalObjects.test.ts b/src/vs/editor/test/common/viewLayout/verticalObjects.test.ts
index 4b210e96a31ec..2fb23b8eae4bc 100644
--- a/src/vs/editor/test/common/viewLayout/verticalObjects.test.ts
+++ b/src/vs/editor/test/common/viewLayout/verticalObjects.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {VerticalObjects} from 'vs/editor/common/viewLayout/verticalObjects';
+import { VerticalObjects } from 'vs/editor/common/viewLayout/verticalObjects';
 
 suite('Editor ViewLayout - VerticalObjects', () => {
 
@@ -19,21 +19,21 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// lines: [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
 		// whitespace: -
 		assert.equal(verticalObjects.getTotalHeight(10), 100);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 10),  0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 10), 10);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 10), 20);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 10), 30);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 10), 40);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 10), 50);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 10), 60);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 10), 70);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 9, 10), 80);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 10), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 10), 10);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 10), 20);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 10), 30);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 10), 40);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 10), 50);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 10), 60);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 10), 70);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 10), 80);
 		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 10), 90);
 
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 0, 10), 1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 1, 10), 1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 5, 10), 1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 9, 10), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(0, 10), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(1, 10), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(5, 10), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(9, 10), 1);
 		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(10, 10), 2);
 		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(11, 10), 2);
 		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(15, 10), 2);
@@ -47,22 +47,22 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// lines: [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
 		// whitespace: a(2,5)
 		assert.equal(verticalObjects.getTotalHeight(10), 105);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 10),  0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 10), 10);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 10), 25);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 10), 35);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 10), 45);
-
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  0, 10), 1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  1, 10), 1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  9, 10), 1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 10, 10), 2);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 20, 10), 3);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 21, 10), 3);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 24, 10), 3);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 25, 10), 3);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 35, 10), 4);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 45, 10), 5);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 10), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 10), 10);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 10), 25);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 10), 35);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 10), 45);
+
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(0, 10), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(1, 10), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(9, 10), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(10, 10), 2);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(20, 10), 3);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(21, 10), 3);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(24, 10), 3);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(25, 10), 3);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(35, 10), 4);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(45, 10), 5);
 		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(104, 10), 10);
 		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(105, 10), 10);
 
@@ -72,25 +72,25 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// lines: [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
 		// whitespace: a(2,5), b(3, 5), c(4, 5)
 		assert.equal(verticalObjects.getTotalHeight(10), 115);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 10),  0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 10), 10);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 10), 25);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 10), 40);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 10), 55);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 10), 65);
-
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  0, 10), 1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  1, 10), 1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  9, 10), 1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 10, 10), 2);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 19, 10), 2);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 20, 10), 3);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 34, 10), 3);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 35, 10), 4);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 49, 10), 4);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 50, 10), 5);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 64, 10), 5);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset( 65, 10), 6);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 10), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 10), 10);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 10), 25);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 10), 40);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 10), 55);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 10), 65);
+
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(0, 10), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(1, 10), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(9, 10), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(10, 10), 2);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(19, 10), 2);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(20, 10), 3);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(34, 10), 3);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(35, 10), 4);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(49, 10), 4);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(50, 10), 5);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(64, 10), 5);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(65, 10), 6);
 
 		assert.equal(verticalObjects.getVerticalOffsetForWhitespaceIndex(0, 10), 20); // 20 -> 25
 		assert.equal(verticalObjects.getVerticalOffsetForWhitespaceIndex(1, 10), 35); // 35 -> 40
@@ -131,15 +131,15 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// 10 lines
 		// whitespace: - a(2,5)
 		assert.equal(verticalObjects.getTotalHeight(1), 15);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 1), 0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 1), 1);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 1), 7);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 1), 8);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 1), 9);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 1), 10);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 1), 11);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 1), 12);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 9, 1), 13);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 1), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 1), 1);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 1), 7);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 1), 8);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 1), 9);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 1), 10);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 1), 11);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 1), 12);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 1), 13);
 		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 1), 14);
 
 		// Change whitespace height
@@ -147,15 +147,15 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// whitespace: - a(2,10)
 		verticalObjects.changeWhitespace(a, 2, 10);
 		assert.equal(verticalObjects.getTotalHeight(1), 20);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 1), 0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 1), 1);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 1), 12);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 1), 13);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 1), 14);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 1), 15);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 1), 16);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 1), 17);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 9, 1), 18);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 1), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 1), 1);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 1), 12);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 1), 13);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 1), 14);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 1), 15);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 1), 16);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 1), 17);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 1), 18);
 		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 1), 19);
 
 		// Change whitespace position
@@ -163,15 +163,15 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// whitespace: - a(5,10)
 		verticalObjects.changeWhitespace(a, 5, 10);
 		assert.equal(verticalObjects.getTotalHeight(1), 20);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 1), 0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 1), 1);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 1), 2);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 1), 3);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 1), 4);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 1), 15);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 1), 16);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 1), 17);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 9, 1), 18);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 1), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 1), 1);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 1), 2);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 1), 3);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 1), 4);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 1), 15);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 1), 16);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 1), 17);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 1), 18);
 		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 1), 19);
 
 		// Pretend that lines 5 and 6 were deleted
@@ -179,44 +179,44 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// whitespace: - a(4,10)
 		verticalObjects.onModelLinesDeleted(5, 6);
 		assert.equal(verticalObjects.getTotalHeight(1), 18);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 1), 0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 1), 1);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 1), 2);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 1), 3);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 1), 14);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 1), 15);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 1), 16);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 1), 17);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 1), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 1), 1);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 1), 2);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 1), 3);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 1), 14);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 1), 15);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 1), 16);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 1), 17);
 
 		// Insert two lines at the beginning
 		// 10 lines
 		// whitespace: - a(6,10)
 		verticalObjects.onModelLinesInserted(1, 2);
 		assert.equal(verticalObjects.getTotalHeight(1), 20);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 1), 0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 1), 1);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 1), 2);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 1), 3);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 1), 4);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 1), 5);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 1), 16);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 1), 17);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 9, 1), 18);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 1), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 1), 1);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 1), 2);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 1), 3);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 1), 4);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 1), 5);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 1), 16);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 1), 17);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 1), 18);
 		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 1), 19);
 
 		// Remove whitespace
 		// 10 lines
 		verticalObjects.removeWhitespace(a);
 		assert.equal(verticalObjects.getTotalHeight(1), 10);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 1), 0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 1), 1);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 1), 2);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 1), 3);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 1), 4);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 1), 5);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 1), 6);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 1), 7);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 9, 1), 8);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 1), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 1), 1);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 1), 2);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 1), 3);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 1), 4);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 1), 5);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 1), 6);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 1), 7);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 1), 8);
 		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 1), 9);
 	});
 
@@ -228,46 +228,46 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// 10 lines
 		// whitespace: - a(6,10)
 		assert.equal(verticalObjects.getTotalHeight(1), 20);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 1), 0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 1), 1);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 1), 2);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 1), 3);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 1), 4);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 1), 5);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 1), 16);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 1), 17);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 9, 1), 18);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 1), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 1), 1);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 1), 2);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 1), 3);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 1), 4);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 1), 5);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 1), 16);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 1), 17);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 1), 18);
 		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 1), 19);
 
 		// Do some hit testing
 		// line      [1, 2, 3, 4, 5, 6,  7,  8,  9, 10]
 		// vertical: [0, 1, 2, 3, 4, 5, 16, 17, 18, 19]
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(-100, 1),  1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  -1, 1),  1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(   0, 1),  1);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(   1, 1),  2);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(   2, 1),  3);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(   3, 1),  4);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(   4, 1),  5);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(   5, 1),  6);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(   6, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(   7, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(   8, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(   9, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  10, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  11, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  12, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  13, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  14, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  15, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  16, 1),  7);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  17, 1),  8);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  18, 1),  9);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  19, 1), 10);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  20, 1), 10);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  21, 1), 10);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  22, 1), 10);
-		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(  23, 1), 10);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(-100, 1), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(-1, 1), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(0, 1), 1);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(1, 1), 2);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(2, 1), 3);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(3, 1), 4);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(4, 1), 5);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(5, 1), 6);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(6, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(7, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(8, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(9, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(10, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(11, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(12, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(13, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(14, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(15, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(16, 1), 7);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(17, 1), 8);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(18, 1), 9);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(19, 1), 10);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(20, 1), 10);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(21, 1), 10);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(22, 1), 10);
+		assert.equal(verticalObjects.getLineNumberAtOrAfterVerticalOffset(23, 1), 10);
 	});
 
 	test('VerticalObjects getCenteredLineInViewport', () => {
@@ -278,29 +278,29 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// 10 lines
 		// whitespace: - a(6,10)
 		assert.equal(verticalObjects.getTotalHeight(1), 20);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 1), 0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 1), 1);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 1), 2);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 1), 3);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 1), 4);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 1), 5);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 1), 16);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 1), 17);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 9, 1), 18);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 1), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 1), 1);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 1), 2);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 1), 3);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 1), 4);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 1), 5);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 1), 16);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 1), 17);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 1), 18);
 		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 1), 19);
 
 		// Find centered line in viewport 1
 		// line      [1, 2, 3, 4, 5, 6,  7,  8,  9, 10]
 		// vertical: [0, 1, 2, 3, 4, 5, 16, 17, 18, 19]
-		assert.equal(verticalObjects.getCenteredLineInViewport(0,  1, 1), 1);
-		assert.equal(verticalObjects.getCenteredLineInViewport(0,  2, 1), 2);
-		assert.equal(verticalObjects.getCenteredLineInViewport(0,  3, 1), 2);
-		assert.equal(verticalObjects.getCenteredLineInViewport(0,  4, 1), 3);
-		assert.equal(verticalObjects.getCenteredLineInViewport(0,  5, 1), 3);
-		assert.equal(verticalObjects.getCenteredLineInViewport(0,  6, 1), 4);
-		assert.equal(verticalObjects.getCenteredLineInViewport(0,  7, 1), 4);
-		assert.equal(verticalObjects.getCenteredLineInViewport(0,  8, 1), 5);
-		assert.equal(verticalObjects.getCenteredLineInViewport(0,  9, 1), 5);
+		assert.equal(verticalObjects.getCenteredLineInViewport(0, 1, 1), 1);
+		assert.equal(verticalObjects.getCenteredLineInViewport(0, 2, 1), 2);
+		assert.equal(verticalObjects.getCenteredLineInViewport(0, 3, 1), 2);
+		assert.equal(verticalObjects.getCenteredLineInViewport(0, 4, 1), 3);
+		assert.equal(verticalObjects.getCenteredLineInViewport(0, 5, 1), 3);
+		assert.equal(verticalObjects.getCenteredLineInViewport(0, 6, 1), 4);
+		assert.equal(verticalObjects.getCenteredLineInViewport(0, 7, 1), 4);
+		assert.equal(verticalObjects.getCenteredLineInViewport(0, 8, 1), 5);
+		assert.equal(verticalObjects.getCenteredLineInViewport(0, 9, 1), 5);
 		assert.equal(verticalObjects.getCenteredLineInViewport(0, 10, 1), 6);
 		assert.equal(verticalObjects.getCenteredLineInViewport(0, 11, 1), 6);
 		assert.equal(verticalObjects.getCenteredLineInViewport(0, 12, 1), 6);
@@ -329,16 +329,16 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// Find centered line in viewport 2
 		// line      [1, 2, 3, 4, 5, 6,  7,  8,  9, 10]
 		// vertical: [0, 1, 2, 3, 4, 5, 16, 17, 18, 19]
-		assert.equal(verticalObjects.getCenteredLineInViewport( 0, 20, 1), 7);
-		assert.equal(verticalObjects.getCenteredLineInViewport( 1, 20, 1), 7);
-		assert.equal(verticalObjects.getCenteredLineInViewport( 2, 20, 1), 7);
-		assert.equal(verticalObjects.getCenteredLineInViewport( 3, 20, 1), 7);
-		assert.equal(verticalObjects.getCenteredLineInViewport( 4, 20, 1), 7);
-		assert.equal(verticalObjects.getCenteredLineInViewport( 5, 20, 1), 7);
-		assert.equal(verticalObjects.getCenteredLineInViewport( 6, 20, 1), 7);
-		assert.equal(verticalObjects.getCenteredLineInViewport( 7, 20, 1), 7);
-		assert.equal(verticalObjects.getCenteredLineInViewport( 8, 20, 1), 7);
-		assert.equal(verticalObjects.getCenteredLineInViewport( 9, 20, 1), 7);
+		assert.equal(verticalObjects.getCenteredLineInViewport(0, 20, 1), 7);
+		assert.equal(verticalObjects.getCenteredLineInViewport(1, 20, 1), 7);
+		assert.equal(verticalObjects.getCenteredLineInViewport(2, 20, 1), 7);
+		assert.equal(verticalObjects.getCenteredLineInViewport(3, 20, 1), 7);
+		assert.equal(verticalObjects.getCenteredLineInViewport(4, 20, 1), 7);
+		assert.equal(verticalObjects.getCenteredLineInViewport(5, 20, 1), 7);
+		assert.equal(verticalObjects.getCenteredLineInViewport(6, 20, 1), 7);
+		assert.equal(verticalObjects.getCenteredLineInViewport(7, 20, 1), 7);
+		assert.equal(verticalObjects.getCenteredLineInViewport(8, 20, 1), 7);
+		assert.equal(verticalObjects.getCenteredLineInViewport(9, 20, 1), 7);
 		assert.equal(verticalObjects.getCenteredLineInViewport(10, 20, 1), 7);
 		assert.equal(verticalObjects.getCenteredLineInViewport(11, 20, 1), 7);
 		assert.equal(verticalObjects.getCenteredLineInViewport(12, 20, 1), 7);
@@ -362,82 +362,82 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// 10 lines
 		// whitespace: - a(6,100)
 		assert.equal(verticalObjects.getTotalHeight(10), 200);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 10),   0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 10),  10);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 10),  20);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 10),  30);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 10),  40);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 10),  50);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 10), 160);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 10), 170);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 9, 10), 180);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 10), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 10), 10);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 10), 20);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 10), 30);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 10), 40);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 10), 50);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 10), 160);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 10), 170);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 10), 180);
 		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 10), 190);
 
 		// viewport 0->50
-		var viewportData = verticalObjects.getLinesViewportData(0,50,10);
+		var viewportData = verticalObjects.getLinesViewportData(0, 50, 10);
 		assert.equal(viewportData.startLineNumber, 1);
 		assert.equal(viewportData.endLineNumber, 5);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [0, 10, 20, 30, 40]);
 		assert.equal(viewportData.visibleRangesDeltaTop, 0);
 
 		// viewport 1->51
-		viewportData = verticalObjects.getLinesViewportData(1,51,10);
+		viewportData = verticalObjects.getLinesViewportData(1, 51, 10);
 		assert.equal(viewportData.startLineNumber, 1);
 		assert.equal(viewportData.endLineNumber, 6);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [0, 10, 20, 30, 40, 50]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -1);
 
 		// viewport 5->55
-		viewportData = verticalObjects.getLinesViewportData(5,55,10);
+		viewportData = verticalObjects.getLinesViewportData(5, 55, 10);
 		assert.equal(viewportData.startLineNumber, 1);
 		assert.equal(viewportData.endLineNumber, 6);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [0, 10, 20, 30, 40, 50]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -5);
 
 		// viewport 10->60
-		viewportData = verticalObjects.getLinesViewportData(10,60,10);
+		viewportData = verticalObjects.getLinesViewportData(10, 60, 10);
 		assert.equal(viewportData.startLineNumber, 2);
 		assert.equal(viewportData.endLineNumber, 6);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [10, 20, 30, 40, 50]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -10);
 
 		// viewport 50->100
-		viewportData = verticalObjects.getLinesViewportData(50,100,10);
+		viewportData = verticalObjects.getLinesViewportData(50, 100, 10);
 		assert.equal(viewportData.startLineNumber, 6);
 		assert.equal(viewportData.endLineNumber, 6);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [50]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -50);
 
 		// viewport 60->110
-		viewportData = verticalObjects.getLinesViewportData(60,110,10);
+		viewportData = verticalObjects.getLinesViewportData(60, 110, 10);
 		assert.equal(viewportData.startLineNumber, 7);
 		assert.equal(viewportData.endLineNumber, 7);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [160]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -60);
 
 		// viewport 65->115
-		viewportData = verticalObjects.getLinesViewportData(65,115,10);
+		viewportData = verticalObjects.getLinesViewportData(65, 115, 10);
 		assert.equal(viewportData.startLineNumber, 7);
 		assert.equal(viewportData.endLineNumber, 7);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [160]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -65);
 
 		// viewport 50->159
-		viewportData = verticalObjects.getLinesViewportData(50,159,10);
+		viewportData = verticalObjects.getLinesViewportData(50, 159, 10);
 		assert.equal(viewportData.startLineNumber, 6);
 		assert.equal(viewportData.endLineNumber, 6);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [50]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -50);
 
 		// viewport 50->160
-		viewportData = verticalObjects.getLinesViewportData(50,160,10);
+		viewportData = verticalObjects.getLinesViewportData(50, 160, 10);
 		assert.equal(viewportData.startLineNumber, 6);
 		assert.equal(viewportData.endLineNumber, 6);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [50]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -50);
 
 		// viewport 51->161
-		viewportData = verticalObjects.getLinesViewportData(51,161,10);
+		viewportData = verticalObjects.getLinesViewportData(51, 161, 10);
 		assert.equal(viewportData.startLineNumber, 6);
 		assert.equal(viewportData.endLineNumber, 7);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [50, 160]);
@@ -445,21 +445,21 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 
 
 		// viewport 150->169
-		viewportData = verticalObjects.getLinesViewportData(150,169,10);
+		viewportData = verticalObjects.getLinesViewportData(150, 169, 10);
 		assert.equal(viewportData.startLineNumber, 7);
 		assert.equal(viewportData.endLineNumber, 7);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [160]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -150);
 
 		// viewport 159->169
-		viewportData = verticalObjects.getLinesViewportData(159,169,10);
+		viewportData = verticalObjects.getLinesViewportData(159, 169, 10);
 		assert.equal(viewportData.startLineNumber, 7);
 		assert.equal(viewportData.endLineNumber, 7);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [160]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -159);
 
 		// viewport 160->169
-		viewportData = verticalObjects.getLinesViewportData(160,169,10);
+		viewportData = verticalObjects.getLinesViewportData(160, 169, 10);
 		assert.equal(viewportData.startLineNumber, 7);
 		assert.equal(viewportData.endLineNumber, 7);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [160]);
@@ -467,7 +467,7 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 
 
 		// viewport 160->1000
-		viewportData = verticalObjects.getLinesViewportData(160,1000,10);
+		viewportData = verticalObjects.getLinesViewportData(160, 1000, 10);
 		assert.equal(viewportData.startLineNumber, 7);
 		assert.equal(viewportData.endLineNumber, 10);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [160, 170, 180, 190]);
@@ -484,24 +484,24 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		// 10 lines
 		// whitespace: - a(6,100), b(7, 50)
 		assert.equal(verticalObjects.getTotalHeight(10), 250);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 1, 10),   0);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 2, 10),  10);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 3, 10),  20);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 4, 10),  30);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 5, 10),  40);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 6, 10),  50);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 7, 10), 160);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 8, 10), 220);
-		assert.equal(verticalObjects.getVerticalOffsetForLineNumber( 9, 10), 230);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 10), 0);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 10), 10);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 10), 20);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 10), 30);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 10), 40);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 10), 50);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 10), 160);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 10), 220);
+		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 10), 230);
 		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 10), 240);
 
 		// viewport 50->160
-		var viewportData = verticalObjects.getLinesViewportData(50,160,10);
+		var viewportData = verticalObjects.getLinesViewportData(50, 160, 10);
 		assert.equal(viewportData.startLineNumber, 6);
 		assert.equal(viewportData.endLineNumber, 6);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [50]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -50);
-		var whitespaceData = verticalObjects.getWhitespaceViewportData(50,160,10);
+		var whitespaceData = verticalObjects.getWhitespaceViewportData(50, 160, 10);
 		assert.deepEqual(whitespaceData, [{
 			id: a,
 			afterLineNumber: 6,
@@ -510,12 +510,12 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		}]);
 
 		// viewport 50->219
-		viewportData = verticalObjects.getLinesViewportData(50,219,10);
+		viewportData = verticalObjects.getLinesViewportData(50, 219, 10);
 		assert.equal(viewportData.startLineNumber, 6);
 		assert.equal(viewportData.endLineNumber, 7);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [50, 160]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -50);
-		whitespaceData = verticalObjects.getWhitespaceViewportData(50,219,10);
+		whitespaceData = verticalObjects.getWhitespaceViewportData(50, 219, 10);
 		assert.deepEqual(whitespaceData, [{
 			id: a,
 			afterLineNumber: 6,
@@ -529,14 +529,14 @@ suite('Editor ViewLayout - VerticalObjects', () => {
 		}]);
 
 		// viewport 50->220
-		viewportData = verticalObjects.getLinesViewportData(50,220,10);
+		viewportData = verticalObjects.getLinesViewportData(50, 220, 10);
 		assert.equal(viewportData.startLineNumber, 6);
 		assert.equal(viewportData.endLineNumber, 7);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [50, 160]);
 		assert.equal(viewportData.visibleRangesDeltaTop, -50);
 
 		// viewport 50->250
-		viewportData = verticalObjects.getLinesViewportData(50,250,10);
+		viewportData = verticalObjects.getLinesViewportData(50, 250, 10);
 		assert.equal(viewportData.startLineNumber, 6);
 		assert.equal(viewportData.endLineNumber, 10);
 		assert.deepEqual(viewportData.relativeVerticalOffset, [50, 160, 220, 230, 240]);
diff --git a/src/vs/editor/test/common/viewLayout/viewLineParts.test.ts b/src/vs/editor/test/common/viewLayout/viewLineParts.test.ts
index de9c05c382af2..f3ef955820100 100644
--- a/src/vs/editor/test/common/viewLayout/viewLineParts.test.ts
+++ b/src/vs/editor/test/common/viewLayout/viewLineParts.test.ts
@@ -5,15 +5,15 @@
 'use strict';
 
 import * as assert from 'assert';
-import {DecorationSegment, LineDecorationsNormalizer, getColumnOfLinePartOffset, createLineParts} from 'vs/editor/common/viewLayout/viewLineParts';
-import {Range} from 'vs/editor/common/core/range';
-import {RenderLineInput, renderLine} from 'vs/editor/common/viewLayout/viewLineRenderer';
-import {ViewLineToken, ViewLineTokens} from 'vs/editor/common/core/viewLineToken';
-import {InlineDecoration} from 'vs/editor/common/viewModel/viewModel';
+import { DecorationSegment, LineDecorationsNormalizer, getColumnOfLinePartOffset, createLineParts } from 'vs/editor/common/viewLayout/viewLineParts';
+import { Range } from 'vs/editor/common/core/range';
+import { RenderLineInput, renderLine } from 'vs/editor/common/viewLayout/viewLineRenderer';
+import { ViewLineToken, ViewLineTokens } from 'vs/editor/common/core/viewLineToken';
+import { InlineDecoration } from 'vs/editor/common/viewModel/viewModel';
 
 suite('Editor ViewLayout - ViewLineParts', () => {
 
-	function newDecoration(startLineNumber:number, startColumn:number, endLineNumber:number, endColumn:number, inlineClassName:string): InlineDecoration {
+	function newDecoration(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, inlineClassName: string): InlineDecoration {
 		return new InlineDecoration(new Range(startLineNumber, startColumn, endLineNumber, endColumn), inlineClassName);
 	}
 
@@ -55,7 +55,7 @@ suite('Editor ViewLayout - ViewLineParts', () => {
 		]);
 	});
 
-	function testCreateLineParts(lineContent: string, tokens: ViewLineToken[], fauxIndentLength: number, renderWhitespace:'none' | 'boundary' | 'all', expected:ViewLineToken[]): void {
+	function testCreateLineParts(lineContent: string, tokens: ViewLineToken[], fauxIndentLength: number, renderWhitespace: 'none' | 'boundary' | 'all', expected: ViewLineToken[]): void {
 		let lineParts = createLineParts(1, 1, lineContent, 4, new ViewLineTokens(tokens, fauxIndentLength, lineContent.length), [], renderWhitespace);
 		let actual = lineParts.getParts();
 
@@ -266,34 +266,34 @@ suite('Editor ViewLayout - ViewLineParts', () => {
 			newDecoration(1, 1, 1, 2, 'c1'),
 			newDecoration(1, 3, 1, 4, 'c2')
 		]), [
-			new DecorationSegment(0, 0, 'c1'),
-			new DecorationSegment(2, 2, 'c2')
-		]);
+				new DecorationSegment(0, 0, 'c1'),
+				new DecorationSegment(2, 2, 'c2')
+			]);
 
 		assert.deepEqual(LineDecorationsNormalizer.normalize(1, 1, [
 			newDecoration(1, 1, 1, 3, 'c1'),
 			newDecoration(1, 3, 1, 4, 'c2')
 		]), [
-			new DecorationSegment(0, 1, 'c1'),
-			new DecorationSegment(2, 2, 'c2')
-		]);
+				new DecorationSegment(0, 1, 'c1'),
+				new DecorationSegment(2, 2, 'c2')
+			]);
 
 		assert.deepEqual(LineDecorationsNormalizer.normalize(1, 1, [
 			newDecoration(1, 1, 1, 4, 'c1'),
 			newDecoration(1, 3, 1, 4, 'c2')
 		]), [
-			new DecorationSegment(0, 1, 'c1'),
-			new DecorationSegment(2, 2, 'c1 c2')
-		]);
+				new DecorationSegment(0, 1, 'c1'),
+				new DecorationSegment(2, 2, 'c1 c2')
+			]);
 
 		assert.deepEqual(LineDecorationsNormalizer.normalize(1, 1, [
 			newDecoration(1, 1, 1, 4, 'c1'),
 			newDecoration(1, 1, 1, 4, 'c1*'),
 			newDecoration(1, 3, 1, 4, 'c2')
 		]), [
-			new DecorationSegment(0, 1, 'c1 c1*'),
-			new DecorationSegment(2, 2, 'c1 c1* c2')
-		]);
+				new DecorationSegment(0, 1, 'c1 c1*'),
+				new DecorationSegment(2, 2, 'c1 c1* c2')
+			]);
 
 		assert.deepEqual(LineDecorationsNormalizer.normalize(1, 1, [
 			newDecoration(1, 1, 1, 4, 'c1'),
@@ -301,9 +301,9 @@ suite('Editor ViewLayout - ViewLineParts', () => {
 			newDecoration(1, 1, 1, 4, 'c1**'),
 			newDecoration(1, 3, 1, 4, 'c2')
 		]), [
-			new DecorationSegment(0, 1, 'c1 c1* c1**'),
-			new DecorationSegment(2, 2, 'c1 c1* c1** c2')
-		]);
+				new DecorationSegment(0, 1, 'c1 c1* c1**'),
+				new DecorationSegment(2, 2, 'c1 c1* c1** c2')
+			]);
 
 		assert.deepEqual(LineDecorationsNormalizer.normalize(1, 1, [
 			newDecoration(1, 1, 1, 4, 'c1'),
@@ -312,9 +312,9 @@ suite('Editor ViewLayout - ViewLineParts', () => {
 			newDecoration(1, 3, 1, 4, 'c2'),
 			newDecoration(1, 3, 1, 4, 'c2*')
 		]), [
-			new DecorationSegment(0, 1, 'c1 c1* c1**'),
-			new DecorationSegment(2, 2, 'c1 c1* c1** c2 c2*')
-		]);
+				new DecorationSegment(0, 1, 'c1 c1* c1**'),
+				new DecorationSegment(2, 2, 'c1 c1* c1** c2 c2*')
+			]);
 
 		assert.deepEqual(LineDecorationsNormalizer.normalize(1, 1, [
 			newDecoration(1, 1, 1, 4, 'c1'),
@@ -323,16 +323,16 @@ suite('Editor ViewLayout - ViewLineParts', () => {
 			newDecoration(1, 3, 1, 4, 'c2'),
 			newDecoration(1, 3, 1, 5, 'c2*')
 		]), [
-			new DecorationSegment(0, 1, 'c1 c1* c1**'),
-			new DecorationSegment(2, 2, 'c1 c1* c1** c2 c2*'),
-			new DecorationSegment(3, 3, 'c2*')
-		]);
+				new DecorationSegment(0, 1, 'c1 c1* c1**'),
+				new DecorationSegment(2, 2, 'c1 c1* c1** c2 c2*'),
+				new DecorationSegment(3, 3, 'c2*')
+			]);
 	});
 
-	function createTestGetColumnOfLinePartOffset(lineContent:string, tabSize:number, parts:ViewLineToken[]): (partIndex:number, partLength:number, offset:number, expected:number)=>void {
+	function createTestGetColumnOfLinePartOffset(lineContent: string, tabSize: number, parts: ViewLineToken[]): (partIndex: number, partLength: number, offset: number, expected: number) => void {
 		let renderLineOutput = renderLine(new RenderLineInput(lineContent, tabSize, 10, -1, 'none', false, parts));
 
-		return (partIndex:number, partLength:number, offset:number, expected:number) => {
+		return (partIndex: number, partLength: number, offset: number, expected: number) => {
 			let actual = getColumnOfLinePartOffset(-1, parts, lineContent.length + 1, renderLineOutput.charOffsetInPart, partIndex, partLength, offset);
 			assert.equal(actual, expected, 'getColumnOfLinePartOffset for ' + partIndex + ' @ ' + offset);
 		};
@@ -346,16 +346,16 @@ suite('Editor ViewLayout - ViewLineParts', () => {
 				new ViewLineToken(0, 'aToken')
 			]
 		);
-		testGetColumnOfLinePartOffset(0, 11,  0,  1);
-		testGetColumnOfLinePartOffset(0, 11,  1,  2);
-		testGetColumnOfLinePartOffset(0, 11,  2,  3);
-		testGetColumnOfLinePartOffset(0, 11,  3,  4);
-		testGetColumnOfLinePartOffset(0, 11,  4,  5);
-		testGetColumnOfLinePartOffset(0, 11,  5,  6);
-		testGetColumnOfLinePartOffset(0, 11,  6,  7);
-		testGetColumnOfLinePartOffset(0, 11,  7,  8);
-		testGetColumnOfLinePartOffset(0, 11,  8,  9);
-		testGetColumnOfLinePartOffset(0, 11,  9, 10);
+		testGetColumnOfLinePartOffset(0, 11, 0, 1);
+		testGetColumnOfLinePartOffset(0, 11, 1, 2);
+		testGetColumnOfLinePartOffset(0, 11, 2, 3);
+		testGetColumnOfLinePartOffset(0, 11, 3, 4);
+		testGetColumnOfLinePartOffset(0, 11, 4, 5);
+		testGetColumnOfLinePartOffset(0, 11, 5, 6);
+		testGetColumnOfLinePartOffset(0, 11, 6, 7);
+		testGetColumnOfLinePartOffset(0, 11, 7, 8);
+		testGetColumnOfLinePartOffset(0, 11, 8, 9);
+		testGetColumnOfLinePartOffset(0, 11, 9, 10);
 		testGetColumnOfLinePartOffset(0, 11, 10, 11);
 		testGetColumnOfLinePartOffset(0, 11, 11, 12);
 	});
@@ -373,19 +373,19 @@ suite('Editor ViewLayout - ViewLineParts', () => {
 				new ViewLineToken(9, ''),
 			]
 		);
-		testGetColumnOfLinePartOffset(0, 3, 0,  1);
-		testGetColumnOfLinePartOffset(0, 3, 1,  2);
-		testGetColumnOfLinePartOffset(0, 3, 2,  3);
-		testGetColumnOfLinePartOffset(0, 3, 3,  4);
-		testGetColumnOfLinePartOffset(1, 1, 0,  4);
-		testGetColumnOfLinePartOffset(1, 1, 1,  5);
-		testGetColumnOfLinePartOffset(2, 1, 0,  5);
-		testGetColumnOfLinePartOffset(2, 1, 1,  6);
-		testGetColumnOfLinePartOffset(3, 3, 0,  6);
-		testGetColumnOfLinePartOffset(3, 3, 1,  7);
-		testGetColumnOfLinePartOffset(3, 3, 2,  8);
-		testGetColumnOfLinePartOffset(3, 3, 3,  9);
-		testGetColumnOfLinePartOffset(4, 1, 0,  9);
+		testGetColumnOfLinePartOffset(0, 3, 0, 1);
+		testGetColumnOfLinePartOffset(0, 3, 1, 2);
+		testGetColumnOfLinePartOffset(0, 3, 2, 3);
+		testGetColumnOfLinePartOffset(0, 3, 3, 4);
+		testGetColumnOfLinePartOffset(1, 1, 0, 4);
+		testGetColumnOfLinePartOffset(1, 1, 1, 5);
+		testGetColumnOfLinePartOffset(2, 1, 0, 5);
+		testGetColumnOfLinePartOffset(2, 1, 1, 6);
+		testGetColumnOfLinePartOffset(3, 3, 0, 6);
+		testGetColumnOfLinePartOffset(3, 3, 1, 7);
+		testGetColumnOfLinePartOffset(3, 3, 2, 8);
+		testGetColumnOfLinePartOffset(3, 3, 3, 9);
+		testGetColumnOfLinePartOffset(4, 1, 0, 9);
 		testGetColumnOfLinePartOffset(4, 1, 1, 10);
 		testGetColumnOfLinePartOffset(5, 1, 0, 10);
 		testGetColumnOfLinePartOffset(5, 1, 1, 11);
@@ -399,13 +399,13 @@ suite('Editor ViewLayout - ViewLineParts', () => {
 				new ViewLineToken(0, 'leading whitespace')
 			]
 		);
-		testGetColumnOfLinePartOffset(0, 6, 0,  1);
-		testGetColumnOfLinePartOffset(0, 6, 1,  1);
-		testGetColumnOfLinePartOffset(0, 6, 2,  1);
-		testGetColumnOfLinePartOffset(0, 6, 3,  1);
-		testGetColumnOfLinePartOffset(0, 6, 4,  2);
-		testGetColumnOfLinePartOffset(0, 6, 5,  2);
-		testGetColumnOfLinePartOffset(0, 6, 6,  2);
+		testGetColumnOfLinePartOffset(0, 6, 0, 1);
+		testGetColumnOfLinePartOffset(0, 6, 1, 1);
+		testGetColumnOfLinePartOffset(0, 6, 2, 1);
+		testGetColumnOfLinePartOffset(0, 6, 3, 1);
+		testGetColumnOfLinePartOffset(0, 6, 4, 2);
+		testGetColumnOfLinePartOffset(0, 6, 5, 2);
+		testGetColumnOfLinePartOffset(0, 6, 6, 2);
 	});
 
 	test('getColumnOfLinePartOffset 4 - once indented line, tab size 4', () => {
@@ -417,19 +417,19 @@ suite('Editor ViewLayout - ViewLineParts', () => {
 				new ViewLineToken(1, 'meta type js function storage'),
 			]
 		);
-		testGetColumnOfLinePartOffset(0, 4, 0,  1);
-		testGetColumnOfLinePartOffset(0, 4, 1,  1);
-		testGetColumnOfLinePartOffset(0, 4, 2,  1);
-		testGetColumnOfLinePartOffset(0, 4, 3,  2);
-		testGetColumnOfLinePartOffset(0, 4, 4,  2);
-		testGetColumnOfLinePartOffset(1, 8, 0,  2);
-		testGetColumnOfLinePartOffset(1, 8, 1,  3);
-		testGetColumnOfLinePartOffset(1, 8, 2,  4);
-		testGetColumnOfLinePartOffset(1, 8, 3,  5);
-		testGetColumnOfLinePartOffset(1, 8, 4,  6);
-		testGetColumnOfLinePartOffset(1, 8, 5,  7);
-		testGetColumnOfLinePartOffset(1, 8, 6,  8);
-		testGetColumnOfLinePartOffset(1, 8, 7,  9);
+		testGetColumnOfLinePartOffset(0, 4, 0, 1);
+		testGetColumnOfLinePartOffset(0, 4, 1, 1);
+		testGetColumnOfLinePartOffset(0, 4, 2, 1);
+		testGetColumnOfLinePartOffset(0, 4, 3, 2);
+		testGetColumnOfLinePartOffset(0, 4, 4, 2);
+		testGetColumnOfLinePartOffset(1, 8, 0, 2);
+		testGetColumnOfLinePartOffset(1, 8, 1, 3);
+		testGetColumnOfLinePartOffset(1, 8, 2, 4);
+		testGetColumnOfLinePartOffset(1, 8, 3, 5);
+		testGetColumnOfLinePartOffset(1, 8, 4, 6);
+		testGetColumnOfLinePartOffset(1, 8, 5, 7);
+		testGetColumnOfLinePartOffset(1, 8, 6, 8);
+		testGetColumnOfLinePartOffset(1, 8, 7, 9);
 		testGetColumnOfLinePartOffset(1, 8, 8, 10);
 	});
 
@@ -442,22 +442,22 @@ suite('Editor ViewLayout - ViewLineParts', () => {
 				new ViewLineToken(2, 'meta type js function storage'),
 			]
 		);
-		testGetColumnOfLinePartOffset(0, 8, 0,  1);
-		testGetColumnOfLinePartOffset(0, 8, 1,  1);
-		testGetColumnOfLinePartOffset(0, 8, 2,  1);
-		testGetColumnOfLinePartOffset(0, 8, 3,  2);
-		testGetColumnOfLinePartOffset(0, 8, 4,  2);
-		testGetColumnOfLinePartOffset(0, 8, 5,  2);
-		testGetColumnOfLinePartOffset(0, 8, 6,  2);
-		testGetColumnOfLinePartOffset(0, 8, 7,  3);
-		testGetColumnOfLinePartOffset(0, 8, 8,  3);
-		testGetColumnOfLinePartOffset(1, 8, 0,  3);
-		testGetColumnOfLinePartOffset(1, 8, 1,  4);
-		testGetColumnOfLinePartOffset(1, 8, 2,  5);
-		testGetColumnOfLinePartOffset(1, 8, 3,  6);
-		testGetColumnOfLinePartOffset(1, 8, 4,  7);
-		testGetColumnOfLinePartOffset(1, 8, 5,  8);
-		testGetColumnOfLinePartOffset(1, 8, 6,  9);
+		testGetColumnOfLinePartOffset(0, 8, 0, 1);
+		testGetColumnOfLinePartOffset(0, 8, 1, 1);
+		testGetColumnOfLinePartOffset(0, 8, 2, 1);
+		testGetColumnOfLinePartOffset(0, 8, 3, 2);
+		testGetColumnOfLinePartOffset(0, 8, 4, 2);
+		testGetColumnOfLinePartOffset(0, 8, 5, 2);
+		testGetColumnOfLinePartOffset(0, 8, 6, 2);
+		testGetColumnOfLinePartOffset(0, 8, 7, 3);
+		testGetColumnOfLinePartOffset(0, 8, 8, 3);
+		testGetColumnOfLinePartOffset(1, 8, 0, 3);
+		testGetColumnOfLinePartOffset(1, 8, 1, 4);
+		testGetColumnOfLinePartOffset(1, 8, 2, 5);
+		testGetColumnOfLinePartOffset(1, 8, 3, 6);
+		testGetColumnOfLinePartOffset(1, 8, 4, 7);
+		testGetColumnOfLinePartOffset(1, 8, 5, 8);
+		testGetColumnOfLinePartOffset(1, 8, 6, 9);
 		testGetColumnOfLinePartOffset(1, 8, 7, 10);
 		testGetColumnOfLinePartOffset(1, 8, 8, 11);
 	});
diff --git a/src/vs/editor/test/common/viewLayout/viewLineRenderer.test.ts b/src/vs/editor/test/common/viewLayout/viewLineRenderer.test.ts
index 4cf70288dedfb..9e5ab92efc2b6 100644
--- a/src/vs/editor/test/common/viewLayout/viewLineRenderer.test.ts
+++ b/src/vs/editor/test/common/viewLayout/viewLineRenderer.test.ts
@@ -5,17 +5,17 @@
 'use strict';
 
 import * as assert from 'assert';
-import {renderLine, RenderLineInput} from 'vs/editor/common/viewLayout/viewLineRenderer';
-import {ViewLineToken} from 'vs/editor/common/core/viewLineToken';
-import {CharCode} from 'vs/base/common/charCode';
+import { renderLine, RenderLineInput } from 'vs/editor/common/viewLayout/viewLineRenderer';
+import { ViewLineToken } from 'vs/editor/common/core/viewLineToken';
+import { CharCode } from 'vs/base/common/charCode';
 
 suite('viewLineRenderer.renderLine', () => {
 
-	function createPart(startIndex: number, type:string): ViewLineToken {
+	function createPart(startIndex: number, type: string): ViewLineToken {
 		return new ViewLineToken(startIndex, type);
 	}
 
-	function assertCharacterReplacement(lineContent:string, tabSize:number, expected:string, expectedCharOffsetInPart: number[]): void {
+	function assertCharacterReplacement(lineContent: string, tabSize: number, expected: string, expectedCharOffsetInPart: number[]): void {
 		let _actual = renderLine(new RenderLineInput(
 			lineContent,
 			tabSize,
@@ -57,7 +57,7 @@ suite('viewLineRenderer.renderLine', () => {
 		assertCharacterReplacement('xxxx\t', 4, 'xxxx&nbsp;&nbsp;&nbsp;&nbsp;', [0, 1, 2, 3, 4, 8]);
 	});
 
-	function assertParts(lineContent:string, tabSize:number, parts: ViewLineToken[], expected:string, expectedCharOffsetInPart:number[]): void {
+	function assertParts(lineContent: string, tabSize: number, parts: ViewLineToken[], expected: string, expectedCharOffsetInPart: number[]): void {
 		let _actual = renderLine(new RenderLineInput(
 			lineContent,
 			tabSize,
@@ -97,16 +97,16 @@ suite('viewLineRenderer.renderLine', () => {
 			'boundary',
 			false,
 			[
-				createPart( 0,  '0'),
-				createPart( 1,  '1'),
-				createPart( 2,  '2'),
-				createPart( 3,  '3'),
-				createPart( 4,  '4'),
-				createPart( 5,  '5'),
-				createPart( 6,  '6'),
-				createPart( 7,  '7'),
-				createPart( 8,  '8'),
-				createPart( 9,  '9'),
+				createPart(0, '0'),
+				createPart(1, '1'),
+				createPart(2, '2'),
+				createPart(3, '3'),
+				createPart(4, '4'),
+				createPart(5, '5'),
+				createPart(6, '6'),
+				createPart(7, '7'),
+				createPart(8, '8'),
+				createPart(9, '9'),
 				createPart(10, '10'),
 				createPart(11, '11'),
 			]
@@ -135,8 +135,8 @@ suite('viewLineRenderer.renderLine', () => {
 	test('typical line', () => {
 		let lineText = '\t    export class Game { // http://test.com     ';
 		let lineParts = [
-			createPart( 0, 'block meta ts leading whitespace'),
-			createPart( 5, 'block declaration meta modifier object storage ts'),
+			createPart(0, 'block meta ts leading whitespace'),
+			createPart(5, 'block declaration meta modifier object storage ts'),
 			createPart(11, 'block declaration meta object ts'),
 			createPart(12, 'block declaration meta object storage type ts'),
 			createPart(17, 'block declaration meta object ts'),
@@ -196,8 +196,8 @@ suite('viewLineRenderer.renderLine', () => {
 		let lineText = '\t\t\tcursorStyle:\t\t\t\t\t\t(prevOpts.cursorStyle !== newOpts.cursorStyle),';
 
 		let lineParts = [
-			createPart( 0, 'block body decl declaration meta method object ts'), // 3 chars
-			createPart( 3, 'block body decl declaration member meta method object ts'), // 12 chars
+			createPart(0, 'block body decl declaration meta method object ts'), // 3 chars
+			createPart(3, 'block body decl declaration member meta method object ts'), // 12 chars
 			createPart(15, 'block body decl declaration member meta method object ts'), // 6 chars
 			createPart(21, 'delimiter paren typescript'), // 1 char
 			createPart(22, 'block body decl declaration member meta method object ts'), // 21 chars
@@ -251,8 +251,8 @@ suite('viewLineRenderer.renderLine', () => {
 		let lineText = ' \t\t\tcursorStyle:\t\t\t\t\t\t(prevOpts.cursorStyle !== newOpts.cursorStyle),';
 
 		let lineParts = [
-			createPart( 0, 'block body decl declaration meta method object ts'), // 4 chars
-			createPart( 4, 'block body decl declaration member meta method object ts'), // 12 chars
+			createPart(0, 'block body decl declaration meta method object ts'), // 4 chars
+			createPart(4, 'block body decl declaration member meta method object ts'), // 12 chars
 			createPart(16, 'block body decl declaration member meta method object ts'), // 6 chars
 			createPart(22, 'delimiter paren typescript'), // 1 char
 			createPart(23, 'block body decl declaration member meta method object ts'), // 21 chars
diff --git a/src/vs/editor/test/common/viewLayout/whitespaceComputer.test.ts b/src/vs/editor/test/common/viewLayout/whitespaceComputer.test.ts
index 7390877e4b706..dcb4cf65fa318 100644
--- a/src/vs/editor/test/common/viewLayout/whitespaceComputer.test.ts
+++ b/src/vs/editor/test/common/viewLayout/whitespaceComputer.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {WhitespaceComputer} from 'vs/editor/common/viewLayout/whitespaceComputer';
+import { WhitespaceComputer } from 'vs/editor/common/viewLayout/whitespaceComputer';
 
 suite('Editor ViewLayout - WhitespaceComputer', () => {
 
@@ -244,16 +244,16 @@ suite('Editor ViewLayout - WhitespaceComputer', () => {
 
 	test('WhitespaceComputer findInsertionIndex', () => {
 
-		var makeArray = (size:number, fillValue:number) => {
-			var r:number[] = [];
+		var makeArray = (size: number, fillValue: number) => {
+			var r: number[] = [];
 			for (var i = 0; i < size; i++) {
 				r[i] = fillValue;
 			}
 			return r;
 		};
 
-		var arr:number[];
-		var ordinals:number[];
+		var arr: number[];
+		var ordinals: number[];
 
 		arr = [];
 		ordinals = makeArray(arr.length, 0);
diff --git a/src/vs/editor/test/common/viewModel/characterHardWrappingLineMapper.test.ts b/src/vs/editor/test/common/viewModel/characterHardWrappingLineMapper.test.ts
index bee5340befdfd..2d23973b9ed37 100644
--- a/src/vs/editor/test/common/viewModel/characterHardWrappingLineMapper.test.ts
+++ b/src/vs/editor/test/common/viewModel/characterHardWrappingLineMapper.test.ts
@@ -5,15 +5,15 @@
 'use strict';
 
 import * as assert from 'assert';
-import {WrappingIndent} from 'vs/editor/common/editorCommon';
-import {CharacterHardWrappingLineMapperFactory} from 'vs/editor/common/viewModel/characterHardWrappingLineMapper';
-import {ILineMapperFactory, ILineMapping, OutputPosition} from 'vs/editor/common/viewModel/splitLinesCollection';
+import { WrappingIndent } from 'vs/editor/common/editorCommon';
+import { CharacterHardWrappingLineMapperFactory } from 'vs/editor/common/viewModel/characterHardWrappingLineMapper';
+import { ILineMapperFactory, ILineMapping, OutputPosition } from 'vs/editor/common/viewModel/splitLinesCollection';
 
-function assertLineMapping(factory:ILineMapperFactory, tabSize:number, breakAfter:number, annotatedText:string, wrappingIndent = WrappingIndent.None) {
+function assertLineMapping(factory: ILineMapperFactory, tabSize: number, breakAfter: number, annotatedText: string, wrappingIndent = WrappingIndent.None) {
 
 	let rawText = '';
 	let currentLineIndex = 0;
-	let lineIndices:number[] = [];
+	let lineIndices: number[] = [];
 	for (let i = 0, len = annotatedText.length; i < len; i++) {
 		if (annotatedText.charAt(i) === '|') {
 			currentLineIndex++;
diff --git a/src/vs/editor/test/common/viewModel/prefixSumComputer.test.ts b/src/vs/editor/test/common/viewModel/prefixSumComputer.test.ts
index 0ce599e7fca1d..77a875f940ba0 100644
--- a/src/vs/editor/test/common/viewModel/prefixSumComputer.test.ts
+++ b/src/vs/editor/test/common/viewModel/prefixSumComputer.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {PrefixSumComputer, PrefixSumIndexOfResult} from 'vs/editor/common/viewModel/prefixSumComputer';
+import { PrefixSumComputer, PrefixSumIndexOfResult } from 'vs/editor/common/viewModel/prefixSumComputer';
 
 suite('Editor ViewModel - PrefixSumComputer', () => {
 
 	test('PrefixSumComputer', () => {
-		let indexOfResult:PrefixSumIndexOfResult;
+		let indexOfResult: PrefixSumIndexOfResult;
 
 		var psc = new PrefixSumComputer([1, 1, 2, 1, 3]);
 		assert.equal(psc.getTotalValue(), 8);
diff --git a/src/vs/editor/test/common/viewModel/splitLinesCollection.test.ts b/src/vs/editor/test/common/viewModel/splitLinesCollection.test.ts
index df8f100fd1505..479a6176e9bb0 100644
--- a/src/vs/editor/test/common/viewModel/splitLinesCollection.test.ts
+++ b/src/vs/editor/test/common/viewModel/splitLinesCollection.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Position} from 'vs/editor/common/core/position';
-import {CharacterHardWrappingLineMapping, CharacterHardWrappingLineMapperFactory} from 'vs/editor/common/viewModel/characterHardWrappingLineMapper';
-import {PrefixSumComputer} from 'vs/editor/common/viewModel/prefixSumComputer';
-import {ILineMapping, IModel, SplitLine, SplitLinesCollection} from 'vs/editor/common/viewModel/splitLinesCollection';
-import {MockConfiguration} from 'vs/editor/test/common/mocks/mockConfiguration';
-import {Model} from 'vs/editor/common/model/model';
+import { Position } from 'vs/editor/common/core/position';
+import { CharacterHardWrappingLineMapping, CharacterHardWrappingLineMapperFactory } from 'vs/editor/common/viewModel/characterHardWrappingLineMapper';
+import { PrefixSumComputer } from 'vs/editor/common/viewModel/prefixSumComputer';
+import { ILineMapping, IModel, SplitLine, SplitLinesCollection } from 'vs/editor/common/viewModel/splitLinesCollection';
+import { MockConfiguration } from 'vs/editor/test/common/mocks/mockConfiguration';
+import { Model } from 'vs/editor/common/model/model';
 
 suite('Editor ViewModel - SplitLinesCollection', () => {
 	test('SplitLine', () => {
@@ -116,7 +116,7 @@ suite('Editor ViewModel - SplitLinesCollection', () => {
 			startColumn: 1,
 			endLineNumber: 6,
 			endColumn: 1
-		}], (eventType, payload) => {/*no-op*/});
+		}], (eventType, payload) => {/*no-op*/ });
 
 		let viewLineCount = linesCollection.getOutputLineCount();
 		assert.equal(viewLineCount, 1, 'getOutputLineCount()');
@@ -172,26 +172,26 @@ function pos(lineNumber: number, column: number): Position {
 	return new Position(lineNumber, column);
 }
 
-function createSplitLine(splitLengths:number[], wrappedLinesPrefix:string, isVisible: boolean = true): SplitLine {
+function createSplitLine(splitLengths: number[], wrappedLinesPrefix: string, isVisible: boolean = true): SplitLine {
 	return new SplitLine(createLineMapping(splitLengths, wrappedLinesPrefix), isVisible);
 }
 
-function createLineMapping(breakingLengths:number[], wrappedLinesPrefix:string): ILineMapping {
+function createLineMapping(breakingLengths: number[], wrappedLinesPrefix: string): ILineMapping {
 	return new CharacterHardWrappingLineMapping(new PrefixSumComputer(breakingLengths), wrappedLinesPrefix);
 }
 
-function createModel(text:string): IModel {
+function createModel(text: string): IModel {
 	return {
-		getLineTokens: (lineNumber:number, inaccurateTokensAcceptable?:boolean) => {
+		getLineTokens: (lineNumber: number, inaccurateTokensAcceptable?: boolean) => {
 			return null;
 		},
-		getLineContent: (lineNumber:number) => {
+		getLineContent: (lineNumber: number) => {
 			return text;
 		},
-		getLineMinColumn: (lineNumber:number) => {
+		getLineMinColumn: (lineNumber: number) => {
 			return 1;
 		},
-		getLineMaxColumn: (lineNumber:number) => {
+		getLineMaxColumn: (lineNumber: number) => {
 			return text.length + 1;
 		}
 	};
diff --git a/src/vs/editor/test/node/model/modelBuilder.test.ts b/src/vs/editor/test/node/model/modelBuilder.test.ts
index 36595af6495a9..0a5f766966f83 100644
--- a/src/vs/editor/test/node/model/modelBuilder.test.ts
+++ b/src/vs/editor/test/node/model/modelBuilder.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {ModelBuilder, computeHash} from 'vs/editor/node/model/modelBuilder';
-import {ITextModelCreationOptions, IRawText} from 'vs/editor/common/editorCommon';
-import {TextModel} from 'vs/editor/common/model/textModel';
+import { ModelBuilder, computeHash } from 'vs/editor/node/model/modelBuilder';
+import { ITextModelCreationOptions, IRawText } from 'vs/editor/common/editorCommon';
+import { TextModel } from 'vs/editor/common/model/textModel';
 import * as strings from 'vs/base/common/strings';
 
-export function testModelBuilder(chunks:string[], opts:ITextModelCreationOptions = TextModel.DEFAULT_CREATION_OPTIONS): string {
+export function testModelBuilder(chunks: string[], opts: ITextModelCreationOptions = TextModel.DEFAULT_CREATION_OPTIONS): string {
 	let expectedRawText = TextModel.toRawText(chunks.join(''), opts);
 	let expectedHash = computeHash(expectedRawText);
 
@@ -28,7 +28,7 @@ export function testModelBuilder(chunks:string[], opts:ITextModelCreationOptions
 	return expectedHash;
 }
 
-function toRawText(lines:string[]): IRawText {
+function toRawText(lines: string[]): IRawText {
 	return {
 		BOM: '',
 		lines: lines,
@@ -38,7 +38,7 @@ function toRawText(lines:string[]): IRawText {
 	};
 }
 
-export function testDifferentHash(lines1:string[], lines2:string[]): void {
+export function testDifferentHash(lines1: string[], lines2: string[]): void {
 	let hash1 = computeHash(toRawText(lines1));
 	let hash2 = computeHash(toRawText(lines2));
 	assert.notEqual(hash1, hash2);
@@ -77,11 +77,11 @@ suite('ModelBuilder', () => {
 	});
 
 	test('two lines in multiple chunks 2', () => {
-		testModelBuilder(['Hello worl', 'd' , '\n', 'H', 'ow are you?']);
+		testModelBuilder(['Hello worl', 'd', '\n', 'H', 'ow are you?']);
 	});
 
 	test('two lines in multiple chunks 3', () => {
-		testModelBuilder(['Hello worl', 'd' , '\nHow are you?']);
+		testModelBuilder(['Hello worl', 'd', '\nHow are you?']);
 	});
 
 	test('multiple lines in single chunks', () => {
diff --git a/src/vs/editor/test/node/model/modelBuilderAuto.test.ts b/src/vs/editor/test/node/model/modelBuilderAuto.test.ts
index 15777e1b59fc1..b69d305afda45 100644
--- a/src/vs/editor/test/node/model/modelBuilderAuto.test.ts
+++ b/src/vs/editor/test/node/model/modelBuilderAuto.test.ts
@@ -4,19 +4,19 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {testModelBuilder, testDifferentHash} from 'vs/editor/test/node/model/modelBuilder.test';
-import {CharCode} from 'vs/base/common/charCode';
+import { testModelBuilder, testDifferentHash } from 'vs/editor/test/node/model/modelBuilder.test';
+import { CharCode } from 'vs/base/common/charCode';
 
 const GENERATE_TESTS = false;
 
 suite('ModelBuilder Auto Tests', () => {
 
 	test('auto1', () => {
-		testModelBuilder(['sarjniow','\r','\nbpb','ofb','\njzldgxx','\r\nkzwfjysng']);
+		testModelBuilder(['sarjniow', '\r', '\nbpb', 'ofb', '\njzldgxx', '\r\nkzwfjysng']);
 	});
 
 	test('auto2', () => {
-		testModelBuilder(['i','yyernubi\r\niimgn\n','ut\r']);
+		testModelBuilder(['i', 'yyernubi\r\niimgn\n', 'ut\r']);
 	});
 
 	test('auto3', () => {
@@ -69,8 +69,8 @@ function generateRandomFile(): string {
 	return lines.join('');
 }
 
-function generateRandomChunks(file:string): string[] {
-	let result:string[] = [];
+function generateRandomChunks(file: string): string[] {
+	let result: string[] = [];
 	let cnt = getRandomInt(1, 20);
 
 	let maxOffset = file.length;
@@ -97,9 +97,9 @@ function generateRandomChunks(file:string): string[] {
 	return result;
 }
 
-let HASH_TO_CONTENT: {[hash:string]:string;} = {};
+let HASH_TO_CONTENT: { [hash: string]: string; } = {};
 
-function testRandomFile(file:string): boolean {
+function testRandomFile(file: string): boolean {
 	let tests = getRandomInt(5, 10);
 	for (let i = 0; i < tests; i++) {
 		let chunks = generateRandomChunks(file);
@@ -117,7 +117,7 @@ function testRandomFile(file:string): boolean {
 			} else {
 				HASH_TO_CONTENT[hash] = logicalContent;
 			}
-		} catch(err) {
+		} catch (err) {
 			console.log(err);
 			console.log(JSON.stringify(chunks));
 			return false;
@@ -128,7 +128,7 @@ function testRandomFile(file:string): boolean {
 
 if (GENERATE_TESTS) {
 	let number = 1;
-	while(true) {
+	while (true) {
 		console.log('------BEGIN NEW TEST: ' + number);
 
 		if (!testRandomFile(generateRandomFile())) {
diff --git a/src/vs/editor/test/node/textMate/TMSyntax.test.ts b/src/vs/editor/test/node/textMate/TMSyntax.test.ts
index 7a765ab4abc01..d6938f2351e76 100644
--- a/src/vs/editor/test/node/textMate/TMSyntax.test.ts
+++ b/src/vs/editor/test/node/textMate/TMSyntax.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {decodeTextMateToken, DecodeMap} from 'vs/editor/node/textMate/TMSyntax';
+import { decodeTextMateToken, DecodeMap } from 'vs/editor/node/textMate/TMSyntax';
 
 suite('textMate', () => {
 
-	function assertRelaxedEqual(a:string, b:string): void {
-		let relaxString = (str:string) => {
+	function assertRelaxedEqual(a: string, b: string): void {
+		let relaxString = (str: string) => {
 			let pieces = str.split('.');
 			pieces.sort();
 			return pieces.join('.');
@@ -18,10 +18,10 @@ suite('textMate', () => {
 		assert.equal(relaxString(a), relaxString(b));
 	}
 
-	function slowDecodeTextMateToken(scopes:string[]): string {
-		let allTokensMap: {[token:string]:boolean;} = Object.create(null);
+	function slowDecodeTextMateToken(scopes: string[]): string {
+		let allTokensMap: { [token: string]: boolean; } = Object.create(null);
 		for (let i = 1; i < scopes.length; i++) {
-			let pieces =scopes[i].split('.');
+			let pieces = scopes[i].split('.');
 			for (let j = 0; j < pieces.length; j++) {
 				allTokensMap[pieces[j]] = true;
 			}
@@ -29,7 +29,7 @@ suite('textMate', () => {
 		return Object.keys(allTokensMap).join('.');
 	}
 
-	function testOneDecodeTextMateToken(decodeMap:DecodeMap, scopes:string[], expected:string): void {
+	function testOneDecodeTextMateToken(decodeMap: DecodeMap, scopes: string[], expected: string): void {
 		let actual = decodeTextMateToken(decodeMap, scopes);
 		assert.equal(actual, expected);
 
@@ -38,7 +38,7 @@ suite('textMate', () => {
 		assertRelaxedEqual(actual, alternativeExpected);
 	}
 
-	function testDecodeTextMateToken(input:string[][], expected:string[]): void {
+	function testDecodeTextMateToken(input: string[][], expected: string[]): void {
 		let decodeMap = new DecodeMap();
 
 		for (let i = 0; i < input.length; i++) {
@@ -48,15 +48,15 @@ suite('textMate', () => {
 
 	test('decodeTextMateToken JSON regression', () => {
 		let input = [
-			['source.json','meta.structure.dictionary.json'],
-			['source.json','meta.structure.dictionary.json','support.type.property-name.json','punctuation.support.type.property-name.begin.json'],
-			['source.json','meta.structure.dictionary.json','support.type.property-name.json'],
-			['source.json','meta.structure.dictionary.json','support.type.property-name.json','punctuation.support.type.property-name.end.json'],
-			['source.json','meta.structure.dictionary.json','meta.structure.dictionary.value.json','punctuation.separator.dictionary.key-value.json'],
-			['source.json','meta.structure.dictionary.json','meta.structure.dictionary.value.json'],
-			['source.json','meta.structure.dictionary.json','meta.structure.dictionary.value.json','string.quoted.double.json','punctuation.definition.string.begin.json'],
-			['source.json','meta.structure.dictionary.json','meta.structure.dictionary.value.json','string.quoted.double.json','punctuation.definition.string.end.json'],
-			['source.json','meta.structure.dictionary.json','meta.structure.dictionary.value.json','punctuation.separator.dictionary.pair.json']
+			['source.json', 'meta.structure.dictionary.json'],
+			['source.json', 'meta.structure.dictionary.json', 'support.type.property-name.json', 'punctuation.support.type.property-name.begin.json'],
+			['source.json', 'meta.structure.dictionary.json', 'support.type.property-name.json'],
+			['source.json', 'meta.structure.dictionary.json', 'support.type.property-name.json', 'punctuation.support.type.property-name.end.json'],
+			['source.json', 'meta.structure.dictionary.json', 'meta.structure.dictionary.value.json', 'punctuation.separator.dictionary.key-value.json'],
+			['source.json', 'meta.structure.dictionary.json', 'meta.structure.dictionary.value.json'],
+			['source.json', 'meta.structure.dictionary.json', 'meta.structure.dictionary.value.json', 'string.quoted.double.json', 'punctuation.definition.string.begin.json'],
+			['source.json', 'meta.structure.dictionary.json', 'meta.structure.dictionary.value.json', 'string.quoted.double.json', 'punctuation.definition.string.end.json'],
+			['source.json', 'meta.structure.dictionary.json', 'meta.structure.dictionary.value.json', 'punctuation.separator.dictionary.pair.json']
 		];
 
 		let expected = [
@@ -124,47 +124,47 @@ suite('textMate', () => {
 	});
 });
 
-function getTestScopes():string[][] {
+function getTestScopes(): string[][] {
 	return [
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','entity.name.function.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js','meta.brace.round.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js','parameter.name.js','variable.parameter.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js','parameter.name.js','variable.parameter.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js','parameter.name.js','variable.parameter.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js','meta.brace.round.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.method.overload.declaration.js','entity.name.function.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js','meta.brace.round.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js','parameter.name.js','variable.parameter.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.function.type.parameter.js','meta.brace.round.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.brace.curly.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','keyword.operator.comparison.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','string.double.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','string.double.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','string.double.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','keyword.operator.arithmetic.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','keyword.operator.arithmetic.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','string.double.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','string.double.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','string.double.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.array.literal.js','meta.brace.square.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.array.literal.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.array.literal.js','meta.brace.square.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','keyword.operator.comparison.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.brace.curly.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.brace.curly.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.type.name.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.type.name.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js'],
-		['source.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.block.js','meta.type.parameters.js','meta.type.paren.cover.js','meta.object.type.js','meta.field.declaration.js','meta.block.js','meta.object.member.js','meta.function.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.object.type.js','meta.method.declaration.js','meta.decl.block.js','meta.type.parameters.js','meta.type.paren.cover.js']
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'entity.name.function.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js', 'meta.brace.round.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js', 'parameter.name.js', 'variable.parameter.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js', 'parameter.name.js', 'variable.parameter.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js', 'parameter.name.js', 'variable.parameter.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js', 'meta.brace.round.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.method.overload.declaration.js', 'entity.name.function.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js', 'meta.brace.round.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js', 'parameter.name.js', 'variable.parameter.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.function.type.parameter.js', 'meta.brace.round.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.brace.curly.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'keyword.operator.comparison.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'string.double.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'string.double.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'string.double.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'keyword.operator.arithmetic.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'keyword.operator.arithmetic.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'string.double.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'string.double.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'string.double.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.array.literal.js', 'meta.brace.square.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.array.literal.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.array.literal.js', 'meta.brace.square.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'keyword.operator.comparison.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.brace.curly.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.brace.curly.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.name.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.name.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js'],
+		['source.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js', 'meta.object.type.js', 'meta.field.declaration.js', 'meta.block.js', 'meta.object.member.js', 'meta.function.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.object.type.js', 'meta.method.declaration.js', 'meta.decl.block.js', 'meta.type.parameters.js', 'meta.type.paren.cover.js']
 	];
 }
diff --git a/src/vs/nls.d.ts b/src/vs/nls.d.ts
index cc165fad07119..eae07d0b2158c 100644
--- a/src/vs/nls.d.ts
+++ b/src/vs/nls.d.ts
@@ -2,11 +2,11 @@
  *  Copyright (c) Microsoft Corporation. All rights reserved.
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
-	
+
 export interface ILocalizeInfo {
-	key:string;
-	comment:string[];
+	key: string;
+	comment: string[];
 }
 
-export declare function localize(info:ILocalizeInfo, message:string, ...args:any[]):string;
-export declare function localize(key:string, message:string, ...args:any[]):string;
+export declare function localize(info: ILocalizeInfo, message: string, ...args: any[]): string;
+export declare function localize(key: string, message: string, ...args: any[]): string;
diff --git a/src/vs/platform/actions/browser/menuItemActionItem.ts b/src/vs/platform/actions/browser/menuItemActionItem.ts
index dd417e9a3f9b1..b3222b7822efd 100644
--- a/src/vs/platform/actions/browser/menuItemActionItem.ts
+++ b/src/vs/platform/actions/browser/menuItemActionItem.ts
@@ -5,19 +5,19 @@
 
 'use strict';
 
-import {localize} from 'vs/nls';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IMenu, MenuItemAction} from 'vs/platform/actions/common/actions';
-import {IMessageService} from 'vs/platform/message/common/message';
+import { localize } from 'vs/nls';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IMenu, MenuItemAction } from 'vs/platform/actions/common/actions';
+import { IMessageService } from 'vs/platform/message/common/message';
 import Severity from 'vs/base/common/severity';
-import {IAction} from 'vs/base/common/actions';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {ActionItem, Separator} from 'vs/base/browser/ui/actionbar/actionbar';
-import {domEvent} from 'vs/base/browser/event';
-import {Emitter} from 'vs/base/common/event';
+import { IAction } from 'vs/base/common/actions';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { ActionItem, Separator } from 'vs/base/browser/ui/actionbar/actionbar';
+import { domEvent } from 'vs/base/browser/event';
+import { Emitter } from 'vs/base/common/event';
 
 
-export function fillInActions(menu: IMenu, target: IAction[] | { primary: IAction[]; secondary: IAction[];}): void {
+export function fillInActions(menu: IMenu, target: IAction[] | { primary: IAction[]; secondary: IAction[]; }): void {
 	const groups = menu.getActions();
 	if (groups.length === 0) {
 		return;
diff --git a/src/vs/platform/actions/common/menuService.ts b/src/vs/platform/actions/common/menuService.ts
index 8bcfe37913078..5ee1e93c756bf 100644
--- a/src/vs/platform/actions/common/menuService.ts
+++ b/src/vs/platform/actions/common/menuService.ts
@@ -5,15 +5,15 @@
 
 'use strict';
 
-import Event, {Emitter} from 'vs/base/common/event';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IAction} from 'vs/base/common/actions';
-import {values} from 'vs/base/common/collections';
-import {ContextKeyExpr, IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {MenuId, MenuRegistry, ICommandAction, MenuItemAction, IMenu, IMenuItem, IMenuService} from 'vs/platform/actions/common/actions';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {ResourceContextKey} from 'vs/platform/actions/common/resourceContextKey';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IAction } from 'vs/base/common/actions';
+import { values } from 'vs/base/common/collections';
+import { ContextKeyExpr, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { MenuId, MenuRegistry, ICommandAction, MenuItemAction, IMenu, IMenuItem, IMenuService } from 'vs/platform/actions/common/actions';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { ResourceContextKey } from 'vs/platform/actions/common/resourceContextKey';
 
 export class MenuService implements IMenuService {
 
diff --git a/src/vs/platform/actions/common/resourceContextKey.ts b/src/vs/platform/actions/common/resourceContextKey.ts
index fb3af2cb300ac..e5d9c6999e072 100644
--- a/src/vs/platform/actions/common/resourceContextKey.ts
+++ b/src/vs/platform/actions/common/resourceContextKey.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {basename} from 'vs/base/common/paths';
-import {RawContextKey, IContextKeyService, IContextKey} from 'vs/platform/contextkey/common/contextkey';
-import {IModeService} from 'vs/editor/common/services/modeService';
+import { basename } from 'vs/base/common/paths';
+import { RawContextKey, IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
+import { IModeService } from 'vs/editor/common/services/modeService';
 
 export class ResourceContextKey implements IContextKey<URI> {
 
diff --git a/src/vs/platform/actions/test/common/actions.test.ts b/src/vs/platform/actions/test/common/actions.test.ts
index 123dcee7413a7..4c4ba446c4264 100644
--- a/src/vs/platform/actions/test/common/actions.test.ts
+++ b/src/vs/platform/actions/test/common/actions.test.ts
@@ -7,10 +7,10 @@
 import assert = require('assert');
 import WinJS = require('vs/base/common/winjs.base');
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
-import {DeferredAction} from 'vs/platform/actions/common/actions';
+import { DeferredAction } from 'vs/platform/actions/common/actions';
 import Actions = require('vs/base/common/actions');
-import {AsyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {IEventService} from 'vs/platform/event/common/event';
+import { AsyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { IEventService } from 'vs/platform/event/common/event';
 
 export class TestAction extends Actions.Action {
 	private service;
@@ -34,7 +34,7 @@ suite('Platform actions', () => {
 
 	test('DeferredAction', (done) => {
 
-		let instantiationService: TestInstantiationService= new TestInstantiationService();
+		let instantiationService: TestInstantiationService = new TestInstantiationService();
 		instantiationService.stub(IEventService);
 
 		let action = new DeferredAction(
diff --git a/src/vs/platform/actions/test/common/menuService.test.ts b/src/vs/platform/actions/test/common/menuService.test.ts
index 6e1d0d59bbc67..e35df331861a7 100644
--- a/src/vs/platform/actions/test/common/menuService.test.ts
+++ b/src/vs/platform/actions/test/common/menuService.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {MenuRegistry, MenuId} from 'vs/platform/actions/common/actions';
-import {MenuService} from 'vs/platform/actions/common/menuService';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {NullCommandService} from 'vs/platform/commands/common/commands';
-import {MockKeybindingService} from 'vs/platform/keybinding/test/common/mockKeybindingService';
-import {AbstractExtensionService, ActivatedExtension} from 'vs/platform/extensions/common/abstractExtensionService';
+import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions';
+import { MenuService } from 'vs/platform/actions/common/menuService';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { NullCommandService } from 'vs/platform/commands/common/commands';
+import { MockKeybindingService } from 'vs/platform/keybinding/test/common/mockKeybindingService';
+import { AbstractExtensionService, ActivatedExtension } from 'vs/platform/extensions/common/abstractExtensionService';
 
 // --- service instances
 
diff --git a/src/vs/platform/commands/common/commandService.ts b/src/vs/platform/commands/common/commandService.ts
index 090f0ee802215..eed350645cbba 100644
--- a/src/vs/platform/commands/common/commandService.ts
+++ b/src/vs/platform/commands/common/commandService.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ICommandService, ICommand, CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ICommandService, ICommand, CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
 
 export class CommandService implements ICommandService {
 
@@ -48,7 +48,7 @@ export class CommandService implements ICommandService {
 		}
 	}
 
-	protected _getCommand(id:string): ICommand {
+	protected _getCommand(id: string): ICommand {
 		return CommandsRegistry.getCommand(id);
 	}
 }
diff --git a/src/vs/platform/commands/common/commands.ts b/src/vs/platform/commands/common/commands.ts
index 845e208ff8fba..2960eaa7f150d 100644
--- a/src/vs/platform/commands/common/commands.ts
+++ b/src/vs/platform/commands/common/commands.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {TypeConstraint, validateConstraints} from 'vs/base/common/types';
-import {ServicesAccessor, createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { TypeConstraint, validateConstraints } from 'vs/base/common/types';
+import { ServicesAccessor, createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const ICommandService = createDecorator<ICommandService>('commandService');
 
diff --git a/src/vs/platform/commands/test/commandService.test.ts b/src/vs/platform/commands/test/commandService.test.ts
index 7441df0f8a36c..fc181d7a231b4 100644
--- a/src/vs/platform/commands/test/commandService.test.ts
+++ b/src/vs/platform/commands/test/commandService.test.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {CommandService} from 'vs/platform/commands/common/commandService';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
-import {InstantiationService} from 'vs/platform/instantiation/common/instantiationService';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { CommandService } from 'vs/platform/commands/common/commandService';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
+import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
 
 class SimpleExtensionService implements IExtensionService {
 	_serviceBrand: any;
diff --git a/src/vs/platform/commands/test/commands.test.ts b/src/vs/platform/commands/test/commands.test.ts
index cfa375e6e421b..a99a5ec2b613d 100644
--- a/src/vs/platform/commands/test/commands.test.ts
+++ b/src/vs/platform/commands/test/commands.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
 
 
 suite('Command Tests', function () {
@@ -50,7 +50,7 @@ suite('Command Tests', function () {
 		assert.ok(CommandsRegistry.getCommand('foo') === void 0);
 	});
 
-	test('command with description', function() {
+	test('command with description', function () {
 
 		CommandsRegistry.registerCommand('test', function (accessor, args) {
 			assert.ok(typeof args === 'string');
diff --git a/src/vs/platform/configuration/common/configuration.ts b/src/vs/platform/configuration/common/configuration.ts
index c9530580cad64..bb9da7f231464 100644
--- a/src/vs/platform/configuration/common/configuration.ts
+++ b/src/vs/platform/configuration/common/configuration.ts
@@ -3,8 +3,8 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 import Event from 'vs/base/common/event';
 
 export const IConfigurationService = createDecorator<IConfigurationService>('configurationService');
diff --git a/src/vs/platform/configuration/common/configurationRegistry.ts b/src/vs/platform/configuration/common/configurationRegistry.ts
index 375fd019535a9..3bd7abda4ce90 100644
--- a/src/vs/platform/configuration/common/configurationRegistry.ts
+++ b/src/vs/platform/configuration/common/configurationRegistry.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import nls = require('vs/nls');
-import Event, {Emitter} from 'vs/base/common/event';
-import {IJSONSchema} from 'vs/base/common/jsonSchema';
-import {Registry} from 'vs/platform/platform';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IJSONSchema } from 'vs/base/common/jsonSchema';
+import { Registry } from 'vs/platform/platform';
 import objects = require('vs/base/common/objects');
-import {ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-import {IJSONContributionRegistry, Extensions as JSONExtensions} from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
+import { ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+import { IJSONContributionRegistry, Extensions as JSONExtensions } from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
 
 export const Extensions = {
 	Configuration: 'base.contributions.configuration'
diff --git a/src/vs/platform/configuration/common/model.ts b/src/vs/platform/configuration/common/model.ts
index 9eab4bc690f5a..6495bda07cdda 100644
--- a/src/vs/platform/configuration/common/model.ts
+++ b/src/vs/platform/configuration/common/model.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Registry} from 'vs/platform/platform';
+import { Registry } from 'vs/platform/platform';
 import types = require('vs/base/common/types');
-import {IConfigurationNode, IConfigurationRegistry, Extensions} from 'vs/platform/configuration/common/configurationRegistry';
+import { IConfigurationNode, IConfigurationRegistry, Extensions } from 'vs/platform/configuration/common/configurationRegistry';
 
 export function setNode(root: any, key: string, value: any): void {
 	const segments = key.split('.');
diff --git a/src/vs/platform/configuration/node/configurationService.ts b/src/vs/platform/configuration/node/configurationService.ts
index d92cfeae3258a..a0254f8aa610e 100644
--- a/src/vs/platform/configuration/node/configurationService.ts
+++ b/src/vs/platform/configuration/node/configurationService.ts
@@ -4,17 +4,17 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as objects from 'vs/base/common/objects';
-import {getDefaultValues, flatten} from 'vs/platform/configuration/common/model';
-import {ConfigWatcher} from 'vs/base/node/config';
-import {Registry} from 'vs/platform/platform';
-import {IConfigurationRegistry, Extensions} from 'vs/platform/configuration/common/configurationRegistry';
-import {IDisposable, dispose, toDisposable} from 'vs/base/common/lifecycle';
-import {IConfigurationService, IConfigurationServiceEvent, IConfigurationValue, getConfigurationValue} from 'vs/platform/configuration/common/configuration';
-import Event, {Emitter} from 'vs/base/common/event';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
+import { getDefaultValues, flatten } from 'vs/platform/configuration/common/model';
+import { ConfigWatcher } from 'vs/base/node/config';
+import { Registry } from 'vs/platform/platform';
+import { IConfigurationRegistry, Extensions } from 'vs/platform/configuration/common/configurationRegistry';
+import { IDisposable, dispose, toDisposable } from 'vs/base/common/lifecycle';
+import { IConfigurationService, IConfigurationServiceEvent, IConfigurationValue, getConfigurationValue } from 'vs/platform/configuration/common/configuration';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 
 export class ConfigurationService<T> implements IConfigurationService, IDisposable {
 
diff --git a/src/vs/platform/configuration/test/node/configurationService.test.ts b/src/vs/platform/configuration/test/node/configurationService.test.ts
index 18d676f8f4cad..451c6db6612d9 100644
--- a/src/vs/platform/configuration/test/node/configurationService.test.ts
+++ b/src/vs/platform/configuration/test/node/configurationService.test.ts
@@ -10,13 +10,13 @@ import os = require('os');
 import path = require('path');
 import fs = require('fs');
 
-import {Registry} from 'vs/platform/platform';
-import {ConfigurationService} from 'vs/platform/configuration/node/configurationService';
-import {ParsedArgs, parseArgs} from 'vs/platform/environment/node/argv';
-import {EnvironmentService} from 'vs/platform/environment/node/environmentService';
+import { Registry } from 'vs/platform/platform';
+import { ConfigurationService } from 'vs/platform/configuration/node/configurationService';
+import { ParsedArgs, parseArgs } from 'vs/platform/environment/node/argv';
+import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
 import extfs = require('vs/base/node/extfs');
 import uuid = require('vs/base/common/uuid');
-import {IConfigurationRegistry, Extensions as ConfigurationExtensions} from 'vs/platform/configuration/common/configurationRegistry';
+import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry';
 
 class SettingsTestEnvironmentService extends EnvironmentService {
 
diff --git a/src/vs/platform/contextkey/browser/contextKeyService.ts b/src/vs/platform/contextkey/browser/contextKeyService.ts
index 505666e9b3e8c..b0c11d520399f 100644
--- a/src/vs/platform/contextkey/browser/contextKeyService.ts
+++ b/src/vs/platform/contextkey/browser/contextKeyService.ts
@@ -4,18 +4,18 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {KeybindingResolver} from 'vs/platform/keybinding/common/keybindingResolver';
-import {IContextKey, IContextKeyServiceTarget, IContextKeyService, SET_CONTEXT_COMMAND_ID, ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import Event, {Emitter, debounceEvent} from 'vs/base/common/event';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { KeybindingResolver } from 'vs/platform/keybinding/common/keybindingResolver';
+import { IContextKey, IContextKeyServiceTarget, IContextKeyService, SET_CONTEXT_COMMAND_ID, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import Event, { Emitter, debounceEvent } from 'vs/base/common/event';
 
 const KEYBINDING_CONTEXT_ATTR = 'data-keybinding-context';
 
 export class ContextValuesContainer {
 	protected _parent: ContextValuesContainer;
-	protected _value: {[key:string]:any;};
+	protected _value: { [key: string]: any; };
 	protected _id: number;
 
 	constructor(id: number, parent: ContextValuesContainer) {
@@ -61,7 +61,7 @@ class ConfigAwareContextValuesContainer extends ContextValuesContainer {
 	private _emitter: Emitter<string>;
 	private _subscription: IDisposable;
 
-	constructor(id: number, configurationService: IConfigurationService, emitter:Emitter<string>) {
+	constructor(id: number, configurationService: IConfigurationService, emitter: Emitter<string>) {
 		super(id, null);
 
 		this._emitter = emitter;
@@ -182,13 +182,13 @@ export abstract class AbstractContextKeyService {
 	}
 
 	public setContext(key: string, value: any): void {
-		if(this.getContextValuesContainer(this._myContextId).setValue(key, value)) {
+		if (this.getContextValuesContainer(this._myContextId).setValue(key, value)) {
 			this._onDidChangeContextKey.fire(key);
 		}
 	}
 
 	public removeContext(key: string): void {
-		if(this.getContextValuesContainer(this._myContextId).removeValue(key)) {
+		if (this.getContextValuesContainer(this._myContextId).removeValue(key)) {
 			this._onDidChangeContextKey.fire(key);
 		}
 	}
@@ -213,7 +213,7 @@ export class ContextKeyService extends AbstractContextKeyService implements ICon
 
 	private _toDispose: IDisposable[] = [];
 
-	constructor(@IConfigurationService configurationService: IConfigurationService) {
+	constructor( @IConfigurationService configurationService: IConfigurationService) {
 		super(0);
 		this._lastContextId = 0;
 		this._contexts = Object.create(null);
diff --git a/src/vs/platform/contextkey/common/contextkey.ts b/src/vs/platform/contextkey/common/contextkey.ts
index 4c7d1efaffbc7..71ba74893a5d1 100644
--- a/src/vs/platform/contextkey/common/contextkey.ts
+++ b/src/vs/platform/contextkey/common/contextkey.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 import Event from 'vs/base/common/event';
 
 export enum ContextKeyExprType {
@@ -94,13 +94,13 @@ export abstract class ContextKeyExpr {
 	public abstract keys(): string[];
 }
 
-function cmp(a:ContextKeyExpr, b:ContextKeyExpr): number {
+function cmp(a: ContextKeyExpr, b: ContextKeyExpr): number {
 	let aType = a.getType();
 	let bType = b.getType();
 	if (aType !== bType) {
 		return aType - bType;
 	}
-	switch(aType) {
+	switch (aType) {
 		case ContextKeyExprType.Defined:
 			return (<ContextKeyDefinedExpr>a).cmp(<ContextKeyDefinedExpr>b);
 		case ContextKeyExprType.Not:
@@ -122,7 +122,7 @@ export class ContextKeyDefinedExpr implements ContextKeyExpr {
 		return ContextKeyExprType.Defined;
 	}
 
-	public cmp(other:ContextKeyDefinedExpr): number {
+	public cmp(other: ContextKeyDefinedExpr): number {
 		if (this.key < other.key) {
 			return -1;
 		}
@@ -151,7 +151,7 @@ export class ContextKeyDefinedExpr implements ContextKeyExpr {
 		return this.key;
 	}
 
-	public keys(): string[]{
+	public keys(): string[] {
 		return [this.key];
 	}
 }
@@ -164,7 +164,7 @@ export class ContextKeyEqualsExpr implements ContextKeyExpr {
 		return ContextKeyExprType.Equals;
 	}
 
-	public cmp(other:ContextKeyEqualsExpr): number {
+	public cmp(other: ContextKeyEqualsExpr): number {
 		if (this.key < other.key) {
 			return -1;
 		}
@@ -212,7 +212,7 @@ export class ContextKeyEqualsExpr implements ContextKeyExpr {
 		return this.key + ' == \'' + this.value + '\'';
 	}
 
-	public keys(): string[]{
+	public keys(): string[] {
 		return [this.key];
 	}
 }
@@ -225,7 +225,7 @@ export class ContextKeyNotEqualsExpr implements ContextKeyExpr {
 		return ContextKeyExprType.NotEquals;
 	}
 
-	public cmp(other:ContextKeyNotEqualsExpr): number {
+	public cmp(other: ContextKeyNotEqualsExpr): number {
 		if (this.key < other.key) {
 			return -1;
 		}
@@ -273,7 +273,7 @@ export class ContextKeyNotEqualsExpr implements ContextKeyExpr {
 		return this.key + ' != \'' + this.value + '\'';
 	}
 
-	public keys(): string[]{
+	public keys(): string[] {
 		return [this.key];
 	}
 }
@@ -286,7 +286,7 @@ export class ContextKeyNotExpr implements ContextKeyExpr {
 		return ContextKeyExprType.Not;
 	}
 
-	public cmp(other:ContextKeyNotExpr): number {
+	public cmp(other: ContextKeyNotExpr): number {
 		if (this.key < other.key) {
 			return -1;
 		}
@@ -315,7 +315,7 @@ export class ContextKeyNotExpr implements ContextKeyExpr {
 		return '!' + this.key;
 	}
 
-	public keys(): string[]{
+	public keys(): string[] {
 		return [this.key];
 	}
 }
@@ -354,7 +354,7 @@ export class ContextKeyAndExpr implements ContextKeyExpr {
 		return true;
 	}
 
-	private static _normalizeArr(arr:ContextKeyExpr[]): ContextKeyExpr[] {
+	private static _normalizeArr(arr: ContextKeyExpr[]): ContextKeyExpr[] {
 		let expr: ContextKeyExpr[] = [];
 
 		if (arr) {
@@ -405,7 +405,7 @@ export class ContextKeyAndExpr implements ContextKeyExpr {
 		return this.expr.map(e => e.serialize()).join(' && ');
 	}
 
-	public keys(): string[]{
+	public keys(): string[] {
 		const result: string[] = [];
 		for (let expr of this.expr) {
 			result.push(...expr.keys());
@@ -418,16 +418,16 @@ export class RawContextKey<T> extends ContextKeyDefinedExpr {
 
 	private _defaultValue: T;
 
-	constructor(key:string, defaultValue:T) {
+	constructor(key: string, defaultValue: T) {
 		super(key);
 		this._defaultValue = defaultValue;
 	}
 
-	public bindTo(target:IContextKeyService): IContextKey<T> {
+	public bindTo(target: IContextKeyService): IContextKey<T> {
 		return target.createKey(this.key, this._defaultValue);
 	}
 
-	public getValue(target:IContextKeyService): T {
+	public getValue(target: IContextKeyService): T {
 		return target.getContextKeyValue<T>(this.key);
 	}
 
@@ -435,7 +435,7 @@ export class RawContextKey<T> extends ContextKeyDefinedExpr {
 		return ContextKeyExpr.not(this.key);
 	}
 
-	public isEqualTo(value:string): ContextKeyExpr {
+	public isEqualTo(value: string): ContextKeyExpr {
 		return ContextKeyExpr.equals(this.key, value);
 	}
 }
diff --git a/src/vs/platform/contextview/browser/contextMenuHandler.ts b/src/vs/platform/contextview/browser/contextMenuHandler.ts
index b67af4d67381e..eb75e4cb4a6d9 100644
--- a/src/vs/platform/contextview/browser/contextMenuHandler.ts
+++ b/src/vs/platform/contextview/browser/contextMenuHandler.ts
@@ -6,17 +6,17 @@
 'use strict';
 
 import 'vs/css!./contextMenuHandler';
-import {$, Builder} from  'vs/base/browser/builder';
-import {combinedDisposable, IDisposable} from  'vs/base/common/lifecycle';
-import {StandardMouseEvent} from  'vs/base/browser/mouseEvent';
-import {IActionRunner, ActionRunner, IAction} from  'vs/base/common/actions';
-import {Menu} from  'vs/base/browser/ui/menu/menu';
-import {EventType} from  'vs/base/common/events';
+import { $, Builder } from 'vs/base/browser/builder';
+import { combinedDisposable, IDisposable } from 'vs/base/common/lifecycle';
+import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
+import { IActionRunner, ActionRunner, IAction } from 'vs/base/common/actions';
+import { Menu } from 'vs/base/browser/ui/menu/menu';
+import { EventType } from 'vs/base/common/events';
 import Severity from 'vs/base/common/severity';
 
-import {IContextViewService, IContextMenuDelegate} from 'vs/platform/contextview/browser/contextView';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IMessageService} from 'vs/platform/message/common/message';
+import { IContextViewService, IContextMenuDelegate } from 'vs/platform/contextview/browser/contextView';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IMessageService } from 'vs/platform/message/common/message';
 
 export class ContextMenuHandler {
 
diff --git a/src/vs/platform/contextview/browser/contextMenuService.ts b/src/vs/platform/contextview/browser/contextMenuService.ts
index 4b5d397afba4d..45eefcbbf8d13 100644
--- a/src/vs/platform/contextview/browser/contextMenuService.ts
+++ b/src/vs/platform/contextview/browser/contextMenuService.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ContextMenuHandler} from './contextMenuHandler';
-import {IContextViewService, IContextMenuService, IContextMenuDelegate} from './contextView';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IMessageService} from 'vs/platform/message/common/message';
+import { ContextMenuHandler } from './contextMenuHandler';
+import { IContextViewService, IContextMenuService, IContextMenuDelegate } from './contextView';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IMessageService } from 'vs/platform/message/common/message';
 
 export class ContextMenuService implements IContextMenuService {
 	public _serviceBrand: any;
diff --git a/src/vs/platform/contextview/browser/contextViewService.ts b/src/vs/platform/contextview/browser/contextViewService.ts
index ef50a494742c2..f1086b3f6f025 100644
--- a/src/vs/platform/contextview/browser/contextViewService.ts
+++ b/src/vs/platform/contextview/browser/contextViewService.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IContextViewService, IContextViewDelegate} from './contextView';
-import {ContextView} from 'vs/base/browser/ui/contextview/contextview';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IMessageService} from 'vs/platform/message/common/message';
+import { IContextViewService, IContextViewDelegate } from './contextView';
+import { ContextView } from 'vs/base/browser/ui/contextview/contextview';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IMessageService } from 'vs/platform/message/common/message';
 
 export class ContextViewService implements IContextViewService {
 	public _serviceBrand: any;
diff --git a/src/vs/platform/editor/common/editor.ts b/src/vs/platform/editor/common/editor.ts
index 389538ef88334..2258b5ed91b15 100644
--- a/src/vs/platform/editor/common/editor.ts
+++ b/src/vs/platform/editor/common/editor.ts
@@ -5,10 +5,10 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 import Event from 'vs/base/common/event';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { IDisposable } from 'vs/base/common/lifecycle';
 
 export const IEditorService = createDecorator<IEditorService>('editorService');
 
diff --git a/src/vs/platform/environment/common/environment.ts b/src/vs/platform/environment/common/environment.ts
index 3a54ba179b728..23998095f4f87 100644
--- a/src/vs/platform/environment/common/environment.ts
+++ b/src/vs/platform/environment/common/environment.ts
@@ -3,7 +3,7 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {ParsedArgs} from 'vs/platform/environment/node/argv';
+import { ParsedArgs } from 'vs/platform/environment/node/argv';
 import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const IEnvironmentService = createDecorator<IEnvironmentService>('environmentService');
diff --git a/src/vs/platform/environment/node/argv.ts b/src/vs/platform/environment/node/argv.ts
index 8cd9da04231a6..f0659affdf25d 100644
--- a/src/vs/platform/environment/node/argv.ts
+++ b/src/vs/platform/environment/node/argv.ts
@@ -108,7 +108,7 @@ export function parseMainProcessArgv(processArgv: string[]): ParsedArgs {
  * Use this to parse raw code CLI process.argv such as: `Electron cli.js . --verbose --wait`
  */
 export function parseCLIProcessArgv(processArgv: string[]): ParsedArgs {
-	let [,, ...args] = processArgv;
+	let [, , ...args] = processArgv;
 
 	if (process.env['VSCODE_DEV']) {
 		args = stripAppPath(args);
@@ -148,7 +148,7 @@ export function formatOptions(options: { [name: string]: string; }, columns: num
 	let argLength = Math.max.apply(null, keys.map(k => k.length)) + 2/*left padding*/ + 1/*right padding*/;
 	if (columns - argLength < 25) {
 		// Use a condensed version on narrow terminals
-		return keys.reduce((r, key) => r.concat([`  ${ key }`, `      ${ options[key] }`]), []).join('\n');
+		return keys.reduce((r, key) => r.concat([`  ${key}`, `      ${options[key]}`]), []).join('\n');
 	}
 	let descriptionColumns = columns - argLength - 1;
 	let result = '';
@@ -166,7 +166,7 @@ export function formatOptions(options: { [name: string]: string; }, columns: num
 	return result;
 }
 
-function wrapText(text: string, columns: number) : string[] {
+function wrapText(text: string, columns: number): string[] {
 	let lines = [];
 	while (text.length) {
 		let index = text.length < columns ? text.length : text.lastIndexOf(' ', columns);
@@ -179,12 +179,12 @@ function wrapText(text: string, columns: number) : string[] {
 
 export function buildHelpMessage(fullName: string, name: string, version: string): string {
 	const columns = (<any>process.stdout).isTTY ? (<any>process.stdout).columns : 80;
-	const executable = `${ name }${ os.platform() === 'win32' ? '.exe' : '' }`;
+	const executable = `${name}${os.platform() === 'win32' ? '.exe' : ''}`;
 
-	return `${ fullName } ${ version }
+	return `${fullName} ${version}
 
-${ localize('usage', "Usage") }: ${ executable } [${ localize('options', "options") }] [${ localize('paths', 'paths') }...]
+${ localize('usage', "Usage")}: ${executable} [${localize('options', "options")}] [${localize('paths', 'paths')}...]
 
-${ localize('optionsUpperCase', "Options") }:
+${ localize('optionsUpperCase', "Options")}:
 ${formatOptions(optionsHelp, columns)}`;
 }
\ No newline at end of file
diff --git a/src/vs/platform/environment/node/environmentService.ts b/src/vs/platform/environment/node/environmentService.ts
index 97bf71f3c3415..51ccedd29dac6 100644
--- a/src/vs/platform/environment/node/environmentService.ts
+++ b/src/vs/platform/environment/node/environmentService.ts
@@ -3,12 +3,12 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
 import * as crypto from 'crypto';
 import * as paths from 'vs/base/node/paths';
 import * as os from 'os';
 import * as path from 'path';
-import {ParsedArgs} from 'vs/platform/environment/node/argv';
+import { ParsedArgs } from 'vs/platform/environment/node/argv';
 import URI from 'vs/base/common/uri';
 import { memoize } from 'vs/base/common/decorators';
 import pkg from 'vs/platform/package';
@@ -37,11 +37,11 @@ function getIPCHandleBaseName(): string {
 	// by making the socket unique over the logged in user
 	let userId = getUniqueUserId();
 	if (userId) {
-		name += `-${ userId }`;
+		name += `-${userId}`;
 	}
 
 	if (process.platform === 'win32') {
-		return `\\\\.\\pipe\\${ name }`;
+		return `\\\\.\\pipe\\${name}`;
 	}
 
 	return path.join(os.tmpdir(), name);
@@ -85,7 +85,7 @@ export class EnvironmentService implements IEnvironmentService {
 	@memoize
 	get extensionTestsPath(): string { return this._args.extensionTestsPath ? path.normalize(this._args.extensionTestsPath) : this._args.extensionTestsPath; }
 
-	get disableExtensions(): boolean { return this._args['disable-extensions'];  }
+	get disableExtensions(): boolean { return this._args['disable-extensions']; }
 
 	@memoize
 	get debugExtensionHost(): { port: number; break: boolean; } { return parseExtensionHostPort(this._args, this.isBuilt); }
@@ -97,12 +97,12 @@ export class EnvironmentService implements IEnvironmentService {
 	get logExtensionHostCommunication(): boolean { return this._args.logExtensionHostCommunication; }
 
 	@memoize
-	get mainIPCHandle(): string { return `${ IPCHandlePrefix }-${ pkg.version }${ IPCHandleSuffix }`; }
+	get mainIPCHandle(): string { return `${IPCHandlePrefix}-${pkg.version}${IPCHandleSuffix}`; }
 
 	@memoize
-	get sharedIPCHandle(): string { return `${ IPCHandlePrefix }-${ pkg.version }-shared${ IPCHandleSuffix }`; }
+	get sharedIPCHandle(): string { return `${IPCHandlePrefix}-${pkg.version}-shared${IPCHandleSuffix}`; }
 
-	constructor(private _args: ParsedArgs, private _execPath: string) {}
+	constructor(private _args: ParsedArgs, private _execPath: string) { }
 }
 
 export function parseExtensionHostPort(args: ParsedArgs, isBuild: boolean): { port: number; break: boolean; } {
diff --git a/src/vs/platform/event/common/event.ts b/src/vs/platform/event/common/event.ts
index 7414a6711330b..0f123451142b7 100644
--- a/src/vs/platform/event/common/event.ts
+++ b/src/vs/platform/event/common/event.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IEventEmitter} from 'vs/base/common/eventEmitter';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { IEventEmitter } from 'vs/base/common/eventEmitter';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const IEventService = createDecorator<IEventService>('eventService');
 
diff --git a/src/vs/platform/event/common/eventService.ts b/src/vs/platform/event/common/eventService.ts
index b0e23e28cd746..790d29f9a58cb 100644
--- a/src/vs/platform/event/common/eventService.ts
+++ b/src/vs/platform/event/common/eventService.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import {IEventService} from './event';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import { IEventService } from './event';
 
 // --- implementation ------------------------------------------
 
diff --git a/src/vs/platform/extensionManagement/common/extensionTelemetry.ts b/src/vs/platform/extensionManagement/common/extensionTelemetry.ts
index b112fa7d75fef..100262a8bc9ca 100644
--- a/src/vs/platform/extensionManagement/common/extensionTelemetry.ts
+++ b/src/vs/platform/extensionManagement/common/extensionTelemetry.ts
@@ -9,7 +9,7 @@ import { ILocalExtension, IGalleryExtension } from 'vs/platform/extensionManagem
 
 export function getLocalExtensionTelemetryData(extension: ILocalExtension): any {
 	return {
-		id: `${ extension.manifest.publisher }.${ extension.manifest.name }`,
+		id: `${extension.manifest.publisher}.${extension.manifest.name}`,
 		name: extension.manifest.name,
 		galleryId: extension.metadata ? extension.metadata.id : null,
 		publisherId: extension.metadata ? extension.metadata.publisherId : null,
@@ -20,7 +20,7 @@ export function getLocalExtensionTelemetryData(extension: ILocalExtension): any
 
 export function getGalleryExtensionTelemetryData(extension: IGalleryExtension): any {
 	return {
-		id: `${ extension.publisher }.${ extension.name }`,
+		id: `${extension.publisher}.${extension.name}`,
 		name: extension.name,
 		galleryId: extension.id,
 		publisherId: extension.publisherId,
diff --git a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts
index 2c8c4651fa679..32bfbca9b2071 100644
--- a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts
+++ b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts
@@ -143,7 +143,7 @@ const DefaultQueryState: IQueryState = {
 
 class Query {
 
-	constructor(private state = DefaultQueryState) {}
+	constructor(private state = DefaultQueryState) { }
 
 	get pageNumber(): number { return this.state.pageNumber; }
 	get pageSize(): number { return this.state.pageSize; }
@@ -227,7 +227,7 @@ function toExtension(galleryExtension: IRawGalleryExtension, extensionsGalleryUr
 		manifest: getAssetSource(version.files, AssetType.Manifest),
 		readme: getAssetSource(version.files, AssetType.Details),
 		changelog: getAssetSource(version.files, AssetType.Changelog),
-		download: `${ getAssetSource(version.files, AssetType.VSIX) }?install=true`,
+		download: `${getAssetSource(version.files, AssetType.VSIX)}?install=true`,
 		icon,
 		iconFallback,
 		license: getAssetSource(version.files, AssetType.License)
@@ -264,8 +264,8 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
 	private get commonHeaders(): TPromise<{ [key: string]: string; }> {
 		return this.telemetryService.getTelemetryInfo().then(({ machineId }) => {
 			const result: { [key: string]: string; } = {
-				'X-Market-Client-Id': `VSCode ${ pkg.version }`,
-				'User-Agent': `VSCode ${ pkg.version }`
+				'X-Market-Client-Id': `VSCode ${pkg.version}`,
+				'User-Agent': `VSCode ${pkg.version}`
 			};
 
 			if (machineId) {
@@ -286,7 +286,7 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
 	}
 
 	private api(path = ''): string {
-		return `${ this.extensionsGalleryUrl }${ path }`;
+		return `${this.extensionsGalleryUrl}${path}`;
 	}
 
 	isEnabled(): boolean {
@@ -385,7 +385,7 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
 	}
 
 	getAsset(url: string): TPromise<IRequestContext> {
-		return this._getAsset({ url });
+		return this._getAsset({ url });
 	}
 
 	getAllDependencies(extension: IGalleryExtension): TPromise<IGalleryExtension[]> {
diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
index b7f58cb0976cc..897dc4b967c3c 100644
--- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts
+++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
@@ -14,7 +14,8 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import { flatten } from 'vs/base/common/arrays';
 import { extract, buffer } from 'vs/base/node/zip';
 import { Promise, TPromise } from 'vs/base/common/winjs.base';
-import { IExtensionManagementService, IExtensionGalleryService, ILocalExtension,
+import {
+	IExtensionManagementService, IExtensionGalleryService, ILocalExtension,
 	IGalleryExtension, IExtensionIdentity, IExtensionManifest, IGalleryMetadata,
 	InstallExtensionEvent, DidInstallExtensionEvent, LocalExtensionType
 } from 'vs/platform/extensionManagement/common/extensionManagement';
@@ -82,7 +83,7 @@ function readManifest(extensionPath: string): TPromise<{ manifest: IExtensionMan
 }
 
 function getExtensionId(extension: IExtensionIdentity, version: string): string {
-	return `${ extension.publisher }.${ extension.name }-${ version }`;
+	return `${extension.publisher}.${extension.name}-${version}`;
 }
 
 export class ExtensionManagementService implements IExtensionManagementService {
@@ -131,8 +132,8 @@ export class ExtensionManagementService implements IExtensionManagementService {
 
 				return this.installExtension(zipPath, id)
 					.then(
-						local => this._onDidInstallExtension.fire({ id, zipPath, local }),
-						error => { this._onDidInstallExtension.fire({ id, zipPath, error }); return TPromise.wrapError(error); }
+					local => this._onDidInstallExtension.fire({ id, zipPath, local }),
+					error => { this._onDidInstallExtension.fire({ id, zipPath, error }); return TPromise.wrapError(error); }
 					);
 			});
 		});
@@ -148,11 +149,11 @@ export class ExtensionManagementService implements IExtensionManagementService {
 			this._onInstallExtension.fire({ id, gallery: extension });
 			return this.installCompatibleVersion(extension, true, promptToInstallDependencies)
 				.then(
-					local => this._onDidInstallExtension.fire({ id, local, gallery: extension }),
-					error => {
-						this._onDidInstallExtension.fire({ id, gallery: extension, error });
-						return TPromise.wrapError(error);
-					}
+				local => this._onDidInstallExtension.fire({ id, local, gallery: extension }),
+				error => {
+					this._onDidInstallExtension.fire({ id, gallery: extension, error });
+					return TPromise.wrapError(error);
+				}
 				);
 		});
 	}
@@ -181,7 +182,7 @@ export class ExtensionManagementService implements IExtensionManagementService {
 						return this.installWithDependencies(compatibleVersion);
 					}
 				})
-		);
+			);
 	}
 
 	private getDependenciesToInstall(extension: IGalleryExtension, checkDependecies: boolean): TPromise<string[]> {
@@ -353,7 +354,7 @@ export class ExtensionManagementService implements IExtensionManagementService {
 
 	private scanUserExtensions(): TPromise<ILocalExtension[]> {
 		return this.scanExtensions(this.extensionsPath, LocalExtensionType.User).then(extensions => {
-			const byId = values(groupBy(extensions, p => `${ p.manifest.publisher }.${ p.manifest.name }`));
+			const byId = values(groupBy(extensions, p => `${p.manifest.publisher}.${p.manifest.name}`));
 			return byId.map(p => p.sort((a, b) => semver.rcompare(a.manifest.version, b.manifest.version))[0]);
 		});
 	}
@@ -412,7 +413,7 @@ export class ExtensionManagementService implements IExtensionManagementService {
 
 	private getOutdatedExtensionIds(): TPromise<ILocalExtension[]> {
 		return this.scanExtensions(this.extensionsPath, LocalExtensionType.User)
-			.then(extensions => values(groupBy(extensions, p => `${ p.manifest.publisher }.${ p.manifest.name }`)))
+			.then(extensions => values(groupBy(extensions, p => `${p.manifest.publisher}.${p.manifest.name}`)))
 			.then(versions => flatten(versions.map(p => p.sort((a, b) => semver.rcompare(a.manifest.version, b.manifest.version)).slice(1))));
 	}
 
@@ -440,16 +441,16 @@ export class ExtensionManagementService implements IExtensionManagementService {
 		return this.withObsoleteExtensions<void>(obsolete => delete obsolete[id]);
 	}
 
-	private getObsoleteExtensions(): TPromise<{ [id:string]: boolean; }> {
+	private getObsoleteExtensions(): TPromise<{ [id: string]: boolean; }> {
 		return this.withObsoleteExtensions(obsolete => obsolete);
 	}
 
-	private withObsoleteExtensions<T>(fn: (obsolete: { [id:string]: boolean; }) => T): TPromise<T> {
+	private withObsoleteExtensions<T>(fn: (obsolete: { [id: string]: boolean; }) => T): TPromise<T> {
 		return this.obsoleteFileLimiter.queue(() => {
 			let result: T = null;
 			return pfs.readFile(this.obsoletePath, 'utf8')
 				.then<string>(null, err => err.code === 'ENOENT' ? TPromise.as('{}') : TPromise.wrapError(err))
-				.then<{ [id: string]: boolean }>(raw => { try { return JSON.parse(raw); } catch (e) { return {}; }})
+				.then<{ [id: string]: boolean }>(raw => { try { return JSON.parse(raw); } catch (e) { return {}; } })
 				.then(obsolete => { result = fn(obsolete); return obsolete; })
 				.then(obsolete => {
 					if (Object.keys(obsolete).length === 0) {
diff --git a/src/vs/platform/extensionManagement/node/extensionManagementUtil.ts b/src/vs/platform/extensionManagement/node/extensionManagementUtil.ts
index e5dda4ad5bdeb..a39a3cb2b3174 100644
--- a/src/vs/platform/extensionManagement/node/extensionManagementUtil.ts
+++ b/src/vs/platform/extensionManagement/node/extensionManagementUtil.ts
@@ -19,7 +19,7 @@ export function getTelemetryData(extension: ILocalExtension | IGalleryExtension)
 
 	if (local.path) {
 		return {
-			id: `${ local.manifest.publisher }.${ local.manifest.name }`,
+			id: `${local.manifest.publisher}.${local.manifest.name}`,
 			name: local.manifest.name,
 			galleryId: local.metadata ? local.metadata.id : null,
 			publisherId: local.metadata ? local.metadata.publisherId : null,
@@ -28,7 +28,7 @@ export function getTelemetryData(extension: ILocalExtension | IGalleryExtension)
 		};
 	} else {
 		return {
-			id: `${ gallery.publisher }.${ gallery.name }`,
+			id: `${gallery.publisher}.${gallery.name}`,
 			name: gallery.name,
 			galleryId: gallery.id,
 			publisherId: gallery.publisherId,
@@ -44,7 +44,7 @@ export function getOutdatedExtensions(extensionsService: IExtensionManagementSer
 	}
 
 	return extensionsService.getInstalled(LocalExtensionType.User).then(installed => {
-		const names = installed.map(({ manifest }) => `${ manifest.publisher }.${ manifest.name }`);
+		const names = installed.map(({ manifest }) => `${manifest.publisher}.${manifest.name}`);
 
 		if (installed.length === 0) {
 			return TPromise.as([]);
diff --git a/src/vs/platform/extensionManagement/test/common/extensionManagement.test.ts b/src/vs/platform/extensionManagement/test/common/extensionManagement.test.ts
index 75794b5171bb9..8daff611e679a 100644
--- a/src/vs/platform/extensionManagement/test/common/extensionManagement.test.ts
+++ b/src/vs/platform/extensionManagement/test/common/extensionManagement.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {EXTENSION_IDENTIFIER_PATTERN} from 'vs/platform/extensionManagement/common/extensionManagement';
+import { EXTENSION_IDENTIFIER_PATTERN } from 'vs/platform/extensionManagement/common/extensionManagement';
 
 suite('Extension Identifier Pattern', () => {
 
diff --git a/src/vs/platform/extensions/common/abstractExtensionService.ts b/src/vs/platform/extensions/common/abstractExtensionService.ts
index 512472df7f73f..6fea18a4015ff 100644
--- a/src/vs/platform/extensions/common/abstractExtensionService.ts
+++ b/src/vs/platform/extensions/common/abstractExtensionService.ts
@@ -6,9 +6,9 @@
 
 import * as nls from 'vs/nls';
 import Severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IExtensionDescription, IExtensionService, IExtensionsStatus} from 'vs/platform/extensions/common/extensions';
-import {ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IExtensionDescription, IExtensionService, IExtensionsStatus } from 'vs/platform/extensions/common/extensions';
+import { ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
 
 const hasOwnProperty = Object.hasOwnProperty;
 
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
index b7b987d7b666a..a45442f2ad9fd 100644
--- a/src/vs/platform/extensions/common/extensions.ts
+++ b/src/vs/platform/extensions/common/extensions.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import Severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export interface IExtensionDescription {
 	id: string;
diff --git a/src/vs/platform/extensions/common/extensionsRegistry.ts b/src/vs/platform/extensions/common/extensionsRegistry.ts
index 1f780050db4b2..b38ae05126144 100644
--- a/src/vs/platform/extensions/common/extensionsRegistry.ts
+++ b/src/vs/platform/extensions/common/extensionsRegistry.ts
@@ -5,13 +5,13 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {IJSONSchema} from 'vs/base/common/jsonSchema';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { IJSONSchema } from 'vs/base/common/jsonSchema';
 import * as paths from 'vs/base/common/paths';
 import Severity from 'vs/base/common/severity';
-import {IActivationEventListener, IMessage, IExtensionDescription, IPointListener} from 'vs/platform/extensions/common/extensions';
-import {Extensions, IJSONContributionRegistry} from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
-import {Registry} from 'vs/platform/platform';
+import { IActivationEventListener, IMessage, IExtensionDescription, IPointListener } from 'vs/platform/extensions/common/extensions';
+import { Extensions, IJSONContributionRegistry } from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
+import { Registry } from 'vs/platform/platform';
 
 export interface IExtensionMessageCollector {
 	error(message: string): void;
@@ -21,15 +21,15 @@ export interface IExtensionMessageCollector {
 
 class ExtensionMessageCollector implements IExtensionMessageCollector {
 
-	private _messageHandler: (msg:IMessage)=>void;
+	private _messageHandler: (msg: IMessage) => void;
 	private _source: string;
 
-	constructor(messageHandler: (msg:IMessage)=>void, source:string) {
+	constructor(messageHandler: (msg: IMessage) => void, source: string) {
 		this._messageHandler = messageHandler;
 		this._source = source;
 	}
 
-	private _msg(type:Severity, message:string): void {
+	private _msg(type: Severity, message: string): void {
 		this._messageHandler({
 			type: type,
 			message: message,
@@ -144,7 +144,7 @@ export interface IExtensionsRegistry {
 	triggerActivationEventListeners(activationEvent: string): void;
 
 	registerExtensionPoint<T>(extensionPoint: string, jsonSchema: IJSONSchema): IExtensionPoint<T>;
-	handleExtensionPoints(messageHandler: (msg:IMessage)=>void): void;
+	handleExtensionPoints(messageHandler: (msg: IMessage) => void): void;
 }
 
 class ExtensionPoint<T> implements IExtensionPoint<T> {
@@ -152,7 +152,7 @@ class ExtensionPoint<T> implements IExtensionPoint<T> {
 	public name: string;
 	private _registry: ExtensionsRegistryImpl;
 	private _handler: IExtensionPointHandler<T>;
-	private _messageHandler: (msg:IMessage)=>void;
+	private _messageHandler: (msg: IMessage) => void;
 
 	constructor(name: string, registry: ExtensionsRegistryImpl) {
 		this.name = name;
@@ -169,7 +169,7 @@ class ExtensionPoint<T> implements IExtensionPoint<T> {
 		this._handle();
 	}
 
-	handle(messageHandler: (msg:IMessage)=>void): void {
+	handle(messageHandler: (msg: IMessage) => void): void {
 		this._messageHandler = messageHandler;
 		this._handle();
 	}
@@ -263,7 +263,7 @@ const schema: IJSONSchema = {
 			type: 'array',
 			items: {
 				type: 'string',
-				defaultSnippets: [{ label: 'onLanguage', body: 'onLanguage:{{languageId}}'}, {label: 'onCommand', body: 'onCommand:{{commandId}}'}, {label: 'onDebug', body: 'onDebug:{{type}}'}, {label: 'workspaceContains', body: 'workspaceContains:{{fileName}}'}],
+				defaultSnippets: [{ label: 'onLanguage', body: 'onLanguage:{{languageId}}' }, { label: 'onCommand', body: 'onCommand:{{commandId}}' }, { label: 'onDebug', body: 'onDebug:{{type}}' }, { label: 'workspaceContains', body: 'workspaceContains:{{fileName}}' }],
 			}
 		},
 		badges: {
@@ -357,7 +357,7 @@ class ExtensionsRegistryImpl implements IExtensionsRegistry {
 		return result;
 	}
 
-	public handleExtensionPoints(messageHandler: (msg:IMessage)=>void): void {
+	public handleExtensionPoints(messageHandler: (msg: IMessage) => void): void {
 		Object.keys(this._extensionPoints).forEach((extensionPointName) => {
 			this._extensionPoints[extensionPointName].handle(messageHandler);
 		});
diff --git a/src/vs/platform/extensions/common/ipcRemoteCom.ts b/src/vs/platform/extensions/common/ipcRemoteCom.ts
index 197f5e8650899..5d82ea0637515 100644
--- a/src/vs/platform/extensions/common/ipcRemoteCom.ts
+++ b/src/vs/platform/extensions/common/ipcRemoteCom.ts
@@ -16,22 +16,22 @@ interface IRPCFunc {
 const pendingRPCReplies: { [msgId: string]: LazyPromise; } = {};
 
 class MessageFactory {
-	public static cancel(req:string): string {
+	public static cancel(req: string): string {
 		return `{"cancel":"${req}"}`;
 	}
 
-	public static request(req:string, rpcId:string, method:string, args:any[]): string {
+	public static request(req: string, rpcId: string, method: string, args: any[]): string {
 		return `{"req":"${req}","rpcId":"${rpcId}","method":"${method}","args":${marshalling.stringify(args)}}`;
 	}
 
-	public static replyOK(req:string, res:any): string {
+	public static replyOK(req: string, res: any): string {
 		if (typeof res === 'undefined') {
 			return `{"seq":"${req}"}`;
 		}
 		return `{"seq":"${req}","res":${marshalling.stringify(res)}}`;
 	}
 
-	public static replyErr(req:string, err:any): string {
+	public static replyErr(req: string, err: any): string {
 		if (typeof err === 'undefined') {
 			return `{"seq":"${req}","err":null}`;
 		}
@@ -41,7 +41,7 @@ class MessageFactory {
 
 class LazyPromise {
 
-	private _onCancel: ()=>void;
+	private _onCancel: () => void;
 
 	private _actual: winjs.TPromise<any>;
 	private _actualOk: winjs.ValueCallback;
@@ -55,7 +55,7 @@ class LazyPromise {
 
 	private _isCanceled: boolean;
 
-	constructor(onCancel: ()=>void) {
+	constructor(onCancel: () => void) {
 		this._onCancel = onCancel;
 		this._actual = null;
 		this._actualOk = null;
@@ -85,7 +85,7 @@ class LazyPromise {
 		return this._actual;
 	}
 
-	public resolveOk(value:any): void {
+	public resolveOk(value: any): void {
 		if (this._isCanceled || this._hasErr) {
 			return;
 		}
@@ -98,7 +98,7 @@ class LazyPromise {
 		}
 	}
 
-	public resolveErr(err:any): void {
+	public resolveErr(err: any): void {
 		if (this._isCanceled || this._hasValue) {
 			return;
 		}
@@ -111,7 +111,7 @@ class LazyPromise {
 		}
 	}
 
-	public then(success:any, error:any): any {
+	public then(success: any, error: any): any {
 		if (this._isCanceled) {
 			return;
 		}
@@ -119,7 +119,7 @@ class LazyPromise {
 		return this._ensureActual().then(success, error);
 	}
 
-	public done(success:any, error:any): void {
+	public done(success: any, error: any): void {
 		if (this._isCanceled) {
 			return;
 		}
diff --git a/src/vs/platform/extensions/node/extensionValidator.ts b/src/vs/platform/extensions/node/extensionValidator.ts
index e3103e2a22407..89e1352b6c986 100644
--- a/src/vs/platform/extensions/node/extensionValidator.ts
+++ b/src/vs/platform/extensions/node/extensionValidator.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {IExtensionDescription} from 'vs/platform/extensions/common/extensions';
-import {isValidExtensionDescription as baseIsValidExtensionDescription} from 'vs/platform/extensions/common/extensionsRegistry';
-import {valid} from 'semver';
+import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
+import { isValidExtensionDescription as baseIsValidExtensionDescription } from 'vs/platform/extensions/common/extensionsRegistry';
+import { valid } from 'semver';
 
 export interface IParsedVersion {
 	hasCaret: boolean;
diff --git a/src/vs/platform/extensions/test/node/extensionValidator.test.ts b/src/vs/platform/extensions/test/node/extensionValidator.test.ts
index ba70503dcace1..22d5c878174b9 100644
--- a/src/vs/platform/extensions/test/node/extensionValidator.test.ts
+++ b/src/vs/platform/extensions/test/node/extensionValidator.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {INormalizedVersion, IParsedVersion, IReducedExtensionDescription, isValidExtensionVersion, isValidVersion, isValidVersionStr, normalizeVersion, parseVersion} from 'vs/platform/extensions/node/extensionValidator';
+import { INormalizedVersion, IParsedVersion, IReducedExtensionDescription, isValidExtensionVersion, isValidVersion, isValidVersionStr, normalizeVersion, parseVersion } from 'vs/platform/extensions/node/extensionValidator';
 
 suite('Extension Version Validator', () => {
 
diff --git a/src/vs/platform/files/common/files.ts b/src/vs/platform/files/common/files.ts
index c01f2c3598f83..dfa97b213611f 100644
--- a/src/vs/platform/files/common/files.ts
+++ b/src/vs/platform/files/common/files.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import paths = require('vs/base/common/paths');
 import URI from 'vs/base/common/uri';
 import glob = require('vs/base/common/glob');
 import events = require('vs/base/common/events');
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const IFileService = createDecorator<IFileService>('fileService');
 
diff --git a/src/vs/platform/files/test/events.test.ts b/src/vs/platform/files/test/events.test.ts
index 54aba8377e07b..b2f265fbffb8e 100644
--- a/src/vs/platform/files/test/events.test.ts
+++ b/src/vs/platform/files/test/events.test.ts
@@ -9,7 +9,7 @@ import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
 import * as Paths from 'vs/base/common/paths';
 import * as Files from 'vs/platform/files/common/files';
-import {Event, PropertyChangeEvent} from 'vs/base/common/events';
+import { Event, PropertyChangeEvent } from 'vs/base/common/events';
 
 let FileChangesEvent = Files.FileChangesEvent;
 
diff --git a/src/vs/platform/instantiation/common/descriptors.ts b/src/vs/platform/instantiation/common/descriptors.ts
index 5397eb7cbc034..d5b8b94bec575 100644
--- a/src/vs/platform/instantiation/common/descriptors.ts
+++ b/src/vs/platform/instantiation/common/descriptors.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {illegalArgument} from 'vs/base/common/errors';
+import { illegalArgument } from 'vs/base/common/errors';
 import * as instantiation from './instantiation';
 
 export class AbstractDescriptor<T> {
diff --git a/src/vs/platform/instantiation/common/extensions.ts b/src/vs/platform/instantiation/common/extensions.ts
index 8cacde27e8faf..c703ac146c271 100644
--- a/src/vs/platform/instantiation/common/extensions.ts
+++ b/src/vs/platform/instantiation/common/extensions.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {SyncDescriptor} from './descriptors';
-import {ServiceIdentifier, IConstructorSignature0} from './instantiation';
+import { SyncDescriptor } from './descriptors';
+import { ServiceIdentifier, IConstructorSignature0 } from './instantiation';
 
 export const Services = 'di.services';
 
diff --git a/src/vs/platform/instantiation/common/instantiation.ts b/src/vs/platform/instantiation/common/instantiation.ts
index 929ffd2527ec5..3ba10958d2f06 100644
--- a/src/vs/platform/instantiation/common/instantiation.ts
+++ b/src/vs/platform/instantiation/common/instantiation.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ServiceCollection} from './serviceCollection';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ServiceCollection } from './serviceCollection';
 import * as descriptors from './descriptors';
 
 // ------ internal util
@@ -185,7 +185,7 @@ function storeServiceDependency(id: Function, target: Function, index: number, o
  */
 export function createDecorator<T>(serviceId: string): { (...args: any[]): void; type: T; } {
 
-	let id = function(target: Function, key: string, index: number): any {
+	let id = function (target: Function, key: string, index: number): any {
 		if (arguments.length !== 3) {
 			throw new Error('@IServiceName-decorator can only be used to decorate a parameter');
 		}
@@ -202,7 +202,7 @@ export function createDecorator<T>(serviceId: string): { (...args: any[]): void;
  */
 export function optional<T>(serviceIdentifier: ServiceIdentifier<T>) {
 
-	return function (target: Function, key: string, index: number){
+	return function (target: Function, key: string, index: number) {
 		if (arguments.length !== 3) {
 			throw new Error('@optional-decorator can only be used to decorate a parameter');
 		}
diff --git a/src/vs/platform/instantiation/common/instantiationService.ts b/src/vs/platform/instantiation/common/instantiationService.ts
index 2f23db4127874..f4fb6eb0dfb3a 100644
--- a/src/vs/platform/instantiation/common/instantiationService.ts
+++ b/src/vs/platform/instantiation/common/instantiationService.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {illegalArgument, illegalState, canceled} from 'vs/base/common/errors';
-import {create} from 'vs/base/common/types';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { illegalArgument, illegalState, canceled } from 'vs/base/common/errors';
+import { create } from 'vs/base/common/types';
 import * as assert from 'vs/base/common/assert';
-import {Graph} from 'vs/base/common/graph';
-import {SyncDescriptor, AsyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {ServiceIdentifier, IInstantiationService, ServicesAccessor, _util, optional} from 'vs/platform/instantiation/common/instantiation';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
+import { Graph } from 'vs/base/common/graph';
+import { SyncDescriptor, AsyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { ServiceIdentifier, IInstantiationService, ServicesAccessor, _util, optional } from 'vs/platform/instantiation/common/instantiation';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
 
 
 export class InstantiationService implements IInstantiationService {
@@ -63,7 +63,7 @@ export class InstantiationService implements IInstantiationService {
 		}
 	}
 
-	createInstance<T>(param: any, ...rest:any[]): any {
+	createInstance<T>(param: any, ...rest: any[]): any {
 
 		if (param instanceof AsyncDescriptor) {
 			// async
@@ -231,6 +231,6 @@ export class InstantiationService implements IInstantiationService {
 			}
 		}
 
-		return <T> this._services.get(id);
+		return <T>this._services.get(id);
 	}
 }
diff --git a/src/vs/platform/instantiation/common/serviceCollection.ts b/src/vs/platform/instantiation/common/serviceCollection.ts
index 9738e23e6ba4f..edb460d4dbb5b 100644
--- a/src/vs/platform/instantiation/common/serviceCollection.ts
+++ b/src/vs/platform/instantiation/common/serviceCollection.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {binarySearch} from 'vs/base/common/arrays';
-import {ServiceIdentifier} from 'vs/platform/instantiation/common/instantiation';
-import {SyncDescriptor} from './descriptors';
+import { binarySearch } from 'vs/base/common/arrays';
+import { ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
+import { SyncDescriptor } from './descriptors';
 
 type Entry = [ServiceIdentifier<any>, any];
 
@@ -14,7 +14,7 @@ export class ServiceCollection {
 
 	private _entries: Entry[] = [];
 
-	constructor(...entries:[ServiceIdentifier<any>, any][]) {
+	constructor(...entries: [ServiceIdentifier<any>, any][]) {
 		for (let entry of entries) {
 			this.set(entry[0], entry[1]);
 		}
diff --git a/src/vs/platform/instantiation/test/common/instantiationService.test.ts b/src/vs/platform/instantiation/test/common/instantiationService.test.ts
index e5afd0f39eb6d..21234877c10df 100644
--- a/src/vs/platform/instantiation/test/common/instantiationService.test.ts
+++ b/src/vs/platform/instantiation/test/common/instantiationService.test.ts
@@ -6,10 +6,10 @@
 
 
 import assert = require('assert');
-import {createDecorator, optional, ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
-import {InstantiationService} from 'vs/platform/instantiation/common/instantiationService';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {SyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
+import { createDecorator, optional, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
+import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
 
 let IService1 = createDecorator<IService1>('service1');
 
@@ -230,7 +230,7 @@ suite('Instantiation Service', () => {
 	// 	assert.throws(() => service.createInstance(ParameterTarget2));
 	// });
 
-	test('SyncDesc - no dependencies', function() {
+	test('SyncDesc - no dependencies', function () {
 		let collection = new ServiceCollection();
 		let service = new InstantiationService(collection);
 		collection.set(IService1, new SyncDescriptor<IService1>(Service1));
@@ -246,7 +246,7 @@ suite('Instantiation Service', () => {
 		});
 	});
 
-	test('SyncDesc - service with service dependency', function() {
+	test('SyncDesc - service with service dependency', function () {
 		let collection = new ServiceCollection();
 		let service = new InstantiationService(collection);
 		collection.set(IService1, new SyncDescriptor<IService1>(Service1));
@@ -259,7 +259,7 @@ suite('Instantiation Service', () => {
 		});
 	});
 
-	test('SyncDesc - target depends on service future', function() {
+	test('SyncDesc - target depends on service future', function () {
 		let collection = new ServiceCollection();
 		let service = new InstantiationService(collection);
 		collection.set(IService1, new SyncDescriptor<IService1>(Service1));
@@ -272,7 +272,7 @@ suite('Instantiation Service', () => {
 		assert.ok(d2 instanceof DependentServiceTarget2);
 	});
 
-	test('SyncDesc - explode on loop', function() {
+	test('SyncDesc - explode on loop', function () {
 		let collection = new ServiceCollection();
 		let service = new InstantiationService(collection);
 		collection.set(IService1, new SyncDescriptor<IService1>(ServiceLoop1));
@@ -299,7 +299,7 @@ suite('Instantiation Service', () => {
 		}
 	});
 
-	test('Invoke - get services', function() {
+	test('Invoke - get services', function () {
 		let collection = new ServiceCollection();
 		let service = new InstantiationService(collection);
 		collection.set(IService1, new Service1());
@@ -328,7 +328,7 @@ suite('Instantiation Service', () => {
 		assert.equal(service.invokeFunction(test), true);
 	});
 
-	test('Invoke - keeping accessor NOT allowed', function() {
+	test('Invoke - keeping accessor NOT allowed', function () {
 		let collection = new ServiceCollection();
 		let service = new InstantiationService(collection);
 		collection.set(IService1, new Service1());
@@ -348,7 +348,7 @@ suite('Instantiation Service', () => {
 		assert.throws(() => cached.get(IService2));
 	});
 
-	test('Invoke - throw error', function() {
+	test('Invoke - throw error', function () {
 		let collection = new ServiceCollection();
 		let service = new InstantiationService(collection);
 		collection.set(IService1, new Service1());
diff --git a/src/vs/platform/integrity/common/integrity.ts b/src/vs/platform/integrity/common/integrity.ts
index 046b836bc4c71..747c07ca50deb 100644
--- a/src/vs/platform/integrity/common/integrity.ts
+++ b/src/vs/platform/integrity/common/integrity.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 import URI from 'vs/base/common/uri';
 
 export const IIntegrityService = createDecorator<IIntegrityService>('integrityService');
diff --git a/src/vs/platform/integrity/node/integrityServiceImpl.ts b/src/vs/platform/integrity/node/integrityServiceImpl.ts
index 92461b0ea9efe..c8bc44909bb1a 100644
--- a/src/vs/platform/integrity/node/integrityServiceImpl.ts
+++ b/src/vs/platform/integrity/node/integrityServiceImpl.ts
@@ -7,17 +7,17 @@
 import * as nls from 'vs/nls';
 import * as fs from 'fs';
 import * as crypto from 'crypto';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IIntegrityService, IntegrityTestResult, ChecksumPair} from 'vs/platform/integrity/common/integrity';
-import {IMessageService} from 'vs/platform/message/common/message';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IIntegrityService, IntegrityTestResult, ChecksumPair } from 'vs/platform/integrity/common/integrity';
+import { IMessageService } from 'vs/platform/message/common/message';
 import product from 'vs/platform/product';
 import URI from 'vs/base/common/uri';
 import Severity from 'vs/base/common/severity';
-import {Action} from 'vs/base/common/actions';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
+import { Action } from 'vs/base/common/actions';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
 
 interface ILoaderChecksums {
-	[scriptSrc:string]: string;
+	[scriptSrc: string]: string;
 }
 
 
@@ -53,7 +53,7 @@ class IntegrityStorage {
 		return this._value;
 	}
 
-	public set(data:IStorageData): void {
+	public set(data: IStorageData): void {
 		this._value = data;
 		this._storageService.store(IntegrityStorage.KEY, JSON.stringify(this._value), StorageScope.GLOBAL);
 	}
@@ -64,7 +64,7 @@ export class IntegrityServiceImpl implements IIntegrityService {
 	public _serviceBrand: any;
 
 	private _messageService: IMessageService;
-	private _storage:IntegrityStorage;
+	private _storage: IntegrityStorage;
 	private _isPurePromise: TPromise<IntegrityTestResult>;
 
 	constructor(
@@ -157,7 +157,7 @@ export class IntegrityServiceImpl implements IIntegrityService {
 		});
 	}
 
-	private _resolve(filename:string, expected:string): TPromise<ChecksumPair> {
+	private _resolve(filename: string, expected: string): TPromise<ChecksumPair> {
 		let fileUri = URI.parse(require.toUrl(filename));
 		return new TPromise<ChecksumPair>((c, e, p) => {
 			fs.readFile(fileUri.fsPath, (err, buff) => {
@@ -169,7 +169,7 @@ export class IntegrityServiceImpl implements IIntegrityService {
 		});
 	}
 
-	private _computeChecksum(buff:Buffer): string {
+	private _computeChecksum(buff: Buffer): string {
 		let hash = crypto
 			.createHash('md5')
 			.update(buff)
@@ -179,7 +179,7 @@ export class IntegrityServiceImpl implements IIntegrityService {
 		return hash;
 	}
 
-	private static _createChecksumPair(uri:URI, actual:string, expected:string): ChecksumPair {
+	private static _createChecksumPair(uri: URI, actual: string, expected: string): ChecksumPair {
 		return {
 			uri: uri,
 			actual: actual,
diff --git a/src/vs/platform/jsonschemas/common/jsonContributionRegistry.ts b/src/vs/platform/jsonschemas/common/jsonContributionRegistry.ts
index 10932d9ee04cf..29f818a98533c 100644
--- a/src/vs/platform/jsonschemas/common/jsonContributionRegistry.ts
+++ b/src/vs/platform/jsonschemas/common/jsonContributionRegistry.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IJSONSchema} from 'vs/base/common/jsonSchema';
+import { IJSONSchema } from 'vs/base/common/jsonSchema';
 import platform = require('vs/platform/platform');
-import {EventEmitter} from 'vs/base/common/eventEmitter';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
+import { IDisposable } from 'vs/base/common/lifecycle';
 
 export const Extensions = {
 	JSONContribution: 'base.contributions.json'
diff --git a/src/vs/platform/jsonschemas/common/jsonValidationExtensionPoint.ts b/src/vs/platform/jsonschemas/common/jsonValidationExtensionPoint.ts
index 779674dd17f16..f96051b652b73 100644
--- a/src/vs/platform/jsonschemas/common/jsonValidationExtensionPoint.ts
+++ b/src/vs/platform/jsonschemas/common/jsonValidationExtensionPoint.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
+import { ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
 import URI from 'vs/base/common/uri';
 import strings = require('vs/base/common/strings');
 import paths = require('vs/base/common/paths');
diff --git a/src/vs/platform/keybinding/browser/keybindingServiceImpl.ts b/src/vs/platform/keybinding/browser/keybindingServiceImpl.ts
index 30c382e8f62bf..da145c71d04af 100644
--- a/src/vs/platform/keybinding/browser/keybindingServiceImpl.ts
+++ b/src/vs/platform/keybinding/browser/keybindingServiceImpl.ts
@@ -6,22 +6,22 @@
 
 import 'vs/css!./keybindings';
 import * as nls from 'vs/nls';
-import {IHTMLContentElement} from 'vs/base/common/htmlContent';
-import {KeyCode} from 'vs/base/common/keyCodes';
-import {Keybinding} from 'vs/base/common/keybinding';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { IHTMLContentElement } from 'vs/base/common/htmlContent';
+import { KeyCode } from 'vs/base/common/keyCodes';
+import { Keybinding } from 'vs/base/common/keybinding';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import Severity from 'vs/base/common/severity';
-import {isFalsyOrEmpty} from 'vs/base/common/arrays';
+import { isFalsyOrEmpty } from 'vs/base/common/arrays';
 import * as dom from 'vs/base/browser/dom';
-import {IKeyboardEvent, StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {ICommandService, CommandsRegistry, ICommandHandlerDescription} from 'vs/platform/commands/common/commands';
-import {KeybindingResolver} from 'vs/platform/keybinding/common/keybindingResolver';
-import {IKeybindingItem, IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {IStatusbarService} from 'vs/platform/statusbar/common/statusbar';
-import {IMessageService} from 'vs/platform/message/common/message';
-import Event, {Emitter} from 'vs/base/common/event';
+import { IKeyboardEvent, StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { ICommandService, CommandsRegistry, ICommandHandlerDescription } from 'vs/platform/commands/common/commands';
+import { KeybindingResolver } from 'vs/platform/keybinding/common/keybindingResolver';
+import { IKeybindingItem, IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { IStatusbarService } from 'vs/platform/statusbar/common/statusbar';
+import { IMessageService } from 'vs/platform/message/common/message';
+import Event, { Emitter } from 'vs/base/common/event';
 
 export abstract class KeybindingService implements IKeybindingService {
 	public _serviceBrand: any;
diff --git a/src/vs/platform/keybinding/common/keybinding.ts b/src/vs/platform/keybinding/common/keybinding.ts
index b3b2b34d3a4a3..b80dfedc9b7f5 100644
--- a/src/vs/platform/keybinding/common/keybinding.ts
+++ b/src/vs/platform/keybinding/common/keybinding.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IHTMLContentElement} from 'vs/base/common/htmlContent';
-import {Keybinding} from 'vs/base/common/keybinding';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
+import { IHTMLContentElement } from 'vs/base/common/htmlContent';
+import { Keybinding } from 'vs/base/common/keybinding';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
 import Event from 'vs/base/common/event';
 
 export interface IUserFriendlyKeybinding {
diff --git a/src/vs/platform/keybinding/common/keybindingResolver.ts b/src/vs/platform/keybinding/common/keybindingResolver.ts
index 1b871222b4ee7..1f63e8e33d332 100644
--- a/src/vs/platform/keybinding/common/keybindingResolver.ts
+++ b/src/vs/platform/keybinding/common/keybindingResolver.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {BinaryKeybindings} from 'vs/base/common/keyCodes';
-import {ISimplifiedPlatform, Keybinding} from 'vs/base/common/keybinding';
+import { BinaryKeybindings } from 'vs/base/common/keyCodes';
+import { ISimplifiedPlatform, Keybinding } from 'vs/base/common/keybinding';
 import * as platform from 'vs/base/common/platform';
-import {IKeybindingItem, IUserFriendlyKeybinding} from 'vs/platform/keybinding/common/keybinding';
-import {ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
+import { IKeybindingItem, IUserFriendlyKeybinding } from 'vs/platform/keybinding/common/keybinding';
+import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
 
 export interface IResolveResult {
 	enterChord: number;
@@ -40,7 +40,7 @@ export class NormalizedKeybindingItem {
 	isDefault: boolean;
 	actualCommand: string;
 
-	public static fromKeybindingItem(source:IKeybindingItem, isDefault:boolean): NormalizedKeybindingItem {
+	public static fromKeybindingItem(source: IKeybindingItem, isDefault: boolean): NormalizedKeybindingItem {
 		let when: ContextKeyExpr = null;
 		if (source.when) {
 			when = source.when.normalize();
@@ -118,7 +118,7 @@ export class KeybindingResolver {
 		}
 	}
 
-	private static _isTargetedForRemoval(defaultKb:NormalizedKeybindingItem, keybinding:number, command:string, when:ContextKeyExpr): boolean {
+	private static _isTargetedForRemoval(defaultKb: NormalizedKeybindingItem, keybinding: number, command: string, when: ContextKeyExpr): boolean {
 		if (defaultKb.actualCommand !== command) {
 			return false;
 		}
@@ -139,7 +139,7 @@ export class KeybindingResolver {
 
 	}
 
-	public static combine(rawDefaults:IKeybindingItem[], rawOverrides: IKeybindingItem[]): NormalizedKeybindingItem[] {
+	public static combine(rawDefaults: IKeybindingItem[], rawOverrides: IKeybindingItem[]): NormalizedKeybindingItem[] {
 		let defaults = rawDefaults.map(kb => NormalizedKeybindingItem.fromKeybindingItem(kb, true));
 		let overrides: NormalizedKeybindingItem[] = [];
 		for (let i = 0, len = rawOverrides.length; i < len; i++) {
@@ -409,17 +409,17 @@ export class IOSupport {
 	}
 
 	public static readKeybindingItem(input: IUserFriendlyKeybinding, index: number): IKeybindingItem {
-		let key:number = 0;
+		let key: number = 0;
 		if (typeof input.key === 'string') {
 			key = IOSupport.readKeybinding(input.key);
 		}
 
-		let when:ContextKeyExpr = null;
+		let when: ContextKeyExpr = null;
 		if (typeof input.when === 'string') {
 			when = IOSupport.readKeybindingWhen(input.when);
 		}
 
-		let command:string = null;
+		let command: string = null;
 		if (typeof input.command === 'string') {
 			command = input.command;
 		}
diff --git a/src/vs/platform/keybinding/common/keybindingsRegistry.ts b/src/vs/platform/keybinding/common/keybindingsRegistry.ts
index ef24bcb6febb1..72eeecec8339c 100644
--- a/src/vs/platform/keybinding/common/keybindingsRegistry.ts
+++ b/src/vs/platform/keybinding/common/keybindingsRegistry.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {BinaryKeybindings, KeyCodeUtils} from 'vs/base/common/keyCodes';
+import { BinaryKeybindings, KeyCodeUtils } from 'vs/base/common/keyCodes';
 import * as platform from 'vs/base/common/platform';
-import {IKeybindingItem, IKeybindings} from 'vs/platform/keybinding/common/keybinding';
-import {ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
-import {CommandsRegistry, ICommandHandler, ICommandHandlerDescription} from 'vs/platform/commands/common/commands';
-import {Registry} from 'vs/platform/platform';
+import { IKeybindingItem, IKeybindings } from 'vs/platform/keybinding/common/keybinding';
+import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
+import { CommandsRegistry, ICommandHandler, ICommandHandlerDescription } from 'vs/platform/commands/common/commands';
+import { Registry } from 'vs/platform/platform';
 
 export interface IKeybindingRule extends IKeybindings {
 	id: string;
diff --git a/src/vs/platform/keybinding/test/common/keybindingIO.test.ts b/src/vs/platform/keybinding/test/common/keybindingIO.test.ts
index c5b3688d0f218..e5d746a40e9ff 100644
--- a/src/vs/platform/keybinding/test/common/keybindingIO.test.ts
+++ b/src/vs/platform/keybinding/test/common/keybindingIO.test.ts
@@ -5,14 +5,14 @@
 'use strict';
 
 import * as assert from 'assert';
-import {KeyCode, KeyMod, KeyChord} from 'vs/base/common/keyCodes';
-import {NormalizedKeybindingItem, IOSupport} from 'vs/platform/keybinding/common/keybindingResolver';
-import {IUserFriendlyKeybinding} from 'vs/platform/keybinding/common/keybinding';
-import {ISimplifiedPlatform} from 'vs/base/common/keybinding';
+import { KeyCode, KeyMod, KeyChord } from 'vs/base/common/keyCodes';
+import { NormalizedKeybindingItem, IOSupport } from 'vs/platform/keybinding/common/keybindingResolver';
+import { IUserFriendlyKeybinding } from 'vs/platform/keybinding/common/keybinding';
+import { ISimplifiedPlatform } from 'vs/base/common/keybinding';
 
 suite('Keybinding IO', () => {
 
-	test('serialize/deserialize', function() {
+	test('serialize/deserialize', function () {
 		const WINDOWS = { isMacintosh: false, isWindows: true };
 		const MACINTOSH = { isMacintosh: true, isWindows: false };
 		const LINUX = { isMacintosh: false, isWindows: false };
diff --git a/src/vs/platform/keybinding/test/common/keybindingService.test.ts b/src/vs/platform/keybinding/test/common/keybindingService.test.ts
index 80043f87a8a7c..22e4191d7cd1a 100644
--- a/src/vs/platform/keybinding/test/common/keybindingService.test.ts
+++ b/src/vs/platform/keybinding/test/common/keybindingService.test.ts
@@ -5,14 +5,14 @@
 'use strict';
 
 import * as assert from 'assert';
-import {BinaryKeybindings, KeyCode, KeyMod, KeyChord} from 'vs/base/common/keyCodes';
-import {IOSupport, KeybindingResolver, NormalizedKeybindingItem} from 'vs/platform/keybinding/common/keybindingResolver';
-import {IKeybindingItem} from 'vs/platform/keybinding/common/keybinding';
-import {ContextKeyAndExpr, ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
+import { BinaryKeybindings, KeyCode, KeyMod, KeyChord } from 'vs/base/common/keyCodes';
+import { IOSupport, KeybindingResolver, NormalizedKeybindingItem } from 'vs/platform/keybinding/common/keybindingResolver';
+import { IKeybindingItem } from 'vs/platform/keybinding/common/keybinding';
+import { ContextKeyAndExpr, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
 
 suite('Keybinding Service', () => {
 
-	test('resolve key', function() {
+	test('resolve key', function () {
 		let keybinding = KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_Z;
 		let contextRules = ContextKeyExpr.equals('bar', 'baz');
 		let keybindingItem: IKeybindingItem = {
@@ -31,7 +31,7 @@ suite('Keybinding Service', () => {
 		assert.equal(resolver.resolve({ bar: 'bz' }, 0, keybinding), null);
 	});
 
-	test('KbAndExpression.equals', function() {
+	test('KbAndExpression.equals', function () {
 		let a = ContextKeyExpr.and(
 			ContextKeyExpr.has('a1'),
 			ContextKeyExpr.and(ContextKeyExpr.has('and.a')),
@@ -57,15 +57,15 @@ suite('Keybinding Service', () => {
 		assert(a.equals(b), 'expressions should be equal');
 	});
 
-	test('KeybindingResolver.combine simple 1', function() {
-		let defaults:IKeybindingItem[] = [{
+	test('KeybindingResolver.combine simple 1', function () {
+		let defaults: IKeybindingItem[] = [{
 			command: 'yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_A,
 			weight1: 0,
 			weight2: 0
 		}];
-		let overrides:IKeybindingItem[] = [{
+		let overrides: IKeybindingItem[] = [{
 			command: 'yes2',
 			when: ContextKeyExpr.equals('2', 'b'),
 			keybinding: KeyCode.KEY_B,
@@ -79,8 +79,8 @@ suite('Keybinding Service', () => {
 		]);
 	});
 
-	test('KeybindingResolver.combine simple 2', function() {
-		let defaults:IKeybindingItem[] = [{
+	test('KeybindingResolver.combine simple 2', function () {
+		let defaults: IKeybindingItem[] = [{
 			command: 'yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_A,
@@ -93,7 +93,7 @@ suite('Keybinding Service', () => {
 			weight1: 0,
 			weight2: 0
 		}];
-		let overrides:IKeybindingItem[] = [{
+		let overrides: IKeybindingItem[] = [{
 			command: 'yes3',
 			when: ContextKeyExpr.equals('3', 'c'),
 			keybinding: KeyCode.KEY_C,
@@ -108,8 +108,8 @@ suite('Keybinding Service', () => {
 		]);
 	});
 
-	test('KeybindingResolver.combine removal with not matching when', function() {
-		let defaults:IKeybindingItem[] = [{
+	test('KeybindingResolver.combine removal with not matching when', function () {
+		let defaults: IKeybindingItem[] = [{
 			command: 'yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_A,
@@ -122,7 +122,7 @@ suite('Keybinding Service', () => {
 			weight1: 0,
 			weight2: 0
 		}];
-		let overrides:IKeybindingItem[] = [{
+		let overrides: IKeybindingItem[] = [{
 			command: '-yes1',
 			when: ContextKeyExpr.equals('1', 'b'),
 			keybinding: KeyCode.KEY_A,
@@ -136,8 +136,8 @@ suite('Keybinding Service', () => {
 		]);
 	});
 
-	test('KeybindingResolver.combine removal with not matching keybinding', function() {
-		let defaults:IKeybindingItem[] = [{
+	test('KeybindingResolver.combine removal with not matching keybinding', function () {
+		let defaults: IKeybindingItem[] = [{
 			command: 'yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_A,
@@ -150,7 +150,7 @@ suite('Keybinding Service', () => {
 			weight1: 0,
 			weight2: 0
 		}];
-		let overrides:IKeybindingItem[] = [{
+		let overrides: IKeybindingItem[] = [{
 			command: '-yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_B,
@@ -164,8 +164,8 @@ suite('Keybinding Service', () => {
 		]);
 	});
 
-	test('KeybindingResolver.combine removal with matching keybinding and when', function() {
-		let defaults:IKeybindingItem[] = [{
+	test('KeybindingResolver.combine removal with matching keybinding and when', function () {
+		let defaults: IKeybindingItem[] = [{
 			command: 'yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_A,
@@ -178,7 +178,7 @@ suite('Keybinding Service', () => {
 			weight1: 0,
 			weight2: 0
 		}];
-		let overrides:IKeybindingItem[] = [{
+		let overrides: IKeybindingItem[] = [{
 			command: '-yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_A,
@@ -191,8 +191,8 @@ suite('Keybinding Service', () => {
 		]);
 	});
 
-	test('KeybindingResolver.combine removal with unspecified keybinding', function() {
-		let defaults:IKeybindingItem[] = [{
+	test('KeybindingResolver.combine removal with unspecified keybinding', function () {
+		let defaults: IKeybindingItem[] = [{
 			command: 'yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_A,
@@ -205,7 +205,7 @@ suite('Keybinding Service', () => {
 			weight1: 0,
 			weight2: 0
 		}];
-		let overrides:IKeybindingItem[] = [{
+		let overrides: IKeybindingItem[] = [{
 			command: '-yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: 0,
@@ -218,8 +218,8 @@ suite('Keybinding Service', () => {
 		]);
 	});
 
-	test('KeybindingResolver.combine removal with unspecified when', function() {
-		let defaults:IKeybindingItem[] = [{
+	test('KeybindingResolver.combine removal with unspecified when', function () {
+		let defaults: IKeybindingItem[] = [{
 			command: 'yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_A,
@@ -232,7 +232,7 @@ suite('Keybinding Service', () => {
 			weight1: 0,
 			weight2: 0
 		}];
-		let overrides:IKeybindingItem[] = [{
+		let overrides: IKeybindingItem[] = [{
 			command: '-yes1',
 			when: null,
 			keybinding: KeyCode.KEY_A,
@@ -245,8 +245,8 @@ suite('Keybinding Service', () => {
 		]);
 	});
 
-	test('KeybindingResolver.combine removal with unspecified when and unspecified keybinding', function() {
-		let defaults:IKeybindingItem[] = [{
+	test('KeybindingResolver.combine removal with unspecified when and unspecified keybinding', function () {
+		let defaults: IKeybindingItem[] = [{
 			command: 'yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_A,
@@ -259,7 +259,7 @@ suite('Keybinding Service', () => {
 			weight1: 0,
 			weight2: 0
 		}];
-		let overrides:IKeybindingItem[] = [{
+		let overrides: IKeybindingItem[] = [{
 			command: '-yes1',
 			when: null,
 			keybinding: 0,
@@ -272,8 +272,8 @@ suite('Keybinding Service', () => {
 		]);
 	});
 
-	test('issue #612#issuecomment-222109084 cannot remove keybindings for commands with ^', function() {
-		let defaults:IKeybindingItem[] = [{
+	test('issue #612#issuecomment-222109084 cannot remove keybindings for commands with ^', function () {
+		let defaults: IKeybindingItem[] = [{
 			command: '^yes1',
 			when: ContextKeyExpr.equals('1', 'a'),
 			keybinding: KeyCode.KEY_A,
@@ -286,7 +286,7 @@ suite('Keybinding Service', () => {
 			weight1: 0,
 			weight2: 0
 		}];
-		let overrides:IKeybindingItem[] = [{
+		let overrides: IKeybindingItem[] = [{
 			command: '-yes1',
 			when: null,
 			keybinding: KeyCode.KEY_A,
@@ -299,7 +299,7 @@ suite('Keybinding Service', () => {
 		]);
 	});
 
-	test('normalizeRule', function() {
+	test('normalizeRule', function () {
 		let key1IsTrue = ContextKeyExpr.equals('key1', true);
 		let key1IsNotFalse = ContextKeyExpr.notEquals('key1', false);
 		let key1IsFalse = ContextKeyExpr.equals('key1', false);
@@ -311,7 +311,7 @@ suite('Keybinding Service', () => {
 		assert.ok(key1IsNotTrue.normalize().equals(ContextKeyExpr.not('key1')));
 	});
 
-	test('contextIsEntirelyIncluded', function() {
+	test('contextIsEntirelyIncluded', function () {
 		let assertIsIncluded = (a: ContextKeyExpr[], b: ContextKeyExpr[]) => {
 			assert.equal(KeybindingResolver.whenIsEntirelyIncluded(false, new ContextKeyAndExpr(a), new ContextKeyAndExpr(b)), true);
 		};
@@ -363,7 +363,7 @@ suite('Keybinding Service', () => {
 		assertIsNotIncluded(null, [key2IsTrue]);
 	});
 
-	test('resolve command', function() {
+	test('resolve command', function () {
 
 		let items: IKeybindingItem[] = [
 			// This one will never match because its "when" is always overwritten by another one
@@ -536,7 +536,7 @@ suite('Keybinding Service', () => {
 		testKey('sixth', []);
 	});
 
-	test('contextMatchesRules', function() {
+	test('contextMatchesRules', function () {
 		/* tslint:disable:triple-equals */
 		let context = {
 			'a': true,
diff --git a/src/vs/platform/keybinding/test/common/mockKeybindingService.ts b/src/vs/platform/keybinding/test/common/mockKeybindingService.ts
index eae5cba31a730..c41d8b4dc3404 100644
--- a/src/vs/platform/keybinding/test/common/mockKeybindingService.ts
+++ b/src/vs/platform/keybinding/test/common/mockKeybindingService.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IHTMLContentElement} from 'vs/base/common/htmlContent';
-import {Keybinding} from 'vs/base/common/keybinding';
+import { IHTMLContentElement } from 'vs/base/common/htmlContent';
+import { Keybinding } from 'vs/base/common/keybinding';
 import Event from 'vs/base/common/event';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKey, IContextKeyService, ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKey, IContextKeyService, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
 
 class MockKeybindingContextKey<T> implements IContextKey<T> {
 	private _key: string;
diff --git a/src/vs/platform/lifecycle/common/lifecycle.ts b/src/vs/platform/lifecycle/common/lifecycle.ts
index 675d8da166f31..3804d5933487e 100644
--- a/src/vs/platform/lifecycle/common/lifecycle.ts
+++ b/src/vs/platform/lifecycle/common/lifecycle.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import Event from 'vs/base/common/event';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const ILifecycleService = createDecorator<ILifecycleService>('lifecycleService');
 
diff --git a/src/vs/platform/markers/common/markerService.ts b/src/vs/platform/markers/common/markerService.ts
index c468f07239aa9..20d813a61fcd4 100644
--- a/src/vs/platform/markers/common/markerService.ts
+++ b/src/vs/platform/markers/common/markerService.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {isFalsyOrEmpty} from 'vs/base/common/arrays';
-import {Schemas} from 'vs/base/common/network';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {isEmptyObject} from 'vs/base/common/types';
+import { isFalsyOrEmpty } from 'vs/base/common/arrays';
+import { Schemas } from 'vs/base/common/network';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { isEmptyObject } from 'vs/base/common/types';
 import URI from 'vs/base/common/uri';
-import Event, {Emitter, debounceEvent} from 'vs/base/common/event';
+import Event, { Emitter, debounceEvent } from 'vs/base/common/event';
 import Severity from 'vs/base/common/severity';
-import {IMarkerService, IMarkerData, IResourceMarker, IMarker, MarkerStatistics} from './markers';
+import { IMarkerService, IMarkerData, IResourceMarker, IMarker, MarkerStatistics } from './markers';
 
 interface MapMap<V> {
 	[key: string]: { [key: string]: V };
diff --git a/src/vs/platform/markers/common/markers.ts b/src/vs/platform/markers/common/markers.ts
index 547ccfad184b8..ec55db42ae554 100644
--- a/src/vs/platform/markers/common/markers.ts
+++ b/src/vs/platform/markers/common/markers.ts
@@ -7,7 +7,7 @@
 import URI from 'vs/base/common/uri';
 import Severity from 'vs/base/common/severity';
 import Event from 'vs/base/common/event';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const IMarkerService = createDecorator<IMarkerService>('markerService');
 
diff --git a/src/vs/platform/markers/test/common/markerService.test.ts b/src/vs/platform/markers/test/common/markerService.test.ts
index 2ec04126e5fe9..4f92a7dc76230 100644
--- a/src/vs/platform/markers/test/common/markerService.test.ts
+++ b/src/vs/platform/markers/test/common/markerService.test.ts
@@ -8,7 +8,7 @@
 import assert = require('assert');
 import URI from 'vs/base/common/uri';
 import markerService = require('vs/platform/markers/common/markerService');
-import {IMarkerData} from 'vs/platform/markers/common/markers';
+import { IMarkerData } from 'vs/platform/markers/common/markers';
 
 function randomMarkerData(): IMarkerData {
 	return {
@@ -94,9 +94,9 @@ suite('Marker Service', () => {
 			resource: URI.parse('file:///d/path'),
 			marker: randomMarkerData()
 		}, {
-				resource: URI.parse('file:///d/path'),
-				marker: randomMarkerData()
-			}]);
+			resource: URI.parse('file:///d/path'),
+			marker: randomMarkerData()
+		}]);
 
 		assert.equal(service.read({ owner: 'far' }).length, 2);
 
@@ -116,9 +116,9 @@ suite('Marker Service', () => {
 			resource: URI.parse('file:///c/test/file.cs'),
 			marker: randomMarkerData()
 		}, {
-				resource: URI.parse('file:///c/test/file.cs'),
-				marker: randomMarkerData()
-			}]);
+			resource: URI.parse('file:///c/test/file.cs'),
+			marker: randomMarkerData()
+		}]);
 
 		assert.equal(service.read({ owner: 'far' }).length, 2);
 	});
diff --git a/src/vs/platform/message/common/message.ts b/src/vs/platform/message/common/message.ts
index f32ad573a3a75..eb58084df3bf9 100644
--- a/src/vs/platform/message/common/message.ts
+++ b/src/vs/platform/message/common/message.ts
@@ -5,10 +5,10 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import Severity from 'vs/base/common/severity';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {Action} from 'vs/base/common/actions';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { Action } from 'vs/base/common/actions';
 
 export interface IMessageWithAction {
 	message: string;
diff --git a/src/vs/platform/opener/browser/opener.contribution.ts b/src/vs/platform/opener/browser/opener.contribution.ts
index 45cf63fd7eea4..895569280a574 100644
--- a/src/vs/platform/opener/browser/opener.contribution.ts
+++ b/src/vs/platform/opener/browser/opener.contribution.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import {registerSingleton} from 'vs/platform/instantiation/common/extensions';
-import {OpenerService} from 'vs/platform/opener/browser/openerService';
-import {IOpenerService} from 'vs/platform/opener/common/opener';
+import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
+import { OpenerService } from 'vs/platform/opener/browser/openerService';
+import { IOpenerService } from 'vs/platform/opener/common/opener';
 
 registerSingleton(IOpenerService, OpenerService);
diff --git a/src/vs/platform/opener/browser/openerService.ts b/src/vs/platform/opener/browser/openerService.ts
index 7c33ad82d9a93..caf71b55c07f2 100644
--- a/src/vs/platform/opener/browser/openerService.ts
+++ b/src/vs/platform/opener/browser/openerService.ts
@@ -5,13 +5,13 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {parse} from 'vs/base/common/marshalling';
-import {Schemas} from 'vs/base/common/network';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IEditorService} from 'vs/platform/editor/common/editor';
-import {normalize} from 'vs/base/common/paths';
-import {ICommandService, CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {IOpenerService} from 'vs/platform/opener/common/opener';
+import { parse } from 'vs/base/common/marshalling';
+import { Schemas } from 'vs/base/common/network';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IEditorService } from 'vs/platform/editor/common/editor';
+import { normalize } from 'vs/base/common/paths';
+import { ICommandService, CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { IOpenerService } from 'vs/platform/opener/common/opener';
 
 export class OpenerService implements IOpenerService {
 
diff --git a/src/vs/platform/opener/common/opener.ts b/src/vs/platform/opener/common/opener.ts
index 975a8ee2e1a97..172602ec49e62 100644
--- a/src/vs/platform/opener/common/opener.ts
+++ b/src/vs/platform/opener/common/opener.ts
@@ -5,8 +5,8 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const IOpenerService = createDecorator<IOpenerService>('openerService');
 
@@ -26,5 +26,5 @@ export interface IOpenerService {
 
 export const NullOpenerService: IOpenerService = Object.freeze({
 	_serviceBrand: undefined,
-	open() { return TPromise.as(undefined);}
+	open() { return TPromise.as(undefined); }
 });
diff --git a/src/vs/platform/opener/test/browser/openerService.test.ts b/src/vs/platform/opener/test/browser/openerService.test.ts
index 550890079125c..27b895d91c1a6 100644
--- a/src/vs/platform/opener/test/browser/openerService.test.ts
+++ b/src/vs/platform/opener/test/browser/openerService.test.ts
@@ -6,10 +6,10 @@
 
 import URI from 'vs/base/common/uri';
 import * as assert from 'assert';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IEditorService, ITextEditorModel, IResourceInput} from 'vs/platform/editor/common/editor';
-import {ICommandService, NullCommandService, CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {OpenerService} from 'vs/platform/opener/browser/openerService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IEditorService, ITextEditorModel, IResourceInput } from 'vs/platform/editor/common/editor';
+import { ICommandService, NullCommandService, CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { OpenerService } from 'vs/platform/opener/browser/openerService';
 
 suite('OpenerService', function () {
 
diff --git a/src/vs/platform/platform.ts b/src/vs/platform/platform.ts
index fc9bdbee46da5..ed920480659c2 100644
--- a/src/vs/platform/platform.ts
+++ b/src/vs/platform/platform.ts
@@ -6,7 +6,7 @@
 
 import Types = require('vs/base/common/types');
 import Assert = require('vs/base/common/assert');
-import {IInstantiationService, IConstructorSignature0} from 'vs/platform/instantiation/common/instantiation';
+import { IInstantiationService, IConstructorSignature0 } from 'vs/platform/instantiation/common/instantiation';
 
 export interface IRegistry {
 
diff --git a/src/vs/platform/product.ts b/src/vs/platform/product.ts
index b82685471d341..89f227164532c 100644
--- a/src/vs/platform/product.ts
+++ b/src/vs/platform/product.ts
@@ -45,7 +45,7 @@ export interface IProductConfiguration {
 	licenseUrl: string;
 	privacyStatementUrl: string;
 	npsSurveyUrl: string;
-	checksums: {[path:string]:string;};
+	checksums: { [path: string]: string; };
 	checksumFailMoreInfoUrl: string;
 }
 
diff --git a/src/vs/platform/progress/common/progress.ts b/src/vs/platform/progress/common/progress.ts
index 97d556cc152bf..118a7b83e08e9 100644
--- a/src/vs/platform/progress/common/progress.ts
+++ b/src/vs/platform/progress/common/progress.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const IProgressService = createDecorator<IProgressService>('progressService');
 
diff --git a/src/vs/platform/search/common/replace.ts b/src/vs/platform/search/common/replace.ts
index f86fb7decae36..e57e23c103435 100644
--- a/src/vs/platform/search/common/replace.ts
+++ b/src/vs/platform/search/common/replace.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 
 import * as strings from 'vs/base/common/strings';
-import {IPatternInfo} from 'vs/platform/search/common/search';
-import {CharCode} from 'vs/base/common/charCode';
+import { IPatternInfo } from 'vs/platform/search/common/search';
+import { CharCode } from 'vs/base/common/charCode';
 
 export class ReplacePattern {
 
@@ -148,7 +148,7 @@ export class ReplacePattern {
 							this._hasParameters = true;
 							break;
 						}
-						let charCode= replaceString.charCodeAt(++i);
+						let charCode = replaceString.charCodeAt(++i);
 						if (!this.between(charCode, CharCode.Digit0, CharCode.Digit9)) {
 							this._hasParameters = true;
 							--i;
@@ -158,7 +158,7 @@ export class ReplacePattern {
 							this._hasParameters = true;
 							break;
 						}
-						charCode= replaceString.charCodeAt(++i);
+						charCode = replaceString.charCodeAt(++i);
 						if (!this.between(charCode, CharCode.Digit0, CharCode.Digit9)) {
 							this._hasParameters = true;
 							--i;
@@ -179,7 +179,7 @@ export class ReplacePattern {
 			return;
 		}
 
-		this._replacePattern= result + replaceString.substring(substrFrom);
+		this._replacePattern = result + replaceString.substring(substrFrom);
 	}
 
 	private between(value: number, from: number, to: number): boolean {
diff --git a/src/vs/platform/search/common/search.ts b/src/vs/platform/search/common/search.ts
index 68d9a9423563b..84452f4d17f46 100644
--- a/src/vs/platform/search/common/search.ts
+++ b/src/vs/platform/search/common/search.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {PPromise, TPromise} from 'vs/base/common/winjs.base';
+import { PPromise, TPromise } from 'vs/base/common/winjs.base';
 import uri from 'vs/base/common/uri';
 import glob = require('vs/base/common/glob');
-import {IFilesConfiguration} from 'vs/platform/files/common/files';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { IFilesConfiguration } from 'vs/platform/files/common/files';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const ID = 'searchService';
 
diff --git a/src/vs/platform/search/test/common/replace.test.ts b/src/vs/platform/search/test/common/replace.test.ts
index c48319c9a3ac9..0dd0db770d0ca 100644
--- a/src/vs/platform/search/test/common/replace.test.ts
+++ b/src/vs/platform/search/test/common/replace.test.ts
@@ -10,12 +10,12 @@ import { ReplacePattern } from 'vs/platform/search/common/replace';
 suite('Replace Pattern test', () => {
 
 	test('parse replace string', () => {
-		let testParse = (input:string, expected:string, expectedHasParameters:boolean) => {
-			let actual = new ReplacePattern(input, {pattern: 'somepattern', isRegExp: true});
+		let testParse = (input: string, expected: string, expectedHasParameters: boolean) => {
+			let actual = new ReplacePattern(input, { pattern: 'somepattern', isRegExp: true });
 			assert.equal(expected, actual.pattern);
 			assert.equal(expectedHasParameters, actual.hasParameters);
 
-			actual= new ReplacePattern('hello' + input + 'hi', {pattern: 'sonepattern', isRegExp: true});
+			actual = new ReplacePattern('hello' + input + 'hi', { pattern: 'sonepattern', isRegExp: true });
 			assert.equal('hello' + expected + 'hi', actual.pattern);
 			assert.equal(expectedHasParameters, actual.hasParameters);
 		};
@@ -80,141 +80,141 @@ suite('Replace Pattern test', () => {
 
 	test('create pattern by passing regExp', () => {
 		let expected = /abc/;
-		let actual= new ReplacePattern('hello', false, expected).regExp;
+		let actual = new ReplacePattern('hello', false, expected).regExp;
 		assert.deepEqual(expected, actual);
 
 		expected = /abc/;
-		actual= new ReplacePattern('hello', false, /abc/g).regExp;
+		actual = new ReplacePattern('hello', false, /abc/g).regExp;
 		assert.deepEqual(expected, actual);
 
-		let testObject= new ReplacePattern('hello$0', false, /abc/g);
+		let testObject = new ReplacePattern('hello$0', false, /abc/g);
 		assert.equal(false, testObject.hasParameters);
 
-		testObject= new ReplacePattern('hello$0', true, /abc/g);
+		testObject = new ReplacePattern('hello$0', true, /abc/g);
 		assert.equal(true, testObject.hasParameters);
 	});
 
 	test('get replace string if given text is a complete match', () => {
-		let testObject= new ReplacePattern('hello', {pattern: 'bla', isRegExp: true});
-		let actual= testObject.getReplaceString('bla');
+		let testObject = new ReplacePattern('hello', { pattern: 'bla', isRegExp: true });
+		let actual = testObject.getReplaceString('bla');
 		assert.equal('hello', actual);
 
-		testObject= new ReplacePattern('hello', {pattern: 'bla', isRegExp: false});
-		actual= testObject.getReplaceString('bla');
+		testObject = new ReplacePattern('hello', { pattern: 'bla', isRegExp: false });
+		actual = testObject.getReplaceString('bla');
 		assert.equal('hello', actual);
 
-		testObject= new ReplacePattern('hello', {pattern: '(bla)', isRegExp: true});
-		actual= testObject.getReplaceString('bla');
+		testObject = new ReplacePattern('hello', { pattern: '(bla)', isRegExp: true });
+		actual = testObject.getReplaceString('bla');
 		assert.equal('hello', actual);
 
-		testObject= new ReplacePattern('hello$0', {pattern: '(bla)', isRegExp: true});
-		actual= testObject.getReplaceString('bla');
+		testObject = new ReplacePattern('hello$0', { pattern: '(bla)', isRegExp: true });
+		actual = testObject.getReplaceString('bla');
 		assert.equal('hellobla', actual);
 
-		testObject= new ReplacePattern('import * as $1 from \'$2\';', {pattern: 'let\\s+(\\w+)\\s*=\\s*require\\s*\\(\\s*[\'\"]([\\w\.\\-/]+)\\s*[\'\"]\\s*\\)\\s*', isRegExp: true});
-		actual= testObject.getReplaceString('let fs = require(\'fs\')');
+		testObject = new ReplacePattern('import * as $1 from \'$2\';', { pattern: 'let\\s+(\\w+)\\s*=\\s*require\\s*\\(\\s*[\'\"]([\\w\.\\-/]+)\\s*[\'\"]\\s*\\)\\s*', isRegExp: true });
+		actual = testObject.getReplaceString('let fs = require(\'fs\')');
 		assert.equal('import * as fs from \'fs\';', actual);
 
-		actual= testObject.getReplaceString('let something = require(\'fs\')');
+		actual = testObject.getReplaceString('let something = require(\'fs\')');
 		assert.equal('import * as something from \'fs\';', actual);
 
-		actual= testObject.getReplaceString('let require(\'fs\')');
+		actual = testObject.getReplaceString('let require(\'fs\')');
 		assert.equal(null, actual);
 
-		testObject= new ReplacePattern('import * as $1 from \'$1\';', {pattern: 'let\\s+(\\w+)\\s*=\\s*require\\s*\\(\\s*[\'\"]([\\w\.\\-/]+)\\s*[\'\"]\\s*\\)\\s*', isRegExp: true});
-		actual= testObject.getReplaceString('let something = require(\'fs\')');
+		testObject = new ReplacePattern('import * as $1 from \'$1\';', { pattern: 'let\\s+(\\w+)\\s*=\\s*require\\s*\\(\\s*[\'\"]([\\w\.\\-/]+)\\s*[\'\"]\\s*\\)\\s*', isRegExp: true });
+		actual = testObject.getReplaceString('let something = require(\'fs\')');
 		assert.equal('import * as something from \'something\';', actual);
 
-		testObject= new ReplacePattern('import * as $2 from \'$1\';', {pattern: 'let\\s+(\\w+)\\s*=\\s*require\\s*\\(\\s*[\'\"]([\\w\.\\-/]+)\\s*[\'\"]\\s*\\)\\s*', isRegExp: true});
-		actual= testObject.getReplaceString('let something = require(\'fs\')');
+		testObject = new ReplacePattern('import * as $2 from \'$1\';', { pattern: 'let\\s+(\\w+)\\s*=\\s*require\\s*\\(\\s*[\'\"]([\\w\.\\-/]+)\\s*[\'\"]\\s*\\)\\s*', isRegExp: true });
+		actual = testObject.getReplaceString('let something = require(\'fs\')');
 		assert.equal('import * as fs from \'something\';', actual);
 
-		testObject= new ReplacePattern('import * as $0 from \'$0\';', {pattern: 'let\\s+(\\w+)\\s*=\\s*require\\s*\\(\\s*[\'\"]([\\w\.\\-/]+)\\s*[\'\"]\\s*\\)\\s*', isRegExp: true});
-		actual= testObject.getReplaceString('let something = require(\'fs\');');
+		testObject = new ReplacePattern('import * as $0 from \'$0\';', { pattern: 'let\\s+(\\w+)\\s*=\\s*require\\s*\\(\\s*[\'\"]([\\w\.\\-/]+)\\s*[\'\"]\\s*\\)\\s*', isRegExp: true });
+		actual = testObject.getReplaceString('let something = require(\'fs\');');
 		assert.equal('import * as let something = require(\'fs\') from \'let something = require(\'fs\')\';', actual);
 
-		testObject= new ReplacePattern('import * as $1 from \'$2\';', {pattern: 'let\\s+(\\w+)\\s*=\\s*require\\s*\\(\\s*[\'\"]([\\w\.\\-/]+)\\s*[\'\"]\\s*\\)\\s*', isRegExp: false});
-		actual= testObject.getReplaceString('let fs = require(\'fs\');');
+		testObject = new ReplacePattern('import * as $1 from \'$2\';', { pattern: 'let\\s+(\\w+)\\s*=\\s*require\\s*\\(\\s*[\'\"]([\\w\.\\-/]+)\\s*[\'\"]\\s*\\)\\s*', isRegExp: false });
+		actual = testObject.getReplaceString('let fs = require(\'fs\');');
 		assert.equal(null, actual);
 
-		testObject= new ReplacePattern('cat$1', {pattern: 'for(.*)', isRegExp: true});
-		actual= testObject.getReplaceString('for ()');
+		testObject = new ReplacePattern('cat$1', { pattern: 'for(.*)', isRegExp: true });
+		actual = testObject.getReplaceString('for ()');
 		assert.equal('cat ()', actual);
 	});
 
 	test('get replace string for no matches', () => {
-		let testObject= new ReplacePattern('hello', {pattern: 'bla', isRegExp: true});
-		let actual= testObject.getReplaceString('foo');
+		let testObject = new ReplacePattern('hello', { pattern: 'bla', isRegExp: true });
+		let actual = testObject.getReplaceString('foo');
 		assert.equal(null, actual);
 
-		testObject= new ReplacePattern('hello', {pattern: 'bla', isRegExp: false});
-		actual= testObject.getReplaceString('foo');
+		testObject = new ReplacePattern('hello', { pattern: 'bla', isRegExp: false });
+		actual = testObject.getReplaceString('foo');
 		assert.equal(null, actual);
 	});
 
 	test('get replace string if match is sub-string of the text', () => {
-		let testObject= new ReplacePattern('hello', {pattern: 'bla', isRegExp: true});
-		let actual= testObject.getReplaceString('this is a bla text');
+		let testObject = new ReplacePattern('hello', { pattern: 'bla', isRegExp: true });
+		let actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('hello', actual);
 
-		testObject= new ReplacePattern('hello', {pattern: 'bla', isRegExp: false});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('hello', { pattern: 'bla', isRegExp: false });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('hello', actual);
 
-		testObject= new ReplacePattern('that', {pattern: 'this(?=.*bla)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('that', { pattern: 'this(?=.*bla)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('that', actual);
 
-		testObject= new ReplacePattern('$1at', {pattern: '(th)is(?=.*bla)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('$1at', { pattern: '(th)is(?=.*bla)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('that', actual);
 
-		testObject= new ReplacePattern('$1e', {pattern: '(th)is(?=.*bla)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('$1e', { pattern: '(th)is(?=.*bla)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('the', actual);
 
-		testObject= new ReplacePattern('$1ere', {pattern: '(th)is(?=.*bla)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('$1ere', { pattern: '(th)is(?=.*bla)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('there', actual);
 
-		testObject= new ReplacePattern('$1', {pattern: '(th)is(?=.*bla)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('$1', { pattern: '(th)is(?=.*bla)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('th', actual);
 
-		testObject= new ReplacePattern('ma$1', {pattern: '(th)is(?=.*bla)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('ma$1', { pattern: '(th)is(?=.*bla)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('math', actual);
 
-		testObject= new ReplacePattern('ma$1s', {pattern: '(th)is(?=.*bla)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('ma$1s', { pattern: '(th)is(?=.*bla)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('maths', actual);
 
-		testObject= new ReplacePattern('ma$1s', {pattern: '(th)is(?=.*bla)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('ma$1s', { pattern: '(th)is(?=.*bla)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('maths', actual);
 
-		testObject= new ReplacePattern('$0', {pattern: '(th)is(?=.*bla)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('$0', { pattern: '(th)is(?=.*bla)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('this', actual);
 
-		testObject= new ReplacePattern('$0$1', {pattern: '(th)is(?=.*bla)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('$0$1', { pattern: '(th)is(?=.*bla)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('thisth', actual);
 
-		testObject= new ReplacePattern('foo', {pattern: 'bla(?=\\stext$)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('foo', { pattern: 'bla(?=\\stext$)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('foo', actual);
 
-		testObject= new ReplacePattern('f$1', {pattern: 'b(la)(?=\\stext$)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('f$1', { pattern: 'b(la)(?=\\stext$)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('fla', actual);
 
-		testObject= new ReplacePattern('f$0', {pattern: 'b(la)(?=\\stext$)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('f$0', { pattern: 'b(la)(?=\\stext$)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('fbla', actual);
 
-		testObject= new ReplacePattern('$0ah', {pattern: 'b(la)(?=\\stext$)', isRegExp: true});
-		actual= testObject.getReplaceString('this is a bla text');
+		testObject = new ReplacePattern('$0ah', { pattern: 'b(la)(?=\\stext$)', isRegExp: true });
+		actual = testObject.getReplaceString('this is a bla text');
 		assert.equal('blaah', actual);
 	});
 });
\ No newline at end of file
diff --git a/src/vs/platform/statusbar/common/statusbar.ts b/src/vs/platform/statusbar/common/statusbar.ts
index f26c7e9bd016b..b5f9a3c0e5d5f 100644
--- a/src/vs/platform/statusbar/common/statusbar.ts
+++ b/src/vs/platform/statusbar/common/statusbar.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { IDisposable } from 'vs/base/common/lifecycle';
 
 export var IStatusbarService = createDecorator<IStatusbarService>('statusbarService');
 
diff --git a/src/vs/platform/storage/common/storage.ts b/src/vs/platform/storage/common/storage.ts
index 71781b0eb32da..07fab65a18e53 100644
--- a/src/vs/platform/storage/common/storage.ts
+++ b/src/vs/platform/storage/common/storage.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const ID = 'storageService';
 
diff --git a/src/vs/platform/telemetry/browser/errorTelemetry.ts b/src/vs/platform/telemetry/browser/errorTelemetry.ts
index 7baed8492ac41..2e21b7468ea4a 100644
--- a/src/vs/platform/telemetry/browser/errorTelemetry.ts
+++ b/src/vs/platform/telemetry/browser/errorTelemetry.ts
@@ -5,12 +5,12 @@
 
 'use strict';
 
-import {binarySearch} from 'vs/base/common/arrays';
-import {globals} from 'vs/base/common/platform';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IDisposable, toDisposable, dispose} from 'vs/base/common/lifecycle';
+import { binarySearch } from 'vs/base/common/arrays';
+import { globals } from 'vs/base/common/platform';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IDisposable, toDisposable, dispose } from 'vs/base/common/lifecycle';
 import Errors = require('vs/base/common/errors');
-import {safeStringify} from 'vs/base/common/objects';
+import { safeStringify } from 'vs/base/common/objects';
 
 interface ErrorEvent {
 	stack: string;
diff --git a/src/vs/platform/telemetry/common/telemetry.ts b/src/vs/platform/telemetry/common/telemetry.ts
index aa1d17fc293ae..8a2644bddd4f1 100644
--- a/src/vs/platform/telemetry/common/telemetry.ts
+++ b/src/vs/platform/telemetry/common/telemetry.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {IStorageService} from 'vs/platform/storage/common/storage';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { IStorageService } from 'vs/platform/storage/common/storage';
 
 export const ITelemetryService = createDecorator<ITelemetryService>('telemetryService');
 
@@ -105,7 +105,7 @@ export interface ITelemetryAppender {
 }
 
 export function combinedAppender(...appenders: ITelemetryAppender[]): ITelemetryAppender {
-	return { log: (e, d) => appenders.forEach(a => a.log(e,d)) };
+	return { log: (e, d) => appenders.forEach(a => a.log(e, d)) };
 }
 
 export const NullAppender: ITelemetryAppender = { log: () => null };
diff --git a/src/vs/platform/telemetry/common/telemetryService.ts b/src/vs/platform/telemetry/common/telemetryService.ts
index 676e303fc7bf9..ee526092e9478 100644
--- a/src/vs/platform/telemetry/common/telemetryService.ts
+++ b/src/vs/platform/telemetry/common/telemetryService.ts
@@ -5,16 +5,16 @@
 
 'use strict';
 
-import {localize} from 'vs/nls';
-import {escapeRegExpCharacters} from 'vs/base/common/strings';
-import {ITelemetryService, ITelemetryAppender, ITelemetryInfo, ITelemetryExperiments, defaultExperiments} from 'vs/platform/telemetry/common/telemetry';
-import {optional} from 'vs/platform/instantiation/common/instantiation';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IConfigurationRegistry, Extensions} from 'vs/platform/configuration/common/configurationRegistry';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {cloneAndChange, mixin} from 'vs/base/common/objects';
-import {Registry} from 'vs/platform/platform';
+import { localize } from 'vs/nls';
+import { escapeRegExpCharacters } from 'vs/base/common/strings';
+import { ITelemetryService, ITelemetryAppender, ITelemetryInfo, ITelemetryExperiments, defaultExperiments } from 'vs/platform/telemetry/common/telemetry';
+import { optional } from 'vs/platform/instantiation/common/instantiation';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IConfigurationRegistry, Extensions } from 'vs/platform/configuration/common/configurationRegistry';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { cloneAndChange, mixin } from 'vs/base/common/objects';
+import { Registry } from 'vs/platform/platform';
 
 export interface ITelemetryServiceConfig {
 	appender: ITelemetryAppender;
diff --git a/src/vs/platform/telemetry/node/appInsightsAppender.ts b/src/vs/platform/telemetry/node/appInsightsAppender.ts
index 5ecc36ab4596f..50f19c0778ab1 100644
--- a/src/vs/platform/telemetry/node/appInsightsAppender.ts
+++ b/src/vs/platform/telemetry/node/appInsightsAppender.ts
@@ -5,10 +5,10 @@
 'use strict';
 
 import * as appInsights from 'applicationinsights';
-import {isObject} from 'vs/base/common/types';
-import {safeStringify, mixin} from 'vs/base/common/objects';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ITelemetryAppender} from '../common/telemetry';
+import { isObject } from 'vs/base/common/types';
+import { safeStringify, mixin } from 'vs/base/common/objects';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ITelemetryAppender } from '../common/telemetry';
 
 let _initialized = false;
 
@@ -100,12 +100,12 @@ export class AppInsightsAppender implements ITelemetryAppender {
 		};
 	}
 
-	private static _flaten(obj: any, result: {[key: string]: any }, order: number = 0, prefix?: string): void {
+	private static _flaten(obj: any, result: { [key: string]: any }, order: number = 0, prefix?: string): void {
 		if (!obj) {
 			return;
 		}
 
-		for(var item of Object.getOwnPropertyNames(obj)){
+		for (var item of Object.getOwnPropertyNames(obj)) {
 			const value = obj[item];
 			const index = prefix ? prefix + item : item;
 
diff --git a/src/vs/platform/telemetry/node/machineId.ts b/src/vs/platform/telemetry/node/machineId.ts
index 82031c53b1785..243f44896e088 100644
--- a/src/vs/platform/telemetry/node/machineId.ts
+++ b/src/vs/platform/telemetry/node/machineId.ts
@@ -5,7 +5,7 @@
 
 import * as getmac from 'getmac';
 import * as crypto from 'crypto';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as errors from 'vs/base/common/errors';
 import * as uuid from 'vs/base/common/uuid';
 
diff --git a/src/vs/platform/telemetry/node/workbenchCommonProperties.ts b/src/vs/platform/telemetry/node/workbenchCommonProperties.ts
index f0747a7003f88..7d2dc83a5f4d7 100644
--- a/src/vs/platform/telemetry/node/workbenchCommonProperties.ts
+++ b/src/vs/platform/telemetry/node/workbenchCommonProperties.ts
@@ -34,8 +34,8 @@ export function resolveWorkbenchCommonProperties(storageService: IStorageService
 		promises.push(getOrCreateMachineId(storageService).then(value => result['common.machineId'] = value));
 
 		if (process.platform === 'win32') {
-			promises.push(getSqmUserId(storageService).then(value => result['common.sqm.userid']= value));
-			promises.push(getSqmMachineId(storageService).then(value => result['common.sqm.machineid']= value));
+			promises.push(getSqmUserId(storageService).then(value => result['common.sqm.userid'] = value));
+			promises.push(getSqmMachineId(storageService).then(value => result['common.sqm.machineid'] = value));
 		}
 
 		return TPromise.join(promises).then(() => result);
diff --git a/src/vs/platform/telemetry/test/node/appInsightsAppender.test.ts b/src/vs/platform/telemetry/test/node/appInsightsAppender.test.ts
index 6929fa1f84014..2522b642f74ed 100644
--- a/src/vs/platform/telemetry/test/node/appInsightsAppender.test.ts
+++ b/src/vs/platform/telemetry/test/node/appInsightsAppender.test.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {AppInsightsAppender} from 'vs/platform/telemetry/node/appInsightsAppender';
+import { AppInsightsAppender } from 'vs/platform/telemetry/node/appInsightsAppender';
 
 interface IAppInsightsEvent {
 	eventName: string;
diff --git a/src/vs/platform/telemetry/test/node/commonProperties.test.ts b/src/vs/platform/telemetry/test/node/commonProperties.test.ts
index 2a2ef1a31e222..74e31cb542e0c 100644
--- a/src/vs/platform/telemetry/test/node/commonProperties.test.ts
+++ b/src/vs/platform/telemetry/test/node/commonProperties.test.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as assert from 'assert';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {resolveWorkbenchCommonProperties} from 'vs/platform/telemetry/node/workbenchCommonProperties';
-import {TestStorageService} from 'vs/test/utils/servicesTestUtils';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { resolveWorkbenchCommonProperties } from 'vs/platform/telemetry/node/workbenchCommonProperties';
+import { TestStorageService } from 'vs/test/utils/servicesTestUtils';
 
 suite('Telemetry - common properties', function () {
 
diff --git a/src/vs/platform/telemetry/test/node/telemetryService.test.ts b/src/vs/platform/telemetry/test/node/telemetryService.test.ts
index 7a773b326cba0..855369db0ad24 100644
--- a/src/vs/platform/telemetry/test/node/telemetryService.test.ts
+++ b/src/vs/platform/telemetry/test/node/telemetryService.test.ts
@@ -5,14 +5,14 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Emitter} from 'vs/base/common/event';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {TelemetryService} from 'vs/platform/telemetry/common/telemetryService';
+import { Emitter } from 'vs/base/common/event';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { TelemetryService } from 'vs/platform/telemetry/common/telemetryService';
 import ErrorTelemetry from 'vs/platform/telemetry/browser/errorTelemetry';
 import Telemetry = require('vs/platform/telemetry/common/telemetry');
 import Errors = require('vs/base/common/errors');
 import * as sinon from 'sinon';
-import {getConfigurationValue} from 'vs/platform/configuration/common/configuration';
+import { getConfigurationValue } from 'vs/platform/configuration/common/configuration';
 
 const optInStatusEventName: string = 'optInStatus';
 
@@ -628,7 +628,7 @@ suite('TelemetryService', () => {
 					};
 				},
 				onDidUpdateConfiguration: emitter.event
-		});
+			});
 
 		assert.equal(service.isOptedIn, false);
 
diff --git a/src/vs/platform/test/common/platform.test.ts b/src/vs/platform/test/common/platform.test.ts
index 5564df47cbff1..5f9ab7532402a 100644
--- a/src/vs/platform/test/common/platform.test.ts
+++ b/src/vs/platform/test/common/platform.test.ts
@@ -10,13 +10,13 @@ import Types = require('vs/base/common/types');
 
 suite('Platform / Registry', () => {
 
-	test('registry - api', function() {
+	test('registry - api', function () {
 		assert.ok(Types.isFunction(Platform.Registry.add));
 		assert.ok(Types.isFunction(Platform.Registry.as));
 		assert.ok(Types.isFunction(Platform.Registry.knows));
 	});
 
-	test('registry - mixin', function() {
+	test('registry - mixin', function () {
 
 		Platform.Registry.add('foo', { bar: true });
 
@@ -25,7 +25,7 @@ suite('Platform / Registry', () => {
 		assert.equal(Platform.Registry.as('foo').bar, true);
 	});
 
-	test('registry - knows, as', function() {
+	test('registry - knows, as', function () {
 
 		let ext = {};
 
@@ -38,7 +38,7 @@ suite('Platform / Registry', () => {
 		assert.ok(Platform.Registry.as('knows,as1234') === null);
 	});
 
-	test('registry - mixin, fails on duplicate ids', function() {
+	test('registry - mixin, fails on duplicate ids', function () {
 
 		Platform.Registry.add('foo-dup', { bar: true });
 
diff --git a/src/vs/platform/url/common/url.ts b/src/vs/platform/url/common/url.ts
index 13f7822b4b84a..25ff7574304fc 100644
--- a/src/vs/platform/url/common/url.ts
+++ b/src/vs/platform/url/common/url.ts
@@ -7,7 +7,7 @@
 
 import Event from 'vs/base/common/event';
 import URI from 'vs/base/common/uri';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const ID = 'urlService';
 export const IURLService = createDecorator<IURLService>(ID);
diff --git a/src/vs/platform/url/common/urlIpc.ts b/src/vs/platform/url/common/urlIpc.ts
index 26764eec43d25..95e3a657b9633 100644
--- a/src/vs/platform/url/common/urlIpc.ts
+++ b/src/vs/platform/url/common/urlIpc.ts
@@ -12,8 +12,8 @@ import Event, { filterEvent } from 'vs/base/common/event';
 import { IWindowsService } from 'vs/code/electron-main/windows';
 import URI from 'vs/base/common/uri';
 
-const URISerializer: Serializer<URI,any> = uri => uri.toJSON();
-const URIDeserializer: Deserializer<URI,any> = raw => URI.revive(raw);
+const URISerializer: Serializer<URI, any> = uri => uri.toJSON();
+const URIDeserializer: Deserializer<URI, any> = raw => URI.revive(raw);
 
 export interface IURLChannel extends IChannel {
 	call(command: 'event:onOpenURL'): TPromise<void>;
diff --git a/src/vs/platform/url/electron-main/urlService.ts b/src/vs/platform/url/electron-main/urlService.ts
index c7930991a3464..08c2206dad6cc 100644
--- a/src/vs/platform/url/electron-main/urlService.ts
+++ b/src/vs/platform/url/electron-main/urlService.ts
@@ -5,11 +5,11 @@
 
 'use strict';
 
-import Event, {mapEvent, chain, buffer, Emitter, any} from 'vs/base/common/event';
-import {fromEventEmitter} from 'vs/base/node/event';
-import {IURLService} from 'vs/platform/url/common/url';
+import Event, { mapEvent, chain, buffer, Emitter, any } from 'vs/base/common/event';
+import { fromEventEmitter } from 'vs/base/node/event';
+import { IURLService } from 'vs/platform/url/common/url';
 import product from 'vs/platform/product';
-import {app} from 'electron';
+import { app } from 'electron';
 import URI from 'vs/base/common/uri';
 
 export class URLService implements IURLService {
@@ -43,7 +43,7 @@ export class URLService implements IURLService {
 			.map(url => {
 				try {
 					return URI.parse(url);
-				} catch(e) {
+				} catch (e) {
 					return null;
 				}
 			})
diff --git a/src/vs/platform/workspace/common/workspace.ts b/src/vs/platform/workspace/common/workspace.ts
index f947e751743fd..32cc3f6625545 100644
--- a/src/vs/platform/workspace/common/workspace.ts
+++ b/src/vs/platform/workspace/common/workspace.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 import paths = require('vs/base/common/paths');
 
 export const IWorkspaceContextService = createDecorator<IWorkspaceContextService>('contextService');
diff --git a/src/vs/test/utils/instantiationTestUtils.ts b/src/vs/test/utils/instantiationTestUtils.ts
index 1400426690202..509eec6e6ae0e 100644
--- a/src/vs/test/utils/instantiationTestUtils.ts
+++ b/src/vs/test/utils/instantiationTestUtils.ts
@@ -12,8 +12,8 @@ import { ServiceCollection } from 'vs/platform/instantiation/common/serviceColle
 import { ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
 
 // Known services
-import {IEventService} from 'vs/platform/event/common/event';
-import {EventService} from 'vs/platform/event/common/eventService';
+import { IEventService } from 'vs/platform/event/common/event';
+import { EventService } from 'vs/platform/event/common/eventService';
 import { ITelemetryService, NullTelemetryService } from 'vs/platform/telemetry/common/telemetry';
 import { ISearchService } from 'vs/platform/search/common/search';
 import { SearchService } from 'vs/workbench/services/search/node/searchService';
@@ -42,7 +42,7 @@ export class TestInstantiationService extends InstantiationService {
 	constructor(private _serviceCollection: ServiceCollection = new ServiceCollection()) {
 		super(_serviceCollection);
 
-		this._servciesMap= new LinkedMap<ServiceIdentifier<any>, any>();
+		this._servciesMap = new LinkedMap<ServiceIdentifier<any>, any>();
 		this._servciesMap.set(ITelemetryService, NullTelemetryService);
 		this._servciesMap.set(IEventService, EventService);
 		this._servciesMap.set(ISearchService, SearchService);
@@ -54,22 +54,22 @@ export class TestInstantiationService extends InstantiationService {
 		this._servciesMap.set(IKeybindingService, WorkbenchKeybindingService);
 	}
 
-	public mock<T>(service:ServiceIdentifier<T>): T | sinon.SinonMock {
-		return <T>this._create(service, {mock: true});
+	public mock<T>(service: ServiceIdentifier<T>): T | sinon.SinonMock {
+		return <T>this._create(service, { mock: true });
 	}
 
-	public stub<T>(service?:ServiceIdentifier<T>, ctor?: any): T
-	public stub<T>(service?:ServiceIdentifier<T>, obj?: any): T
-	public stub<T>(service?:ServiceIdentifier<T>, ctor?: any, fnProperty?: string, value?: any): sinon.SinonStub
-	public stub<T>(service?:ServiceIdentifier<T>, obj?: any, fnProperty?: string, value?: any): sinon.SinonStub
-	public stub<T>(service?:ServiceIdentifier<T>, fnProperty?: string, value?: any): sinon.SinonStub
+	public stub<T>(service?: ServiceIdentifier<T>, ctor?: any): T
+	public stub<T>(service?: ServiceIdentifier<T>, obj?: any): T
+	public stub<T>(service?: ServiceIdentifier<T>, ctor?: any, fnProperty?: string, value?: any): sinon.SinonStub
+	public stub<T>(service?: ServiceIdentifier<T>, obj?: any, fnProperty?: string, value?: any): sinon.SinonStub
+	public stub<T>(service?: ServiceIdentifier<T>, fnProperty?: string, value?: any): sinon.SinonStub
 	public stub<T>(serviceIdentifier?: ServiceIdentifier<T>, arg2?: any, arg3?: string, arg4?: any): sinon.SinonStub {
-		let service= typeof arg2 !== 'string' ? arg2 : void 0;
-		let serviceMock: IServiceMock<any>=  {id: serviceIdentifier, service: service};
-		let fnProperty= typeof arg2 === 'string' ? arg2 : arg3;
-		let value= typeof arg2 === 'string' ? arg3 : arg4;
+		let service = typeof arg2 !== 'string' ? arg2 : void 0;
+		let serviceMock: IServiceMock<any> = { id: serviceIdentifier, service: service };
+		let fnProperty = typeof arg2 === 'string' ? arg2 : arg3;
+		let value = typeof arg2 === 'string' ? arg3 : arg4;
 
-		let stubObject= <any>this._create(serviceMock, {stub: true});
+		let stubObject = <any>this._create(serviceMock, { stub: true });
 		if (fnProperty) {
 			if (stubObject[fnProperty].hasOwnProperty('restore')) {
 				stubObject[fnProperty].restore();
@@ -85,17 +85,17 @@ export class TestInstantiationService extends InstantiationService {
 		return stubObject;
 	}
 
-	public stubPromise<T>(service?:ServiceIdentifier<T>, fnProperty?: string, value?: any): T | sinon.SinonStub
-	public stubPromise<T>(service?:ServiceIdentifier<T>, ctor?: any, fnProperty?: string, value?: any): sinon.SinonStub
-	public stubPromise<T>(service?:ServiceIdentifier<T>, obj?: any, fnProperty?: string, value?: any): sinon.SinonStub
-	public stubPromise<T>(arg1?:any, arg2?: any, arg3?: any, arg4?: any): sinon.SinonStub {
-		arg3= typeof arg2 === 'string' ? TPromise.as(arg3) : arg3;
-		arg4= typeof arg2 !== 'string' && typeof arg3 === 'string' ? TPromise.as(arg4) : arg4;
+	public stubPromise<T>(service?: ServiceIdentifier<T>, fnProperty?: string, value?: any): T | sinon.SinonStub
+	public stubPromise<T>(service?: ServiceIdentifier<T>, ctor?: any, fnProperty?: string, value?: any): sinon.SinonStub
+	public stubPromise<T>(service?: ServiceIdentifier<T>, obj?: any, fnProperty?: string, value?: any): sinon.SinonStub
+	public stubPromise<T>(arg1?: any, arg2?: any, arg3?: any, arg4?: any): sinon.SinonStub {
+		arg3 = typeof arg2 === 'string' ? TPromise.as(arg3) : arg3;
+		arg4 = typeof arg2 !== 'string' && typeof arg3 === 'string' ? TPromise.as(arg4) : arg4;
 		return this.stub(arg1, arg2, arg3, arg4);
 	}
 
-	public spy<T>(service:ServiceIdentifier<T>, fnProperty: string): sinon.SinonSpy {
-		let spy= sinon.spy();
+	public spy<T>(service: ServiceIdentifier<T>, fnProperty: string): sinon.SinonSpy {
+		let spy = sinon.spy();
 		this.stub(service, fnProperty, spy);
 		return spy;
 	}
@@ -104,7 +104,7 @@ export class TestInstantiationService extends InstantiationService {
 	private _create<T>(ctor: any, options: SinonOptions): any
 	private _create<T>(arg1: any, options: SinonOptions): any {
 		if (this.isServiceMock(arg1)) {
-			let service= this._getOrCreateService(arg1, options);
+			let service = this._getOrCreateService(arg1, options);
 			this._serviceCollection.set(arg1.id, service);
 			return service;
 		}
@@ -112,7 +112,7 @@ export class TestInstantiationService extends InstantiationService {
 	}
 
 	private _getOrCreateService<T>(serviceMock: IServiceMock<T>, opts: SinonOptions): any {
-		let service:any = this._serviceCollection.get(serviceMock.id);
+		let service: any = this._serviceCollection.get(serviceMock.id);
 		if (service) {
 			if (opts.mock && service['sinonOptions'] && !!service['sinonOptions'].mock) {
 				return service;
@@ -125,9 +125,9 @@ export class TestInstantiationService extends InstantiationService {
 	}
 
 	private _createService(serviceMock: IServiceMock<any>, opts: SinonOptions): any {
-		serviceMock.service= serviceMock.service ? serviceMock.service : this._servciesMap.get(serviceMock.id);
-		let service= opts.mock ? sinon.mock(serviceMock.service) : this._createStub(serviceMock.service);
-		service['sinonOptions']= opts;
+		serviceMock.service = serviceMock.service ? serviceMock.service : this._servciesMap.get(serviceMock.id);
+		let service = opts.mock ? sinon.mock(serviceMock.service) : this._createStub(serviceMock.service);
+		service['sinonOptions'] = opts;
 		return service;
 	}
 
diff --git a/src/vs/test/utils/promiseTestUtils.ts b/src/vs/test/utils/promiseTestUtils.ts
index 31742c8467fc0..315490d0b5e06 100644
--- a/src/vs/test/utils/promiseTestUtils.ts
+++ b/src/vs/test/utils/promiseTestUtils.ts
@@ -11,14 +11,14 @@ export class DeferredTPromise<T> extends TPromise<T> {
 	public canceled = false;
 
 	private completeCallback: TValueCallback<T>;
-	private errorCallback: (err:any)=>void;
+	private errorCallback: (err: any) => void;
 	private progressCallback: ProgressCallback;
 
 	constructor() {
 		super((c, e, p) => {
-			this.completeCallback= c;
-			this.errorCallback= e;
-			this.progressCallback= p;
+			this.completeCallback = c;
+			this.errorCallback = e;
+			this.progressCallback = p;
 		}, () => this.oncancel());
 	}
 
@@ -39,14 +39,14 @@ export class DeferredTPromise<T> extends TPromise<T> {
 	}
 }
 
-export class DeferredPPromise<C,P> extends PPromise<C, P> {
+export class DeferredPPromise<C, P> extends PPromise<C, P> {
 
-	private completeCallback:TValueCallback<C>;
-	private errorCallback:(err:any)=>void;
-	private progressCallback:TProgressCallback<P>;
+	private completeCallback: TValueCallback<C>;
+	private errorCallback: (err: any) => void;
+	private progressCallback: TProgressCallback<P>;
 
-	constructor(init:(complete: TValueCallback<C>, error:(err:any)=>void, progress: TProgressCallback<P>)=>void = (c, e, p) => {}, oncancel?: any) {
-		super((c, e, p) => {this.completeCallback= c; this.errorCallback= e; this.progressCallback= p;}, oncancel ? oncancel : () => this.oncancel);
+	constructor(init: (complete: TValueCallback<C>, error: (err: any) => void, progress: TProgressCallback<P>) => void = (c, e, p) => { }, oncancel?: any) {
+		super((c, e, p) => { this.completeCallback = c; this.errorCallback = e; this.progressCallback = p; }, oncancel ? oncancel : () => this.oncancel);
 	}
 
 	private oncancel(): void {
diff --git a/src/vs/test/utils/servicesTestUtils.ts b/src/vs/test/utils/servicesTestUtils.ts
index 6941fd3af0d96..3596b7ce99bf1 100644
--- a/src/vs/test/utils/servicesTestUtils.ts
+++ b/src/vs/test/utils/servicesTestUtils.ts
@@ -6,43 +6,43 @@
 'use strict';
 
 import 'vs/workbench/parts/files/browser/files.contribution'; // load our contribution into the test
-import {FileEditorInput} from 'vs/workbench/parts/files/common/editors/fileEditorInput';
-import {Promise, TPromise} from 'vs/base/common/winjs.base';
-import {TestInstantiationService} from 'vs/test/utils/instantiationTestUtils';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
+import { FileEditorInput } from 'vs/workbench/parts/files/common/editors/fileEditorInput';
+import { Promise, TPromise } from 'vs/base/common/winjs.base';
+import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
 import * as paths from 'vs/base/common/paths';
 import URI from 'vs/base/common/uri';
-import {ITelemetryService, NullTelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {Storage, InMemoryLocalStorage} from 'vs/workbench/common/storage';
-import {EditorInputEvent, IEditorGroup, ConfirmResult} from 'vs/workbench/common/editor';
-import Event, {Emitter} from 'vs/base/common/event';
+import { ITelemetryService, NullTelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { Storage, InMemoryLocalStorage } from 'vs/workbench/common/storage';
+import { EditorInputEvent, IEditorGroup, ConfirmResult } from 'vs/workbench/common/editor';
+import Event, { Emitter } from 'vs/base/common/event';
 import Severity from 'vs/base/common/severity';
-import {IConfigurationService, getConfigurationValue, IConfigurationValue} from 'vs/platform/configuration/common/configuration';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IEditorInput, IEditorOptions, IEditorModel, Position, Direction, IEditor, IResourceInput, ITextEditorModel} from 'vs/platform/editor/common/editor';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IUntitledEditorService, UntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {IMessageService, IConfirmation} from 'vs/platform/message/common/message';
-import {IWorkspace, IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {ILifecycleService, ShutdownEvent} from 'vs/platform/lifecycle/common/lifecycle';
-import {EditorStacksModel} from 'vs/workbench/common/editor/editorStacksModel';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {InstantiationService} from 'vs/platform/instantiation/common/instantiationService';
-import {IEditorGroupService, GroupArrangement} from 'vs/workbench/services/group/common/groupService';
-import {TextFileService} from 'vs/workbench/services/textfile/browser/textFileService';
-import {IFileService, IResolveContentOptions, IFileOperationResult} from 'vs/platform/files/common/files';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {ModelServiceImpl} from 'vs/editor/common/services/modelServiceImpl';
-import {IRawTextContent, ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
-import {RawText} from 'vs/editor/common/model/textModel';
-import {parseArgs} from 'vs/platform/environment/node/argv';
-import {EnvironmentService} from 'vs/platform/environment/node/environmentService';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IHistoryService} from 'vs/workbench/services/history/common/history';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { IConfigurationService, getConfigurationValue, IConfigurationValue } from 'vs/platform/configuration/common/configuration';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IEditorInput, IEditorOptions, IEditorModel, Position, Direction, IEditor, IResourceInput, ITextEditorModel } from 'vs/platform/editor/common/editor';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IUntitledEditorService, UntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { IMessageService, IConfirmation } from 'vs/platform/message/common/message';
+import { IWorkspace, IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { ILifecycleService, ShutdownEvent } from 'vs/platform/lifecycle/common/lifecycle';
+import { EditorStacksModel } from 'vs/workbench/common/editor/editorStacksModel';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
+import { IEditorGroupService, GroupArrangement } from 'vs/workbench/services/group/common/groupService';
+import { TextFileService } from 'vs/workbench/services/textfile/browser/textFileService';
+import { IFileService, IResolveContentOptions, IFileOperationResult } from 'vs/platform/files/common/files';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { ModelServiceImpl } from 'vs/editor/common/services/modelServiceImpl';
+import { IRawTextContent, ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
+import { RawText } from 'vs/editor/common/model/textModel';
+import { parseArgs } from 'vs/platform/environment/node/argv';
+import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IHistoryService } from 'vs/workbench/services/history/common/history';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 
 export const TestWorkspace: IWorkspace = {
 	resource: URI.file('C:\\testWorkspace'),
diff --git a/src/vs/workbench/api/node/extHost.api.impl.ts b/src/vs/workbench/api/node/extHost.api.impl.ts
index d38d53cc47ad6..1dbaa95b7c086 100644
--- a/src/vs/workbench/api/node/extHost.api.impl.ts
+++ b/src/vs/workbench/api/node/extHost.api.impl.ts
@@ -4,46 +4,46 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Emitter} from 'vs/base/common/event';
-import {score} from 'vs/editor/common/modes/languageSelector';
+import { Emitter } from 'vs/base/common/event';
+import { score } from 'vs/editor/common/modes/languageSelector';
 import * as Platform from 'vs/base/common/platform';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
 import * as errors from 'vs/base/common/errors';
 import product from 'vs/platform/product';
 import pkg from 'vs/platform/package';
-import {ExtHostFileSystemEventService} from 'vs/workbench/api/node/extHostFileSystemEventService';
-import {ExtHostDocuments} from 'vs/workbench/api/node/extHostDocuments';
-import {ExtHostDocumentSaveParticipant} from 'vs/workbench/api/node/extHostDocumentSaveParticipant';
-import {ExtHostConfiguration} from 'vs/workbench/api/node/extHostConfiguration';
-import {ExtHostDiagnostics} from 'vs/workbench/api/node/extHostDiagnostics';
-import {ExtHostWorkspace} from 'vs/workbench/api/node/extHostWorkspace';
-import {ExtHostQuickOpen} from 'vs/workbench/api/node/extHostQuickOpen';
-import {ExtHostHeapService} from 'vs/workbench/api/node/extHostHeapService';
-import {ExtHostStatusBar} from 'vs/workbench/api/node/extHostStatusBar';
-import {ExtHostCommands} from 'vs/workbench/api/node/extHostCommands';
-import {ExtHostOutputService} from 'vs/workbench/api/node/extHostOutputService';
-import {ExtHostTerminalService} from 'vs/workbench/api/node/extHostTerminalService';
-import {ExtHostMessageService} from 'vs/workbench/api/node/extHostMessageService';
-import {ExtHostEditors} from 'vs/workbench/api/node/extHostEditors';
-import {ExtHostLanguages} from 'vs/workbench/api/node/extHostLanguages';
-import {ExtHostLanguageFeatures} from 'vs/workbench/api/node/extHostLanguageFeatures';
+import { ExtHostFileSystemEventService } from 'vs/workbench/api/node/extHostFileSystemEventService';
+import { ExtHostDocuments } from 'vs/workbench/api/node/extHostDocuments';
+import { ExtHostDocumentSaveParticipant } from 'vs/workbench/api/node/extHostDocumentSaveParticipant';
+import { ExtHostConfiguration } from 'vs/workbench/api/node/extHostConfiguration';
+import { ExtHostDiagnostics } from 'vs/workbench/api/node/extHostDiagnostics';
+import { ExtHostWorkspace } from 'vs/workbench/api/node/extHostWorkspace';
+import { ExtHostQuickOpen } from 'vs/workbench/api/node/extHostQuickOpen';
+import { ExtHostHeapService } from 'vs/workbench/api/node/extHostHeapService';
+import { ExtHostStatusBar } from 'vs/workbench/api/node/extHostStatusBar';
+import { ExtHostCommands } from 'vs/workbench/api/node/extHostCommands';
+import { ExtHostOutputService } from 'vs/workbench/api/node/extHostOutputService';
+import { ExtHostTerminalService } from 'vs/workbench/api/node/extHostTerminalService';
+import { ExtHostMessageService } from 'vs/workbench/api/node/extHostMessageService';
+import { ExtHostEditors } from 'vs/workbench/api/node/extHostEditors';
+import { ExtHostLanguages } from 'vs/workbench/api/node/extHostLanguages';
+import { ExtHostLanguageFeatures } from 'vs/workbench/api/node/extHostLanguageFeatures';
 import * as ExtHostTypeConverters from 'vs/workbench/api/node/extHostTypeConverters';
-import {registerApiCommands} from 'vs/workbench/api/node/extHostApiCommands';
+import { registerApiCommands } from 'vs/workbench/api/node/extHostApiCommands';
 import * as extHostTypes from 'vs/workbench/api/node/extHostTypes';
 import Modes = require('vs/editor/common/modes');
 import URI from 'vs/base/common/uri';
 import Severity from 'vs/base/common/severity';
 import EditorCommon = require('vs/editor/common/editorCommon');
-import {IExtensionDescription} from 'vs/platform/extensions/common/extensions';
-import {ExtHostExtensionService} from 'vs/workbench/api/node/extHostExtensionService';
-import {ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {CancellationTokenSource} from 'vs/base/common/cancellation';
+import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
+import { ExtHostExtensionService } from 'vs/workbench/api/node/extHostExtensionService';
+import { ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { CancellationTokenSource } from 'vs/base/common/cancellation';
 import vscode = require('vscode');
 import * as paths from 'vs/base/common/paths';
-import {ITelemetryService, ITelemetryInfo} from 'vs/platform/telemetry/common/telemetry';
-import {MainContext, ExtHostContext, InstanceCollection} from './extHost.protocol';
+import { ITelemetryService, ITelemetryInfo } from 'vs/platform/telemetry/common/telemetry';
+import { MainContext, ExtHostContext, InstanceCollection } from './extHost.protocol';
 
 /**
  * This class implements the API described in vscode.d.ts,
@@ -228,7 +228,7 @@ export class ExtHostAPIImplementation {
 			showTextDocument(document: vscode.TextDocument, column?: vscode.ViewColumn, preserveFocus?: boolean): TPromise<vscode.TextEditor> {
 				return extHostEditors.showTextDocument(document, column, preserveFocus);
 			},
-			createTextEditorDecorationType(options:vscode.DecorationRenderOptions): vscode.TextEditorDecorationType {
+			createTextEditorDecorationType(options: vscode.DecorationRenderOptions): vscode.TextEditorDecorationType {
 				return extHostEditors.createTextEditorDecorationType(options);
 			},
 			onDidChangeActiveTextEditor: extHostEditors.onDidChangeActiveTextEditor.bind(extHostEditors),
@@ -335,7 +335,7 @@ export class ExtHostAPIImplementation {
 			onDidChangeConfiguration: (listener: () => any, thisArgs?: any, disposables?: extHostTypes.Disposable[]) => {
 				return extHostConfiguration.onDidChangeConfiguration(listener, thisArgs, disposables);
 			},
-			getConfiguration: (section?: string):vscode.WorkspaceConfiguration => {
+			getConfiguration: (section?: string): vscode.WorkspaceConfiguration => {
 				return extHostConfiguration.getConfiguration(section);
 			}
 		});
@@ -348,7 +348,7 @@ export class ExtHostAPIImplementation {
 				return languages.getLanguages();
 			},
 			match(selector: vscode.DocumentSelector, document: vscode.TextDocument): number {
-				return score(selector, <any> document.uri, document.languageId);
+				return score(selector, <any>document.uri, document.languageId);
 			},
 			registerCodeActionsProvider(selector: vscode.DocumentSelector, provider: vscode.CodeActionProvider): vscode.Disposable {
 				return languageFeatures.registerCodeActionProvider(selector, provider);
@@ -395,20 +395,20 @@ export class ExtHostAPIImplementation {
 			registerDocumentLinkProvider(selector: vscode.DocumentSelector, provider: vscode.DocumentLinkProvider): vscode.Disposable {
 				return languageFeatures.registerDocumentLinkProvider(selector, provider);
 			},
-			setLanguageConfiguration: (language: string, configuration: vscode.LanguageConfiguration):vscode.Disposable => {
+			setLanguageConfiguration: (language: string, configuration: vscode.LanguageConfiguration): vscode.Disposable => {
 				return languageFeatures.setLanguageConfiguration(language, configuration);
 			}
 		};
 
 		this.extensions = {
-			getExtension(extensionId: string):Extension<any> {
+			getExtension(extensionId: string): Extension<any> {
 				let desc = ExtensionsRegistry.getExtensionDescription(extensionId);
 				if (desc) {
-					return new Extension(<ExtHostExtensionService> extensionService, desc);
+					return new Extension(<ExtHostExtensionService>extensionService, desc);
 				}
 			},
-			get all():Extension<any>[] {
-				return ExtensionsRegistry.getAllExtensionDescriptions().map((desc) => new Extension(<ExtHostExtensionService> extensionService, desc));
+			get all(): Extension<any>[] {
+				return ExtensionsRegistry.getAllExtensionDescriptions().map((desc) => new Extension(<ExtHostExtensionService>extensionService, desc));
 			}
 		};
 	}
@@ -422,7 +422,7 @@ class Extension<T> implements vscode.Extension<T> {
 	public extensionPath: string;
 	public packageJSON: any;
 
-	constructor(extensionService:ExtHostExtensionService, description:IExtensionDescription) {
+	constructor(extensionService: ExtHostExtensionService, description: IExtensionDescription) {
 		this._extensionService = extensionService;
 		this.id = description.id;
 		this.extensionPath = paths.normalize(description.extensionFolderPath, true);
diff --git a/src/vs/workbench/api/node/extHost.contribution.ts b/src/vs/workbench/api/node/extHost.contribution.ts
index 94891932d8f5c..c528de5b89553 100644
--- a/src/vs/workbench/api/node/extHost.contribution.ts
+++ b/src/vs/workbench/api/node/extHost.contribution.ts
@@ -5,41 +5,41 @@
 
 'use strict';
 
-import {IWorkbenchContribution} from 'vs/workbench/common/contributions';
-import {Registry} from 'vs/platform/platform';
-import {IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions} from 'vs/workbench/common/contributions';
-import {IInstantiationService, IConstructorSignature0} from 'vs/platform/instantiation/common/instantiation';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {MainContext, InstanceCollection} from './extHost.protocol';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
+import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
+import { Registry } from 'vs/platform/platform';
+import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
+import { IInstantiationService, IConstructorSignature0 } from 'vs/platform/instantiation/common/instantiation';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { MainContext, InstanceCollection } from './extHost.protocol';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
 
 // --- addressable
-import {MainThreadCommands} from './mainThreadCommands';
-import {MainThreadConfiguration} from './mainThreadConfiguration';
-import {MainThreadDiagnostics} from './mainThreadDiagnostics';
-import {MainThreadDocuments} from './mainThreadDocuments';
-import {MainThreadEditors} from './mainThreadEditors';
-import {MainThreadErrors} from './mainThreadErrors';
-import {MainThreadLanguageFeatures} from './mainThreadLanguageFeatures';
-import {MainThreadLanguages} from './mainThreadLanguages';
-import {MainThreadMessageService} from './mainThreadMessageService';
-import {MainThreadOutputService} from './mainThreadOutputService';
-import {MainThreadQuickOpen} from './mainThreadQuickOpen';
-import {MainThreadStatusBar} from './mainThreadStatusBar';
-import {MainThreadStorage} from './mainThreadStorage';
-import {MainThreadTelemetry} from './mainThreadTelemetry';
-import {MainThreadTerminalService} from './mainThreadTerminalService';
-import {MainThreadWorkspace} from './mainThreadWorkspace';
-import {MainProcessExtensionService} from './mainThreadExtensionService';
-import {MainThreadFileSystemEventService} from './mainThreadFileSystemEventService';
-import {MainThreadHeapService} from './mainThreadHeapService';
+import { MainThreadCommands } from './mainThreadCommands';
+import { MainThreadConfiguration } from './mainThreadConfiguration';
+import { MainThreadDiagnostics } from './mainThreadDiagnostics';
+import { MainThreadDocuments } from './mainThreadDocuments';
+import { MainThreadEditors } from './mainThreadEditors';
+import { MainThreadErrors } from './mainThreadErrors';
+import { MainThreadLanguageFeatures } from './mainThreadLanguageFeatures';
+import { MainThreadLanguages } from './mainThreadLanguages';
+import { MainThreadMessageService } from './mainThreadMessageService';
+import { MainThreadOutputService } from './mainThreadOutputService';
+import { MainThreadQuickOpen } from './mainThreadQuickOpen';
+import { MainThreadStatusBar } from './mainThreadStatusBar';
+import { MainThreadStorage } from './mainThreadStorage';
+import { MainThreadTelemetry } from './mainThreadTelemetry';
+import { MainThreadTerminalService } from './mainThreadTerminalService';
+import { MainThreadWorkspace } from './mainThreadWorkspace';
+import { MainProcessExtensionService } from './mainThreadExtensionService';
+import { MainThreadFileSystemEventService } from './mainThreadFileSystemEventService';
+import { MainThreadHeapService } from './mainThreadHeapService';
 
 // --- other interested parties
-import {MainProcessTextMateSyntax} from 'vs/editor/node/textMate/TMSyntax';
-import {MainProcessTextMateSnippet} from 'vs/editor/node/textMate/TMSnippets';
-import {JSONValidationExtensionPoint} from 'vs/platform/jsonschemas/common/jsonValidationExtensionPoint';
-import {LanguageConfigurationFileHandler} from 'vs/editor/node/languageConfiguration';
-import {SaveParticipant} from './mainThreadSaveParticipant';
+import { MainProcessTextMateSyntax } from 'vs/editor/node/textMate/TMSyntax';
+import { MainProcessTextMateSnippet } from 'vs/editor/node/textMate/TMSnippets';
+import { JSONValidationExtensionPoint } from 'vs/platform/jsonschemas/common/jsonValidationExtensionPoint';
+import { LanguageConfigurationFileHandler } from 'vs/editor/node/languageConfiguration';
+import { SaveParticipant } from './mainThreadSaveParticipant';
 
 export class ExtHostContribution implements IWorkbenchContribution {
 
diff --git a/src/vs/workbench/api/node/extHostApiCommands.ts b/src/vs/workbench/api/node/extHostApiCommands.ts
index 79940b9b6cee5..770f293bd0710 100644
--- a/src/vs/workbench/api/node/extHostApiCommands.ts
+++ b/src/vs/workbench/api/node/extHostApiCommands.ts
@@ -5,21 +5,21 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import * as vscode from 'vscode';
 import * as typeConverters from 'vs/workbench/api/node/extHostTypeConverters';
 import * as types from 'vs/workbench/api/node/extHostTypes';
-import {ISingleEditOperation} from 'vs/editor/common/editorCommon';
+import { ISingleEditOperation } from 'vs/editor/common/editorCommon';
 import * as modes from 'vs/editor/common/modes';
-import {ICommandHandlerDescription} from 'vs/platform/commands/common/commands';
-import {ExtHostCommands} from 'vs/workbench/api/node/extHostCommands';
-import {IQuickFix2} from 'vs/editor/contrib/quickFix/common/quickFix';
-import {IOutline} from 'vs/editor/contrib/quickOpen/common/quickOpen';
-import {IWorkspaceSymbolProvider, IWorkspaceSymbol} from 'vs/workbench/parts/search/common/search';
-import {ICodeLensData} from 'vs/editor/contrib/codelens/common/codelens';
-
-export function registerApiCommands(commands:ExtHostCommands) {
+import { ICommandHandlerDescription } from 'vs/platform/commands/common/commands';
+import { ExtHostCommands } from 'vs/workbench/api/node/extHostCommands';
+import { IQuickFix2 } from 'vs/editor/contrib/quickFix/common/quickFix';
+import { IOutline } from 'vs/editor/contrib/quickOpen/common/quickOpen';
+import { IWorkspaceSymbolProvider, IWorkspaceSymbol } from 'vs/workbench/parts/search/common/search';
+import { ICodeLensData } from 'vs/editor/contrib/codelens/common/codelens';
+
+export function registerApiCommands(commands: ExtHostCommands) {
 	new ExtHostApiCommands(commands).registerCommands();
 }
 
@@ -177,12 +177,12 @@ class ExtHostApiCommands {
 					The body element of the displayed html is dynamically annotated with one of the following css classes in order to
 					communicate the kind of color theme vscode is currently using: \`vscode-light\`, \`vscode-dark\`, or \`vscode-high-contrast\'.
 				`,
-			args: [
-				{ name: 'uri', description: 'Uri of the resource to preview.', constraint: value => value instanceof URI || typeof value === 'string' },
-				{ name: 'column', description: '(optional) Column in which to preview.', constraint: value => typeof value === 'undefined' || (typeof value === 'number' && typeof types.ViewColumn[value] === 'string') },
-				{ name: 'label', description: '(optional) An human readable string that is used as title for the preview.', constraint: v => typeof v === 'string' || typeof v === 'undefined' }
-			]
-		});
+				args: [
+					{ name: 'uri', description: 'Uri of the resource to preview.', constraint: value => value instanceof URI || typeof value === 'string' },
+					{ name: 'column', description: '(optional) Column in which to preview.', constraint: value => typeof value === 'undefined' || (typeof value === 'number' && typeof types.ViewColumn[value] === 'string') },
+					{ name: 'label', description: '(optional) An human readable string that is used as title for the preview.', constraint: v => typeof v === 'string' || typeof v === 'undefined' }
+				]
+			});
 
 		this._register('vscode.openFolder', (uri?: URI, newWindow?: boolean) => {
 			if (!uri) {
@@ -191,32 +191,32 @@ class ExtHostApiCommands {
 
 			return this._commands.executeCommand('_workbench.ipc', 'vscode:windowOpen', [[uri.fsPath], newWindow]);
 		}, {
-			description: 'Open a folder in the current window or new window depending on the newWindow argument. Note that opening in the same window will shutdown the current extension host process and start a new one on the given folder unless the newWindow parameter is set to true.',
-			args: [
-				{ name: 'uri', description: '(optional) Uri of the folder to open. If not provided, a native dialog will ask the user for the folder', constraint: value => value === void 0 || value instanceof URI },
-				{ name: 'newWindow', description: '(optional) Wether to open the folder in a new window or the same. Defaults to opening in the same window.', constraint: value => value === void 0 || typeof value === 'boolean' }
-			]
-		});
+				description: 'Open a folder in the current window or new window depending on the newWindow argument. Note that opening in the same window will shutdown the current extension host process and start a new one on the given folder unless the newWindow parameter is set to true.',
+				args: [
+					{ name: 'uri', description: '(optional) Uri of the folder to open. If not provided, a native dialog will ask the user for the folder', constraint: value => value === void 0 || value instanceof URI },
+					{ name: 'newWindow', description: '(optional) Wether to open the folder in a new window or the same. Defaults to opening in the same window.', constraint: value => value === void 0 || typeof value === 'boolean' }
+				]
+			});
 
 		this._register('vscode.startDebug', (configuration?: any) => {
 			return this._commands.executeCommand('_workbench.startDebug', configuration);
 		}, {
-			description: 'Start a debugging session.',
-			args: [
-				{ name: 'configuration', description: '(optional) Name of the debug configuration from \'launch.json\' to use. Or a configuration json object to use.' }
-			]
-		});
+				description: 'Start a debugging session.',
+				args: [
+					{ name: 'configuration', description: '(optional) Name of the debug configuration from \'launch.json\' to use. Or a configuration json object to use.' }
+				]
+			});
 
 		this._register('vscode.diff', (left: URI, right: URI, label: string) => {
 			return this._commands.executeCommand('_workbench.diff', [left, right, label]);
 		}, {
-			description: 'Opens the provided resources in the diff editor to compare their contents.',
-			args: [
-				{ name: 'left', description: 'Left-hand side resource of the diff editor', constraint: URI },
-				{ name: 'right', description: 'Right-hand side resource of the diff editor', constraint: URI },
-				{ name: 'title', description: '(optional) Human readable title for the diff editor', constraint: v => v === void 0 || typeof v === 'string' }
-			]
-		});
+				description: 'Opens the provided resources in the diff editor to compare their contents.',
+				args: [
+					{ name: 'left', description: 'Left-hand side resource of the diff editor', constraint: URI },
+					{ name: 'right', description: 'Right-hand side resource of the diff editor', constraint: URI },
+					{ name: 'title', description: '(optional) Human readable title for the diff editor', constraint: v => v === void 0 || typeof v === 'string' }
+				]
+			});
 
 		this._register('vscode.open', (resource: URI, column: vscode.ViewColumn) => {
 			return this._commands.executeCommand('_workbench.open', [resource, typeConverters.fromViewColumn(column)]);
@@ -336,7 +336,7 @@ class ExtHostApiCommands {
 		});
 	}
 
-	private _executeCompletionItemProvider(resource: URI, position: types.Position, triggerCharacter: string): Thenable<types.CompletionItem[]|types.CompletionList> {
+	private _executeCompletionItemProvider(resource: URI, position: types.Position, triggerCharacter: string): Thenable<types.CompletionItem[] | types.CompletionList> {
 		const args = {
 			resource,
 			position: position && typeConverters.fromPosition(position),
diff --git a/src/vs/workbench/api/node/extHostCommands.ts b/src/vs/workbench/api/node/extHostCommands.ts
index a330a555fd8ec..50fd4c55c9fc8 100644
--- a/src/vs/workbench/api/node/extHostCommands.ts
+++ b/src/vs/workbench/api/node/extHostCommands.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {validateConstraint} from 'vs/base/common/types';
-import {ICommandHandlerDescription} from 'vs/platform/commands/common/commands';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ExtHostEditors} from 'vs/workbench/api/node/extHostEditors';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { validateConstraint } from 'vs/base/common/types';
+import { ICommandHandlerDescription } from 'vs/platform/commands/common/commands';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ExtHostEditors } from 'vs/workbench/api/node/extHostEditors';
 import * as extHostTypes from 'vs/workbench/api/node/extHostTypes';
 import * as extHostTypeConverter from 'vs/workbench/api/node/extHostTypeConverters';
-import {cloneAndChange} from 'vs/base/common/objects';
-import {MainContext, MainThreadCommandsShape, ExtHostCommandsShape} from './extHost.protocol';
+import { cloneAndChange } from 'vs/base/common/objects';
+import { MainContext, MainThreadCommandsShape, ExtHostCommandsShape } from './extHost.protocol';
 
 interface CommandHandler {
 	callback: Function;
@@ -28,7 +28,7 @@ export class ExtHostCommands extends ExtHostCommandsShape {
 
 	constructor(
 		threadService: IThreadService,
-		extHostEditors:ExtHostEditors
+		extHostEditors: ExtHostEditors
 	) {
 		super();
 		this._extHostEditors = extHostEditors;
@@ -65,7 +65,7 @@ export class ExtHostCommands extends ExtHostCommandsShape {
 		} else {
 			// automagically convert some argument types
 
-			args = cloneAndChange(args, function(value) {
+			args = cloneAndChange(args, function (value) {
 				if (value instanceof extHostTypes.Position) {
 					return extHostTypeConverter.fromPosition(value);
 				}
diff --git a/src/vs/workbench/api/node/extHostDiagnostics.ts b/src/vs/workbench/api/node/extHostDiagnostics.ts
index 38b7850a6c648..0405260de4244 100644
--- a/src/vs/workbench/api/node/extHostDiagnostics.ts
+++ b/src/vs/workbench/api/node/extHostDiagnostics.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {localize} from 'vs/nls';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {IMarkerData} from 'vs/platform/markers/common/markers';
+import { localize } from 'vs/nls';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { IMarkerData } from 'vs/platform/markers/common/markers';
 import URI from 'vs/base/common/uri';
-import {compare} from 'vs/base/common/strings';
+import { compare } from 'vs/base/common/strings';
 import Severity from 'vs/base/common/severity';
 import * as vscode from 'vscode';
-import {MainContext, MainThreadDiagnosticsShape, ExtHostDiagnosticsShape} from './extHost.protocol';
-import {DiagnosticSeverity} from './extHostTypes';
+import { MainContext, MainThreadDiagnosticsShape, ExtHostDiagnosticsShape } from './extHost.protocol';
+import { DiagnosticSeverity } from './extHostTypes';
 
 export class DiagnosticCollection implements vscode.DiagnosticCollection {
 
@@ -22,7 +22,7 @@ export class DiagnosticCollection implements vscode.DiagnosticCollection {
 	private _proxy: MainThreadDiagnosticsShape;
 
 	private _isDisposed = false;
-	private _data: {[uri:string]: vscode.Diagnostic[]} = Object.create(null);
+	private _data: { [uri: string]: vscode.Diagnostic[] } = Object.create(null);
 
 	constructor(name: string, proxy: MainThreadDiagnosticsShape) {
 		this._name = name;
@@ -130,7 +130,7 @@ export class DiagnosticCollection implements vscode.DiagnosticCollection {
 				}
 			}
 
-			entries.push([<URI> uri, marker]);
+			entries.push([<URI>uri, marker]);
 		}
 
 		this._proxy.$changeMany(this.name, entries);
@@ -139,7 +139,7 @@ export class DiagnosticCollection implements vscode.DiagnosticCollection {
 	delete(uri: vscode.Uri): void {
 		this._checkDisposed();
 		delete this._data[uri.toString()];
-		this._proxy.$changeMany(this.name, [[<URI> uri, undefined]]);
+		this._proxy.$changeMany(this.name, [[<URI>uri, undefined]]);
 	}
 
 	clear(): void {
diff --git a/src/vs/workbench/api/node/extHostDocumentSaveParticipant.ts b/src/vs/workbench/api/node/extHostDocumentSaveParticipant.ts
index 7a11ebe66df5f..eb3069e0992cd 100644
--- a/src/vs/workbench/api/node/extHostDocumentSaveParticipant.ts
+++ b/src/vs/workbench/api/node/extHostDocumentSaveParticipant.ts
@@ -73,7 +73,7 @@ export class ExtHostDocumentSaveParticipant extends ExtHostDocumentSaveParticipa
 				}
 
 				const document = this._documents.getDocumentData(resource).document;
-				return this._deliverEventAsyncAndBlameBadListeners(fn, thisArg, <any> { document, reason: TextDocumentSaveReason.to(reason) });
+				return this._deliverEventAsyncAndBlameBadListeners(fn, thisArg, <any>{ document, reason: TextDocumentSaveReason.to(reason) });
 			};
 		}));
 
diff --git a/src/vs/workbench/api/node/extHostDocuments.ts b/src/vs/workbench/api/node/extHostDocuments.ts
index 2dab996c68ff4..2216b8cf4a993 100644
--- a/src/vs/workbench/api/node/extHostDocuments.ts
+++ b/src/vs/workbench/api/node/extHostDocuments.ts
@@ -4,20 +4,20 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
+import { onUnexpectedError } from 'vs/base/common/errors';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {MirrorModel2} from 'vs/editor/common/model/mirrorModel2';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import Event, {Emitter} from 'vs/base/common/event';
+import { MirrorModel2 } from 'vs/editor/common/model/mirrorModel2';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import Event, { Emitter } from 'vs/base/common/event';
 import URI from 'vs/base/common/uri';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {Range, Position, Disposable} from 'vs/workbench/api/node/extHostTypes';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { Range, Position, Disposable } from 'vs/workbench/api/node/extHostTypes';
 import * as TypeConverters from './extHostTypeConverters';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as vscode from 'vscode';
-import {asWinJsPromise} from 'vs/base/common/async';
-import {getWordAtText, ensureValidWordDefinition} from 'vs/editor/common/model/wordHelper';
-import {MainContext, MainThreadDocumentsShape, ExtHostDocumentsShape, IModelAddedData} from './extHost.protocol';
+import { asWinJsPromise } from 'vs/base/common/async';
+import { getWordAtText, ensureValidWordDefinition } from 'vs/editor/common/model/wordHelper';
+import { MainContext, MainThreadDocumentsShape, ExtHostDocumentsShape, IModelAddedData } from './extHost.protocol';
 
 const _modeId2WordDefinition: {
 	[modeId: string]: RegExp;
diff --git a/src/vs/workbench/api/node/extHostEditors.ts b/src/vs/workbench/api/node/extHostEditors.ts
index 4ed59e04ff3c0..9be77826c68ad 100644
--- a/src/vs/workbench/api/node/extHostEditors.ts
+++ b/src/vs/workbench/api/node/extHostEditors.ts
@@ -5,18 +5,18 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {readonly, illegalArgument} from 'vs/base/common/errors';
-import {IdGenerator} from 'vs/base/common/idGenerator';
-import Event, {Emitter} from 'vs/base/common/event';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {ExtHostDocuments, ExtHostDocumentData} from 'vs/workbench/api/node/extHostDocuments';
-import {Selection, Range, Position, EditorOptions, EndOfLine, TextEditorRevealType, TextEditorSelectionChangeKind} from './extHostTypes';
-import {ISingleEditOperation} from 'vs/editor/common/editorCommon';
-import {IResolvedTextEditorConfiguration, ISelectionChangeEvent} from 'vs/workbench/api/node/mainThreadEditorsTracker';
+import { readonly, illegalArgument } from 'vs/base/common/errors';
+import { IdGenerator } from 'vs/base/common/idGenerator';
+import Event, { Emitter } from 'vs/base/common/event';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { ExtHostDocuments, ExtHostDocumentData } from 'vs/workbench/api/node/extHostDocuments';
+import { Selection, Range, Position, EditorOptions, EndOfLine, TextEditorRevealType, TextEditorSelectionChangeKind } from './extHostTypes';
+import { ISingleEditOperation } from 'vs/editor/common/editorCommon';
+import { IResolvedTextEditorConfiguration, ISelectionChangeEvent } from 'vs/workbench/api/node/mainThreadEditorsTracker';
 import * as TypeConverters from './extHostTypeConverters';
-import {TextDocument, TextEditorSelectionChangeEvent, TextEditorOptionsChangeEvent, TextEditorOptions, TextEditorViewColumnChangeEvent, ViewColumn} from 'vscode';
-import {MainContext, MainThreadEditorsShape, ExtHostEditorsShape, ITextEditorAddData, ITextEditorPositionData} from './extHost.protocol';
+import { TextDocument, TextEditorSelectionChangeEvent, TextEditorOptionsChangeEvent, TextEditorOptions, TextEditorViewColumnChangeEvent, ViewColumn } from 'vscode';
+import { MainContext, MainThreadEditorsShape, ExtHostEditorsShape, ITextEditorAddData, ITextEditorPositionData } from './extHost.protocol';
 
 export class ExtHostEditors extends ExtHostEditorsShape {
 
@@ -71,7 +71,7 @@ export class ExtHostEditors extends ExtHostEditorsShape {
 	}
 
 	showTextDocument(document: TextDocument, column: ViewColumn, preserveFocus: boolean): TPromise<vscode.TextEditor> {
-		return this._proxy.$tryShowTextDocument(<URI> document.uri, TypeConverters.fromViewColumn(column), preserveFocus).then(id => {
+		return this._proxy.$tryShowTextDocument(<URI>document.uri, TypeConverters.fromViewColumn(column), preserveFocus).then(id => {
 			let editor = this._editors[id];
 			if (editor) {
 				return editor;
@@ -181,8 +181,8 @@ export interface IEditData {
 	documentVersionId: number;
 	edits: ITextEditOperation[];
 	setEndOfLine: EndOfLine;
-	undoStopBefore:boolean;
-	undoStopAfter:boolean;
+	undoStopBefore: boolean;
+	undoStopAfter: boolean;
 }
 
 export class TextEditorEdit {
@@ -193,7 +193,7 @@ export class TextEditorEdit {
 	private _undoStopBefore: boolean;
 	private _undoStopAfter: boolean;
 
-	constructor(document: vscode.TextDocument, options:{ undoStopBefore: boolean; undoStopAfter: boolean; }) {
+	constructor(document: vscode.TextDocument, options: { undoStopBefore: boolean; undoStopAfter: boolean; }) {
 		this._documentVersionId = document.version;
 		this._collectedEdits = [];
 		this._setEndOfLine = 0;
@@ -253,7 +253,7 @@ export class TextEditorEdit {
 		});
 	}
 
-	setEndOfLine(endOfLine:EndOfLine): void {
+	setEndOfLine(endOfLine: EndOfLine): void {
 		if (endOfLine !== EndOfLine.LF && endOfLine !== EndOfLine.CRLF) {
 			throw illegalArgument('endOfLine');
 		}
@@ -266,7 +266,7 @@ export class TextEditorEdit {
 function deprecated(name: string, message: string = 'Refer to the documentation for further details.') {
 	return (target: Object, key: string, descriptor: TypedPropertyDescriptor<any>) => {
 		const originalMethod = descriptor.value;
-		descriptor.value = function(...args: any[]) {
+		descriptor.value = function (...args: any[]) {
 			console.warn(`[Deprecation Warning] method '${name}' is deprecated and should no longer be used. ${message}`);
 			return originalMethod.apply(this, args);
 		};
@@ -406,7 +406,7 @@ class ExtHostTextEditor implements vscode.TextEditor {
 
 	// ---- editing
 
-	edit(callback: (edit: TextEditorEdit) => void, options:{ undoStopBefore: boolean; undoStopAfter: boolean; } = { undoStopBefore: true, undoStopAfter: true }): Thenable<boolean> {
+	edit(callback: (edit: TextEditorEdit) => void, options: { undoStopBefore: boolean; undoStopAfter: boolean; } = { undoStopBefore: true, undoStopAfter: true }): Thenable<boolean> {
 		let edit = new TextEditorEdit(this._documentData.document, options);
 		callback(edit);
 		return this._applyEdit(edit);
diff --git a/src/vs/workbench/api/node/extHostExtensionService.ts b/src/vs/workbench/api/node/extHostExtensionService.ts
index 700032a2bb4e8..f395c9e517af9 100644
--- a/src/vs/workbench/api/node/extHostExtensionService.ts
+++ b/src/vs/workbench/api/node/extHostExtensionService.ts
@@ -4,18 +4,18 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {dispose} from 'vs/base/common/lifecycle';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { dispose } from 'vs/base/common/lifecycle';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import * as paths from 'vs/base/common/paths';
 import Severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {AbstractExtensionService, ActivatedExtension} from 'vs/platform/extensions/common/abstractExtensionService';
-import {IMessage, IExtensionDescription} from 'vs/platform/extensions/common/extensions';
-import {ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-import {ExtHostStorage} from 'vs/workbench/api/node/extHostStorage';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {MainContext, MainProcessExtensionServiceShape} from './extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { AbstractExtensionService, ActivatedExtension } from 'vs/platform/extensions/common/abstractExtensionService';
+import { IMessage, IExtensionDescription } from 'vs/platform/extensions/common/extensions';
+import { ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+import { ExtHostStorage } from 'vs/workbench/api/node/extHostStorage';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { MainContext, MainProcessExtensionServiceShape } from './extHost.protocol';
 
 const hasOwnProperty = Object.hasOwnProperty;
 
@@ -149,7 +149,7 @@ export class ExtHostExtensionService extends AbstractExtensionService<ExtHostExt
 	}
 
 	public deactivate(extensionId: string): TPromise<void> {
-		let result:TPromise<void> = TPromise.as(void 0);
+		let result: TPromise<void> = TPromise.as(void 0);
 
 		let extension = this._activatedExtensions[extensionId];
 		if (!extension) {
@@ -201,7 +201,7 @@ export class ExtHostExtensionService extends AbstractExtensionService<ExtHostExt
 
 		let globalState = new ExtensionMemento(extensionDescription.id, true, this._storage);
 		let workspaceState = new ExtensionMemento(extensionDescription.id, false, this._storage);
-		let storagePath = this._workspaceStoragePath ? paths.normalize(paths.join(this._workspaceStoragePath, extensionDescription.id)): undefined;
+		let storagePath = this._workspaceStoragePath ? paths.normalize(paths.join(this._workspaceStoragePath, extensionDescription.id)) : undefined;
 
 		return TPromise.join([globalState.whenReady, workspaceState.whenReady]).then(() => {
 			return Object.freeze(<IExtensionContext>{
diff --git a/src/vs/workbench/api/node/extHostFileSystemEventService.ts b/src/vs/workbench/api/node/extHostFileSystemEventService.ts
index ac3e60a7247b8..eb102ae15c5f3 100644
--- a/src/vs/workbench/api/node/extHostFileSystemEventService.ts
+++ b/src/vs/workbench/api/node/extHostFileSystemEventService.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import Event, {Emitter} from 'vs/base/common/event';
-import {Disposable} from './extHostTypes';
-import {match} from 'vs/base/common/glob';
-import {Uri, FileSystemWatcher as _FileSystemWatcher} from 'vscode';
-import {FileSystemEvents, ExtHostFileSystemEventServiceShape} from './extHost.protocol';
+import Event, { Emitter } from 'vs/base/common/event';
+import { Disposable } from './extHostTypes';
+import { match } from 'vs/base/common/glob';
+import { Uri, FileSystemWatcher as _FileSystemWatcher } from 'vscode';
+import { FileSystemEvents, ExtHostFileSystemEventServiceShape } from './extHost.protocol';
 
 export class FileSystemWatcher implements _FileSystemWatcher {
 
@@ -18,15 +18,15 @@ export class FileSystemWatcher implements _FileSystemWatcher {
 	private _disposable: Disposable;
 	private _config: number;
 
-	get ignoreCreateEvents(): boolean{
+	get ignoreCreateEvents(): boolean {
 		return Boolean(this._config & 0b001);
 	}
 
-	get ignoreChangeEvents(): boolean{
+	get ignoreChangeEvents(): boolean {
 		return Boolean(this._config & 0b010);
 	}
 
-	get ignoreDeleteEvents(): boolean{
+	get ignoreDeleteEvents(): boolean {
 		return Boolean(this._config & 0b100);
 	}
 
diff --git a/src/vs/workbench/api/node/extHostHeapService.ts b/src/vs/workbench/api/node/extHostHeapService.ts
index 47a3d8acdbcbc..98d85816f2c8f 100644
--- a/src/vs/workbench/api/node/extHostHeapService.ts
+++ b/src/vs/workbench/api/node/extHostHeapService.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ExtHostHeapServiceShape} from './extHost.protocol';
+import { ExtHostHeapServiceShape } from './extHost.protocol';
 
 export class ExtHostHeapService extends ExtHostHeapServiceShape {
 
@@ -13,7 +13,7 @@ export class ExtHostHeapService extends ExtHostHeapServiceShape {
 	private _data: { [n: number]: any } = Object.create(null);
 	private _callbacks: { [n: number]: Function } = Object.create(null);
 
-	keep(obj:any, callback?:() => any): number {
+	keep(obj: any, callback?: () => any): number {
 		const id = ExtHostHeapService._idPool++;
 		this._data[id] = obj;
 		if (typeof callback === 'function') {
diff --git a/src/vs/workbench/api/node/extHostLanguageFeatures.ts b/src/vs/workbench/api/node/extHostLanguageFeatures.ts
index 048d4738bd7b7..e48a3f94c4471 100644
--- a/src/vs/workbench/api/node/extHostLanguageFeatures.ts
+++ b/src/vs/workbench/api/node/extHostLanguageFeatures.ts
@@ -5,22 +5,22 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
 import * as vscode from 'vscode';
 import * as TypeConverters from 'vs/workbench/api/node/extHostTypeConverters';
-import {Range, Disposable, CompletionList, CompletionItem} from 'vs/workbench/api/node/extHostTypes';
-import {IPosition, IRange, ISingleEditOperation} from 'vs/editor/common/editorCommon';
+import { Range, Disposable, CompletionList, CompletionItem } from 'vs/workbench/api/node/extHostTypes';
+import { IPosition, IRange, ISingleEditOperation } from 'vs/editor/common/editorCommon';
 import * as modes from 'vs/editor/common/modes';
-import {ExtHostHeapService} from 'vs/workbench/api/node/extHostHeapService';
-import {ExtHostDocuments} from 'vs/workbench/api/node/extHostDocuments';
-import {ExtHostCommands} from 'vs/workbench/api/node/extHostCommands';
-import {ExtHostDiagnostics} from 'vs/workbench/api/node/extHostDiagnostics';
-import {IWorkspaceSymbolProvider, IWorkspaceSymbol} from 'vs/workbench/parts/search/common/search';
-import {asWinJsPromise, ShallowCancelThenPromise} from 'vs/base/common/async';
-import {MainContext, MainThreadLanguageFeaturesShape, ExtHostLanguageFeaturesShape, ObjectIdentifier} from './extHost.protocol';
-import {regExpLeadsToEndlessLoop} from 'vs/base/common/strings';
+import { ExtHostHeapService } from 'vs/workbench/api/node/extHostHeapService';
+import { ExtHostDocuments } from 'vs/workbench/api/node/extHostDocuments';
+import { ExtHostCommands } from 'vs/workbench/api/node/extHostCommands';
+import { ExtHostDiagnostics } from 'vs/workbench/api/node/extHostDiagnostics';
+import { IWorkspaceSymbolProvider, IWorkspaceSymbol } from 'vs/workbench/parts/search/common/search';
+import { asWinJsPromise, ShallowCancelThenPromise } from 'vs/base/common/async';
+import { MainContext, MainThreadLanguageFeaturesShape, ExtHostLanguageFeaturesShape, ObjectIdentifier } from './extHost.protocol';
+import { regExpLeadsToEndlessLoop } from 'vs/base/common/strings';
 
 // --- adapter
 
@@ -324,7 +324,7 @@ class QuickFixAdapter {
 				return;
 			}
 			return commands.map((command, i) => {
-				return <modes.CodeAction> {
+				return <modes.CodeAction>{
 					command: TypeConverters.Command.from(command, cachedCommands),
 					score: i
 				};
@@ -395,7 +395,7 @@ class OnTypeFormattingAdapter {
 		const {document, version} = this._documents.getDocumentData(resource);
 		const pos = TypeConverters.toPosition(position);
 
-		return asWinJsPromise(token => this._provider.provideOnTypeFormattingEdits(document, pos, ch, <any> options, token)).then(value => {
+		return asWinJsPromise(token => this._provider.provideOnTypeFormattingEdits(document, pos, ch, <any>options, token)).then(value => {
 			if (Array.isArray(value)) {
 				return TypeConverters.TextEdit.minimalEditOperations(value, document, version);
 			}
@@ -509,7 +509,7 @@ class SuggestAdapter {
 		const doc = this._documents.getDocumentData(resource).document;
 		const pos = TypeConverters.toPosition(position);
 
-		return asWinJsPromise<vscode.CompletionItem[]|vscode.CompletionList>(token => this._provider.provideCompletionItems(doc, pos, token)).then(value => {
+		return asWinJsPromise<vscode.CompletionItem[] | vscode.CompletionList>(token => this._provider.provideCompletionItems(doc, pos, token)).then(value => {
 
 			const result: modes.ISuggestResult = {
 				suggestions: [],
@@ -690,7 +690,7 @@ export class ExtHostLanguageFeatures extends ExtHostLanguageFeaturesShape {
 		if (!(adapter instanceof ctor)) {
 			return TPromise.wrapError(new Error('no adapter found'));
 		}
-		return callback(<any> adapter);
+		return callback(<any>adapter);
 	}
 
 	// --- outline
@@ -902,7 +902,7 @@ export class ExtHostLanguageFeatures extends ExtHostLanguageFeaturesShape {
 
 	// --- configuration
 
-	setLanguageConfiguration(languageId:string, configuration: vscode.LanguageConfiguration): vscode.Disposable {
+	setLanguageConfiguration(languageId: string, configuration: vscode.LanguageConfiguration): vscode.Disposable {
 		let {wordPattern} = configuration;
 
 		// check for a valid word pattern
diff --git a/src/vs/workbench/api/node/extHostLanguages.ts b/src/vs/workbench/api/node/extHostLanguages.ts
index a64ecfb819996..15ec295b42a65 100644
--- a/src/vs/workbench/api/node/extHostLanguages.ts
+++ b/src/vs/workbench/api/node/extHostLanguages.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {MainContext, MainThreadLanguagesShape} from './extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { MainContext, MainThreadLanguagesShape } from './extHost.protocol';
 
 export class ExtHostLanguages {
 
diff --git a/src/vs/workbench/api/node/extHostMessageService.ts b/src/vs/workbench/api/node/extHostMessageService.ts
index 49789406046ba..ec7c2c0e27cab 100644
--- a/src/vs/workbench/api/node/extHostMessageService.ts
+++ b/src/vs/workbench/api/node/extHostMessageService.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
 import Severity from 'vs/base/common/severity';
 import vscode = require('vscode');
-import {MainContext, MainThreadMessageServiceShape} from './extHost.protocol';
+import { MainContext, MainThreadMessageServiceShape } from './extHost.protocol';
 
 export class ExtHostMessageService {
 
@@ -17,7 +17,7 @@ export class ExtHostMessageService {
 		this._proxy = threadService.get(MainContext.MainThreadMessageService);
 	}
 
-	showMessage(severity: Severity, message: string, commands: (string|vscode.MessageItem)[]): Thenable<string|vscode.MessageItem> {
+	showMessage(severity: Severity, message: string, commands: (string | vscode.MessageItem)[]): Thenable<string | vscode.MessageItem> {
 
 		const items: { title: string; isCloseAffordance: boolean; handle: number; }[] = [];
 
diff --git a/src/vs/workbench/api/node/extHostOutputService.ts b/src/vs/workbench/api/node/extHostOutputService.ts
index 068787f179b22..2af86a7c991a7 100644
--- a/src/vs/workbench/api/node/extHostOutputService.ts
+++ b/src/vs/workbench/api/node/extHostOutputService.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {MainContext, MainThreadOutputServiceShape} from './extHost.protocol';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { MainContext, MainThreadOutputServiceShape } from './extHost.protocol';
 
 export class ExtHostOutputChannel implements vscode.OutputChannel {
 
diff --git a/src/vs/workbench/api/node/extHostQuickOpen.ts b/src/vs/workbench/api/node/extHostQuickOpen.ts
index 0fb1ccdd92ae2..72690729d19c1 100644
--- a/src/vs/workbench/api/node/extHostQuickOpen.ts
+++ b/src/vs/workbench/api/node/extHostQuickOpen.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {wireCancellationToken} from 'vs/base/common/async';
-import {CancellationToken} from 'vs/base/common/cancellation';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {QuickPickOptions, QuickPickItem, InputBoxOptions} from 'vscode';
-import {MainContext, MainThreadQuickOpenShape, ExtHostQuickOpenShape, MyQuickPickItems} from './extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { wireCancellationToken } from 'vs/base/common/async';
+import { CancellationToken } from 'vs/base/common/cancellation';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { QuickPickOptions, QuickPickItem, InputBoxOptions } from 'vscode';
+import { MainContext, MainThreadQuickOpenShape, ExtHostQuickOpenShape, MyQuickPickItems } from './extHost.protocol';
 
 export type Item = string | QuickPickItem;
 
diff --git a/src/vs/workbench/api/node/extHostStatusBar.ts b/src/vs/workbench/api/node/extHostStatusBar.ts
index 3271442e6cd5a..aa695ebe033dc 100644
--- a/src/vs/workbench/api/node/extHostStatusBar.ts
+++ b/src/vs/workbench/api/node/extHostStatusBar.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {StatusbarAlignment as MainThreadStatusBarAlignment} from 'vs/platform/statusbar/common/statusbar';
-import {StatusBarAlignment as ExtHostStatusBarAlignment, Disposable} from './extHostTypes';
-import {StatusBarItem, StatusBarAlignment} from 'vscode';
-import {MainContext, MainThreadStatusBarShape} from './extHost.protocol';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { StatusbarAlignment as MainThreadStatusBarAlignment } from 'vs/platform/statusbar/common/statusbar';
+import { StatusBarAlignment as ExtHostStatusBarAlignment, Disposable } from './extHostTypes';
+import { StatusBarItem, StatusBarAlignment } from 'vscode';
+import { MainContext, MainThreadStatusBarShape } from './extHost.protocol';
 
 export class ExtHostStatusBarEntry implements StatusBarItem {
 	private static ID_GEN = 0;
diff --git a/src/vs/workbench/api/node/extHostStorage.ts b/src/vs/workbench/api/node/extHostStorage.ts
index 4740b3523cd45..3419f823afe45 100644
--- a/src/vs/workbench/api/node/extHostStorage.ts
+++ b/src/vs/workbench/api/node/extHostStorage.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {MainContext, MainThreadStorageShape} from './extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { MainContext, MainThreadStorageShape } from './extHost.protocol';
 
 export class ExtHostStorage {
 
diff --git a/src/vs/workbench/api/node/extHostTelemetry.ts b/src/vs/workbench/api/node/extHostTelemetry.ts
index 54bf355c86cbe..3c787653ce3da 100644
--- a/src/vs/workbench/api/node/extHostTelemetry.ts
+++ b/src/vs/workbench/api/node/extHostTelemetry.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {notImplemented} from 'vs/base/common/errors';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ITelemetryService, ITelemetryInfo, ITelemetryExperiments} from 'vs/platform/telemetry/common/telemetry';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {MainContext, MainThreadTelemetryShape} from './extHost.protocol';
+import { notImplemented } from 'vs/base/common/errors';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ITelemetryService, ITelemetryInfo, ITelemetryExperiments } from 'vs/platform/telemetry/common/telemetry';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { MainContext, MainThreadTelemetryShape } from './extHost.protocol';
 
 export class RemoteTelemetryService implements ITelemetryService {
 
diff --git a/src/vs/workbench/api/node/extHostTerminalService.ts b/src/vs/workbench/api/node/extHostTerminalService.ts
index 76c2ce61490ac..f87b052189e8a 100644
--- a/src/vs/workbench/api/node/extHostTerminalService.ts
+++ b/src/vs/workbench/api/node/extHostTerminalService.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import Event, {Emitter} from 'vs/base/common/event';
+import Event, { Emitter } from 'vs/base/common/event';
 import vscode = require('vscode');
-import {ExtHostTerminalServiceShape, MainContext, MainThreadTerminalServiceShape} from './extHost.protocol';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
+import { ExtHostTerminalServiceShape, MainContext, MainThreadTerminalServiceShape } from './extHost.protocol';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
 
 export class ExtHostTerminal implements vscode.Terminal {
 
diff --git a/src/vs/workbench/api/node/extHostWorkspace.ts b/src/vs/workbench/api/node/extHostWorkspace.ts
index c7e98adbe7ebe..2f7999f5c0146 100644
--- a/src/vs/workbench/api/node/extHostWorkspace.ts
+++ b/src/vs/workbench/api/node/extHostWorkspace.ts
@@ -5,13 +5,13 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {relative, isEqualOrParent} from 'vs/base/common/paths';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {IResourceEdit} from 'vs/editor/common/services/bulkEdit';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {fromRange} from 'vs/workbench/api/node/extHostTypeConverters';
-import {Uri, CancellationToken} from 'vscode';
-import {MainContext, MainThreadWorkspaceShape} from './extHost.protocol';
+import { relative, isEqualOrParent } from 'vs/base/common/paths';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { IResourceEdit } from 'vs/editor/common/services/bulkEdit';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { fromRange } from 'vs/workbench/api/node/extHostTypeConverters';
+import { Uri, CancellationToken } from 'vscode';
+import { MainContext, MainThreadWorkspaceShape } from './extHost.protocol';
 
 export class ExtHostWorkspace {
 
@@ -20,7 +20,7 @@ export class ExtHostWorkspace {
 	private _proxy: MainThreadWorkspaceShape;
 	private _workspacePath: string;
 
-	constructor(threadService: IThreadService, workspacePath:string) {
+	constructor(threadService: IThreadService, workspacePath: string) {
 		this._proxy = threadService.get(MainContext.MainThreadWorkspace);
 		this._workspacePath = workspacePath;
 	}
diff --git a/src/vs/workbench/api/node/mainThreadCommands.ts b/src/vs/workbench/api/node/mainThreadCommands.ts
index edd0181934279..fe9a1cbbf260f 100644
--- a/src/vs/workbench/api/node/mainThreadCommands.ts
+++ b/src/vs/workbench/api/node/mainThreadCommands.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {ICommandService, CommandsRegistry, ICommandHandlerDescription} from 'vs/platform/commands/common/commands';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ExtHostContext, MainThreadCommandsShape, ExtHostCommandsShape} from './extHost.protocol';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { ICommandService, CommandsRegistry, ICommandHandlerDescription } from 'vs/platform/commands/common/commands';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ExtHostContext, MainThreadCommandsShape, ExtHostCommandsShape } from './extHost.protocol';
 
 export class MainThreadCommands extends MainThreadCommandsShape {
 
diff --git a/src/vs/workbench/api/node/mainThreadDiagnostics.ts b/src/vs/workbench/api/node/mainThreadDiagnostics.ts
index b625d7909a34b..6602a4284e391 100644
--- a/src/vs/workbench/api/node/mainThreadDiagnostics.ts
+++ b/src/vs/workbench/api/node/mainThreadDiagnostics.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IMarkerService, IMarkerData} from 'vs/platform/markers/common/markers';
+import { IMarkerService, IMarkerData } from 'vs/platform/markers/common/markers';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {MainThreadDiagnosticsShape} from './extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { MainThreadDiagnosticsShape } from './extHost.protocol';
 
 export class MainThreadDiagnostics extends MainThreadDiagnosticsShape {
 
 	private _markerService: IMarkerService;
 
-	constructor(@IMarkerService markerService: IMarkerService) {
+	constructor( @IMarkerService markerService: IMarkerService) {
 		super();
 		this._markerService = markerService;
 	}
diff --git a/src/vs/workbench/api/node/mainThreadDocuments.ts b/src/vs/workbench/api/node/mainThreadDocuments.ts
index ecd9ee3ebf025..b39faff78453f 100644
--- a/src/vs/workbench/api/node/mainThreadDocuments.ts
+++ b/src/vs/workbench/api/node/mainThreadDocuments.ts
@@ -4,23 +4,23 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {toErrorMessage} from 'vs/base/common/errorMessage';
-import {EmitterEvent} from 'vs/base/common/eventEmitter';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
+import { EmitterEvent } from 'vs/base/common/eventEmitter';
+import { IModelService } from 'vs/editor/common/services/modelService';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
 import URI from 'vs/base/common/uri';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {TextFileModelChangeEvent, ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IFileService} from 'vs/platform/files/common/files';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {ResourceEditorInput} from 'vs/workbench/common/editor/resourceEditorInput';
-import {ExtHostContext, MainThreadDocumentsShape, ExtHostDocumentsShape} from './extHost.protocol';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { TextFileModelChangeEvent, ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IFileService } from 'vs/platform/files/common/files';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput';
+import { ExtHostContext, MainThreadDocumentsShape, ExtHostDocumentsShape } from './extHost.protocol';
 
 export class MainThreadDocuments extends MainThreadDocumentsShape {
 	private _modelService: IModelService;
@@ -198,7 +198,7 @@ export class MainThreadDocuments extends MainThreadDocumentsShape {
 			let input = this._untitledEditorService.createOrGet(asFileUri);
 			return input.resolve(true).then(model => {
 				if (input.getResource().toString() !== uri.toString()) {
-					throw new Error(`expected URI ${uri.toString() } BUT GOT ${input.getResource().toString() }`);
+					throw new Error(`expected URI ${uri.toString()} BUT GOT ${input.getResource().toString()}`);
 				}
 				if (!this._modelIsSynced[uri.toString()]) {
 					throw new Error(`expected URI ${uri.toString()} to have come to LIFE`);
@@ -212,7 +212,7 @@ export class MainThreadDocuments extends MainThreadDocumentsShape {
 
 	// --- virtual document logic
 
-	$registerTextContentProvider(handle:number, scheme: string): void {
+	$registerTextContentProvider(handle: number, scheme: string): void {
 		this._resourceContentProvider[handle] = ResourceEditorInput.registerResourceContentProvider(scheme, {
 			provideTextContent: (uri: URI): TPromise<editorCommon.IModel> => {
 				return this._proxy.$provideTextDocumentContent(handle, uri).then(value => {
diff --git a/src/vs/workbench/api/node/mainThreadEditors.ts b/src/vs/workbench/api/node/mainThreadEditors.ts
index 669620f53f9ce..6743426a71956 100644
--- a/src/vs/workbench/api/node/mainThreadEditors.ts
+++ b/src/vs/workbench/api/node/mainThreadEditors.ts
@@ -5,21 +5,21 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {ISingleEditOperation, ISelection, IRange, IEditor, EditorType, ICommonCodeEditor, ICommonDiffEditor, IDecorationRenderOptions, IDecorationOptions} from 'vs/editor/common/editorCommon';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {Position as EditorPosition} from 'vs/platform/editor/common/editor';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {MainThreadEditorsTracker, TextEditorRevealType, MainThreadTextEditor, IApplyEditsOptions, ITextEditorConfigurationUpdate} from 'vs/workbench/api/node/mainThreadEditorsTracker';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IEventService} from 'vs/platform/event/common/event';
-import {equals as arrayEquals} from 'vs/base/common/arrays';
-import {equals as objectEquals} from 'vs/base/common/objects';
-import {ExtHostContext, MainThreadEditorsShape, ExtHostEditorsShape, ITextEditorPositionData} from './extHost.protocol';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { ISingleEditOperation, ISelection, IRange, IEditor, EditorType, ICommonCodeEditor, ICommonDiffEditor, IDecorationRenderOptions, IDecorationOptions } from 'vs/editor/common/editorCommon';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { Position as EditorPosition } from 'vs/platform/editor/common/editor';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { MainThreadEditorsTracker, TextEditorRevealType, MainThreadTextEditor, IApplyEditsOptions, ITextEditorConfigurationUpdate } from 'vs/workbench/api/node/mainThreadEditorsTracker';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IEventService } from 'vs/platform/event/common/event';
+import { equals as arrayEquals } from 'vs/base/common/arrays';
+import { equals as objectEquals } from 'vs/base/common/objects';
+import { ExtHostContext, MainThreadEditorsShape, ExtHostEditorsShape, ITextEditorPositionData } from './extHost.protocol';
 
 export class MainThreadEditors extends MainThreadEditorsShape {
 
@@ -281,7 +281,7 @@ export class MainThreadEditors extends MainThreadEditorsShape {
 		return TPromise.as(null);
 	}
 
-	$tryApplyEdits(id: string, modelVersionId: number, edits: ISingleEditOperation[], opts:IApplyEditsOptions): TPromise<boolean> {
+	$tryApplyEdits(id: string, modelVersionId: number, edits: ISingleEditOperation[], opts: IApplyEditsOptions): TPromise<boolean> {
 		if (!this._textEditorsMap[id]) {
 			return TPromise.wrapError('TextEditor disposed');
 		}
diff --git a/src/vs/workbench/api/node/mainThreadEditorsTracker.ts b/src/vs/workbench/api/node/mainThreadEditorsTracker.ts
index 4d44594122f9a..344d9d04c32bb 100644
--- a/src/vs/workbench/api/node/mainThreadEditorsTracker.ts
+++ b/src/vs/workbench/api/node/mainThreadEditorsTracker.ts
@@ -5,16 +5,16 @@
 'use strict';
 
 import EditorCommon = require('vs/editor/common/editorCommon');
-import Event, {Emitter} from 'vs/base/common/event';
-import {IEditor} from 'vs/platform/editor/common/editor';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {IdGenerator} from 'vs/base/common/idGenerator';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
-import {EndOfLine, TextEditorLineNumbersStyle} from 'vs/workbench/api/node/extHostTypes';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IEditor } from 'vs/platform/editor/common/editor';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { IdGenerator } from 'vs/base/common/idGenerator';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
+import { EndOfLine, TextEditorLineNumbersStyle } from 'vs/workbench/api/node/extHostTypes';
 
 export interface ITextEditorConfigurationUpdate {
 	tabSize?: number | string;
@@ -29,7 +29,7 @@ export interface IResolvedTextEditorConfiguration {
 	lineNumbers: TextEditorLineNumbersStyle;
 }
 
-function configurationsEqual(a:IResolvedTextEditorConfiguration, b:IResolvedTextEditorConfiguration) {
+function configurationsEqual(a: IResolvedTextEditorConfiguration, b: IResolvedTextEditorConfiguration) {
 	if (a && !b || !a && b) {
 		return false;
 	}
@@ -86,9 +86,9 @@ export class MainThreadTextEditor {
 
 	constructor(
 		id: string,
-		model:EditorCommon.IModel,
-		codeEditor:EditorCommon.ICommonCodeEditor,
-		focusTracker:IFocusTracker,
+		model: EditorCommon.IModel,
+		codeEditor: EditorCommon.ICommonCodeEditor,
+		focusTracker: IFocusTracker,
 		modelService: IModelService
 	) {
 		this._id = id;
@@ -101,7 +101,7 @@ export class MainThreadTextEditor {
 		this._onSelectionChanged = new Emitter<ISelectionChangeEvent>();
 		this._onConfigurationChanged = new Emitter<IResolvedTextEditorConfiguration>();
 
-		this._lastSelection = [ new Selection(1,1,1,1) ];
+		this._lastSelection = [new Selection(1, 1, 1, 1)];
 		this._modelListeners = [];
 		this._modelListeners.push(this._model.onDidChangeOptions((e) => {
 			this._setConfiguration(this._readConfiguration(this._model, this._codeEditor));
@@ -126,11 +126,11 @@ export class MainThreadTextEditor {
 		return this._model;
 	}
 
-	public hasCodeEditor(codeEditor:EditorCommon.ICommonCodeEditor): boolean {
+	public hasCodeEditor(codeEditor: EditorCommon.ICommonCodeEditor): boolean {
 		return (this._codeEditor === codeEditor);
 	}
 
-	public setCodeEditor(codeEditor:EditorCommon.ICommonCodeEditor): void {
+	public setCodeEditor(codeEditor: EditorCommon.ICommonCodeEditor): void {
 		if (this.hasCodeEditor(codeEditor)) {
 			// Nothing to do...
 			return;
@@ -188,7 +188,7 @@ export class MainThreadTextEditor {
 		return this._lastSelection;
 	}
 
-	public setSelections(selections:EditorCommon.ISelection[]): void {
+	public setSelections(selections: EditorCommon.ISelection[]): void {
 		if (this._codeEditor) {
 			this._codeEditor.setSelections(selections);
 			return;
@@ -201,7 +201,7 @@ export class MainThreadTextEditor {
 		return this._configuration;
 	}
 
-	private _setIndentConfiguration(newConfiguration:ITextEditorConfigurationUpdate): void {
+	private _setIndentConfiguration(newConfiguration: ITextEditorConfigurationUpdate): void {
 		if (newConfiguration.tabSize === 'auto' || newConfiguration.insertSpaces === 'auto') {
 			// one of the options was set to 'auto' => detect indentation
 
@@ -240,7 +240,7 @@ export class MainThreadTextEditor {
 		this._model.updateOptions(newOpts);
 	}
 
-	public setConfiguration(newConfiguration:ITextEditorConfigurationUpdate): void {
+	public setConfiguration(newConfiguration: ITextEditorConfigurationUpdate): void {
 		this._setIndentConfiguration(newConfiguration);
 
 		if (newConfiguration.cursorStyle) {
@@ -280,7 +280,7 @@ export class MainThreadTextEditor {
 		}
 	}
 
-	public setDecorations(key: string, ranges:EditorCommon.IDecorationOptions[]): void {
+	public setDecorations(key: string, ranges: EditorCommon.IDecorationOptions[]): void {
 		if (!this._codeEditor) {
 			console.warn('setDecorations on invisible editor');
 			return;
@@ -288,7 +288,7 @@ export class MainThreadTextEditor {
 		this._codeEditor.setDecorations(key, ranges);
 	}
 
-	public revealRange(range:EditorCommon.IRange, revealType:TextEditorRevealType): void {
+	public revealRange(range: EditorCommon.IRange, revealType: TextEditorRevealType): void {
 		if (!this._codeEditor) {
 			console.warn('revealRange on invisible editor');
 			return;
@@ -304,7 +304,7 @@ export class MainThreadTextEditor {
 		}
 	}
 
-	private _readConfiguration(model:EditorCommon.IModel, codeEditor:EditorCommon.ICommonCodeEditor): IResolvedTextEditorConfiguration {
+	private _readConfiguration(model: EditorCommon.IModel, codeEditor: EditorCommon.ICommonCodeEditor): IResolvedTextEditorConfiguration {
 		if (model.isDisposed()) {
 			// shutdown time
 			return this._configuration;
@@ -333,7 +333,7 @@ export class MainThreadTextEditor {
 		};
 	}
 
-	private _setConfiguration(newConfiguration:IResolvedTextEditorConfiguration): void {
+	private _setConfiguration(newConfiguration: IResolvedTextEditorConfiguration): void {
 		if (configurationsEqual(this._configuration, newConfiguration)) {
 			return;
 		}
@@ -355,7 +355,7 @@ export class MainThreadTextEditor {
 		return editor.getControl() === this._codeEditor;
 	}
 
-	public applyEdits(versionIdCheck:number, edits:EditorCommon.ISingleEditOperation[], opts:IApplyEditsOptions): boolean {
+	public applyEdits(versionIdCheck: number, edits: EditorCommon.ISingleEditOperation[], opts: IApplyEditsOptions): boolean {
 		if (this._model.getVersionId() !== versionIdCheck) {
 			console.warn('Model has changed in the meantime!');
 			// throw new Error('Model has changed in the meantime!');
@@ -405,10 +405,10 @@ export class MainThreadEditorsTracker {
 	private _codeEditorService: ICodeEditorService;
 	private _modelService: IModelService;
 	private _updateMapping: RunOnceScheduler;
-	private _editorModelChangeListeners: {[editorId:string]:IDisposable;};
+	private _editorModelChangeListeners: { [editorId: string]: IDisposable; };
 
 	private _model2TextEditors: {
-		[modelUri:string]: MainThreadTextEditor[];
+		[modelUri: string]: MainThreadTextEditor[];
 	};
 	private _focusedTextEditorId: string;
 	private _visibleTextEditorIds: string[];
@@ -420,8 +420,8 @@ export class MainThreadEditorsTracker {
 	private _focusTracker: IFocusTracker;
 
 	constructor(
-		editorService:ICodeEditorService,
-		modelService:IModelService
+		editorService: ICodeEditorService,
+		modelService: IModelService
 	) {
 		this._codeEditorService = editorService;
 		this._modelService = modelService;
@@ -476,7 +476,7 @@ export class MainThreadEditorsTracker {
 		let allModels = this._modelService.getModels();
 		// Same filter as in extHostDocuments
 		allModels = allModels.filter((model) => !model.isTooLargeForHavingARichMode());
-		let allModelsMap: { [modelUri:string]: EditorCommon.IModel; } = Object.create(null);
+		let allModelsMap: { [modelUri: string]: EditorCommon.IModel; } = Object.create(null);
 		allModels.forEach((model) => {
 			allModelsMap[model.uri.toString()] = model;
 		});
@@ -602,7 +602,7 @@ export class MainThreadEditorsTracker {
 		return result;
 	}
 
-	private _setFocusedTextEditorId(focusedTextEditorId:string): void {
+	private _setFocusedTextEditorId(focusedTextEditorId: string): void {
 		if (this._focusedTextEditorId === focusedTextEditorId) {
 			// no change
 			return;
@@ -674,7 +674,7 @@ export class MainThreadEditorsTracker {
 		return this._onDidChangeFocusedTextEditor.event;
 	}
 
-	public findTextEditorIdFor(codeEditor:EditorCommon.ICommonCodeEditor): string {
+	public findTextEditorIdFor(codeEditor: EditorCommon.ICommonCodeEditor): string {
 		let modelUris = Object.keys(this._model2TextEditors);
 		for (let i = 0, len = modelUris.length; i < len; i++) {
 			let editors = this._model2TextEditors[modelUris[i]];
@@ -688,23 +688,23 @@ export class MainThreadEditorsTracker {
 		return null;
 	}
 
-	public registerTextEditorDecorationType(key:string, options: EditorCommon.IDecorationRenderOptions): void {
+	public registerTextEditorDecorationType(key: string, options: EditorCommon.IDecorationRenderOptions): void {
 		this._codeEditorService.registerDecorationType(key, options);
 	}
 
-	public removeTextEditorDecorationType(key:string): void {
+	public removeTextEditorDecorationType(key: string): void {
 		this._codeEditorService.removeDecorationType(key);
 	}
 }
 
 interface IVisibleModels {
-	[modelUri:string]: {
+	[modelUri: string]: {
 		model: EditorCommon.IModel;
 		codeEditors: EditorCommon.ICommonCodeEditor[];
 	};
 }
 
-function strcmp(a:string, b:string): number {
+function strcmp(a: string, b: string): number {
 	if (a < b) {
 		return -1;
 	}
diff --git a/src/vs/workbench/api/node/mainThreadErrors.ts b/src/vs/workbench/api/node/mainThreadErrors.ts
index 34491ea956206..03ba71b8e3b5d 100644
--- a/src/vs/workbench/api/node/mainThreadErrors.ts
+++ b/src/vs/workbench/api/node/mainThreadErrors.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import * as errors from 'vs/base/common/errors';
-import {MainThreadErrorsShape} from './extHost.protocol';
+import { MainThreadErrorsShape } from './extHost.protocol';
 
 export class MainThreadErrors extends MainThreadErrorsShape {
 
diff --git a/src/vs/workbench/api/node/mainThreadExtensionService.ts b/src/vs/workbench/api/node/mainThreadExtensionService.ts
index bcfa0929d2d8c..bd035a19e099e 100644
--- a/src/vs/workbench/api/node/mainThreadExtensionService.ts
+++ b/src/vs/workbench/api/node/mainThreadExtensionService.ts
@@ -5,14 +5,14 @@
 'use strict';
 
 import Severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {AbstractExtensionService, ActivatedExtension} from 'vs/platform/extensions/common/abstractExtensionService';
-import {IMessage, IExtensionDescription, IExtensionsStatus} from 'vs/platform/extensions/common/extensions';
-import {ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {ExtHostContext, ExtHostExtensionServiceShape} from './extHost.protocol';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { AbstractExtensionService, ActivatedExtension } from 'vs/platform/extensions/common/abstractExtensionService';
+import { IMessage, IExtensionDescription, IExtensionsStatus } from 'vs/platform/extensions/common/extensions';
+import { ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { ExtHostContext, ExtHostExtensionServiceShape } from './extHost.protocol';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
 
 /**
  * Represents a failed extension in the ext host.
diff --git a/src/vs/workbench/api/node/mainThreadFileSystemEventService.ts b/src/vs/workbench/api/node/mainThreadFileSystemEventService.ts
index 535dcb14d5861..c16fc3260127a 100644
--- a/src/vs/workbench/api/node/mainThreadFileSystemEventService.ts
+++ b/src/vs/workbench/api/node/mainThreadFileSystemEventService.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {FileChangesEvent, FileChangeType} from 'vs/platform/files/common/files';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {IEventService} from 'vs/platform/event/common/event';
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {ExtHostContext, ExtHostFileSystemEventServiceShape, FileSystemEvents} from './extHost.protocol';
+import { FileChangesEvent, FileChangeType } from 'vs/platform/files/common/files';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { IEventService } from 'vs/platform/event/common/event';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { ExtHostContext, ExtHostFileSystemEventServiceShape, FileSystemEvents } from './extHost.protocol';
 
 export class MainThreadFileSystemEventService {
 
diff --git a/src/vs/workbench/api/node/mainThreadHeapService.ts b/src/vs/workbench/api/node/mainThreadHeapService.ts
index 4f3f6f53a26d2..48855067077a1 100644
--- a/src/vs/workbench/api/node/mainThreadHeapService.ts
+++ b/src/vs/workbench/api/node/mainThreadHeapService.ts
@@ -5,10 +5,10 @@
 
 'use strict';
 
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {ExtHostContext} from './extHost.protocol';
-import {onDidGarbageCollectSignals, consumeSignals} from 'gc-signals';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { ExtHostContext } from './extHost.protocol';
+import { onDidGarbageCollectSignals, consumeSignals } from 'gc-signals';
 
 export class MainThreadHeapService {
 
diff --git a/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts b/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts
index 8f2f0e6b2c75c..f06b4d66b68ea 100644
--- a/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts
+++ b/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts
@@ -4,20 +4,20 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
 import * as vscode from 'vscode';
-import {IReadOnlyModel, ISingleEditOperation} from 'vs/editor/common/editorCommon';
+import { IReadOnlyModel, ISingleEditOperation } from 'vs/editor/common/editorCommon';
 import * as modes from 'vs/editor/common/modes';
-import {WorkspaceSymbolProviderRegistry, IWorkspaceSymbolProvider, IWorkspaceSymbol} from 'vs/workbench/parts/search/common/search';
-import {wireCancellationToken} from 'vs/base/common/async';
-import {CancellationToken} from 'vs/base/common/cancellation';
-import {Position as EditorPosition} from 'vs/editor/common/core/position';
-import {Range as EditorRange} from 'vs/editor/common/core/range';
-import {ExtHostContext, MainThreadLanguageFeaturesShape, ExtHostLanguageFeaturesShape, ObjectIdentifier} from './extHost.protocol';
-import {LanguageConfigurationRegistry, LanguageConfiguration} from 'vs/editor/common/modes/languageConfigurationRegistry';
-import {trackGarbageCollection} from 'gc-signals';
+import { WorkspaceSymbolProviderRegistry, IWorkspaceSymbolProvider, IWorkspaceSymbol } from 'vs/workbench/parts/search/common/search';
+import { wireCancellationToken } from 'vs/base/common/async';
+import { CancellationToken } from 'vs/base/common/cancellation';
+import { Position as EditorPosition } from 'vs/editor/common/core/position';
+import { Range as EditorRange } from 'vs/editor/common/core/range';
+import { ExtHostContext, MainThreadLanguageFeaturesShape, ExtHostLanguageFeaturesShape, ObjectIdentifier } from './extHost.protocol';
+import { LanguageConfigurationRegistry, LanguageConfiguration } from 'vs/editor/common/modes/languageConfigurationRegistry';
+import { trackGarbageCollection } from 'gc-signals';
 
 export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape {
 
@@ -42,7 +42,7 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape
 
 	$registerOutlineSupport(handle: number, selector: vscode.DocumentSelector): TPromise<any> {
 		this._registrations[handle] = modes.DocumentSymbolProviderRegistry.register(selector, <modes.DocumentSymbolProvider>{
-			provideDocumentSymbols: (model:IReadOnlyModel, token: CancellationToken): Thenable<modes.SymbolInformation[]> => {
+			provideDocumentSymbols: (model: IReadOnlyModel, token: CancellationToken): Thenable<modes.SymbolInformation[]> => {
 				return wireCancellationToken(token, this._proxy.$provideDocumentSymbols(handle, model.uri));
 			}
 		});
@@ -53,10 +53,10 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape
 
 	$registerCodeLensSupport(handle: number, selector: vscode.DocumentSelector): TPromise<any> {
 		this._registrations[handle] = modes.CodeLensProviderRegistry.register(selector, <modes.CodeLensProvider>{
-			provideCodeLenses: (model:IReadOnlyModel, token: CancellationToken): modes.ICodeLensSymbol[] | Thenable<modes.ICodeLensSymbol[]> => {
+			provideCodeLenses: (model: IReadOnlyModel, token: CancellationToken): modes.ICodeLensSymbol[] | Thenable<modes.ICodeLensSymbol[]> => {
 				return wireCancellationToken(token, this._proxy.$provideCodeLenses(handle, model.uri));
 			},
-			resolveCodeLens: (model:IReadOnlyModel, codeLens: modes.ICodeLensSymbol, token: CancellationToken): modes.ICodeLensSymbol | Thenable<modes.ICodeLensSymbol> => {
+			resolveCodeLens: (model: IReadOnlyModel, codeLens: modes.ICodeLensSymbol, token: CancellationToken): modes.ICodeLensSymbol | Thenable<modes.ICodeLensSymbol> => {
 				return wireCancellationToken(token, this._proxy.$resolveCodeLens(handle, model.uri, codeLens));
 			}
 		});
@@ -78,7 +78,7 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape
 
 	$registerHoverProvider(handle: number, selector: vscode.DocumentSelector): TPromise<any> {
 		this._registrations[handle] = modes.HoverProviderRegistry.register(selector, <modes.HoverProvider>{
-			provideHover: (model:IReadOnlyModel, position:EditorPosition, token:CancellationToken): Thenable<modes.Hover> => {
+			provideHover: (model: IReadOnlyModel, position: EditorPosition, token: CancellationToken): Thenable<modes.Hover> => {
 				return wireCancellationToken(token, this._proxy.$provideHover(handle, model.uri, position));
 			}
 		});
@@ -100,7 +100,7 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape
 
 	$registerReferenceSupport(handle: number, selector: vscode.DocumentSelector): TPromise<any> {
 		this._registrations[handle] = modes.ReferenceProviderRegistry.register(selector, <modes.ReferenceProvider>{
-			provideReferences: (model:IReadOnlyModel, position:EditorPosition, context: modes.ReferenceContext, token: CancellationToken): Thenable<modes.Location[]> => {
+			provideReferences: (model: IReadOnlyModel, position: EditorPosition, context: modes.ReferenceContext, token: CancellationToken): Thenable<modes.Location[]> => {
 				return wireCancellationToken(token, this._proxy.$provideReferences(handle, model.uri, position, context));
 			}
 		});
@@ -111,7 +111,7 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape
 
 	$registerQuickFixSupport(handle: number, selector: vscode.DocumentSelector): TPromise<any> {
 		this._registrations[handle] = modes.CodeActionProviderRegistry.register(selector, <modes.CodeActionProvider>{
-			provideCodeActions: (model:IReadOnlyModel, range:EditorRange, token: CancellationToken): Thenable<modes.CodeAction[]> => {
+			provideCodeActions: (model: IReadOnlyModel, range: EditorRange, token: CancellationToken): Thenable<modes.CodeAction[]> => {
 				return wireCancellationToken(token, this._proxy.$provideCodeActions(handle, model.uri, range));
 			}
 		});
@@ -175,7 +175,7 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape
 
 	$registerRenameSupport(handle: number, selector: vscode.DocumentSelector): TPromise<any> {
 		this._registrations[handle] = modes.RenameProviderRegistry.register(selector, <modes.RenameProvider>{
-			provideRenameEdits: (model:IReadOnlyModel, position:EditorPosition, newName: string, token: CancellationToken): Thenable<modes.WorkspaceEdit> => {
+			provideRenameEdits: (model: IReadOnlyModel, position: EditorPosition, newName: string, token: CancellationToken): Thenable<modes.WorkspaceEdit> => {
 				return wireCancellationToken(token, this._proxy.$provideRenameEdits(handle, model.uri, position, newName));
 			}
 		});
@@ -187,7 +187,7 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape
 	$registerSuggestSupport(handle: number, selector: vscode.DocumentSelector, triggerCharacters: string[]): TPromise<any> {
 		this._registrations[handle] = modes.SuggestRegistry.register(selector, <modes.ISuggestSupport>{
 			triggerCharacters: triggerCharacters,
-			provideCompletionItems: (model:IReadOnlyModel, position:EditorPosition, token:CancellationToken): Thenable<modes.ISuggestResult> => {
+			provideCompletionItems: (model: IReadOnlyModel, position: EditorPosition, token: CancellationToken): Thenable<modes.ISuggestResult> => {
 				return wireCancellationToken(token, this._proxy.$provideCompletionItems(handle, model.uri, position)).then(result => {
 					if (result && result.suggestions) {
 						for (const suggestion of result.suggestions) {
@@ -197,7 +197,7 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape
 					return result;
 				});
 			},
-			resolveCompletionItem: (model:IReadOnlyModel, position:EditorPosition, suggestion: modes.ISuggestion, token: CancellationToken): Thenable<modes.ISuggestion> => {
+			resolveCompletionItem: (model: IReadOnlyModel, position: EditorPosition, suggestion: modes.ISuggestion, token: CancellationToken): Thenable<modes.ISuggestion> => {
 				return wireCancellationToken(token, this._proxy.$resolveCompletionItem(handle, model.uri, position, suggestion));
 			}
 		});
@@ -211,7 +211,7 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape
 
 			signatureHelpTriggerCharacters: triggerCharacter,
 
-			provideSignatureHelp: (model:IReadOnlyModel, position:EditorPosition, token:CancellationToken): Thenable<modes.SignatureHelp> => {
+			provideSignatureHelp: (model: IReadOnlyModel, position: EditorPosition, token: CancellationToken): Thenable<modes.SignatureHelp> => {
 				return wireCancellationToken(token, this._proxy.$provideSignatureHelp(handle, model.uri, position));
 			}
 
diff --git a/src/vs/workbench/api/node/mainThreadLanguages.ts b/src/vs/workbench/api/node/mainThreadLanguages.ts
index 3abbc3e7b75fa..c828bc0ad5f5d 100644
--- a/src/vs/workbench/api/node/mainThreadLanguages.ts
+++ b/src/vs/workbench/api/node/mainThreadLanguages.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {MainThreadLanguagesShape} from './extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { MainThreadLanguagesShape } from './extHost.protocol';
 
 export class MainThreadLanguages extends MainThreadLanguagesShape {
 
diff --git a/src/vs/workbench/api/node/mainThreadMessageService.ts b/src/vs/workbench/api/node/mainThreadMessageService.ts
index b3dcf3a23ae64..fb053564dc72e 100644
--- a/src/vs/workbench/api/node/mainThreadMessageService.ts
+++ b/src/vs/workbench/api/node/mainThreadMessageService.ts
@@ -5,17 +5,17 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {IMessageService} from 'vs/platform/message/common/message';
+import { IMessageService } from 'vs/platform/message/common/message';
 import Severity from 'vs/base/common/severity';
-import {Action} from 'vs/base/common/actions';
-import {TPromise as Promise} from 'vs/base/common/winjs.base';
-import {MainThreadMessageServiceShape} from './extHost.protocol';
+import { Action } from 'vs/base/common/actions';
+import { TPromise as Promise } from 'vs/base/common/winjs.base';
+import { MainThreadMessageServiceShape } from './extHost.protocol';
 
 export class MainThreadMessageService extends MainThreadMessageServiceShape {
 
 	private _messageService: IMessageService;
 
-	constructor(@IMessageService messageService:IMessageService) {
+	constructor( @IMessageService messageService: IMessageService) {
 		super();
 		this._messageService = messageService;
 	}
diff --git a/src/vs/workbench/api/node/mainThreadOutputService.ts b/src/vs/workbench/api/node/mainThreadOutputService.ts
index 5ee37e826d4dd..313e7c28dd1a6 100644
--- a/src/vs/workbench/api/node/mainThreadOutputService.ts
+++ b/src/vs/workbench/api/node/mainThreadOutputService.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Registry} from 'vs/platform/platform';
-import {IOutputService, IOutputChannel, OUTPUT_PANEL_ID, Extensions, IOutputChannelRegistry} from 'vs/workbench/parts/output/common/output';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
-import {MainThreadOutputServiceShape} from './extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Registry } from 'vs/platform/platform';
+import { IOutputService, IOutputChannel, OUTPUT_PANEL_ID, Extensions, IOutputChannelRegistry } from 'vs/workbench/parts/output/common/output';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
+import { MainThreadOutputServiceShape } from './extHost.protocol';
 
 export class MainThreadOutputService extends MainThreadOutputServiceShape {
 
@@ -17,7 +17,7 @@ export class MainThreadOutputService extends MainThreadOutputServiceShape {
 	private _partService: IPartService;
 	private _panelService: IPanelService;
 
-	constructor(@IOutputService outputService: IOutputService,
+	constructor( @IOutputService outputService: IOutputService,
 		@IPartService partService: IPartService,
 		@IPanelService panelService: IPanelService
 	) {
@@ -52,7 +52,7 @@ export class MainThreadOutputService extends MainThreadOutputServiceShape {
 
 	public $close(channelId: string): TPromise<void> {
 		const panel = this._panelService.getActivePanel();
-		if (panel && panel.getId() === OUTPUT_PANEL_ID && channelId === this._outputService.getActiveChannel().id ) {
+		if (panel && panel.getId() === OUTPUT_PANEL_ID && channelId === this._outputService.getActiveChannel().id) {
 			this._partService.setPanelHidden(true);
 		}
 
diff --git a/src/vs/workbench/api/node/mainThreadQuickOpen.ts b/src/vs/workbench/api/node/mainThreadQuickOpen.ts
index a1dcc8583ed70..801cfc9649a54 100644
--- a/src/vs/workbench/api/node/mainThreadQuickOpen.ts
+++ b/src/vs/workbench/api/node/mainThreadQuickOpen.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {asWinJsPromise} from 'vs/base/common/async';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {IQuickOpenService, IPickOptions, IInputOptions} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {InputBoxOptions} from 'vscode';
-import {ExtHostContext, MainThreadQuickOpenShape, ExtHostQuickOpenShape, MyQuickPickItems} from './extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { asWinJsPromise } from 'vs/base/common/async';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { IQuickOpenService, IPickOptions, IInputOptions } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { InputBoxOptions } from 'vscode';
+import { ExtHostContext, MainThreadQuickOpenShape, ExtHostQuickOpenShape, MyQuickPickItems } from './extHost.protocol';
 
 export class MainThreadQuickOpen extends MainThreadQuickOpenShape {
 
diff --git a/src/vs/workbench/api/node/mainThreadStatusBar.ts b/src/vs/workbench/api/node/mainThreadStatusBar.ts
index 811bdbc76b5a9..dd5b87b78ab67 100644
--- a/src/vs/workbench/api/node/mainThreadStatusBar.ts
+++ b/src/vs/workbench/api/node/mainThreadStatusBar.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IStatusbarService, StatusbarAlignment as MainThreadStatusBarAlignment} from 'vs/platform/statusbar/common/statusbar';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {MainThreadStatusBarShape} from './extHost.protocol';
+import { IStatusbarService, StatusbarAlignment as MainThreadStatusBarAlignment } from 'vs/platform/statusbar/common/statusbar';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { MainThreadStatusBarShape } from './extHost.protocol';
 
 export class MainThreadStatusBar extends MainThreadStatusBarShape {
 	private mapIdToDisposable: { [id: number]: IDisposable };
diff --git a/src/vs/workbench/api/node/mainThreadStorage.ts b/src/vs/workbench/api/node/mainThreadStorage.ts
index 6cbc3c63203e5..6462a3ad46caf 100644
--- a/src/vs/workbench/api/node/mainThreadStorage.ts
+++ b/src/vs/workbench/api/node/mainThreadStorage.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {MainThreadStorageShape} from './extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { MainThreadStorageShape } from './extHost.protocol';
 
 export class MainThreadStorage extends MainThreadStorageShape {
 
diff --git a/src/vs/workbench/api/node/mainThreadTelemetry.ts b/src/vs/workbench/api/node/mainThreadTelemetry.ts
index 5bfd09897682b..425123d08c641 100644
--- a/src/vs/workbench/api/node/mainThreadTelemetry.ts
+++ b/src/vs/workbench/api/node/mainThreadTelemetry.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ITelemetryService, ITelemetryInfo} from 'vs/platform/telemetry/common/telemetry';
-import {MainThreadTelemetryShape} from './extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ITelemetryService, ITelemetryInfo } from 'vs/platform/telemetry/common/telemetry';
+import { MainThreadTelemetryShape } from './extHost.protocol';
 
 /**
  * Helper always instantiated in the main process to receive telemetry events from remote telemetry services
diff --git a/src/vs/workbench/api/node/mainThreadTerminalService.ts b/src/vs/workbench/api/node/mainThreadTerminalService.ts
index d6aede98b6a89..a5149243d0d2c 100644
--- a/src/vs/workbench/api/node/mainThreadTerminalService.ts
+++ b/src/vs/workbench/api/node/mainThreadTerminalService.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {ITerminalService, ITerminalInstance} from 'vs/workbench/parts/terminal/electron-browser/terminal';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ExtHostContext, ExtHostTerminalServiceShape, MainThreadTerminalServiceShape} from './extHost.protocol';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { ITerminalService, ITerminalInstance } from 'vs/workbench/parts/terminal/electron-browser/terminal';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ExtHostContext, ExtHostTerminalServiceShape, MainThreadTerminalServiceShape } from './extHost.protocol';
 
 export class MainThreadTerminalService extends MainThreadTerminalServiceShape {
 
diff --git a/src/vs/workbench/api/node/mainThreadWorkspace.ts b/src/vs/workbench/api/node/mainThreadWorkspace.ts
index ab1ee8a7ec200..e7ed827662026 100644
--- a/src/vs/workbench/api/node/mainThreadWorkspace.ts
+++ b/src/vs/workbench/api/node/mainThreadWorkspace.ts
@@ -4,17 +4,17 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {isPromiseCanceledError} from 'vs/base/common/errors';
-import {ISearchService, QueryType} from 'vs/platform/search/common/search';
-import {IWorkspaceContextService, IWorkspace} from 'vs/platform/workspace/common/workspace';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
-import {ICommonCodeEditor} from 'vs/editor/common/editorCommon';
-import {bulkEdit, IResourceEdit} from 'vs/editor/common/services/bulkEdit';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Uri} from 'vscode';
-import {MainThreadWorkspaceShape} from './extHost.protocol';
+import { isPromiseCanceledError } from 'vs/base/common/errors';
+import { ISearchService, QueryType } from 'vs/platform/search/common/search';
+import { IWorkspaceContextService, IWorkspace } from 'vs/platform/workspace/common/workspace';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
+import { ICommonCodeEditor } from 'vs/editor/common/editorCommon';
+import { bulkEdit, IResourceEdit } from 'vs/editor/common/services/bulkEdit';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Uri } from 'vscode';
+import { MainThreadWorkspaceShape } from './extHost.protocol';
 
 export class MainThreadWorkspace extends MainThreadWorkspaceShape {
 
@@ -22,8 +22,8 @@ export class MainThreadWorkspace extends MainThreadWorkspaceShape {
 	private _searchService: ISearchService;
 	private _workspace: IWorkspace;
 	private _textFileService: ITextFileService;
-	private _editorService:IWorkbenchEditorService;
-	private _eventService:IEventService;
+	private _editorService: IWorkbenchEditorService;
+	private _eventService: IEventService;
 
 	constructor(
 		@ISearchService searchService: ISearchService,
@@ -88,7 +88,7 @@ export class MainThreadWorkspace extends MainThreadWorkspaceShape {
 		let codeEditor: ICommonCodeEditor;
 		let editor = this._editorService.getActiveEditor();
 		if (editor) {
-			let candidate = <ICommonCodeEditor> editor.getControl();
+			let candidate = <ICommonCodeEditor>editor.getControl();
 			if (typeof candidate.getEditorType === 'function') {
 				// enough proof
 				codeEditor = candidate;
diff --git a/src/vs/workbench/browser/actionBarRegistry.ts b/src/vs/workbench/browser/actionBarRegistry.ts
index 726cab7da7590..a868dd8268c41 100644
--- a/src/vs/workbench/browser/actionBarRegistry.ts
+++ b/src/vs/workbench/browser/actionBarRegistry.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Registry} from 'vs/platform/platform';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Registry } from 'vs/platform/platform';
 import types = require('vs/base/common/types');
 import collections = require('vs/base/common/collections');
-import {Action, IAction} from 'vs/base/common/actions';
-import {BaseActionItem, Separator} from 'vs/base/browser/ui/actionbar/actionbar';
-import {IActionProvider} from 'vs/base/parts/tree/browser/actionsRenderer';
-import {ITree} from 'vs/base/parts/tree/browser/tree';
-import {IInstantiationService, IConstructorSignature0} from 'vs/platform/instantiation/common/instantiation';
+import { Action, IAction } from 'vs/base/common/actions';
+import { BaseActionItem, Separator } from 'vs/base/browser/ui/actionbar/actionbar';
+import { IActionProvider } from 'vs/base/parts/tree/browser/actionsRenderer';
+import { ITree } from 'vs/base/parts/tree/browser/tree';
+import { IInstantiationService, IConstructorSignature0 } from 'vs/platform/instantiation/common/instantiation';
 
 /**
  * The action bar contributor allows to add actions to an actionbar in a given context.
@@ -93,7 +93,7 @@ export class ContributableActionProvider implements IActionProvider {
 	private registry: IActionBarRegistry;
 
 	constructor() {
-		this.registry = (<IActionBarRegistry> Registry.as(Extensions.Actionbar));
+		this.registry = (<IActionBarRegistry>Registry.as(Extensions.Actionbar));
 	}
 
 	private toContext(tree: ITree, element: any): any {
@@ -188,7 +188,7 @@ export function prepareActions(actions: IAction[]): IAction[] {
 
 	// Patch order if not provided
 	for (let l = 0; l < actions.length; l++) {
-		let a = <any> actions[l];
+		let a = <any>actions[l];
 		if (types.isUndefinedOrNull(a.order)) {
 			a.order = l;
 		}
@@ -304,7 +304,7 @@ class ActionBarRegistry implements IActionBarRegistry {
 
 	private createActionBarContributor(scope: string, ctor: IConstructorSignature0<ActionBarContributor>): void {
 		let instance = this.instantiationService.createInstance(ctor);
-		let target = <ActionBarContributor[]> collections.lookupOrInsert(this.actionBarContributorInstances, scope, []);
+		let target = <ActionBarContributor[]>collections.lookupOrInsert(this.actionBarContributorInstances, scope, []);
 		target.push(instance);
 	}
 
diff --git a/src/vs/workbench/browser/actions/openSettings.ts b/src/vs/workbench/browser/actions/openSettings.ts
index a014bdea0c349..41f45a8f822de 100644
--- a/src/vs/workbench/browser/actions/openSettings.ts
+++ b/src/vs/workbench/browser/actions/openSettings.ts
@@ -4,30 +4,30 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import URI from 'vs/base/common/uri';
 import network = require('vs/base/common/network');
 import labels = require('vs/base/common/labels');
-import {Registry} from 'vs/platform/platform';
-import {Action} from 'vs/base/common/actions';
+import { Registry } from 'vs/platform/platform';
+import { Action } from 'vs/base/common/actions';
 import strings = require('vs/base/common/strings');
-import {IWorkbenchActionRegistry, Extensions} from 'vs/workbench/common/actionRegistry';
-import {StringEditorInput} from 'vs/workbench/common/editor/stringEditorInput';
-import {getDefaultValuesContent} from 'vs/platform/configuration/common/model';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IWorkspaceConfigurationService, WORKSPACE_CONFIG_DEFAULT_PATH} from 'vs/workbench/services/configuration/common/configuration';
-import {Position} from 'vs/platform/editor/common/editor';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {IFileService, IFileOperationResult, FileOperationResult} from 'vs/platform/files/common/files';
-import {IMessageService, Severity, CloseAction} from 'vs/platform/message/common/message';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
+import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actionRegistry';
+import { StringEditorInput } from 'vs/workbench/common/editor/stringEditorInput';
+import { getDefaultValuesContent } from 'vs/platform/configuration/common/model';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IWorkspaceConfigurationService, WORKSPACE_CONFIG_DEFAULT_PATH } from 'vs/workbench/services/configuration/common/configuration';
+import { Position } from 'vs/platform/editor/common/editor';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { IFileService, IFileOperationResult, FileOperationResult } from 'vs/platform/files/common/files';
+import { IMessageService, Severity, CloseAction } from 'vs/platform/message/common/message';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
 
 interface IWorkbenchSettingsConfiguration {
 	workbench: {
diff --git a/src/vs/workbench/browser/actions/toggleSidebarPosition.ts b/src/vs/workbench/browser/actions/toggleSidebarPosition.ts
index 08d89b8e39a20..1fc53c621d628 100644
--- a/src/vs/workbench/browser/actions/toggleSidebarPosition.ts
+++ b/src/vs/workbench/browser/actions/toggleSidebarPosition.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {Registry} from 'vs/platform/platform';
-import {Action} from 'vs/base/common/actions';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {IWorkbenchActionRegistry, Extensions} from 'vs/workbench/common/actionRegistry';
-import {IConfigurationEditingService, ConfigurationTarget} from 'vs/workbench/services/configuration/common/configurationEditing';
-import {IPartService, Position} from 'vs/workbench/services/part/common/partService';
+import { Registry } from 'vs/platform/platform';
+import { Action } from 'vs/base/common/actions';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actionRegistry';
+import { IConfigurationEditingService, ConfigurationTarget } from 'vs/workbench/services/configuration/common/configurationEditing';
+import { IPartService, Position } from 'vs/workbench/services/part/common/partService';
 
 export class ToggleSidebarPositionAction extends Action {
 
diff --git a/src/vs/workbench/browser/actions/toggleSidebarVisibility.ts b/src/vs/workbench/browser/actions/toggleSidebarVisibility.ts
index c1fc13314e52c..93db0f5ba8905 100644
--- a/src/vs/workbench/browser/actions/toggleSidebarVisibility.ts
+++ b/src/vs/workbench/browser/actions/toggleSidebarVisibility.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {Registry} from 'vs/platform/platform';
-import {Action} from 'vs/base/common/actions';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IWorkbenchActionRegistry, Extensions} from 'vs/workbench/common/actionRegistry';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
+import { Registry } from 'vs/platform/platform';
+import { Action } from 'vs/base/common/actions';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actionRegistry';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
 
 export class ToggleSidebarVisibilityAction extends Action {
 
diff --git a/src/vs/workbench/browser/actions/toggleStatusbarVisibility.ts b/src/vs/workbench/browser/actions/toggleStatusbarVisibility.ts
index 245f7795c8f68..c55679fe66fef 100644
--- a/src/vs/workbench/browser/actions/toggleStatusbarVisibility.ts
+++ b/src/vs/workbench/browser/actions/toggleStatusbarVisibility.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {Registry} from 'vs/platform/platform';
-import {Action} from 'vs/base/common/actions';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IWorkbenchActionRegistry, Extensions} from 'vs/workbench/common/actionRegistry';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
+import { Registry } from 'vs/platform/platform';
+import { Action } from 'vs/base/common/actions';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actionRegistry';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
 
 export class ToggleStatusbarVisibilityAction extends Action {
 
diff --git a/src/vs/workbench/browser/composite.ts b/src/vs/workbench/browser/composite.ts
index d1cc99d50fda5..6c2be7ccbf44e 100644
--- a/src/vs/workbench/browser/composite.ts
+++ b/src/vs/workbench/browser/composite.ts
@@ -3,16 +3,16 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Dimension, Builder} from 'vs/base/browser/builder';
-import {IAction, IActionRunner, ActionRunner} from 'vs/base/common/actions';
-import {IActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
-import {WorkbenchComponent} from 'vs/workbench/common/component';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {AsyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {IComposite} from 'vs/workbench/common/composite';
-import {IEditorControl} from 'vs/platform/editor/common/editor';
-import Event, {Emitter} from 'vs/base/common/event';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Dimension, Builder } from 'vs/base/browser/builder';
+import { IAction, IActionRunner, ActionRunner } from 'vs/base/common/actions';
+import { IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
+import { WorkbenchComponent } from 'vs/workbench/common/component';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { AsyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { IComposite } from 'vs/workbench/common/composite';
+import { IEditorControl } from 'vs/platform/editor/common/editor';
+import Event, { Emitter } from 'vs/base/common/event';
 
 /**
  * Composites are layed out in the sidebar and panel part of the workbench. At a time only one composite
diff --git a/src/vs/workbench/browser/labels.ts b/src/vs/workbench/browser/labels.ts
index 48ba4bfdb8c5c..d748a09f93a28 100644
--- a/src/vs/workbench/browser/labels.ts
+++ b/src/vs/workbench/browser/labels.ts
@@ -7,17 +7,17 @@
 
 import uri from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
-import {IconLabel, IIconLabelOptions, IIconLabelCreationOptions} from 'vs/base/browser/ui/iconLabel/iconLabel';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IEditorInput} from 'vs/platform/editor/common/editor';
-import {getResource} from 'vs/workbench/common/editor';
-import {getPathLabel} from 'vs/base/common/labels';
-import {PLAINTEXT_MODE_ID} from 'vs/editor/common/modes/modesRegistry';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { IconLabel, IIconLabelOptions, IIconLabelCreationOptions } from 'vs/base/browser/ui/iconLabel/iconLabel';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IEditorInput } from 'vs/platform/editor/common/editor';
+import { getResource } from 'vs/workbench/common/editor';
+import { getPathLabel } from 'vs/base/common/labels';
+import { PLAINTEXT_MODE_ID } from 'vs/editor/common/modes/modesRegistry';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IModelService } from 'vs/editor/common/services/modelService';
 
 export interface IEditorLabel {
 	name: string;
diff --git a/src/vs/workbench/browser/layout.ts b/src/vs/workbench/browser/layout.ts
index 41a95c43828af..c04affa7cceff 100644
--- a/src/vs/workbench/browser/layout.ts
+++ b/src/vs/workbench/browser/layout.ts
@@ -4,19 +4,19 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Dimension, Builder, Box} from 'vs/base/browser/builder';
-import {Part} from 'vs/workbench/browser/part';
-import {QuickOpenController} from 'vs/workbench/browser/parts/quickopen/quickOpenController';
-import {Sash, ISashEvent, IVerticalSashLayoutProvider, IHorizontalSashLayoutProvider, Orientation} from 'vs/base/browser/ui/sash/sash';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IPartService, Position} from 'vs/workbench/services/part/common/partService';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
+import { Dimension, Builder, Box } from 'vs/base/browser/builder';
+import { Part } from 'vs/workbench/browser/part';
+import { QuickOpenController } from 'vs/workbench/browser/parts/quickopen/quickOpenController';
+import { Sash, ISashEvent, IVerticalSashLayoutProvider, IHorizontalSashLayoutProvider, Orientation } from 'vs/base/browser/ui/sash/sash';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IPartService, Position } from 'vs/workbench/services/part/common/partService';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
 
 const DEFAULT_MIN_PART_WIDTH = 170;
 const DEFAULT_MIN_PANEL_PART_HEIGHT = 77;
diff --git a/src/vs/workbench/browser/panel.ts b/src/vs/workbench/browser/panel.ts
index 5dbf58c5f7a8a..ce15a3dbc54dc 100644
--- a/src/vs/workbench/browser/panel.ts
+++ b/src/vs/workbench/browser/panel.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 
 import * as DOM from 'vs/base/browser/dom';
-import {Registry} from 'vs/platform/platform';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IPanel} from 'vs/workbench/common/panel';
-import {Composite, CompositeDescriptor, CompositeRegistry} from 'vs/workbench/browser/composite';
+import { Registry } from 'vs/platform/platform';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IPanel } from 'vs/workbench/common/panel';
+import { Composite, CompositeDescriptor, CompositeRegistry } from 'vs/workbench/browser/composite';
 import { Action } from 'vs/base/common/actions';
 import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
 import { IPartService } from 'vs/workbench/services/part/common/partService';
@@ -92,7 +92,7 @@ export abstract class TogglePanelAction extends Action {
 	}
 
 	private isPanelShowing(): boolean {
-		let panel= this.panelService.getActivePanel();
+		let panel = this.panelService.getActivePanel();
 		return panel && panel.getId() === this.panelId;
 	}
 
diff --git a/src/vs/workbench/browser/part.ts b/src/vs/workbench/browser/part.ts
index 36b088b5146c5..c59bc39484d6b 100644
--- a/src/vs/workbench/browser/part.ts
+++ b/src/vs/workbench/browser/part.ts
@@ -6,8 +6,8 @@
 'use strict';
 
 import 'vs/css!./media/part';
-import {Dimension, Builder} from 'vs/base/browser/builder';
-import {WorkbenchComponent} from 'vs/workbench/common/component';
+import { Dimension, Builder } from 'vs/base/browser/builder';
+import { WorkbenchComponent } from 'vs/workbench/common/component';
 
 /**
  * Parts are layed out in the workbench and have their own layout that arranges a title,
diff --git a/src/vs/workbench/browser/parts/activitybar/activityAction.ts b/src/vs/workbench/browser/parts/activitybar/activityAction.ts
index ce5e92acb9864..7d2094c0866dd 100644
--- a/src/vs/workbench/browser/parts/activitybar/activityAction.ts
+++ b/src/vs/workbench/browser/parts/activitybar/activityAction.ts
@@ -7,12 +7,12 @@
 
 import 'vs/css!./media/activityaction';
 import nls = require('vs/nls');
-import {Builder, $} from 'vs/base/browser/builder';
-import {DelayedDragHandler} from 'vs/base/browser/dnd';
-import {Action} from 'vs/base/common/actions';
-import {BaseActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
-import {ProgressBadge, TextBadge, NumberBadge, IconBadge, IBadge} from 'vs/workbench/services/activity/common/activityService';
-import Event, {Emitter} from 'vs/base/common/event';
+import { Builder, $ } from 'vs/base/browser/builder';
+import { DelayedDragHandler } from 'vs/base/browser/dnd';
+import { Action } from 'vs/base/common/actions';
+import { BaseActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
+import { ProgressBadge, TextBadge, NumberBadge, IconBadge, IBadge } from 'vs/workbench/services/activity/common/activityService';
+import Event, { Emitter } from 'vs/base/common/event';
 
 export class ActivityAction extends Action {
 
diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts b/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts
index a9dbf479d3aa3..293ccb4d87c01 100644
--- a/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts
+++ b/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts
@@ -7,21 +7,21 @@
 
 import 'vs/css!./media/activitybarpart';
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Builder, $} from 'vs/base/browser/builder';
-import {Action} from 'vs/base/common/actions';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Builder, $ } from 'vs/base/browser/builder';
+import { Action } from 'vs/base/common/actions';
 import errors = require('vs/base/common/errors');
-import {ActionsOrientation, ActionBar, IActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
-import {Registry} from 'vs/platform/platform';
-import {IComposite} from 'vs/workbench/common/composite';
-import {ViewletDescriptor, ViewletRegistry, Extensions as ViewletExtensions} from 'vs/workbench/browser/viewlet';
-import {Part} from 'vs/workbench/browser/part';
-import {ActivityAction, ActivityActionItem} from 'vs/workbench/browser/parts/activitybar/activityAction';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IActivityService, IBadge} from 'vs/workbench/services/activity/common/activityService';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
+import { ActionsOrientation, ActionBar, IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
+import { Registry } from 'vs/platform/platform';
+import { IComposite } from 'vs/workbench/common/composite';
+import { ViewletDescriptor, ViewletRegistry, Extensions as ViewletExtensions } from 'vs/workbench/browser/viewlet';
+import { Part } from 'vs/workbench/browser/part';
+import { ActivityAction, ActivityActionItem } from 'vs/workbench/browser/parts/activitybar/activityAction';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IActivityService, IBadge } from 'vs/workbench/services/activity/common/activityService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
 
 export class ActivitybarPart extends Part implements IActivityService {
 	public _serviceBrand: any;
diff --git a/src/vs/workbench/browser/parts/compositePart.ts b/src/vs/workbench/browser/parts/compositePart.ts
index 2eef1007ba446..47a26072012af 100644
--- a/src/vs/workbench/browser/parts/compositePart.ts
+++ b/src/vs/workbench/browser/parts/compositePart.ts
@@ -7,33 +7,33 @@ import 'vs/css!./media/compositepart';
 import nls = require('vs/nls');
 import timer = require('vs/base/common/timer');
 import uuid = require('vs/base/common/uuid');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Registry} from 'vs/platform/platform';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {Dimension, Builder, $} from 'vs/base/browser/builder';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Registry } from 'vs/platform/platform';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { Dimension, Builder, $ } from 'vs/base/browser/builder';
 import events = require('vs/base/common/events');
 import strings = require('vs/base/common/strings');
-import {Emitter} from 'vs/base/common/event';
+import { Emitter } from 'vs/base/common/event';
 import types = require('vs/base/common/types');
 import errors = require('vs/base/common/errors');
-import {CONTEXT as ToolBarContext, ToolBar} from 'vs/base/browser/ui/toolbar/toolbar';
-import {IActionItem, ActionsOrientation} from 'vs/base/browser/ui/actionbar/actionbar';
-import {ProgressBar} from 'vs/base/browser/ui/progressbar/progressbar';
-import {IActionBarRegistry, Extensions, prepareActions} from 'vs/workbench/browser/actionBarRegistry';
-import {Action, IAction} from 'vs/base/common/actions';
-import {Part} from 'vs/workbench/browser/part';
-import {Composite, CompositeRegistry} from 'vs/workbench/browser/composite';
-import {IComposite} from 'vs/workbench/common/composite';
-import {WorkbenchProgressService} from 'vs/workbench/services/progress/browser/progressService';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {IProgressService} from 'vs/platform/progress/common/progress';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
+import { CONTEXT as ToolBarContext, ToolBar } from 'vs/base/browser/ui/toolbar/toolbar';
+import { IActionItem, ActionsOrientation } from 'vs/base/browser/ui/actionbar/actionbar';
+import { ProgressBar } from 'vs/base/browser/ui/progressbar/progressbar';
+import { IActionBarRegistry, Extensions, prepareActions } from 'vs/workbench/browser/actionBarRegistry';
+import { Action, IAction } from 'vs/base/common/actions';
+import { Part } from 'vs/workbench/browser/part';
+import { Composite, CompositeRegistry } from 'vs/workbench/browser/composite';
+import { IComposite } from 'vs/workbench/common/composite';
+import { WorkbenchProgressService } from 'vs/workbench/services/progress/browser/progressService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { IProgressService } from 'vs/platform/progress/common/progress';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
 
 export abstract class CompositePart<T extends Composite> extends Part {
 	private instantiatedCompositeListeners: IDisposable[];
diff --git a/src/vs/workbench/browser/parts/editor/baseEditor.ts b/src/vs/workbench/browser/parts/editor/baseEditor.ts
index 9918792ef8b17..a398aab4502f3 100644
--- a/src/vs/workbench/browser/parts/editor/baseEditor.ts
+++ b/src/vs/workbench/browser/parts/editor/baseEditor.ts
@@ -4,18 +4,18 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Action, IAction} from 'vs/base/common/actions';
-import {ActionBarContributor} from 'vs/workbench/browser/actionBarRegistry';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Action, IAction } from 'vs/base/common/actions';
+import { ActionBarContributor } from 'vs/workbench/browser/actionBarRegistry';
 import types = require('vs/base/common/types');
-import {Builder} from 'vs/base/browser/builder';
-import {Registry} from 'vs/platform/platform';
-import {Panel} from 'vs/workbench/browser/panel';
-import {EditorInput, IFileEditorInput, EditorOptions, IEditorDescriptor, IEditorInputFactory, IEditorRegistry, Extensions} from 'vs/workbench/common/editor';
-import {IEditor, Position, POSITIONS} from 'vs/platform/editor/common/editor';
-import {IInstantiationService, IConstructorSignature0} from 'vs/platform/instantiation/common/instantiation';
-import {SyncDescriptor, AsyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
+import { Builder } from 'vs/base/browser/builder';
+import { Registry } from 'vs/platform/platform';
+import { Panel } from 'vs/workbench/browser/panel';
+import { EditorInput, IFileEditorInput, EditorOptions, IEditorDescriptor, IEditorInputFactory, IEditorRegistry, Extensions } from 'vs/workbench/common/editor';
+import { IEditor, Position, POSITIONS } from 'vs/platform/editor/common/editor';
+import { IInstantiationService, IConstructorSignature0 } from 'vs/platform/instantiation/common/instantiation';
+import { SyncDescriptor, AsyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 
 /**
  * The base class of editors in the workbench. Editors register themselves for specific editor inputs.
@@ -215,7 +215,7 @@ class EditorRegistry implements IEditorRegistry {
 	}
 
 	public getEditor(input: EditorInput): EditorDescriptor {
-		const findEditorDescriptors = (input: EditorInput, byInstanceOf?: boolean): EditorDescriptor[]=> {
+		const findEditorDescriptors = (input: EditorInput, byInstanceOf?: boolean): EditorDescriptor[] => {
 			const matchingDescriptors: EditorDescriptor[] = [];
 
 			for (let i = 0; i < this.editors.length; i++) {
@@ -290,7 +290,7 @@ class EditorRegistry implements IEditorRegistry {
 		for (let i = 0; i < this.editors.length; i++) {
 			const editor = this.editors[i];
 			const editorInputDescriptors = <SyncDescriptor<EditorInput>[]>editor[INPUT_DESCRIPTORS_PROPERTY];
-			inputClasses.push(...editorInputDescriptors.map(descriptor=> descriptor.ctor));
+			inputClasses.push(...editorInputDescriptors.map(descriptor => descriptor.ctor));
 		}
 
 		return inputClasses;
diff --git a/src/vs/workbench/browser/parts/editor/binaryDiffEditor.ts b/src/vs/workbench/browser/parts/editor/binaryDiffEditor.ts
index 3cd86c445739d..6f10424b692bd 100644
--- a/src/vs/workbench/browser/parts/editor/binaryDiffEditor.ts
+++ b/src/vs/workbench/browser/parts/editor/binaryDiffEditor.ts
@@ -6,21 +6,21 @@
 'use strict';
 
 import 'vs/css!./media/binarydiffeditor';
-import Event, {Emitter} from 'vs/base/common/event';
-import {TPromise} from 'vs/base/common/winjs.base';
+import Event, { Emitter } from 'vs/base/common/event';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import URI from 'vs/base/common/uri';
-import {Sash, ISashEvent, IVerticalSashLayoutProvider} from 'vs/base/browser/ui/sash/sash';
-import {Dimension, Builder, $} from 'vs/base/browser/builder';
-import {ResourceViewer} from 'vs/base/browser/ui/resourceviewer/resourceViewer';
-import {DomScrollableElement} from 'vs/base/browser/ui/scrollbar/scrollableElement';
-import {BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {EditorInput, EditorOptions, BINARY_DIFF_EDITOR_ID} from 'vs/workbench/common/editor';
-import {BinaryEditorModel} from 'vs/workbench/common/editor/binaryEditorModel';
-import {DiffEditorModel} from 'vs/workbench/common/editor/diffEditorModel';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
+import { Sash, ISashEvent, IVerticalSashLayoutProvider } from 'vs/base/browser/ui/sash/sash';
+import { Dimension, Builder, $ } from 'vs/base/browser/builder';
+import { ResourceViewer } from 'vs/base/browser/ui/resourceviewer/resourceViewer';
+import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
+import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { EditorInput, EditorOptions, BINARY_DIFF_EDITOR_ID } from 'vs/workbench/common/editor';
+import { BinaryEditorModel } from 'vs/workbench/common/editor/binaryEditorModel';
+import { DiffEditorModel } from 'vs/workbench/common/editor/diffEditorModel';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
 
 /**
  * An implementation of editor for diffing binary files like images or videos.
diff --git a/src/vs/workbench/browser/parts/editor/binaryEditor.ts b/src/vs/workbench/browser/parts/editor/binaryEditor.ts
index 42c50fcd567d7..a957f308b048d 100644
--- a/src/vs/workbench/browser/parts/editor/binaryEditor.ts
+++ b/src/vs/workbench/browser/parts/editor/binaryEditor.ts
@@ -6,17 +6,17 @@
 'use strict';
 
 import nls = require('vs/nls');
-import Event, {Emitter} from 'vs/base/common/event';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Dimension, Builder, $} from 'vs/base/browser/builder';
-import {ResourceViewer} from 'vs/base/browser/ui/resourceviewer/resourceViewer';
-import {EditorModel, EditorInput, EditorOptions} from 'vs/workbench/common/editor';
-import {BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {BinaryEditorModel} from 'vs/workbench/common/editor/binaryEditorModel';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {DomScrollableElement} from 'vs/base/browser/ui/scrollbar/scrollableElement';
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
+import Event, { Emitter } from 'vs/base/common/event';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Dimension, Builder, $ } from 'vs/base/browser/builder';
+import { ResourceViewer } from 'vs/base/browser/ui/resourceviewer/resourceViewer';
+import { EditorModel, EditorInput, EditorOptions } from 'vs/workbench/common/editor';
+import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { BinaryEditorModel } from 'vs/workbench/common/editor/binaryEditorModel';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
 
 /*
  * This class is only intended to be subclassed and not instantiated.
diff --git a/src/vs/workbench/browser/parts/editor/editor.contribution.ts b/src/vs/workbench/browser/parts/editor/editor.contribution.ts
index 0e7a4f6409eb3..5a7925076db91 100644
--- a/src/vs/workbench/browser/parts/editor/editor.contribution.ts
+++ b/src/vs/workbench/browser/parts/editor/editor.contribution.ts
@@ -4,31 +4,32 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Registry} from 'vs/platform/platform';
+import { Registry } from 'vs/platform/platform';
 import nls = require('vs/nls');
-import {Action, IAction} from 'vs/base/common/actions';
-import {IEditorQuickOpenEntry, IQuickOpenRegistry, Extensions as QuickOpenExtensions, QuickOpenHandlerDescriptor} from 'vs/workbench/browser/quickopen';
-import {StatusbarItemDescriptor, StatusbarAlignment, IStatusbarRegistry, Extensions as StatusExtensions} from 'vs/workbench/browser/parts/statusbar/statusbar';
-import {EditorDescriptor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {IEditorRegistry, Extensions as EditorExtensions} from 'vs/workbench/common/editor';
-import {StringEditorInput} from 'vs/workbench/common/editor/stringEditorInput';
-import {StringEditor} from 'vs/workbench/browser/parts/editor/stringEditor';
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
-import {UntitledEditorInput} from 'vs/workbench/common/editor/untitledEditorInput';
-import {ResourceEditorInput} from 'vs/workbench/common/editor/resourceEditorInput';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {TextDiffEditor} from 'vs/workbench/browser/parts/editor/textDiffEditor';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {BinaryResourceDiffEditor} from 'vs/workbench/browser/parts/editor/binaryDiffEditor';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {ChangeEncodingAction, ChangeEOLAction, ChangeModeAction, EditorStatus} from 'vs/workbench/browser/parts/editor/editorStatus';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {Scope, IActionBarRegistry, Extensions as ActionBarExtensions, ActionBarContributor} from 'vs/workbench/browser/actionBarRegistry';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {SyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {KeyMod, KeyChord, KeyCode} from 'vs/base/common/keyCodes';
-import {CloseEditorsInGroupAction, CloseEditorsInOtherGroupsAction, CloseAllEditorsAction, MoveGroupLeftAction, MoveGroupRightAction, SplitEditorAction, KeepEditorAction, CloseOtherEditorsInGroupAction, OpenToSideAction,
+import { Action, IAction } from 'vs/base/common/actions';
+import { IEditorQuickOpenEntry, IQuickOpenRegistry, Extensions as QuickOpenExtensions, QuickOpenHandlerDescriptor } from 'vs/workbench/browser/quickopen';
+import { StatusbarItemDescriptor, StatusbarAlignment, IStatusbarRegistry, Extensions as StatusExtensions } from 'vs/workbench/browser/parts/statusbar/statusbar';
+import { EditorDescriptor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/common/editor';
+import { StringEditorInput } from 'vs/workbench/common/editor/stringEditorInput';
+import { StringEditor } from 'vs/workbench/browser/parts/editor/stringEditor';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
+import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput';
+import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { TextDiffEditor } from 'vs/workbench/browser/parts/editor/textDiffEditor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { BinaryResourceDiffEditor } from 'vs/workbench/browser/parts/editor/binaryDiffEditor';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { ChangeEncodingAction, ChangeEOLAction, ChangeModeAction, EditorStatus } from 'vs/workbench/browser/parts/editor/editorStatus';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { Scope, IActionBarRegistry, Extensions as ActionBarExtensions, ActionBarContributor } from 'vs/workbench/browser/actionBarRegistry';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { KeyMod, KeyChord, KeyCode } from 'vs/base/common/keyCodes';
+import {
+	CloseEditorsInGroupAction, CloseEditorsInOtherGroupsAction, CloseAllEditorsAction, MoveGroupLeftAction, MoveGroupRightAction, SplitEditorAction, KeepEditorAction, CloseOtherEditorsInGroupAction, OpenToSideAction,
 	NavigateBetweenGroupsAction, FocusActiveGroupAction, FocusFirstGroupAction, FocusSecondGroupAction, FocusThirdGroupAction, EvenGroupWidthsAction, MaximizeGroupAction, MinimizeOtherGroupsAction, FocusPreviousGroup, FocusNextGroup, ShowEditorsInLeftGroupAction,
 	toEditorQuickOpenEntry, CloseLeftEditorsInGroupAction, CloseRightEditorsInGroupAction, OpenNextEditor, OpenPreviousEditor, NavigateBackwardsAction, NavigateForwardAction, ReopenClosedEditorAction, OpenPreviousRecentlyUsedEditorInGroupAction, NAVIGATE_IN_LEFT_GROUP_PREFIX,
 	OpenPreviousEditorFromHistoryAction, ShowAllEditorsAction, NAVIGATE_ALL_EDITORS_GROUP_PREFIX, ClearEditorHistoryAction, ShowEditorsInCenterGroupAction, MoveEditorRightInGroupAction,
diff --git a/src/vs/workbench/browser/parts/editor/editorActions.ts b/src/vs/workbench/browser/parts/editor/editorActions.ts
index a70c39c2fdc42..73709f8b3fd5c 100644
--- a/src/vs/workbench/browser/parts/editor/editorActions.ts
+++ b/src/vs/workbench/browser/parts/editor/editorActions.ts
@@ -4,22 +4,22 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {Action} from 'vs/base/common/actions';
-import {EditorInput, getUntitledOrFileResource, TextEditorOptions, EditorOptions, IEditorIdentifier, IEditorContext, ActiveEditorMoveArguments, ActiveEditorMovePositioning, EditorCommands} from 'vs/workbench/common/editor';
-import {QuickOpenEntryGroup} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {EditorQuickOpenEntry, EditorQuickOpenEntryGroup, IEditorQuickOpenEntry, QuickOpenAction} from 'vs/workbench/browser/quickopen';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {Position, IEditor, Direction, IResourceInput, IEditorInput} from 'vs/platform/editor/common/editor';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IHistoryService} from 'vs/workbench/services/history/common/history';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IEditorGroupService, GroupArrangement} from 'vs/workbench/services/group/common/groupService';
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
-import {ICommandService} from 'vs/platform/commands/common/commands';
+import { Action } from 'vs/base/common/actions';
+import { EditorInput, getUntitledOrFileResource, TextEditorOptions, EditorOptions, IEditorIdentifier, IEditorContext, ActiveEditorMoveArguments, ActiveEditorMovePositioning, EditorCommands } from 'vs/workbench/common/editor';
+import { QuickOpenEntryGroup } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { EditorQuickOpenEntry, EditorQuickOpenEntryGroup, IEditorQuickOpenEntry, QuickOpenAction } from 'vs/workbench/browser/quickopen';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { Position, IEditor, Direction, IResourceInput, IEditorInput } from 'vs/platform/editor/common/editor';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IHistoryService } from 'vs/workbench/services/history/common/history';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IEditorGroupService, GroupArrangement } from 'vs/workbench/services/group/common/groupService';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
+import { ICommandService } from 'vs/platform/commands/common/commands';
 
 export class SplitEditorAction extends Action {
 
@@ -409,7 +409,7 @@ export class OpenToSideAction extends Action {
 	public static OPEN_TO_SIDE_ID = 'workbench.action.openToSide';
 	public static OPEN_TO_SIDE_LABEL = nls.localize('openToSide', "Open to the Side");
 
-	constructor(@IWorkbenchEditorService private editorService: IWorkbenchEditorService) {
+	constructor( @IWorkbenchEditorService private editorService: IWorkbenchEditorService) {
 		super(OpenToSideAction.OPEN_TO_SIDE_ID, OpenToSideAction.OPEN_TO_SIDE_LABEL);
 
 		this.class = 'quick-open-sidebyside';
diff --git a/src/vs/workbench/browser/parts/editor/editorCommands.ts b/src/vs/workbench/browser/parts/editor/editorCommands.ts
index 8f4c719e87328..af33b2377d095 100644
--- a/src/vs/workbench/browser/parts/editor/editorCommands.ts
+++ b/src/vs/workbench/browser/parts/editor/editorCommands.ts
@@ -5,19 +5,19 @@
 
 import * as nls from 'vs/nls';
 import * as types from 'vs/base/common/types';
-import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IWorkbenchEditorConfiguration, ActiveEditorMoveArguments, ActiveEditorMovePositioning, ActiveEditorMovePositioningBy, EditorCommands} from 'vs/workbench/common/editor';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IEditor, Position, POSITIONS} from 'vs/platform/editor/common/editor';
-import {EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {TextCompareEditorVisible, TextDiffEditor} from 'vs/workbench/browser/parts/editor/textDiffEditor';
-import {EditorStacksModel} from 'vs/workbench/common/editor/editorStacksModel';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IMessageService, Severity, CloseAction} from 'vs/platform/message/common/message';
-import {Action} from 'vs/base/common/actions';
+import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IWorkbenchEditorConfiguration, ActiveEditorMoveArguments, ActiveEditorMovePositioning, ActiveEditorMovePositioningBy, EditorCommands } from 'vs/workbench/common/editor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IEditor, Position, POSITIONS } from 'vs/platform/editor/common/editor';
+import { EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { TextCompareEditorVisible, TextDiffEditor } from 'vs/workbench/browser/parts/editor/textDiffEditor';
+import { EditorStacksModel } from 'vs/workbench/common/editor/editorStacksModel';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IMessageService, Severity, CloseAction } from 'vs/platform/message/common/message';
+import { Action } from 'vs/base/common/actions';
 
 export function setup() {
 	registerActiveEditorMoveCommand();
diff --git a/src/vs/workbench/browser/parts/editor/editorPart.ts b/src/vs/workbench/browser/parts/editor/editorPart.ts
index 91763e0466e1a..098bcce4dc15f 100644
--- a/src/vs/workbench/browser/parts/editor/editorPart.ts
+++ b/src/vs/workbench/browser/parts/editor/editorPart.ts
@@ -7,38 +7,38 @@
 
 import 'vs/css!./media/editorpart';
 import 'vs/workbench/browser/parts/editor/editor.contribution';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Registry} from 'vs/platform/platform';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Registry } from 'vs/platform/platform';
 import timer = require('vs/base/common/timer');
-import {Dimension, Builder, $} from 'vs/base/browser/builder';
+import { Dimension, Builder, $ } from 'vs/base/browser/builder';
 import nls = require('vs/nls');
 import strings = require('vs/base/common/strings');
 import arrays = require('vs/base/common/arrays');
 import types = require('vs/base/common/types');
 import errors = require('vs/base/common/errors');
-import {toErrorMessage} from 'vs/base/common/errorMessage';
-import {Scope as MementoScope} from 'vs/workbench/common/memento';
-import {Part} from 'vs/workbench/browser/part';
-import {BaseEditor, EditorDescriptor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {IEditorRegistry, Extensions as EditorExtensions, EditorInput, EditorOptions, ConfirmResult, EditorInputEvent, IWorkbenchEditorConfiguration, IEditorDescriptor, TextEditorOptions} from 'vs/workbench/common/editor';
-import {SideBySideEditorControl, Rochade, ISideBySideEditorControl, ProgressState} from 'vs/workbench/browser/parts/editor/sideBySideEditorControl';
-import {WorkbenchProgressService} from 'vs/workbench/services/progress/browser/progressService';
-import {GroupArrangement} from 'vs/workbench/services/group/common/groupService';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IEditorPart} from 'vs/workbench/services/editor/browser/editorService';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {Position, POSITIONS, Direction} from 'vs/platform/editor/common/editor';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {IMessageService, IMessageWithAction, Severity} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IProgressService} from 'vs/platform/progress/common/progress';
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
-import {EditorStacksModel, EditorGroup, EditorIdentifier} from 'vs/workbench/common/editor/editorStacksModel';
-import Event, {Emitter} from 'vs/base/common/event';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
+import { Scope as MementoScope } from 'vs/workbench/common/memento';
+import { Part } from 'vs/workbench/browser/part';
+import { BaseEditor, EditorDescriptor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { IEditorRegistry, Extensions as EditorExtensions, EditorInput, EditorOptions, ConfirmResult, EditorInputEvent, IWorkbenchEditorConfiguration, IEditorDescriptor, TextEditorOptions } from 'vs/workbench/common/editor';
+import { SideBySideEditorControl, Rochade, ISideBySideEditorControl, ProgressState } from 'vs/workbench/browser/parts/editor/sideBySideEditorControl';
+import { WorkbenchProgressService } from 'vs/workbench/services/progress/browser/progressService';
+import { GroupArrangement } from 'vs/workbench/services/group/common/groupService';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IEditorPart } from 'vs/workbench/services/editor/browser/editorService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { Position, POSITIONS, Direction } from 'vs/platform/editor/common/editor';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { IMessageService, IMessageWithAction, Severity } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IProgressService } from 'vs/platform/progress/common/progress';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
+import { EditorStacksModel, EditorGroup, EditorIdentifier } from 'vs/workbench/common/editor/editorStacksModel';
+import Event, { Emitter } from 'vs/base/common/event';
 
 class ProgressMonitor {
 
diff --git a/src/vs/workbench/browser/parts/editor/editorPicker.ts b/src/vs/workbench/browser/parts/editor/editorPicker.ts
index 81a96b9627ff6..d2afc71aa7b9c 100644
--- a/src/vs/workbench/browser/parts/editor/editorPicker.ts
+++ b/src/vs/workbench/browser/parts/editor/editorPicker.ts
@@ -5,26 +5,26 @@
 'use strict';
 
 import 'vs/css!./media/editorpicker';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import labels = require('vs/base/common/labels');
 import URI from 'vs/base/common/uri';
 import errors = require('vs/base/common/errors');
 import strings = require('vs/base/common/strings');
-import {IIconLabelOptions} from 'vs/base/browser/ui/iconLabel/iconLabel';
-import {IAutoFocus, Mode, IEntryRunContext, IQuickNavigateConfiguration} from 'vs/base/parts/quickopen/common/quickOpen';
-import {QuickOpenModel, QuickOpenEntry, QuickOpenEntryGroup} from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { IIconLabelOptions } from 'vs/base/browser/ui/iconLabel/iconLabel';
+import { IAutoFocus, Mode, IEntryRunContext, IQuickNavigateConfiguration } from 'vs/base/parts/quickopen/common/quickOpen';
+import { QuickOpenModel, QuickOpenEntry, QuickOpenEntryGroup } from 'vs/base/parts/quickopen/browser/quickOpenModel';
 import scorer = require('vs/base/common/scorer');
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {getIconClasses} from 'vs/workbench/browser/labels';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {QuickOpenHandler} from 'vs/workbench/browser/quickopen';
-import {Position} from 'vs/platform/editor/common/editor';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {EditorInput, asFileEditorInput, IEditorGroup, IEditorStacksModel} from 'vs/workbench/common/editor';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { getIconClasses } from 'vs/workbench/browser/labels';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { QuickOpenHandler } from 'vs/workbench/browser/quickopen';
+import { Position } from 'vs/platform/editor/common/editor';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { EditorInput, asFileEditorInput, IEditorGroup, IEditorStacksModel } from 'vs/workbench/common/editor';
 
 export class EditorPickerEntry extends QuickOpenEntryGroup {
 	private stacks: IEditorStacksModel;
diff --git a/src/vs/workbench/browser/parts/editor/editorStatus.ts b/src/vs/workbench/browser/parts/editor/editorStatus.ts
index 0e780cff5348e..66bbdf5ac51ae 100644
--- a/src/vs/workbench/browser/parts/editor/editorStatus.ts
+++ b/src/vs/workbench/browser/parts/editor/editorStatus.ts
@@ -7,44 +7,44 @@
 
 import 'vs/css!./media/editorstatus';
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {$, append, runAtThisOrScheduleAtNextAnimationFrame} from 'vs/base/browser/dom';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { $, append, runAtThisOrScheduleAtNextAnimationFrame } from 'vs/base/browser/dom';
 import strings = require('vs/base/common/strings');
 import paths = require('vs/base/common/paths');
 import types = require('vs/base/common/types');
 import uri from 'vs/base/common/uri';
 import errors = require('vs/base/common/errors');
-import {IStatusbarItem} from 'vs/workbench/browser/parts/statusbar/statusbar';
-import {Action} from 'vs/base/common/actions';
-import {language, LANGUAGE_DEFAULT} from 'vs/base/common/platform';
-import {IMode} from 'vs/editor/common/modes';
-import {UntitledEditorInput} from 'vs/workbench/common/editor/untitledEditorInput';
-import {IFileEditorInput, EncodingMode, IEncodingSupport, asFileEditorInput, getUntitledOrFileResource} from 'vs/workbench/common/editor';
-import {IDisposable, combinedDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {IConfigurationEditingService, ConfigurationTarget} from 'vs/workbench/services/configuration/common/configurationEditing';
-import {IEditorAction, ICommonCodeEditor, IModelContentChangedEvent, IModelOptionsChangedEvent, IModelModeChangedEvent, ICursorPositionChangedEvent} from 'vs/editor/common/editorCommon';
-import {ICodeEditor, IDiffEditor} from 'vs/editor/browser/editorBrowser';
-import {TrimTrailingWhitespaceAction} from 'vs/editor/contrib/linesOperations/common/linesOperations';
-import {EndOfLineSequence, EditorType, IModel, IDiffEditorModel, IEditor} from 'vs/editor/common/editorCommon';
-import {IndentUsingSpaces, IndentUsingTabs, DetectIndentation, IndentationToSpacesAction, IndentationToTabsAction} from 'vs/editor/contrib/indentation/common/indentation';
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
-import {BaseBinaryResourceEditor} from 'vs/workbench/browser/parts/editor/binaryEditor';
-import {BinaryResourceDiffEditor} from 'vs/workbench/browser/parts/editor/binaryDiffEditor';
-import {IEditor as IBaseEditor} from 'vs/platform/editor/common/editor';
-import {IWorkbenchEditorService}  from 'vs/workbench/services/editor/common/editorService';
-import {IQuickOpenService, IPickOpenEntry, IFilePickOpenEntry} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IWorkspaceConfigurationService} from 'vs/workbench/services/configuration/common/configuration';
-import {IFilesConfiguration, SUPPORTED_ENCODINGS} from 'vs/platform/files/common/files';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {StyleMutator} from 'vs/base/browser/styleMutator';
-import {Selection} from 'vs/editor/common/core/selection';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {TabFocus} from 'vs/editor/common/config/commonEditorConfig';
-import {ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
+import { IStatusbarItem } from 'vs/workbench/browser/parts/statusbar/statusbar';
+import { Action } from 'vs/base/common/actions';
+import { language, LANGUAGE_DEFAULT } from 'vs/base/common/platform';
+import { IMode } from 'vs/editor/common/modes';
+import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput';
+import { IFileEditorInput, EncodingMode, IEncodingSupport, asFileEditorInput, getUntitledOrFileResource } from 'vs/workbench/common/editor';
+import { IDisposable, combinedDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { IConfigurationEditingService, ConfigurationTarget } from 'vs/workbench/services/configuration/common/configurationEditing';
+import { IEditorAction, ICommonCodeEditor, IModelContentChangedEvent, IModelOptionsChangedEvent, IModelModeChangedEvent, ICursorPositionChangedEvent } from 'vs/editor/common/editorCommon';
+import { ICodeEditor, IDiffEditor } from 'vs/editor/browser/editorBrowser';
+import { TrimTrailingWhitespaceAction } from 'vs/editor/contrib/linesOperations/common/linesOperations';
+import { EndOfLineSequence, EditorType, IModel, IDiffEditorModel, IEditor } from 'vs/editor/common/editorCommon';
+import { IndentUsingSpaces, IndentUsingTabs, DetectIndentation, IndentationToSpacesAction, IndentationToTabsAction } from 'vs/editor/contrib/indentation/common/indentation';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
+import { BaseBinaryResourceEditor } from 'vs/workbench/browser/parts/editor/binaryEditor';
+import { BinaryResourceDiffEditor } from 'vs/workbench/browser/parts/editor/binaryDiffEditor';
+import { IEditor as IBaseEditor } from 'vs/platform/editor/common/editor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IQuickOpenService, IPickOpenEntry, IFilePickOpenEntry } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration';
+import { IFilesConfiguration, SUPPORTED_ENCODINGS } from 'vs/platform/files/common/files';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { StyleMutator } from 'vs/base/browser/styleMutator';
+import { Selection } from 'vs/editor/common/core/selection';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { TabFocus } from 'vs/editor/common/config/commonEditorConfig';
+import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
 
 function getCodeEditor(editorWidget: IEditor): ICommonCodeEditor {
 	if (editorWidget) {
diff --git a/src/vs/workbench/browser/parts/editor/noTabsTitleControl.ts b/src/vs/workbench/browser/parts/editor/noTabsTitleControl.ts
index 5b7d183eb15e4..7d969698c0970 100644
--- a/src/vs/workbench/browser/parts/editor/noTabsTitleControl.ts
+++ b/src/vs/workbench/browser/parts/editor/noTabsTitleControl.ts
@@ -7,10 +7,10 @@
 
 import 'vs/css!./media/notabstitle';
 import errors = require('vs/base/common/errors');
-import {IEditorGroup, getResource} from 'vs/workbench/common/editor';
+import { IEditorGroup, getResource } from 'vs/workbench/common/editor';
 import DOM = require('vs/base/browser/dom');
-import {TitleControl} from 'vs/workbench/browser/parts/editor/titleControl';
-import {EditorLabel} from 'vs/workbench/browser/labels';
+import { TitleControl } from 'vs/workbench/browser/parts/editor/titleControl';
+import { EditorLabel } from 'vs/workbench/browser/labels';
 
 export class NoTabsTitleControl extends TitleControl {
 	private titleContainer: HTMLElement;
diff --git a/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts b/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts
index 84963de008a00..c296391d048e5 100644
--- a/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts
+++ b/src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts
@@ -7,35 +7,35 @@
 
 import 'vs/css!./media/sidebyside';
 import arrays = require('vs/base/common/arrays');
-import Event, {Emitter} from 'vs/base/common/event';
-import {StandardMouseEvent} from 'vs/base/browser/mouseEvent';
+import Event, { Emitter } from 'vs/base/common/event';
+import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
 import types = require('vs/base/common/types');
-import {Dimension, Builder, $} from 'vs/base/browser/builder';
-import {Sash, ISashEvent, IVerticalSashLayoutProvider} from 'vs/base/browser/ui/sash/sash';
-import {ProgressBar} from 'vs/base/browser/ui/progressbar/progressbar';
-import {BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor';
+import { Dimension, Builder, $ } from 'vs/base/browser/builder';
+import { Sash, ISashEvent, IVerticalSashLayoutProvider } from 'vs/base/browser/ui/sash/sash';
+import { ProgressBar } from 'vs/base/browser/ui/progressbar/progressbar';
+import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
 import DOM = require('vs/base/browser/dom');
 import URI from 'vs/base/common/uri';
 import errors = require('vs/base/common/errors');
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {isMacintosh} from 'vs/base/common/platform';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {Position, POSITIONS} from 'vs/platform/editor/common/editor';
-import {IEditorGroupService, GroupArrangement} from 'vs/workbench/services/group/common/groupService';
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {TabsTitleControl} from 'vs/workbench/browser/parts/editor/tabsTitleControl';
-import {TitleControl} from 'vs/workbench/browser/parts/editor/titleControl';
-import {NoTabsTitleControl} from 'vs/workbench/browser/parts/editor/noTabsTitleControl';
-import {IEditorStacksModel, IStacksModelChangeEvent, IWorkbenchEditorConfiguration, IEditorGroup, EditorOptions, TextEditorOptions, IEditorIdentifier} from 'vs/workbench/common/editor';
-import {ITitleAreaControl} from 'vs/workbench/browser/parts/editor/titleControl';
-import {extractResources} from 'vs/base/browser/dnd';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { isMacintosh } from 'vs/base/common/platform';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { Position, POSITIONS } from 'vs/platform/editor/common/editor';
+import { IEditorGroupService, GroupArrangement } from 'vs/workbench/services/group/common/groupService';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { TabsTitleControl } from 'vs/workbench/browser/parts/editor/tabsTitleControl';
+import { TitleControl } from 'vs/workbench/browser/parts/editor/titleControl';
+import { NoTabsTitleControl } from 'vs/workbench/browser/parts/editor/noTabsTitleControl';
+import { IEditorStacksModel, IStacksModelChangeEvent, IWorkbenchEditorConfiguration, IEditorGroup, EditorOptions, TextEditorOptions, IEditorIdentifier } from 'vs/workbench/common/editor';
+import { ITitleAreaControl } from 'vs/workbench/browser/parts/editor/titleControl';
+import { extractResources } from 'vs/base/browser/dnd';
 
 export enum Rochade {
 	NONE,
@@ -788,7 +788,7 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti
 			if (showTabs) {
 				titleContainer.addClass('tabs');
 			}
-			if (showIcons)  {
+			if (showIcons) {
 				titleContainer.addClass('show-file-icons');
 			}
 			this.hookTitleDragListener(titleContainer);
diff --git a/src/vs/workbench/browser/parts/editor/stringEditor.ts b/src/vs/workbench/browser/parts/editor/stringEditor.ts
index 948fa4551606c..f418cdea95836 100644
--- a/src/vs/workbench/browser/parts/editor/stringEditor.ts
+++ b/src/vs/workbench/browser/parts/editor/stringEditor.ts
@@ -4,26 +4,26 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import types = require('vs/base/common/types');
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {IEditorOptions, IEditorViewState} from 'vs/editor/common/editorCommon';
-import {TextEditorOptions, EditorModel, EditorInput, EditorOptions} from 'vs/workbench/common/editor';
-import {BaseTextEditorModel} from 'vs/workbench/common/editor/textEditorModel';
-import {UntitledEditorInput} from 'vs/workbench/common/editor/untitledEditorInput';
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { IEditorOptions, IEditorViewState } from 'vs/editor/common/editorCommon';
+import { TextEditorOptions, EditorModel, EditorInput, EditorOptions } from 'vs/workbench/common/editor';
+import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel';
+import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
 import URI from 'vs/base/common/uri';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
 
 /**
  * An editor implementation that is capable of showing string inputs or promise inputs that resolve to a string.
diff --git a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts b/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
index b6a2042ee7680..ebc45dc0d744e 100644
--- a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
+++ b/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
@@ -9,32 +9,32 @@ import 'vs/css!./media/tabstitle';
 import nls = require('vs/nls');
 import errors = require('vs/base/common/errors');
 import DOM = require('vs/base/browser/dom');
-import {isMacintosh} from 'vs/base/common/platform';
-import {MIME_BINARY} from 'vs/base/common/mime';
-import {Position, IEditorInput} from 'vs/platform/editor/common/editor';
-import {IEditorGroup, IEditorIdentifier, asFileEditorInput, getResource} from 'vs/workbench/common/editor';
-import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {KeyCode} from 'vs/base/common/keyCodes';
-import {EditorLabel} from 'vs/workbench/browser/labels';
-import {ActionBar} from 'vs/base/browser/ui/actionbar/actionbar';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {IMenuService} from 'vs/platform/actions/common/actions';
-import {TitleControl} from 'vs/workbench/browser/parts/editor/titleControl';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {ScrollableElement} from 'vs/base/browser/ui/scrollbar/scrollableElement';
-import {ScrollbarVisibility} from 'vs/base/common/scrollable';
-import {extractResources} from 'vs/base/browser/dnd';
-import {LinkedMap} from 'vs/base/common/map';
+import { isMacintosh } from 'vs/base/common/platform';
+import { MIME_BINARY } from 'vs/base/common/mime';
+import { Position, IEditorInput } from 'vs/platform/editor/common/editor';
+import { IEditorGroup, IEditorIdentifier, asFileEditorInput, getResource } from 'vs/workbench/common/editor';
+import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { KeyCode } from 'vs/base/common/keyCodes';
+import { EditorLabel } from 'vs/workbench/browser/labels';
+import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { IMenuService } from 'vs/platform/actions/common/actions';
+import { TitleControl } from 'vs/workbench/browser/parts/editor/titleControl';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { ScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
+import { ScrollbarVisibility } from 'vs/base/common/scrollable';
+import { extractResources } from 'vs/base/browser/dnd';
+import { LinkedMap } from 'vs/base/common/map';
 import paths = require('vs/base/common/paths');
 
 interface IEditorInputLabel {
diff --git a/src/vs/workbench/browser/parts/editor/textDiffEditor.ts b/src/vs/workbench/browser/parts/editor/textDiffEditor.ts
index 5eec2f06a73ae..100ee9fe18003 100644
--- a/src/vs/workbench/browser/parts/editor/textDiffEditor.ts
+++ b/src/vs/workbench/browser/parts/editor/textDiffEditor.ts
@@ -6,36 +6,36 @@
 'use strict';
 
 import 'vs/css!./media/textdiffeditor';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {Builder} from 'vs/base/browser/builder';
-import {Action, IAction} from 'vs/base/common/actions';
-import {onUnexpectedError} from 'vs/base/common/errors';
+import { Builder } from 'vs/base/browser/builder';
+import { Action, IAction } from 'vs/base/common/actions';
+import { onUnexpectedError } from 'vs/base/common/errors';
 import types = require('vs/base/common/types');
-import {Position} from 'vs/platform/editor/common/editor';
-import {IDiffEditor} from 'vs/editor/browser/editorBrowser';
-import {IDiffEditorOptions, IEditorOptions} from 'vs/editor/common/editorCommon';
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
-import {TextEditorOptions, TextDiffEditorOptions, EditorModel, EditorInput, EditorOptions, TEXT_DIFF_EDITOR_ID} from 'vs/workbench/common/editor';
-import {StringEditorInput} from 'vs/workbench/common/editor/stringEditorInput';
-import {ResourceEditorInput} from 'vs/workbench/common/editor/resourceEditorInput';
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
-import {DiffNavigator} from 'vs/editor/contrib/diffNavigator/common/diffNavigator';
-import {DiffEditorWidget} from 'vs/editor/browser/widget/diffEditorWidget';
-import {TextDiffEditorModel} from 'vs/workbench/common/editor/textDiffEditorModel';
-import {DelegatingWorkbenchEditorService} from 'vs/workbench/services/editor/browser/editorService';
-import {IFileOperationResult, FileOperationResult} from 'vs/platform/files/common/files';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {RawContextKey, IContextKeyService, IContextKey} from 'vs/platform/contextkey/common/contextkey';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
+import { Position } from 'vs/platform/editor/common/editor';
+import { IDiffEditor } from 'vs/editor/browser/editorBrowser';
+import { IDiffEditorOptions, IEditorOptions } from 'vs/editor/common/editorCommon';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
+import { TextEditorOptions, TextDiffEditorOptions, EditorModel, EditorInput, EditorOptions, TEXT_DIFF_EDITOR_ID } from 'vs/workbench/common/editor';
+import { StringEditorInput } from 'vs/workbench/common/editor/stringEditorInput';
+import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
+import { DiffNavigator } from 'vs/editor/contrib/diffNavigator/common/diffNavigator';
+import { DiffEditorWidget } from 'vs/editor/browser/widget/diffEditorWidget';
+import { TextDiffEditorModel } from 'vs/workbench/common/editor/textDiffEditorModel';
+import { DelegatingWorkbenchEditorService } from 'vs/workbench/services/editor/browser/editorService';
+import { IFileOperationResult, FileOperationResult } from 'vs/platform/files/common/files';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { RawContextKey, IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
 
 export const TextCompareEditorVisible = new RawContextKey<boolean>('textCompareEditorVisible', false);
 
diff --git a/src/vs/workbench/browser/parts/editor/textEditor.ts b/src/vs/workbench/browser/parts/editor/textEditor.ts
index c59abbf155a41..d07e4fc4d48c3 100644
--- a/src/vs/workbench/browser/parts/editor/textEditor.ts
+++ b/src/vs/workbench/browser/parts/editor/textEditor.ts
@@ -5,26 +5,26 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Dimension, Builder} from 'vs/base/browser/builder';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Dimension, Builder } from 'vs/base/browser/builder';
 import objects = require('vs/base/common/objects');
-import {CodeEditor} from 'vs/editor/browser/codeEditor';
-import {EditorInput, EditorOptions} from 'vs/workbench/common/editor';
-import {BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {EditorConfiguration} from 'vs/editor/common/config/commonEditorConfig';
-import {IEditor, IEditorOptions} from 'vs/editor/common/editorCommon';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IFilesConfiguration} from 'vs/platform/files/common/files';
-import {Position} from 'vs/platform/editor/common/editor';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
-import {Selection} from 'vs/editor/common/core/selection';
+import { CodeEditor } from 'vs/editor/browser/codeEditor';
+import { EditorInput, EditorOptions } from 'vs/workbench/common/editor';
+import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { EditorConfiguration } from 'vs/editor/common/config/commonEditorConfig';
+import { IEditor, IEditorOptions } from 'vs/editor/common/editorCommon';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IFilesConfiguration } from 'vs/platform/files/common/files';
+import { Position } from 'vs/platform/editor/common/editor';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
+import { Selection } from 'vs/editor/common/core/selection';
 
 /**
  * The base class of editors that leverage the text editor for the editing experience. This class is only intended to
diff --git a/src/vs/workbench/browser/parts/panel/panelPart.ts b/src/vs/workbench/browser/parts/panel/panelPart.ts
index 448cde559a074..16a2d79688971 100644
--- a/src/vs/workbench/browser/parts/panel/panelPart.ts
+++ b/src/vs/workbench/browser/parts/panel/panelPart.ts
@@ -5,27 +5,27 @@
 
 import 'vs/css!./media/panelpart';
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
-import {Action, IAction} from 'vs/base/common/actions';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
+import { Action, IAction } from 'vs/base/common/actions';
 import Event from 'vs/base/common/event';
-import {Builder} from 'vs/base/browser/builder';
-import {Registry} from 'vs/platform/platform';
-import {ActivityAction} from 'vs/workbench/browser/parts/activitybar/activityAction';
-import {Scope} from 'vs/workbench/browser/actionBarRegistry';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IWorkbenchActionRegistry, Extensions as WorkbenchExtensions} from 'vs/workbench/common/actionRegistry';
-import {IPanel} from 'vs/workbench/common/panel';
-import {CompositePart} from 'vs/workbench/browser/parts/compositePart';
-import {Panel, PanelRegistry, Extensions as PanelExtensions} from 'vs/workbench/browser/panel';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { Builder } from 'vs/base/browser/builder';
+import { Registry } from 'vs/platform/platform';
+import { ActivityAction } from 'vs/workbench/browser/parts/activitybar/activityAction';
+import { Scope } from 'vs/workbench/browser/actionBarRegistry';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IWorkbenchActionRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/actionRegistry';
+import { IPanel } from 'vs/workbench/common/panel';
+import { CompositePart } from 'vs/workbench/browser/parts/compositePart';
+import { Panel, PanelRegistry, Extensions as PanelExtensions } from 'vs/workbench/browser/panel';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 
 export class PanelPart extends CompositePart<Panel> implements IPanelService {
 
diff --git a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts
index 8a20b5da372c3..83a2e0f6295d8 100644
--- a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts
+++ b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts
@@ -7,45 +7,45 @@
 
 import 'vs/css!./media/quickopen';
 import 'vs/workbench/browser/parts/quickopen/quickopen.contribution';
-import {TPromise, ValueCallback} from 'vs/base/common/winjs.base';
+import { TPromise, ValueCallback } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {Dimension, withElementById} from 'vs/base/browser/builder';
+import { Dimension, withElementById } from 'vs/base/browser/builder';
 import strings = require('vs/base/common/strings');
 import filters = require('vs/base/common/filters');
 import DOM = require('vs/base/browser/dom');
 import URI from 'vs/base/common/uri';
 import uuid = require('vs/base/common/uuid');
 import types = require('vs/base/common/types');
-import {IIconLabelOptions} from 'vs/base/browser/ui/iconLabel/iconLabel';
-import {CancellationToken} from 'vs/base/common/cancellation';
-import {Mode, IEntryRunContext, IAutoFocus, IQuickNavigateConfiguration, IModel} from 'vs/base/parts/quickopen/common/quickOpen';
-import {QuickOpenEntry, QuickOpenModel, QuickOpenEntryGroup} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {QuickOpenWidget, HideReason} from 'vs/base/parts/quickopen/browser/quickOpenWidget';
-import {ContributableActionProvider} from 'vs/workbench/browser/actionBarRegistry';
+import { IIconLabelOptions } from 'vs/base/browser/ui/iconLabel/iconLabel';
+import { CancellationToken } from 'vs/base/common/cancellation';
+import { Mode, IEntryRunContext, IAutoFocus, IQuickNavigateConfiguration, IModel } from 'vs/base/parts/quickopen/common/quickOpen';
+import { QuickOpenEntry, QuickOpenModel, QuickOpenEntryGroup } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { QuickOpenWidget, HideReason } from 'vs/base/parts/quickopen/browser/quickOpenWidget';
+import { ContributableActionProvider } from 'vs/workbench/browser/actionBarRegistry';
 import labels = require('vs/base/common/labels');
 import paths = require('vs/base/common/paths');
-import {ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
-import {Registry} from 'vs/platform/platform';
-import {IResourceInput, IEditorInput} from 'vs/platform/editor/common/editor';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {getIconClasses} from 'vs/workbench/browser/labels';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {EditorInput, getUntitledOrFileResource, IWorkbenchEditorConfiguration} from 'vs/workbench/common/editor';
-import {WorkbenchComponent} from 'vs/workbench/common/component';
-import Event, {Emitter} from 'vs/base/common/event';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {KeyMod} from 'vs/base/common/keyCodes';
-import {QuickOpenHandler, QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions, EditorQuickOpenEntry} from 'vs/workbench/browser/quickopen';
+import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
+import { Registry } from 'vs/platform/platform';
+import { IResourceInput, IEditorInput } from 'vs/platform/editor/common/editor';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { getIconClasses } from 'vs/workbench/browser/labels';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { EditorInput, getUntitledOrFileResource, IWorkbenchEditorConfiguration } from 'vs/workbench/common/editor';
+import { WorkbenchComponent } from 'vs/workbench/common/component';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { KeyMod } from 'vs/base/common/keyCodes';
+import { QuickOpenHandler, QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions, EditorQuickOpenEntry } from 'vs/workbench/browser/quickopen';
 import errors = require('vs/base/common/errors');
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IPickOpenEntry, IFilePickOpenEntry, IInputOptions, IQuickOpenService, IPickOptions, IShowOptions} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IContextKeyService, RawContextKey, IContextKey} from 'vs/platform/contextkey/common/contextkey';
-import {IHistoryService} from 'vs/workbench/services/history/common/history';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IPickOpenEntry, IFilePickOpenEntry, IInputOptions, IQuickOpenService, IPickOptions, IShowOptions } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IContextKeyService, RawContextKey, IContextKey } from 'vs/platform/contextkey/common/contextkey';
+import { IHistoryService } from 'vs/workbench/services/history/common/history';
 
 const HELP_PREFIX = '?';
 const QUICK_OPEN_MODE = new RawContextKey<boolean>('inQuickOpen', false);
diff --git a/src/vs/workbench/browser/parts/quickopen/quickopen.contribution.ts b/src/vs/workbench/browser/parts/quickopen/quickopen.contribution.ts
index b91b66bf8a08d..e7cc045a78dee 100644
--- a/src/vs/workbench/browser/parts/quickopen/quickopen.contribution.ts
+++ b/src/vs/workbench/browser/parts/quickopen/quickopen.contribution.ts
@@ -4,18 +4,18 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Registry} from 'vs/platform/platform';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { Registry } from 'vs/platform/platform';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {Action} from 'vs/base/common/actions';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IKeybindings} from 'vs/platform/keybinding/common/keybinding';
-import {ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { Action } from 'vs/base/common/actions';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IKeybindings } from 'vs/platform/keybinding/common/keybinding';
+import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
 
 export class GlobalQuickOpenAction extends Action {
 
diff --git a/src/vs/workbench/browser/parts/sidebar/sidebarPart.ts b/src/vs/workbench/browser/parts/sidebar/sidebarPart.ts
index 7872e59a17e92..b429e7ed4e997 100644
--- a/src/vs/workbench/browser/parts/sidebar/sidebarPart.ts
+++ b/src/vs/workbench/browser/parts/sidebar/sidebarPart.ts
@@ -4,25 +4,25 @@
  *--------------------------------------------------------------------------------------------*/
 
 import 'vs/css!./media/sidebarpart';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {Registry} from 'vs/platform/platform';
-import {Action} from 'vs/base/common/actions';
-import {CompositePart} from 'vs/workbench/browser/parts/compositePart';
-import {Viewlet, ViewletRegistry, Extensions as ViewletExtensions} from 'vs/workbench/browser/viewlet';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IViewlet} from 'vs/workbench/common/viewlet';
-import {Scope} from 'vs/workbench/browser/actionBarRegistry';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { Registry } from 'vs/platform/platform';
+import { Action } from 'vs/base/common/actions';
+import { CompositePart } from 'vs/workbench/browser/parts/compositePart';
+import { Viewlet, ViewletRegistry, Extensions as ViewletExtensions } from 'vs/workbench/browser/viewlet';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IViewlet } from 'vs/workbench/common/viewlet';
+import { Scope } from 'vs/workbench/browser/actionBarRegistry';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import Event from 'vs/base/common/event';
 
 export class SidebarPart extends CompositePart<Viewlet> implements IViewletService {
diff --git a/src/vs/workbench/browser/parts/statusbar/statusbar.ts b/src/vs/workbench/browser/parts/statusbar/statusbar.ts
index 3a80eb21bca95..431ca9bbbe036 100644
--- a/src/vs/workbench/browser/parts/statusbar/statusbar.ts
+++ b/src/vs/workbench/browser/parts/statusbar/statusbar.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Registry} from 'vs/platform/platform';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { Registry } from 'vs/platform/platform';
+import { IDisposable } from 'vs/base/common/lifecycle';
 /* tslint:disable:no-unused-variable */
 import statusbarService = require('vs/platform/statusbar/common/statusbar');
 /* tslint:enable:no-unused-variable */
-import {SyncDescriptor0, createSyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {IConstructorSignature0} from 'vs/platform/instantiation/common/instantiation';
+import { SyncDescriptor0, createSyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { IConstructorSignature0 } from 'vs/platform/instantiation/common/instantiation';
 
 export interface IStatusbarItem {
 	render(element: HTMLElement): IDisposable;
diff --git a/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts b/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts
index 59e508db9915a..ef04a3e93ff46 100644
--- a/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts
+++ b/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts
@@ -8,22 +8,22 @@
 import 'vs/css!./media/statusbarpart';
 import dom = require('vs/base/browser/dom');
 import nls = require('vs/nls');
-import {toErrorMessage} from 'vs/base/common/errorMessage';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {dispose, IDisposable} from 'vs/base/common/lifecycle';
-import {Builder, $} from 'vs/base/browser/builder';
-import {OcticonLabel} from 'vs/base/browser/ui/octiconLabel/octiconLabel';
-import {Registry} from 'vs/platform/platform';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {Part} from 'vs/workbench/browser/part';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {StatusbarAlignment, IStatusbarRegistry, Extensions, IStatusbarItem} from 'vs/workbench/browser/parts/statusbar/statusbar';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {IStatusbarService, IStatusbarEntry} from 'vs/platform/statusbar/common/statusbar';
-import {getCodeEditor} from 'vs/editor/common/services/codeEditorService';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { dispose, IDisposable } from 'vs/base/common/lifecycle';
+import { Builder, $ } from 'vs/base/browser/builder';
+import { OcticonLabel } from 'vs/base/browser/ui/octiconLabel/octiconLabel';
+import { Registry } from 'vs/platform/platform';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { Part } from 'vs/workbench/browser/part';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { StatusbarAlignment, IStatusbarRegistry, Extensions, IStatusbarItem } from 'vs/workbench/browser/parts/statusbar/statusbar';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { IStatusbarService, IStatusbarEntry } from 'vs/platform/statusbar/common/statusbar';
+import { getCodeEditor } from 'vs/editor/common/services/codeEditorService';
 
 export class StatusbarPart extends Part implements IStatusbarService {
 
diff --git a/src/vs/workbench/browser/quickopen.ts b/src/vs/workbench/browser/quickopen.ts
index 72f5874fc41b6..f424ef7af7c16 100644
--- a/src/vs/workbench/browser/quickopen.ts
+++ b/src/vs/workbench/browser/quickopen.ts
@@ -5,22 +5,22 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import filters = require('vs/base/common/filters');
 import arrays = require('vs/base/common/arrays');
 import strings = require('vs/base/common/strings');
 import types = require('vs/base/common/types');
 import errors = require('vs/base/common/errors');
-import {Registry} from 'vs/platform/platform';
-import {Action} from 'vs/base/common/actions';
-import {KeyMod} from 'vs/base/common/keyCodes';
-import {Mode, IEntryRunContext, IAutoFocus, IModel, IQuickNavigateConfiguration} from 'vs/base/parts/quickopen/common/quickOpen';
-import {QuickOpenEntry, IHighlight, QuickOpenEntryGroup, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {EditorOptions, EditorInput} from 'vs/workbench/common/editor';
-import {IResourceInput, IEditorInput} from 'vs/platform/editor/common/editor';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {AsyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
+import { Registry } from 'vs/platform/platform';
+import { Action } from 'vs/base/common/actions';
+import { KeyMod } from 'vs/base/common/keyCodes';
+import { Mode, IEntryRunContext, IAutoFocus, IModel, IQuickNavigateConfiguration } from 'vs/base/parts/quickopen/common/quickOpen';
+import { QuickOpenEntry, IHighlight, QuickOpenEntryGroup, QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { EditorOptions, EditorInput } from 'vs/workbench/common/editor';
+import { IResourceInput, IEditorInput } from 'vs/platform/editor/common/editor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { AsyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
 
 export class QuickOpenHandler {
 
@@ -311,7 +311,7 @@ class CommandEntry extends QuickOpenEntry {
 			return false;
 		}
 
-		this.quickOpenService.show(`${ this.prefix } ${ this.command.aliases[0]} `);
+		this.quickOpenService.show(`${this.prefix} ${this.command.aliases[0]} `);
 		return false;
 	}
 }
diff --git a/src/vs/workbench/browser/viewlet.ts b/src/vs/workbench/browser/viewlet.ts
index 9f7680a176832..21a6efbe3b76d 100644
--- a/src/vs/workbench/browser/viewlet.ts
+++ b/src/vs/workbench/browser/viewlet.ts
@@ -4,26 +4,26 @@
  *--------------------------------------------------------------------------------------------*/
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import DOM = require('vs/base/browser/dom');
 import errors = require('vs/base/common/errors');
-import {Registry} from 'vs/platform/platform';
-import {Dimension, Builder, $} from 'vs/base/browser/builder';
-import {IAction, IActionRunner, Action} from 'vs/base/common/actions';
-import {IActionItem, ActionsOrientation} from 'vs/base/browser/ui/actionbar/actionbar';
-import {ITree, IFocusEvent, ISelectionEvent} from 'vs/base/parts/tree/browser/tree';
-import {prepareActions} from 'vs/workbench/browser/actionBarRegistry';
-import {ToolBar} from 'vs/base/browser/ui/toolbar/toolbar';
-import {DelayedDragHandler} from 'vs/base/browser/dnd';
-import {dispose, IDisposable} from 'vs/base/common/lifecycle';
-import {CollapsibleView, CollapsibleState, FixedCollapsibleView, IView} from 'vs/base/browser/ui/splitview/splitview';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IViewlet} from 'vs/workbench/common/viewlet';
-import {Composite, CompositeDescriptor, CompositeRegistry} from 'vs/workbench/browser/composite';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
+import { Registry } from 'vs/platform/platform';
+import { Dimension, Builder, $ } from 'vs/base/browser/builder';
+import { IAction, IActionRunner, Action } from 'vs/base/common/actions';
+import { IActionItem, ActionsOrientation } from 'vs/base/browser/ui/actionbar/actionbar';
+import { ITree, IFocusEvent, ISelectionEvent } from 'vs/base/parts/tree/browser/tree';
+import { prepareActions } from 'vs/workbench/browser/actionBarRegistry';
+import { ToolBar } from 'vs/base/browser/ui/toolbar/toolbar';
+import { DelayedDragHandler } from 'vs/base/browser/dnd';
+import { dispose, IDisposable } from 'vs/base/common/lifecycle';
+import { CollapsibleView, CollapsibleState, FixedCollapsibleView, IView } from 'vs/base/browser/ui/splitview/splitview';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IViewlet } from 'vs/workbench/common/viewlet';
+import { Composite, CompositeDescriptor, CompositeRegistry } from 'vs/workbench/browser/composite';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
 
 export abstract class Viewlet extends Composite implements IViewlet {
 
diff --git a/src/vs/workbench/common/actionRegistry.ts b/src/vs/workbench/common/actionRegistry.ts
index c3285c46cc363..fa3b8578ea47b 100644
--- a/src/vs/workbench/common/actionRegistry.ts
+++ b/src/vs/workbench/common/actionRegistry.ts
@@ -4,17 +4,17 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import collections = require('vs/base/common/collections');
-import {Registry} from 'vs/platform/platform';
-import {IAction} from 'vs/base/common/actions';
-import {KeybindingsRegistry, ICommandAndKeybindingRule} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {ICommandHandler} from 'vs/platform/commands/common/commands';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { Registry } from 'vs/platform/platform';
+import { IAction } from 'vs/base/common/actions';
+import { KeybindingsRegistry, ICommandAndKeybindingRule } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { ICommandHandler } from 'vs/platform/commands/common/commands';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import Severity from 'vs/base/common/severity';
 
 export const Extensions = {
diff --git a/src/vs/workbench/common/component.ts b/src/vs/workbench/common/component.ts
index 960d723573a28..69955150e8631 100644
--- a/src/vs/workbench/common/component.ts
+++ b/src/vs/workbench/common/component.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable, dispose, Disposable} from 'vs/base/common/lifecycle';
-import {Scope, Memento} from 'vs/workbench/common/memento';
+import { IDisposable, dispose, Disposable } from 'vs/base/common/lifecycle';
+import { Scope, Memento } from 'vs/workbench/common/memento';
 import { IStorageService } from 'vs/platform/storage/common/storage';
 
 /**
diff --git a/src/vs/workbench/common/composite.ts b/src/vs/workbench/common/composite.ts
index e6deb53689c8c..2cc5142c6e01b 100644
--- a/src/vs/workbench/common/composite.ts
+++ b/src/vs/workbench/common/composite.ts
@@ -3,8 +3,8 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {IAction, IActionItem} from 'vs/base/common/actions';
-import {IEditorControl} from 'vs/platform/editor/common/editor';
+import { IAction, IActionItem } from 'vs/base/common/actions';
+import { IEditorControl } from 'vs/platform/editor/common/editor';
 
 export interface IComposite {
 
diff --git a/src/vs/workbench/common/contributions.ts b/src/vs/workbench/common/contributions.ts
index 3ded8f0a023e3..01f2ad1eea00c 100644
--- a/src/vs/workbench/common/contributions.ts
+++ b/src/vs/workbench/common/contributions.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Registry, BaseRegistry} from 'vs/platform/platform';
-import {IConstructorSignature0} from 'vs/platform/instantiation/common/instantiation';
+import { Registry, BaseRegistry } from 'vs/platform/platform';
+import { IConstructorSignature0 } from 'vs/platform/instantiation/common/instantiation';
 
 // --- Workbench Contribution Registry
 
diff --git a/src/vs/workbench/common/editor.ts b/src/vs/workbench/common/editor.ts
index 818f05f257ae3..a93f44aed7c47 100644
--- a/src/vs/workbench/common/editor.ts
+++ b/src/vs/workbench/common/editor.ts
@@ -4,18 +4,18 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import Event, {Emitter} from 'vs/base/common/event';
+import { TPromise } from 'vs/base/common/winjs.base';
+import Event, { Emitter } from 'vs/base/common/event';
 import types = require('vs/base/common/types');
 import URI from 'vs/base/common/uri';
-import {IEditor, ICommonCodeEditor, IEditorViewState, IEditorOptions as ICodeEditorOptions} from 'vs/editor/common/editorCommon';
-import {IEditorInput, IEditorModel, IEditorOptions, ITextEditorOptions, IResourceInput, Position} from 'vs/platform/editor/common/editor';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {Event as BaseEvent} from 'vs/base/common/events';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {SyncDescriptor, AsyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {IInstantiationService, IConstructorSignature0} from 'vs/platform/instantiation/common/instantiation';
-import {IModel} from 'vs/editor/common/editorCommon';
+import { IEditor, ICommonCodeEditor, IEditorViewState, IEditorOptions as ICodeEditorOptions } from 'vs/editor/common/editorCommon';
+import { IEditorInput, IEditorModel, IEditorOptions, ITextEditorOptions, IResourceInput, Position } from 'vs/platform/editor/common/editor';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { Event as BaseEvent } from 'vs/base/common/events';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { SyncDescriptor, AsyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { IInstantiationService, IConstructorSignature0 } from 'vs/platform/instantiation/common/instantiation';
+import { IModel } from 'vs/editor/common/editorCommon';
 
 export enum ConfirmResult {
 	SAVE,
diff --git a/src/vs/workbench/common/editor/binaryEditorModel.ts b/src/vs/workbench/common/editor/binaryEditorModel.ts
index e9008b320c541..a69ac44be5b90 100644
--- a/src/vs/workbench/common/editor/binaryEditorModel.ts
+++ b/src/vs/workbench/common/editor/binaryEditorModel.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {EditorModel} from 'vs/workbench/common/editor';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { EditorModel } from 'vs/workbench/common/editor';
 import URI from 'vs/base/common/uri';
-import {IFileService} from 'vs/platform/files/common/files';
+import { IFileService } from 'vs/platform/files/common/files';
 
 /**
  * An editor model that just represents a resource that can be loaded.
@@ -58,7 +58,7 @@ export class BinaryEditorModel extends EditorModel {
 	}
 
 	public load(): TPromise<EditorModel> {
-		return this.fileService.resolveFile(this.resource).then(stat => {
+		return this.fileService.resolveFile(this.resource).then(stat => {
 			this.etag = stat.etag;
 			this.size = stat.size;
 
diff --git a/src/vs/workbench/common/editor/diffEditorInput.ts b/src/vs/workbench/common/editor/diffEditorInput.ts
index 87506881db48b..f42f61d3c8646 100644
--- a/src/vs/workbench/common/editor/diffEditorInput.ts
+++ b/src/vs/workbench/common/editor/diffEditorInput.ts
@@ -5,15 +5,15 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {once} from 'vs/base/common/event';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { once } from 'vs/base/common/event';
 import URI from 'vs/base/common/uri';
-import {getPathLabel, IWorkspaceProvider} from 'vs/base/common/labels';
-import {EditorModel, EditorInput, BaseDiffEditorInput, TEXT_DIFF_EDITOR_ID, BINARY_DIFF_EDITOR_ID} from 'vs/workbench/common/editor';
-import {BaseTextEditorModel} from 'vs/workbench/common/editor/textEditorModel';
-import {DiffEditorModel} from 'vs/workbench/common/editor/diffEditorModel';
-import {TextDiffEditorModel} from 'vs/workbench/common/editor/textDiffEditorModel';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { getPathLabel, IWorkspaceProvider } from 'vs/base/common/labels';
+import { EditorModel, EditorInput, BaseDiffEditorInput, TEXT_DIFF_EDITOR_ID, BINARY_DIFF_EDITOR_ID } from 'vs/workbench/common/editor';
+import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel';
+import { DiffEditorModel } from 'vs/workbench/common/editor/diffEditorModel';
+import { TextDiffEditorModel } from 'vs/workbench/common/editor/textDiffEditorModel';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 
 /**
  * The base editor input for the diff editor. It is made up of two editor inputs, the original version
diff --git a/src/vs/workbench/common/editor/diffEditorModel.ts b/src/vs/workbench/common/editor/diffEditorModel.ts
index 97a3b4286418c..5569b6c888a77 100644
--- a/src/vs/workbench/common/editor/diffEditorModel.ts
+++ b/src/vs/workbench/common/editor/diffEditorModel.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {EditorModel} from 'vs/workbench/common/editor';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { EditorModel } from 'vs/workbench/common/editor';
 
 /**
  * The base editor model for the diff editor. It is made up of two editor models, the original version
diff --git a/src/vs/workbench/common/editor/editorStacksModel.ts b/src/vs/workbench/common/editor/editorStacksModel.ts
index bdaedda577b8d..7e3de8c11f302 100644
--- a/src/vs/workbench/common/editor/editorStacksModel.ts
+++ b/src/vs/workbench/common/editor/editorStacksModel.ts
@@ -5,17 +5,17 @@
 
 'use strict';
 
-import Event, {Emitter, once} from 'vs/base/common/event';
-import {IEditorRegistry, Extensions, EditorInput, getResource, IEditorStacksModel, IEditorGroup, IEditorIdentifier, IGroupEvent, GroupIdentifier, IStacksModelChangeEvent, IWorkbenchEditorConfiguration, EditorOpenPositioning} from 'vs/workbench/common/editor';
+import Event, { Emitter, once } from 'vs/base/common/event';
+import { IEditorRegistry, Extensions, EditorInput, getResource, IEditorStacksModel, IEditorGroup, IEditorIdentifier, IGroupEvent, GroupIdentifier, IStacksModelChangeEvent, IWorkbenchEditorConfiguration, EditorOpenPositioning } from 'vs/workbench/common/editor';
 import URI from 'vs/base/common/uri';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {dispose, IDisposable} from 'vs/base/common/lifecycle';
-import {Registry} from 'vs/platform/platform';
-import {Position, Direction} from 'vs/platform/editor/common/editor';
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { dispose, IDisposable } from 'vs/base/common/lifecycle';
+import { Registry } from 'vs/platform/platform';
+import { Position, Direction } from 'vs/platform/editor/common/editor';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
 
 export interface GroupEvent extends IGroupEvent {
 	editor: EditorInput;
diff --git a/src/vs/workbench/common/editor/rangeDecorations.ts b/src/vs/workbench/common/editor/rangeDecorations.ts
index 2a3b71dd3232d..8a920a142be1f 100644
--- a/src/vs/workbench/common/editor/rangeDecorations.ts
+++ b/src/vs/workbench/common/editor/rangeDecorations.ts
@@ -3,12 +3,12 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { IDisposable } from 'vs/base/common/lifecycle';
 import URI from 'vs/base/common/uri';
 import * as editorCommon from 'vs/editor/common/editorCommon';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IEditor} from 'vs/platform/editor/common/editor';
-import {asFileEditorInput} from 'vs/workbench/common/editor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IEditor } from 'vs/platform/editor/common/editor';
+import { asFileEditorInput } from 'vs/workbench/common/editor';
 
 export interface IRangeHighlightDecoration {
 	resource: URI;
@@ -21,7 +21,7 @@ export class RangeHighlightDecorations implements IDisposable {
 	private editor: editorCommon.ICommonCodeEditor = null;
 	private editorDisposables: IDisposable[] = [];
 
-	constructor(@IWorkbenchEditorService private editorService: IWorkbenchEditorService) {
+	constructor( @IWorkbenchEditorService private editorService: IWorkbenchEditorService) {
 	}
 
 	public removeHighlightRange() {
diff --git a/src/vs/workbench/common/editor/resourceEditorInput.ts b/src/vs/workbench/common/editor/resourceEditorInput.ts
index dcfa28b57fe2c..923ad39e00bf7 100644
--- a/src/vs/workbench/common/editor/resourceEditorInput.ts
+++ b/src/vs/workbench/common/editor/resourceEditorInput.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {sequence} from 'vs/base/common/async';
-import {EditorModel, EditorInput} from 'vs/workbench/common/editor';
-import {ResourceEditorModel} from 'vs/workbench/common/editor/resourceEditorModel';
-import {IModel} from 'vs/editor/common/editorCommon';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { sequence } from 'vs/base/common/async';
+import { EditorModel, EditorInput } from 'vs/workbench/common/editor';
+import { ResourceEditorModel } from 'vs/workbench/common/editor/resourceEditorModel';
+import { IModel } from 'vs/editor/common/editorCommon';
 import URI from 'vs/base/common/uri';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IDisposable } from 'vs/base/common/lifecycle';
 
 /**
  *
diff --git a/src/vs/workbench/common/editor/resourceEditorModel.ts b/src/vs/workbench/common/editor/resourceEditorModel.ts
index fa05642ad4c92..ac3f412358934 100644
--- a/src/vs/workbench/common/editor/resourceEditorModel.ts
+++ b/src/vs/workbench/common/editor/resourceEditorModel.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {BaseTextEditorModel} from 'vs/workbench/common/editor/textEditorModel';
+import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel';
 import URI from 'vs/base/common/uri';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IModelService } from 'vs/editor/common/services/modelService';
 
 /**
  * An editor model whith an in-memory, readonly content that is backed by an existing editor model.
diff --git a/src/vs/workbench/common/editor/stringEditorInput.ts b/src/vs/workbench/common/editor/stringEditorInput.ts
index cbab9f5d331ce..87447fb85d99b 100644
--- a/src/vs/workbench/common/editor/stringEditorInput.ts
+++ b/src/vs/workbench/common/editor/stringEditorInput.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {PLAINTEXT_MODE_ID} from 'vs/editor/common/modes/modesRegistry';
-import {EditorModel, EditorInput} from 'vs/workbench/common/editor';
-import {StringEditorModel} from 'vs/workbench/common/editor/stringEditorModel';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { PLAINTEXT_MODE_ID } from 'vs/editor/common/modes/modesRegistry';
+import { EditorModel, EditorInput } from 'vs/workbench/common/editor';
+import { StringEditorModel } from 'vs/workbench/common/editor/stringEditorModel';
 import URI from 'vs/base/common/uri';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 
 /**
  * A read-only text editor input whos contents are made of the provided value and mode ID.
diff --git a/src/vs/workbench/common/editor/stringEditorModel.ts b/src/vs/workbench/common/editor/stringEditorModel.ts
index 02dbd71eb6e3b..82ba83b27a3dc 100644
--- a/src/vs/workbench/common/editor/stringEditorModel.ts
+++ b/src/vs/workbench/common/editor/stringEditorModel.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {BaseTextEditorModel} from 'vs/workbench/common/editor/textEditorModel';
-import {EditorModel} from 'vs/workbench/common/editor';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel';
+import { EditorModel } from 'vs/workbench/common/editor';
 import URI from 'vs/base/common/uri';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {EditOperation} from 'vs/editor/common/core/editOperation';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { EditOperation } from 'vs/editor/common/core/editOperation';
 
 /**
  * An editor model whith an in-memory, readonly content that is not backed by any particular resource.
diff --git a/src/vs/workbench/common/editor/textDiffEditorModel.ts b/src/vs/workbench/common/editor/textDiffEditorModel.ts
index f707340398c6d..10738e61a61e1 100644
--- a/src/vs/workbench/common/editor/textDiffEditorModel.ts
+++ b/src/vs/workbench/common/editor/textDiffEditorModel.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDiffEditorModel} from 'vs/editor/common/editorCommon';
-import {EditorModel} from 'vs/workbench/common/editor';
-import {BaseTextEditorModel} from 'vs/workbench/common/editor/textEditorModel';
-import {DiffEditorModel} from 'vs/workbench/common/editor/diffEditorModel';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDiffEditorModel } from 'vs/editor/common/editorCommon';
+import { EditorModel } from 'vs/workbench/common/editor';
+import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel';
+import { DiffEditorModel } from 'vs/workbench/common/editor/diffEditorModel';
 
 /**
  * The base text editor model for the diff editor. It is made up of two text editor models, the original version
diff --git a/src/vs/workbench/common/editor/textEditorModel.ts b/src/vs/workbench/common/editor/textEditorModel.ts
index c03cd0434561c..cdc13d587d90f 100644
--- a/src/vs/workbench/common/editor/textEditorModel.ts
+++ b/src/vs/workbench/common/editor/textEditorModel.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {EndOfLinePreference, IModel, IRawText} from 'vs/editor/common/editorCommon';
-import {IMode} from 'vs/editor/common/modes';
-import {EditorModel} from 'vs/workbench/common/editor';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { EndOfLinePreference, IModel, IRawText } from 'vs/editor/common/editorCommon';
+import { IMode } from 'vs/editor/common/modes';
+import { EditorModel } from 'vs/workbench/common/editor';
 import URI from 'vs/base/common/uri';
-import {ITextEditorModel} from 'vs/platform/editor/common/editor';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {RawText} from 'vs/editor/common/model/textModel';
-import {IDisposable} from 'vs/base/common/lifecycle';
+import { ITextEditorModel } from 'vs/platform/editor/common/editor';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { RawText } from 'vs/editor/common/model/textModel';
+import { IDisposable } from 'vs/base/common/lifecycle';
 
 /**
  * The base text editor model leverages the code editor model. This class is only intended to be subclassed and not instantiated.
diff --git a/src/vs/workbench/common/editor/untitledEditorInput.ts b/src/vs/workbench/common/editor/untitledEditorInput.ts
index e4c7a6cf5b1dc..7761d5135a509 100644
--- a/src/vs/workbench/common/editor/untitledEditorInput.ts
+++ b/src/vs/workbench/common/editor/untitledEditorInput.ts
@@ -4,20 +4,20 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import URI from 'vs/base/common/uri';
-import {suggestFilename} from 'vs/base/common/mime';
+import { suggestFilename } from 'vs/base/common/mime';
 import labels = require('vs/base/common/labels');
-import {PLAINTEXT_MODE_ID} from 'vs/editor/common/modes/modesRegistry';
+import { PLAINTEXT_MODE_ID } from 'vs/editor/common/modes/modesRegistry';
 import paths = require('vs/base/common/paths');
-import {UntitledEditorInput as AbstractUntitledEditorInput, EncodingMode, ConfirmResult} from 'vs/workbench/common/editor';
-import {UntitledEditorModel} from 'vs/workbench/common/editor/untitledEditorModel';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import Event, {Emitter} from 'vs/base/common/event';
-import {ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
+import { UntitledEditorInput as AbstractUntitledEditorInput, EncodingMode, ConfirmResult } from 'vs/workbench/common/editor';
+import { UntitledEditorModel } from 'vs/workbench/common/editor/untitledEditorModel';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
+import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
 
 /**
  * An editor input to be used for untitled text buffers.
diff --git a/src/vs/workbench/common/editor/untitledEditorModel.ts b/src/vs/workbench/common/editor/untitledEditorModel.ts
index 177ab7cb73cb4..ee8d12038666e 100644
--- a/src/vs/workbench/common/editor/untitledEditorModel.ts
+++ b/src/vs/workbench/common/editor/untitledEditorModel.ts
@@ -4,19 +4,19 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {EditorModel, IEncodingSupport} from 'vs/workbench/common/editor';
-import {StringEditorModel} from 'vs/workbench/common/editor/stringEditorModel';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { EditorModel, IEncodingSupport } from 'vs/workbench/common/editor';
+import { StringEditorModel } from 'vs/workbench/common/editor/stringEditorModel';
 import URI from 'vs/base/common/uri';
-import {PLAINTEXT_MODE_ID} from 'vs/editor/common/modes/modesRegistry';
-import {EndOfLinePreference} from 'vs/editor/common/editorCommon';
-import {IFilesConfiguration} from 'vs/platform/files/common/files';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IMode} from 'vs/editor/common/modes';
-import Event, {Emitter} from 'vs/base/common/event';
+import { PLAINTEXT_MODE_ID } from 'vs/editor/common/modes/modesRegistry';
+import { EndOfLinePreference } from 'vs/editor/common/editorCommon';
+import { IFilesConfiguration } from 'vs/platform/files/common/files';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IMode } from 'vs/editor/common/modes';
+import Event, { Emitter } from 'vs/base/common/event';
 
 export class UntitledEditorModel extends StringEditorModel implements IEncodingSupport {
 	private textModelChangeListener: IDisposable;
diff --git a/src/vs/workbench/common/memento.ts b/src/vs/workbench/common/memento.ts
index b3efc53d0e2aa..78881e90d8751 100644
--- a/src/vs/workbench/common/memento.ts
+++ b/src/vs/workbench/common/memento.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import types = require('vs/base/common/types');
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
 
 /**
  * Supported memento scopes.
diff --git a/src/vs/workbench/common/options.ts b/src/vs/workbench/common/options.ts
index d74f2844fb754..a78e4ccd992e9 100644
--- a/src/vs/workbench/common/options.ts
+++ b/src/vs/workbench/common/options.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IResourceInput} from 'vs/platform/editor/common/editor';
+import { IResourceInput } from 'vs/platform/editor/common/editor';
 
 export interface IOptions {
 
diff --git a/src/vs/workbench/common/panel.ts b/src/vs/workbench/common/panel.ts
index 9583a660955ad..57c365b0a628f 100644
--- a/src/vs/workbench/common/panel.ts
+++ b/src/vs/workbench/common/panel.ts
@@ -3,6 +3,6 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {IComposite} from 'vs/workbench/common/composite';
+import { IComposite } from 'vs/workbench/common/composite';
 
 export interface IPanel extends IComposite { }
diff --git a/src/vs/workbench/common/storage.ts b/src/vs/workbench/common/storage.ts
index 74b7963922ad5..9febf38b04c0d 100644
--- a/src/vs/workbench/common/storage.ts
+++ b/src/vs/workbench/common/storage.ts
@@ -7,8 +7,8 @@
 import types = require('vs/base/common/types');
 import errors = require('vs/base/common/errors');
 import strings = require('vs/base/common/strings');
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {IWorkspaceContextService, IWorkspace} from 'vs/platform/workspace/common/workspace';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { IWorkspaceContextService, IWorkspace } from 'vs/platform/workspace/common/workspace';
 
 // Browser localStorage interface
 export interface IStorage {
diff --git a/src/vs/workbench/common/viewlet.ts b/src/vs/workbench/common/viewlet.ts
index 045876ee41eca..9ef11ebf92f6f 100644
--- a/src/vs/workbench/common/viewlet.ts
+++ b/src/vs/workbench/common/viewlet.ts
@@ -3,7 +3,7 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {IComposite} from 'vs/workbench/common/composite';
+import { IComposite } from 'vs/workbench/common/composite';
 
 export interface IViewlet extends IComposite {
 	/**
diff --git a/src/vs/workbench/electron-browser/actions.ts b/src/vs/workbench/electron-browser/actions.ts
index e50a681ba8338..dc0a8e9114535 100644
--- a/src/vs/workbench/electron-browser/actions.ts
+++ b/src/vs/workbench/electron-browser/actions.ts
@@ -6,35 +6,35 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import timer = require('vs/base/common/timer');
-import {Action} from 'vs/base/common/actions';
-import {IWindowService} from 'vs/workbench/services/window/electron-browser/windowService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {EditorInput} from 'vs/workbench/common/editor';
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
+import { Action } from 'vs/base/common/actions';
+import { IWindowService } from 'vs/workbench/services/window/electron-browser/windowService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { EditorInput } from 'vs/workbench/common/editor';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
 import nls = require('vs/nls');
 import product from 'vs/platform/product';
 import pkg from 'vs/platform/package';
 import errors = require('vs/base/common/errors');
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {IConfigurationEditingService, ConfigurationTarget} from 'vs/workbench/services/configuration/common/configurationEditing';
-import {IExtensionManagementService, LocalExtensionType, ILocalExtension} from 'vs/platform/extensionManagement/common/extensionManagement';
-import {IWorkspaceConfigurationService} from 'vs/workbench/services/configuration/common/configuration';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { IConfigurationEditingService, ConfigurationTarget } from 'vs/workbench/services/configuration/common/configurationEditing';
+import { IExtensionManagementService, LocalExtensionType, ILocalExtension } from 'vs/platform/extensionManagement/common/extensionManagement';
+import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
 import paths = require('vs/base/common/paths');
-import {isMacintosh} from 'vs/base/common/platform';
-import {IQuickOpenService, IPickOpenEntry, IFilePickOpenEntry, ISeparator} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {KeyMod} from 'vs/base/common/keyCodes';
-import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
+import { isMacintosh } from 'vs/base/common/platform';
+import { IQuickOpenService, IPickOpenEntry, IFilePickOpenEntry, ISeparator } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { KeyMod } from 'vs/base/common/keyCodes';
+import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
 import * as browser from 'vs/base/browser/browser';
-import {IIntegrityService} from 'vs/platform/integrity/common/integrity';
+import { IIntegrityService } from 'vs/platform/integrity/common/integrity';
 
 import * as os from 'os';
-import {ipcRenderer as ipc, webFrame, remote, shell} from 'electron';
+import { ipcRenderer as ipc, webFrame, remote, shell } from 'electron';
 
 // --- actions
 
@@ -555,7 +555,7 @@ export class ReportIssueAction extends Action {
 		});
 	}
 
-	private generateNewIssueUrl(baseUrl: string, name: string, version: string, commit: string, date: string, isPure: boolean, extensions:ILocalExtension[]): string {
+	private generateNewIssueUrl(baseUrl: string, name: string, version: string, commit: string, date: string, isPure: boolean, extensions: ILocalExtension[]): string {
 		// Avoid backticks, these can trigger XSS detectors. (https://github.com/Microsoft/vscode/issues/13098)
 		const osVersion = `${os.type()} ${os.arch()} ${os.release()}`;
 		const queryStringPrefix = baseUrl.indexOf('?') === -1 ? '?' : '&';
diff --git a/src/vs/workbench/electron-browser/crashReporter.ts b/src/vs/workbench/electron-browser/crashReporter.ts
index 534d7f507e96e..ab43c0b01c134 100644
--- a/src/vs/workbench/electron-browser/crashReporter.ts
+++ b/src/vs/workbench/electron-browser/crashReporter.ts
@@ -5,14 +5,14 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {IConfigurationRegistry, Extensions} from 'vs/platform/configuration/common/configurationRegistry';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {ITelemetryService, NullTelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {Registry} from 'vs/platform/platform';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { IConfigurationRegistry, Extensions } from 'vs/platform/configuration/common/configurationRegistry';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { ITelemetryService, NullTelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { Registry } from 'vs/platform/platform';
 
-import {ipcRenderer as ipc, crashReporter} from 'electron';
+import { ipcRenderer as ipc, crashReporter } from 'electron';
 
 const TELEMETRY_SECTION_ID = 'telemetry';
 
@@ -50,7 +50,7 @@ export class CrashReporter {
 		this.config = null;
 	}
 
-	public start(rawConfiguration:Electron.CrashReporterStartOptions): void {
+	public start(rawConfiguration: Electron.CrashReporterStartOptions): void {
 		if (!this.isStarted) {
 
 			const sessionId = !this.sessionId
@@ -72,7 +72,7 @@ export class CrashReporter {
 		}
 	}
 
-	private doStart(rawConfiguration:Electron.CrashReporterStartOptions): void {
+	private doStart(rawConfiguration: Electron.CrashReporterStartOptions): void {
 		const config = this.toConfiguration(rawConfiguration);
 
 		crashReporter.start(config);
@@ -81,7 +81,7 @@ export class CrashReporter {
 		ipc.send('vscode:startCrashReporter', config);
 	}
 
-	private toConfiguration(rawConfiguration:Electron.CrashReporterStartOptions): Electron.CrashReporterStartOptions {
+	private toConfiguration(rawConfiguration: Electron.CrashReporterStartOptions): Electron.CrashReporterStartOptions {
 		return JSON.parse(JSON.stringify(rawConfiguration, (key, value) => {
 			if (value === '$(sessionId)') {
 				return this.sessionId;
diff --git a/src/vs/workbench/electron-browser/main.contribution.ts b/src/vs/workbench/electron-browser/main.contribution.ts
index 849cddc7f524b..9018e9f64c97c 100644
--- a/src/vs/workbench/electron-browser/main.contribution.ts
+++ b/src/vs/workbench/electron-browser/main.contribution.ts
@@ -5,21 +5,21 @@
 
 'use strict';
 
-import {Registry} from 'vs/platform/platform';
+import { Registry } from 'vs/platform/platform';
 import nls = require('vs/nls');
 import product from 'vs/platform/product';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IConfigurationRegistry, Extensions as ConfigurationExtensions} from 'vs/platform/configuration/common/configurationRegistry';
-import {IWorkbenchActionRegistry, Extensions} from 'vs/workbench/common/actionRegistry';
-import {KeyMod, KeyChord, KeyCode} from 'vs/base/common/keyCodes';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry';
+import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actionRegistry';
+import { KeyMod, KeyChord, KeyCode } from 'vs/base/common/keyCodes';
 import platform = require('vs/base/common/platform');
-import {IKeybindings} from 'vs/platform/keybinding/common/keybinding';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {IWindowService} from 'vs/workbench/services/window/electron-browser/windowService';
-import {CloseEditorAction, ReloadWindowAction, ShowStartupPerformance, ReportIssueAction, ZoomResetAction, ZoomOutAction, ZoomInAction, ToggleDevToolsAction, ToggleFullScreenAction, ToggleMenuBarAction, OpenRecentAction, CloseFolderAction, CloseWindowAction, SwitchWindow, NewWindowAction, CloseMessagesAction} from 'vs/workbench/electron-browser/actions';
-import {MessagesVisibleContext, NoEditorsVisibleContext} from 'vs/workbench/electron-browser/workbench';
+import { IKeybindings } from 'vs/platform/keybinding/common/keybinding';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { IWindowService } from 'vs/workbench/services/window/electron-browser/windowService';
+import { CloseEditorAction, ReloadWindowAction, ShowStartupPerformance, ReportIssueAction, ZoomResetAction, ZoomOutAction, ZoomInAction, ToggleDevToolsAction, ToggleFullScreenAction, ToggleMenuBarAction, OpenRecentAction, CloseFolderAction, CloseWindowAction, SwitchWindow, NewWindowAction, CloseMessagesAction } from 'vs/workbench/electron-browser/actions';
+import { MessagesVisibleContext, NoEditorsVisibleContext } from 'vs/workbench/electron-browser/workbench';
 
-const closeEditorOrWindowKeybindings: IKeybindings = { primary: KeyMod.CtrlCmd | KeyCode.KEY_W, win: { primary: KeyMod.CtrlCmd | KeyCode.F4, secondary: [KeyMod.CtrlCmd | KeyCode.KEY_W] }};
+const closeEditorOrWindowKeybindings: IKeybindings = { primary: KeyMod.CtrlCmd | KeyCode.KEY_W, win: { primary: KeyMod.CtrlCmd | KeyCode.F4, secondary: [KeyMod.CtrlCmd | KeyCode.KEY_W] } };
 
 // Contribute Global Actions
 const viewCategory = nls.localize('view', "View");
@@ -41,7 +41,7 @@ workbenchActionsRegistry.registerWorkbenchAction(
 	new SyncActionDescriptor(ZoomOutAction, ZoomOutAction.ID, ZoomOutAction.LABEL, {
 		primary: KeyMod.CtrlCmd | KeyCode.US_MINUS,
 		secondary: [KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.US_MINUS],
-		linux: { primary: KeyMod.CtrlCmd | KeyCode.US_MINUS, secondary: []}
+		linux: { primary: KeyMod.CtrlCmd | KeyCode.US_MINUS, secondary: [] }
 	}), 'View: Zoom Out', viewCategory
 );
 workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(ZoomResetAction, ZoomResetAction.ID, ZoomResetAction.LABEL), 'View: Reset Zoom', viewCategory);
diff --git a/src/vs/workbench/electron-browser/main.ts b/src/vs/workbench/electron-browser/main.ts
index bd1902de4637e..f94821cb5a857 100644
--- a/src/vs/workbench/electron-browser/main.ts
+++ b/src/vs/workbench/electron-browser/main.ts
@@ -6,28 +6,28 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {WorkbenchShell} from 'vs/workbench/electron-browser/shell';
-import {IOptions} from 'vs/workbench/common/options';
-import {domContentLoaded} from 'vs/base/browser/dom';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { WorkbenchShell } from 'vs/workbench/electron-browser/shell';
+import { IOptions } from 'vs/workbench/common/options';
+import { domContentLoaded } from 'vs/base/browser/dom';
 import errors = require('vs/base/common/errors');
 import platform = require('vs/base/common/platform');
 import paths = require('vs/base/common/paths');
 import timer = require('vs/base/common/timer');
 import uri from 'vs/base/common/uri';
 import strings = require('vs/base/common/strings');
-import {IResourceInput} from 'vs/platform/editor/common/editor';
-import {EventService} from 'vs/platform/event/common/eventService';
-import {WorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IWorkspace} from 'vs/platform/workspace/common/workspace';
-import {WorkspaceConfigurationService} from 'vs/workbench/services/configuration/node/configurationService';
-import {ParsedArgs} from 'vs/platform/environment/node/argv';
-import {realpath} from 'vs/base/node/pfs';
-import {EnvironmentService} from 'vs/platform/environment/node/environmentService';
+import { IResourceInput } from 'vs/platform/editor/common/editor';
+import { EventService } from 'vs/platform/event/common/eventService';
+import { WorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IWorkspace } from 'vs/platform/workspace/common/workspace';
+import { WorkspaceConfigurationService } from 'vs/workbench/services/configuration/node/configurationService';
+import { ParsedArgs } from 'vs/platform/environment/node/argv';
+import { realpath } from 'vs/base/node/pfs';
+import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
 import path = require('path');
 import fs = require('fs');
 import gracefulFs = require('graceful-fs');
-import {IPath, IOpenFileRequest} from 'vs/workbench/electron-browser/common';
+import { IPath, IOpenFileRequest } from 'vs/workbench/electron-browser/common';
 
 gracefulFs.gracefulify(fs); // enable gracefulFs
 
diff --git a/src/vs/workbench/electron-browser/shell.ts b/src/vs/workbench/electron-browser/shell.ts
index adafb3accd7c0..71ab367ee01a1 100644
--- a/src/vs/workbench/electron-browser/shell.ts
+++ b/src/vs/workbench/electron-browser/shell.ts
@@ -8,80 +8,80 @@
 import 'vs/css!./media/shell';
 
 import * as nls from 'vs/nls';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as platform from 'vs/base/common/platform';
-import {Dimension, Builder, $} from 'vs/base/browser/builder';
+import { Dimension, Builder, $ } from 'vs/base/browser/builder';
 import dom = require('vs/base/browser/dom');
 import aria = require('vs/base/browser/ui/aria/aria');
-import {dispose, IDisposable, Disposables} from 'vs/base/common/lifecycle';
+import { dispose, IDisposable, Disposables } from 'vs/base/common/lifecycle';
 import errors = require('vs/base/common/errors');
-import {toErrorMessage} from 'vs/base/common/errorMessage';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
 import product from 'vs/platform/product';
 import pkg from 'vs/platform/package';
-import {ContextViewService} from 'vs/platform/contextview/browser/contextViewService';
+import { ContextViewService } from 'vs/platform/contextview/browser/contextViewService';
 import timer = require('vs/base/common/timer');
-import {Workbench} from 'vs/workbench/electron-browser/workbench';
-import {Storage, inMemoryLocalStorageInstance} from 'vs/workbench/common/storage';
-import {ITelemetryService, NullTelemetryService, loadExperiments} from 'vs/platform/telemetry/common/telemetry';
-import {ITelemetryAppenderChannel, TelemetryAppenderClient} from 'vs/platform/telemetry/common/telemetryIpc';
-import {TelemetryService, ITelemetryServiceConfig} from  'vs/platform/telemetry/common/telemetryService';
-import {IdleMonitor, UserStatus} from  'vs/platform/telemetry/browser/idleMonitor';
+import { Workbench } from 'vs/workbench/electron-browser/workbench';
+import { Storage, inMemoryLocalStorageInstance } from 'vs/workbench/common/storage';
+import { ITelemetryService, NullTelemetryService, loadExperiments } from 'vs/platform/telemetry/common/telemetry';
+import { ITelemetryAppenderChannel, TelemetryAppenderClient } from 'vs/platform/telemetry/common/telemetryIpc';
+import { TelemetryService, ITelemetryServiceConfig } from 'vs/platform/telemetry/common/telemetryService';
+import { IdleMonitor, UserStatus } from 'vs/platform/telemetry/browser/idleMonitor';
 import ErrorTelemetry from 'vs/platform/telemetry/browser/errorTelemetry';
-import {resolveWorkbenchCommonProperties} from 'vs/platform/telemetry/node/workbenchCommonProperties';
-import {ElectronIntegration} from 'vs/workbench/electron-browser/integration';
-import {Update} from 'vs/workbench/electron-browser/update';
-import {WorkspaceStats} from 'vs/workbench/services/telemetry/common/workspaceStats';
-import {IWindowService, WindowService} from 'vs/workbench/services/window/electron-browser/windowService';
-import {MessageService} from 'vs/workbench/services/message/electron-browser/messageService';
-import {IRequestService} from 'vs/platform/request/common/request';
-import {RequestService} from 'vs/platform/request/node/requestService';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {SearchService} from 'vs/workbench/services/search/node/searchService';
-import {LifecycleService} from 'vs/workbench/services/lifecycle/electron-browser/lifecycleService';
-import {MainThreadService} from 'vs/workbench/services/thread/electron-browser/threadService';
-import {MarkerService} from 'vs/platform/markers/common/markerService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {ModelServiceImpl} from 'vs/editor/common/services/modelServiceImpl';
-import {CodeEditorServiceImpl} from 'vs/editor/browser/services/codeEditorServiceImpl';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {IntegrityServiceImpl} from 'vs/platform/integrity/node/integrityServiceImpl';
-import {IIntegrityService} from 'vs/platform/integrity/common/integrity';
-import {EditorWorkerServiceImpl} from 'vs/editor/common/services/editorWorkerServiceImpl';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
-import {MainProcessExtensionService} from 'vs/workbench/api/node/mainThreadExtensionService';
-import {IOptions} from 'vs/workbench/common/options';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {InstantiationService} from 'vs/platform/instantiation/common/instantiationService';
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {IEventService} from 'vs/platform/event/common/event';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {IMarkerService} from 'vs/platform/markers/common/markers';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {IMessageService, IChoiceService, Severity} from 'vs/platform/message/common/message';
-import {ChoiceChannel} from 'vs/platform/message/common/messageIpc';
-import {ISearchService} from 'vs/platform/search/common/search';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {CommandService} from 'vs/platform/commands/common/commandService';
-import {IWorkspaceContextService, IWorkspace} from 'vs/platform/workspace/common/workspace';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
-import {MainThreadModeServiceImpl} from 'vs/editor/common/services/modeServiceImpl';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IUntitledEditorService, UntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {CrashReporter} from 'vs/workbench/electron-browser/crashReporter';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
-import {ThemeService} from 'vs/workbench/services/themes/electron-browser/themeService';
-import {getDelayedChannel} from 'vs/base/parts/ipc/common/ipc';
-import {connect as connectNet} from 'vs/base/parts/ipc/node/ipc.net';
-import {Client as ElectronIPCClient} from 'vs/base/parts/ipc/common/ipc.electron';
-import {ipcRenderer} from 'electron';
-import {IExtensionManagementChannel, ExtensionManagementChannelClient} from 'vs/platform/extensionManagement/common/extensionManagementIpc';
-import {IExtensionManagementService} from 'vs/platform/extensionManagement/common/extensionManagement';
-import {URLChannelClient} from 'vs/platform/url/common/urlIpc';
-import {IURLService} from 'vs/platform/url/common/url';
-import {ReloadWindowAction} from 'vs/workbench/electron-browser/actions';
-import {WorkspaceConfigurationService} from 'vs/workbench/services/configuration/node/configurationService';
+import { resolveWorkbenchCommonProperties } from 'vs/platform/telemetry/node/workbenchCommonProperties';
+import { ElectronIntegration } from 'vs/workbench/electron-browser/integration';
+import { Update } from 'vs/workbench/electron-browser/update';
+import { WorkspaceStats } from 'vs/workbench/services/telemetry/common/workspaceStats';
+import { IWindowService, WindowService } from 'vs/workbench/services/window/electron-browser/windowService';
+import { MessageService } from 'vs/workbench/services/message/electron-browser/messageService';
+import { IRequestService } from 'vs/platform/request/common/request';
+import { RequestService } from 'vs/platform/request/node/requestService';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { SearchService } from 'vs/workbench/services/search/node/searchService';
+import { LifecycleService } from 'vs/workbench/services/lifecycle/electron-browser/lifecycleService';
+import { MainThreadService } from 'vs/workbench/services/thread/electron-browser/threadService';
+import { MarkerService } from 'vs/platform/markers/common/markerService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { ModelServiceImpl } from 'vs/editor/common/services/modelServiceImpl';
+import { CodeEditorServiceImpl } from 'vs/editor/browser/services/codeEditorServiceImpl';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { IntegrityServiceImpl } from 'vs/platform/integrity/node/integrityServiceImpl';
+import { IIntegrityService } from 'vs/platform/integrity/common/integrity';
+import { EditorWorkerServiceImpl } from 'vs/editor/common/services/editorWorkerServiceImpl';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
+import { MainProcessExtensionService } from 'vs/workbench/api/node/mainThreadExtensionService';
+import { IOptions } from 'vs/workbench/common/options';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { IEventService } from 'vs/platform/event/common/event';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { IMarkerService } from 'vs/platform/markers/common/markers';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { IMessageService, IChoiceService, Severity } from 'vs/platform/message/common/message';
+import { ChoiceChannel } from 'vs/platform/message/common/messageIpc';
+import { ISearchService } from 'vs/platform/search/common/search';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { CommandService } from 'vs/platform/commands/common/commandService';
+import { IWorkspaceContextService, IWorkspace } from 'vs/platform/workspace/common/workspace';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
+import { MainThreadModeServiceImpl } from 'vs/editor/common/services/modeServiceImpl';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IUntitledEditorService, UntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { CrashReporter } from 'vs/workbench/electron-browser/crashReporter';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
+import { ThemeService } from 'vs/workbench/services/themes/electron-browser/themeService';
+import { getDelayedChannel } from 'vs/base/parts/ipc/common/ipc';
+import { connect as connectNet } from 'vs/base/parts/ipc/node/ipc.net';
+import { Client as ElectronIPCClient } from 'vs/base/parts/ipc/common/ipc.electron';
+import { ipcRenderer } from 'electron';
+import { IExtensionManagementChannel, ExtensionManagementChannelClient } from 'vs/platform/extensionManagement/common/extensionManagementIpc';
+import { IExtensionManagementService } from 'vs/platform/extensionManagement/common/extensionManagement';
+import { URLChannelClient } from 'vs/platform/url/common/urlIpc';
+import { IURLService } from 'vs/platform/url/common/url';
+import { ReloadWindowAction } from 'vs/workbench/electron-browser/actions';
+import { WorkspaceConfigurationService } from 'vs/workbench/services/configuration/node/configurationService';
 
 // self registering services
 import 'vs/platform/opener/browser/opener.contribution';
@@ -104,7 +104,7 @@ export class WorkbenchShell {
 	private storageService: IStorageService;
 	private messageService: MessageService;
 	private eventService: IEventService;
-	private environmentService:IEnvironmentService;
+	private environmentService: IEnvironmentService;
 	private contextViewService: ContextViewService;
 	private windowService: IWindowService;
 	private threadService: MainThreadService;
@@ -228,7 +228,7 @@ export class WorkbenchShell {
 		this.windowService = instantiationService.createInstance(WindowService);
 		serviceCollection.set(IWindowService, this.windowService);
 
-		const sharedProcess = connectNet(this.environmentService.sharedIPCHandle, `window:${ this.windowService.getWindowId() }`);
+		const sharedProcess = connectNet(this.environmentService.sharedIPCHandle, `window:${this.windowService.getWindowId()}`);
 		sharedProcess.done(client => {
 
 			client.registerChannel('choice', new ChoiceChannel(this.messageService));
diff --git a/src/vs/workbench/electron-browser/update.ts b/src/vs/workbench/electron-browser/update.ts
index 008c4a209c099..cf8adfb025fb6 100644
--- a/src/vs/workbench/electron-browser/update.ts
+++ b/src/vs/workbench/electron-browser/update.ts
@@ -7,10 +7,10 @@
 
 import nls = require('vs/nls');
 import severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Action} from 'vs/base/common/actions';
-import {ipcRenderer as ipc, shell} from 'electron';
-import {IMessageService} from 'vs/platform/message/common/message';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Action } from 'vs/base/common/actions';
+import { ipcRenderer as ipc, shell } from 'electron';
+import { IMessageService } from 'vs/platform/message/common/message';
 import pkg from 'vs/platform/package';
 import product from 'vs/platform/product';
 import URI from 'vs/base/common/uri';
@@ -57,7 +57,7 @@ export function loadReleaseNotes(accessor: ServicesAccessor, version: string): T
 
 	const versionLabel = match[1].replace(/\./g, '_');
 	const baseUrl = 'https://code.visualstudio.com/raw';
-	const url = `${ baseUrl }/v${ versionLabel }.md`;
+	const url = `${baseUrl}/v${versionLabel}.md`;
 
 	const patchKeybindings = (text: string): string => {
 		const kb = (match: string, kb: string) => {
@@ -132,7 +132,7 @@ export abstract class AbstractShowReleaseNotesAction extends Action {
 		this.enabled = false;
 
 		return this.instantiationService.invokeFunction(loadReleaseNotes, this.version)
-			.then(text =>  this.editorService.openEditor(this.instantiationService.createInstance(ReleaseNotesInput, this.version, text)))
+			.then(text => this.editorService.openEditor(this.instantiationService.createInstance(ReleaseNotesInput, this.version, text)))
 			.then(() => true)
 			.then(null, () => {
 				const action = this.instantiationService.createInstance(OpenLatestReleaseNotesInBrowserAction);
diff --git a/src/vs/workbench/electron-browser/window.ts b/src/vs/workbench/electron-browser/window.ts
index c656f7a74ef76..e87507ff7fb3a 100644
--- a/src/vs/workbench/electron-browser/window.ts
+++ b/src/vs/workbench/electron-browser/window.ts
@@ -7,17 +7,17 @@
 
 import platform = require('vs/base/common/platform');
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {stat} from 'vs/base/node/pfs';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { stat } from 'vs/base/node/pfs';
 import DOM = require('vs/base/browser/dom');
 import DND = require('vs/base/browser/dnd');
-import {Builder, $} from 'vs/base/browser/builder';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {asFileEditorInput} from 'vs/workbench/common/editor';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
+import { Builder, $ } from 'vs/base/browser/builder';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { asFileEditorInput } from 'vs/workbench/common/editor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
 
-import {ipcRenderer as ipc, shell, remote} from 'electron';
+import { ipcRenderer as ipc, shell, remote } from 'electron';
 
 const dialog = remote.dialog;
 
diff --git a/src/vs/workbench/electron-browser/workbench.ts b/src/vs/workbench/electron-browser/workbench.ts
index 02030b9be2c1a..4ce36621ef53e 100644
--- a/src/vs/workbench/electron-browser/workbench.ts
+++ b/src/vs/workbench/electron-browser/workbench.ts
@@ -7,78 +7,78 @@
 
 import 'vs/css!./media/workbench';
 
-import {TPromise, ValueCallback} from 'vs/base/common/winjs.base';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { TPromise, ValueCallback } from 'vs/base/common/winjs.base';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import strings = require('vs/base/common/strings');
 import DOM = require('vs/base/browser/dom');
-import {Box, Builder, $} from 'vs/base/browser/builder';
-import {Delayer} from 'vs/base/common/async';
+import { Box, Builder, $ } from 'vs/base/browser/builder';
+import { Delayer } from 'vs/base/common/async';
 import assert = require('vs/base/common/assert');
 import timer = require('vs/base/common/timer');
 import errors = require('vs/base/common/errors');
-import {toErrorMessage} from 'vs/base/common/errorMessage';
-import {Registry} from 'vs/platform/platform';
-import {isWindows, isLinux} from 'vs/base/common/platform';
-import {IOptions} from 'vs/workbench/common/options';
-import {IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions} from 'vs/workbench/common/contributions';
-import {BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {IEditorRegistry, Extensions as EditorExtensions, TextEditorOptions, EditorInput, EditorOptions} from 'vs/workbench/common/editor';
-import {HistoryService} from 'vs/workbench/services/history/browser/history';
-import {ActivitybarPart} from 'vs/workbench/browser/parts/activitybar/activitybarPart';
-import {EditorPart} from 'vs/workbench/browser/parts/editor/editorPart';
-import {SidebarPart} from 'vs/workbench/browser/parts/sidebar/sidebarPart';
-import {PanelPart} from 'vs/workbench/browser/parts/panel/panelPart';
-import {StatusbarPart} from 'vs/workbench/browser/parts/statusbar/statusbarPart';
-import {WorkbenchLayout, LayoutOptions} from 'vs/workbench/browser/layout';
-import {IActionBarRegistry, Extensions as ActionBarExtensions} from 'vs/workbench/browser/actionBarRegistry';
-import {ViewletRegistry, Extensions as ViewletExtensions} from 'vs/workbench/browser/viewlet';
-import {PanelRegistry, Extensions as PanelExtensions} from 'vs/workbench/browser/panel';
-import {QuickOpenController} from 'vs/workbench/browser/parts/quickopen/quickOpenController';
-import {DiffEditorInput, toDiffLabel} from 'vs/workbench/common/editor/diffEditorInput';
-import {getServices} from 'vs/platform/instantiation/common/extensions';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {WorkbenchEditorService} from 'vs/workbench/services/editor/browser/editorService';
-import {Position, Parts, IPartService} from 'vs/workbench/services/part/common/partService';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {ContextMenuService} from 'vs/workbench/services/contextview/electron-browser/contextmenuService';
-import {WorkbenchKeybindingService} from 'vs/workbench/services/keybinding/electron-browser/keybindingService';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IConfigurationEditingService} from 'vs/workbench/services/configuration/common/configurationEditing';
-import {ConfigurationEditingService} from 'vs/workbench/services/configuration/node/configurationEditingService';
-import {ContextKeyService} from 'vs/platform/contextkey/browser/contextKeyService';
-import {IWorkspace} from 'vs/platform/workspace/common/workspace';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {ContextKeyExpr, RawContextKey, IContextKeyService, IContextKey} from 'vs/platform/contextkey/common/contextkey';
-import {IActivityService} from 'vs/workbench/services/activity/common/activityService';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {FileService} from 'vs/workbench/services/files/electron-browser/fileService';
-import {IFileService} from 'vs/platform/files/common/files';
-import {IConfigurationResolverService} from 'vs/workbench/services/configurationResolver/common/configurationResolver';
-import {ConfigurationResolverService} from 'vs/workbench/services/configurationResolver/node/configurationResolverService';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
-import {WorkbenchMessageService} from 'vs/workbench/services/message/browser/messageService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IHistoryService} from 'vs/workbench/services/history/common/history';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {SyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {TextFileService} from 'vs/workbench/services/textfile/electron-browser/textFileService';
-import {ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IStatusbarService} from 'vs/platform/statusbar/common/statusbar';
-import {IMenuService} from 'vs/platform/actions/common/actions';
-import {MenuService} from 'vs/platform/actions/common/menuService';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
+import { Registry } from 'vs/platform/platform';
+import { isWindows, isLinux } from 'vs/base/common/platform';
+import { IOptions } from 'vs/workbench/common/options';
+import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
+import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { IEditorRegistry, Extensions as EditorExtensions, TextEditorOptions, EditorInput, EditorOptions } from 'vs/workbench/common/editor';
+import { HistoryService } from 'vs/workbench/services/history/browser/history';
+import { ActivitybarPart } from 'vs/workbench/browser/parts/activitybar/activitybarPart';
+import { EditorPart } from 'vs/workbench/browser/parts/editor/editorPart';
+import { SidebarPart } from 'vs/workbench/browser/parts/sidebar/sidebarPart';
+import { PanelPart } from 'vs/workbench/browser/parts/panel/panelPart';
+import { StatusbarPart } from 'vs/workbench/browser/parts/statusbar/statusbarPart';
+import { WorkbenchLayout, LayoutOptions } from 'vs/workbench/browser/layout';
+import { IActionBarRegistry, Extensions as ActionBarExtensions } from 'vs/workbench/browser/actionBarRegistry';
+import { ViewletRegistry, Extensions as ViewletExtensions } from 'vs/workbench/browser/viewlet';
+import { PanelRegistry, Extensions as PanelExtensions } from 'vs/workbench/browser/panel';
+import { QuickOpenController } from 'vs/workbench/browser/parts/quickopen/quickOpenController';
+import { DiffEditorInput, toDiffLabel } from 'vs/workbench/common/editor/diffEditorInput';
+import { getServices } from 'vs/platform/instantiation/common/extensions';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { WorkbenchEditorService } from 'vs/workbench/services/editor/browser/editorService';
+import { Position, Parts, IPartService } from 'vs/workbench/services/part/common/partService';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { ContextMenuService } from 'vs/workbench/services/contextview/electron-browser/contextmenuService';
+import { WorkbenchKeybindingService } from 'vs/workbench/services/keybinding/electron-browser/keybindingService';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IConfigurationEditingService } from 'vs/workbench/services/configuration/common/configurationEditing';
+import { ConfigurationEditingService } from 'vs/workbench/services/configuration/node/configurationEditingService';
+import { ContextKeyService } from 'vs/platform/contextkey/browser/contextKeyService';
+import { IWorkspace } from 'vs/platform/workspace/common/workspace';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { ContextKeyExpr, RawContextKey, IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
+import { IActivityService } from 'vs/workbench/services/activity/common/activityService';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { FileService } from 'vs/workbench/services/files/electron-browser/fileService';
+import { IFileService } from 'vs/platform/files/common/files';
+import { IConfigurationResolverService } from 'vs/workbench/services/configurationResolver/common/configurationResolver';
+import { ConfigurationResolverService } from 'vs/workbench/services/configurationResolver/node/configurationResolverService';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
+import { WorkbenchMessageService } from 'vs/workbench/services/message/browser/messageService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IHistoryService } from 'vs/workbench/services/history/common/history';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { TextFileService } from 'vs/workbench/services/textfile/electron-browser/textFileService';
+import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IStatusbarService } from 'vs/platform/statusbar/common/statusbar';
+import { IMenuService } from 'vs/platform/actions/common/actions';
+import { MenuService } from 'vs/platform/actions/common/menuService';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 
 export const MessagesVisibleContext = new RawContextKey<boolean>('globalMessageVisible', false);
 export const EditorsVisibleContext = new RawContextKey<boolean>('editorIsOpen', false);
-export const NoEditorsVisibleContext:ContextKeyExpr = EditorsVisibleContext.toNegated();
+export const NoEditorsVisibleContext: ContextKeyExpr = EditorsVisibleContext.toNegated();
 
 interface WorkbenchParams {
 	workspace?: IWorkspace;
diff --git a/src/vs/workbench/node/extensionHostMain.ts b/src/vs/workbench/node/extensionHostMain.ts
index 5d5eee790bbd8..d7384ef57aade 100644
--- a/src/vs/workbench/node/extensionHostMain.ts
+++ b/src/vs/workbench/node/extensionHostMain.ts
@@ -11,18 +11,18 @@ import * as crypto from 'crypto';
 import nls = require('vs/nls');
 import pfs = require('vs/base/node/pfs');
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import paths = require('vs/base/common/paths');
 import pkg from 'vs/platform/package';
-import {IExtensionDescription} from 'vs/platform/extensions/common/extensions';
-import {ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-import {ExtHostAPIImplementation, defineAPI} from 'vs/workbench/api/node/extHost.api.impl';
-import {IMainProcessExtHostIPC} from 'vs/platform/extensions/common/ipcRemoteCom';
-import {ExtHostExtensionService} from 'vs/workbench/api/node/extHostExtensionService';
-import {ExtHostThreadService} from 'vs/workbench/services/thread/common/extHostThreadService';
-import {RemoteTelemetryService} from 'vs/workbench/api/node/extHostTelemetry';
-import {ExtensionScanner, MessagesCollector} from 'vs/workbench/node/extensionPoints';
-import {IWorkspaceContextService, WorkspaceContextService} from 'vs/platform/workspace/common/workspace';
+import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
+import { ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+import { ExtHostAPIImplementation, defineAPI } from 'vs/workbench/api/node/extHost.api.impl';
+import { IMainProcessExtHostIPC } from 'vs/platform/extensions/common/ipcRemoteCom';
+import { ExtHostExtensionService } from 'vs/workbench/api/node/extHostExtensionService';
+import { ExtHostThreadService } from 'vs/workbench/services/thread/common/extHostThreadService';
+import { RemoteTelemetryService } from 'vs/workbench/api/node/extHostTelemetry';
+import { ExtensionScanner, MessagesCollector } from 'vs/workbench/node/extensionPoints';
+import { IWorkspaceContextService, WorkspaceContextService } from 'vs/platform/workspace/common/workspace';
 import * as errors from 'vs/base/common/errors';
 
 const DIRNAME = URI.parse(require.toUrl('./')).fsPath;
@@ -47,7 +47,7 @@ export interface IInitData {
 }
 
 const nativeExit = process.exit.bind(process);
-process.exit = function() {
+process.exit = function () {
 	const err = new Error('An extension called process.exit() and this was prevented.');
 	console.warn((<any>err).stack);
 };
@@ -78,7 +78,7 @@ export class ExtensionHostMain {
 
 		const telemetryService = new RemoteTelemetryService('pluginHostTelemetry', threadService);
 
-		this._extensionService = new ExtHostExtensionService(threadService, telemetryService, {_serviceBrand: 'optionalArgs', workspaceStoragePath });
+		this._extensionService = new ExtHostExtensionService(threadService, telemetryService, { _serviceBrand: 'optionalArgs', workspaceStoragePath });
 
 		// Connect to shared process services
 		/*
diff --git a/src/vs/workbench/node/extensionHostProcess.ts b/src/vs/workbench/node/extensionHostProcess.ts
index d60ec327d6b35..bdfe65f36f8d6 100644
--- a/src/vs/workbench/node/extensionHostProcess.ts
+++ b/src/vs/workbench/node/extensionHostProcess.ts
@@ -5,7 +5,7 @@
 
 'use strict';
 
-import {onUnexpectedError} from 'vs/base/common/errors';
+import { onUnexpectedError } from 'vs/base/common/errors';
 import { TPromise } from 'vs/base/common/winjs.base';
 import { ExtensionHostMain, IInitData, exit } from 'vs/workbench/node/extensionHostMain';
 import { create as createIPC, IMainProcessExtHostIPC } from 'vs/platform/extensions/common/ipcRemoteCom';
@@ -18,7 +18,7 @@ interface IRendererConnection {
 
 // This calls exit directly in case the initialization is not finished and we need to exit
 // Otherwise, if initialization completed we go to extensionHostMain.terminate()
-let onTerminate = function() {
+let onTerminate = function () {
 	exit();
 };
 
@@ -68,7 +68,7 @@ function connectToRenderer(): TPromise<IRendererConnection> {
 			});
 
 			// Print a console message when an exception isn't handled.
-			process.on('uncaughtException', function(err) {
+			process.on('uncaughtException', function (err) {
 				onUnexpectedError(err);
 			});
 
@@ -82,7 +82,7 @@ function connectToRenderer(): TPromise<IRendererConnection> {
 			}, 5000);
 
 			// Check stats
-			setInterval(function() {
+			setInterval(function () {
 				if (stats.length >= 250) {
 					let total = stats.reduce((prev, current) => prev + current, 0);
 					console.warn(`MANY messages are being SEND FROM the extension host!`);
diff --git a/src/vs/workbench/node/extensionPoints.ts b/src/vs/workbench/node/extensionPoints.ts
index 94d46ceb446c7..6005ded2d104b 100644
--- a/src/vs/workbench/node/extensionPoints.ts
+++ b/src/vs/workbench/node/extensionPoints.ts
@@ -8,14 +8,14 @@
 import * as nls from 'vs/nls';
 import * as Platform from 'vs/base/common/platform';
 import pfs = require('vs/base/node/pfs');
-import {IExtensionDescription, IMessage} from 'vs/platform/extensions/common/extensions';
+import { IExtensionDescription, IMessage } from 'vs/platform/extensions/common/extensions';
 import Severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {groupBy, values} from 'vs/base/common/collections';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { groupBy, values } from 'vs/base/common/collections';
 import paths = require('vs/base/common/paths');
 import json = require('vs/base/common/json');
 import Types = require('vs/base/common/types');
-import {isValidExtensionDescription} from 'vs/platform/extensions/node/extensionValidator';
+import { isValidExtensionDescription } from 'vs/platform/extensions/node/extensionValidator';
 import * as semver from 'semver';
 
 const MANIFEST_FILE = 'package.json';
@@ -42,7 +42,7 @@ export class MessagesCollector {
 		return this._messages;
 	}
 
-	private _msg(source:string, type:Severity, message:string): void {
+	private _msg(source: string, type: Severity, message: string): void {
 		this._messages.push({
 			type: type,
 			message: message,
@@ -50,15 +50,15 @@ export class MessagesCollector {
 		});
 	}
 
-	public error(source:string, message: string): void {
+	public error(source: string, message: string): void {
 		this._msg(source, Severity.Error, message);
 	}
 
-	public warn(source:string, message: string): void {
+	public warn(source: string, message: string): void {
 		this._msg(source, Severity.Warning, message);
 	}
 
-	public info(source:string, message: string): void {
+	public info(source: string, message: string): void {
 		this._msg(source, Severity.Info, message);
 	}
 }
@@ -71,7 +71,7 @@ abstract class ExtensionManifestHandler {
 	protected _isBuiltin: boolean;
 	protected _absoluteManifestPath: string;
 
-	constructor(ourVersion: string, collector: MessagesCollector, absoluteFolderPath:string, isBuiltin:boolean) {
+	constructor(ourVersion: string, collector: MessagesCollector, absoluteFolderPath: string, isBuiltin: boolean) {
 		this._ourVersion = ourVersion;
 		this._collector = collector;
 		this._absoluteFolderPath = absoluteFolderPath;
@@ -101,7 +101,7 @@ class ExtensionManifestParser extends ExtensionManifestHandler {
 
 class ExtensionManifestNLSReplacer extends ExtensionManifestHandler {
 
-	public replaceNLS(extensionDescription:IExtensionDescription): TPromise<IExtensionDescription> {
+	public replaceNLS(extensionDescription: IExtensionDescription): TPromise<IExtensionDescription> {
 		let extension = paths.extname(this._absoluteManifestPath);
 		let basename = this._absoluteManifestPath.substr(0, this._absoluteManifestPath.length - extension.length);
 
@@ -133,7 +133,7 @@ class ExtensionManifestNLSReplacer extends ExtensionManifestHandler {
 	}
 
 	private static findMessageBundle(basename: string): TPromise<string> {
-		return new TPromise<string>((c ,e, p) => {
+		return new TPromise<string>((c, e, p) => {
 			function loop(basename: string, locale: string): void {
 				let toCheck = `${basename}.nls.${locale}.json`;
 				pfs.fileExists(toCheck).then(exists => {
@@ -163,7 +163,7 @@ class ExtensionManifestNLSReplacer extends ExtensionManifestHandler {
 	 * Strings to replace are one values of a key. So for example string[] are ignored.
 	 * This is done to speed things up.
 	 */
-	private static _replaceNLStrings<T>(literal: T, messages: { [key: string]: string; }, collector: MessagesCollector, messageScope:string): void {
+	private static _replaceNLStrings<T>(literal: T, messages: { [key: string]: string; }, collector: MessagesCollector, messageScope: string): void {
 		Object.keys(literal).forEach(key => {
 			if (literal.hasOwnProperty(key)) {
 				let value = literal[key];
@@ -198,7 +198,7 @@ class ExtensionManifestNLSReplacer extends ExtensionManifestHandler {
 }
 
 class ExtensionManifestValidator extends ExtensionManifestHandler {
-	validate(extensionDescription:IExtensionDescription): IExtensionDescription {
+	validate(extensionDescription: IExtensionDescription): IExtensionDescription {
 		extensionDescription.isBuiltin = this._isBuiltin;
 
 		let notices: string[] = [];
@@ -215,7 +215,7 @@ class ExtensionManifestValidator extends ExtensionManifestHandler {
 		});
 
 		// id := `publisher.name`
-		extensionDescription.id = `${ extensionDescription.publisher }.${ extensionDescription.name }`;
+		extensionDescription.id = `${extensionDescription.publisher}.${extensionDescription.name}`;
 
 		// main := absolutePath(`main`)
 		if (extensionDescription.main) {
@@ -236,10 +236,9 @@ export class ExtensionScanner {
 	public static scanExtension(
 		version: string,
 		collector: MessagesCollector,
-		absoluteFolderPath:string,
-		isBuiltin:boolean
-	) : TPromise<IExtensionDescription>
-	{
+		absoluteFolderPath: string,
+		isBuiltin: boolean
+	): TPromise<IExtensionDescription> {
 		absoluteFolderPath = paths.normalize(absoluteFolderPath);
 
 		let parser = new ExtensionManifestParser(version, collector, absoluteFolderPath, isBuiltin);
@@ -266,10 +265,9 @@ export class ExtensionScanner {
 	public static scanExtensions(
 		version: string,
 		collector: MessagesCollector,
-		absoluteFolderPath:string,
-		isBuiltin:boolean
-	) : TPromise<IExtensionDescription[]>
-	{
+		absoluteFolderPath: string,
+		isBuiltin: boolean
+	): TPromise<IExtensionDescription[]> {
 		let obsolete = TPromise.as({});
 
 		if (!isBuiltin) {
@@ -283,7 +281,7 @@ export class ExtensionScanner {
 				.then(folders => TPromise.join(folders.map(f => this.scanExtension(version, collector, paths.join(absoluteFolderPath, f), isBuiltin))))
 				.then(extensionDescriptions => extensionDescriptions.filter(item => item !== null))
 				// TODO: align with extensionsService
-				.then(extensionDescriptions => extensionDescriptions.filter(p => !obsolete[`${ p.publisher }.${ p.name }-${ p.version }`]))
+				.then(extensionDescriptions => extensionDescriptions.filter(p => !obsolete[`${p.publisher}.${p.name}-${p.version}`]))
 				.then(extensionDescriptions => {
 					const extensionDescriptionsById = values(groupBy(extensionDescriptions, p => p.id));
 					return extensionDescriptionsById.map(p => p.sort((a, b) => semver.rcompare(a.version, b.version))[0]);
@@ -302,10 +300,9 @@ export class ExtensionScanner {
 	public static scanOneOrMultipleExtensions(
 		version: string,
 		collector: MessagesCollector,
-		absoluteFolderPath:string,
-		isBuiltin:boolean
-	) : TPromise<IExtensionDescription[]>
-	{
+		absoluteFolderPath: string,
+		isBuiltin: boolean
+	): TPromise<IExtensionDescription[]> {
 		return pfs.fileExists(paths.join(absoluteFolderPath, MANIFEST_FILE)).then((exists) => {
 			if (exists) {
 				return this.scanExtension(version, collector, absoluteFolderPath, isBuiltin).then((extensionDescription) => {
diff --git a/src/vs/workbench/parts/cli/electron-browser/cli.contribution.ts b/src/vs/workbench/parts/cli/electron-browser/cli.contribution.ts
index 4fd7d974ec2dd..1a0a44ef982fa 100644
--- a/src/vs/workbench/parts/cli/electron-browser/cli.contribution.ts
+++ b/src/vs/workbench/parts/cli/electron-browser/cli.contribution.ts
@@ -55,7 +55,7 @@ class InstallAction extends Action {
 	}
 
 	private get target(): string {
-		return `/usr/local/bin/${ product.applicationName }`;
+		return `/usr/local/bin/${product.applicationName}`;
 	}
 
 	run(): TPromise<void> {
@@ -185,7 +185,7 @@ class UninstallAction extends Action {
 	}
 
 	private get target(): string {
-		return `/usr/local/bin/${ product.applicationName }`;
+		return `/usr/local/bin/${product.applicationName}`;
 	}
 
 	run(): TPromise<void> {
diff --git a/src/vs/workbench/parts/contentprovider/common/contentprovider.contribution.ts b/src/vs/workbench/parts/contentprovider/common/contentprovider.contribution.ts
index fd265207035bc..97c896111d968 100644
--- a/src/vs/workbench/parts/contentprovider/common/contentprovider.contribution.ts
+++ b/src/vs/workbench/parts/contentprovider/common/contentprovider.contribution.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {ResourceEditorInput} from 'vs/workbench/common/editor/resourceEditorInput';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IModeService} from 'vs/editor/common/services/modeService';
+import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IModeService } from 'vs/editor/common/services/modeService';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IModel} from 'vs/editor/common/editorCommon';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IModel } from 'vs/editor/common/editorCommon';
 import JSONContributionRegistry = require('vs/platform/jsonschemas/common/jsonContributionRegistry');
-import {Registry} from 'vs/platform/platform';
-import {IWorkbenchContribution} from 'vs/workbench/common/contributions';
-import {IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions} from 'vs/workbench/common/contributions';
+import { Registry } from 'vs/platform/platform';
+import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
+import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
 
 let schemaRegistry = <JSONContributionRegistry.IJSONContributionRegistry>Registry.as(JSONContributionRegistry.Extensions.JSONContribution);
 
diff --git a/src/vs/workbench/parts/debug/browser/breakpointWidget.ts b/src/vs/workbench/parts/debug/browser/breakpointWidget.ts
index 6c2f1b4223d20..2a529dd37d888 100644
--- a/src/vs/workbench/parts/debug/browser/breakpointWidget.ts
+++ b/src/vs/workbench/parts/debug/browser/breakpointWidget.ts
@@ -7,21 +7,21 @@ import nls = require('vs/nls');
 import 'vs/css!../browser/media/breakpointWidget';
 import async = require('vs/base/common/async');
 import errors = require('vs/base/common/errors');
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 import platform = require('vs/base/common/platform');
-import {SelectBox} from 'vs/base/browser/ui/selectBox/selectBox';
+import { SelectBox } from 'vs/base/browser/ui/selectBox/selectBox';
 import lifecycle = require('vs/base/common/lifecycle');
 import dom = require('vs/base/browser/dom');
-import {InputBox} from 'vs/base/browser/ui/inputbox/inputBox';
-import {CommonEditorRegistry, ServicesAccessor, EditorCommand} from 'vs/editor/common/editorCommonExtensions';
-import {EditorContextKeys, ICommonCodeEditor} from 'vs/editor/common/editorCommon';
+import { InputBox } from 'vs/base/browser/ui/inputbox/inputBox';
+import { CommonEditorRegistry, ServicesAccessor, EditorCommand } from 'vs/editor/common/editorCommonExtensions';
+import { EditorContextKeys, ICommonCodeEditor } from 'vs/editor/common/editorCommon';
 import editorbrowser = require('vs/editor/browser/editorBrowser');
-import {ZoneWidget} from 'vs/editor/contrib/zoneWidget/browser/zoneWidget';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {RawContextKey, IContextKeyService, IContextKey} from 'vs/platform/contextkey/common/contextkey';
+import { ZoneWidget } from 'vs/editor/contrib/zoneWidget/browser/zoneWidget';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { RawContextKey, IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
 
 const $ = dom.$;
 const CONTEXT_BREAKPOINT_WIDGET_VISIBLE = new RawContextKey<boolean>('breakpointWidgetVisible', false);
@@ -155,7 +155,7 @@ class CloseBreakpointWidgetCommand extends EditorCommand {
 		});
 	}
 
-	protected runEditorCommand(accessor:ServicesAccessor, editor: ICommonCodeEditor, args: any): void {
+	protected runEditorCommand(accessor: ServicesAccessor, editor: ICommonCodeEditor, args: any): void {
 		if (BreakpointWidget.INSTANCE) {
 			BreakpointWidget.INSTANCE.dispose();
 		}
diff --git a/src/vs/workbench/parts/debug/browser/debugActionItems.ts b/src/vs/workbench/parts/debug/browser/debugActionItems.ts
index 29ca0ec1d1cc9..1bd11a74f78bb 100644
--- a/src/vs/workbench/parts/debug/browser/debugActionItems.ts
+++ b/src/vs/workbench/parts/debug/browser/debugActionItems.ts
@@ -5,11 +5,11 @@
 
 import nls = require('vs/nls');
 import errors = require('vs/base/common/errors');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IAction} from 'vs/base/common/actions';
-import {SelectActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
-import {IDebugService, State} from 'vs/workbench/parts/debug/common/debug';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IAction } from 'vs/base/common/actions';
+import { SelectActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
+import { IDebugService, State } from 'vs/workbench/parts/debug/common/debug';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
 
 export class DebugSelectActionItem extends SelectActionItem {
 
diff --git a/src/vs/workbench/parts/debug/browser/debugActions.ts b/src/vs/workbench/parts/debug/browser/debugActions.ts
index 279f73d6dddd7..6d3babdd98b61 100644
--- a/src/vs/workbench/parts/debug/browser/debugActions.ts
+++ b/src/vs/workbench/parts/debug/browser/debugActions.ts
@@ -4,25 +4,25 @@
  *--------------------------------------------------------------------------------------------*/
 
 import nls = require('vs/nls');
-import {Action} from 'vs/base/common/actions';
+import { Action } from 'vs/base/common/actions';
 import lifecycle = require('vs/base/common/lifecycle');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {KeyMod, KeyChord, KeyCode} from 'vs/base/common/keyCodes';
-import {Range} from 'vs/editor/common/core/range';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { KeyMod, KeyChord, KeyCode } from 'vs/base/common/keyCodes';
+import { Range } from 'vs/editor/common/core/range';
 import editorCommon = require('vs/editor/common/editorCommon');
 import editorbrowser = require('vs/editor/browser/editorBrowser');
-import {ServicesAccessor, editorAction, EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { ServicesAccessor, editorAction, EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import debug = require('vs/workbench/parts/debug/common/debug');
 import model = require('vs/workbench/parts/debug/common/debugModel');
-import {BreakpointWidget} from 'vs/workbench/parts/debug/browser/breakpointWidget';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {TogglePanelAction} from 'vs/workbench/browser/panel';
+import { BreakpointWidget } from 'vs/workbench/parts/debug/browser/breakpointWidget';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { TogglePanelAction } from 'vs/workbench/browser/panel';
 import IDebugService = debug.IDebugService;
 
 import EditorContextKeys = editorCommon.EditorContextKeys;
@@ -397,7 +397,7 @@ export class EnableAllBreakpointsAction extends AbstractDebugAction {
 
 	protected isEnabled(state: debug.State): boolean {
 		const model = this.debugService.getModel();
-		return super.isEnabled(state) && (<debug.IEnablement[]> model.getBreakpoints()).concat(model.getFunctionBreakpoints()).concat(model.getExceptionBreakpoints()).some(bp => !bp.enabled);
+		return super.isEnabled(state) && (<debug.IEnablement[]>model.getBreakpoints()).concat(model.getFunctionBreakpoints()).concat(model.getExceptionBreakpoints()).some(bp => !bp.enabled);
 	}
 }
 
@@ -416,7 +416,7 @@ export class DisableAllBreakpointsAction extends AbstractDebugAction {
 
 	protected isEnabled(state: debug.State): boolean {
 		const model = this.debugService.getModel();
-		return super.isEnabled(state) && (<debug.IEnablement[]> model.getBreakpoints()).concat(model.getFunctionBreakpoints()).concat(model.getExceptionBreakpoints()).some(bp => bp.enabled);
+		return super.isEnabled(state) && (<debug.IEnablement[]>model.getBreakpoints()).concat(model.getFunctionBreakpoints()).concat(model.getExceptionBreakpoints()).some(bp => bp.enabled);
 	}
 }
 
@@ -547,7 +547,7 @@ class ToggleBreakpointAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): TPromise<void> {
 		const debugService = accessor.get(IDebugService);
 
 		const lineNumber = editor.getPosition().lineNumber;
@@ -574,7 +574,7 @@ class EditorConditionalBreakpointAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): void {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): void {
 		const debugService = accessor.get(IDebugService);
 		const instantiationService = accessor.get(IInstantiationService);
 
@@ -623,7 +623,7 @@ class RunToCursorAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): TPromise<void> {
 		const debugService = accessor.get(IDebugService);
 
 		if (debugService.state !== debug.State.Stopped) {
@@ -684,7 +684,7 @@ class SelectionToReplAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): TPromise<void> {
 		const debugService = accessor.get(IDebugService);
 		const panelService = accessor.get(IPanelService);
 
@@ -711,7 +711,7 @@ class SelectionToWatchExpressionsAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): TPromise<void> {
 		const debugService = accessor.get(IDebugService);
 		const viewletService = accessor.get(IViewletService);
 
@@ -736,7 +736,7 @@ class ShowDebugHoverAction extends EditorAction {
 		});
 	}
 
-	public run(accessor:ServicesAccessor, editor:editorCommon.ICommonCodeEditor): TPromise<void> {
+	public run(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor): TPromise<void> {
 		const position = editor.getPosition();
 		const word = editor.getModel().getWordAtPosition(position);
 		if (!word) {
diff --git a/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts b/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts
index 8f3fea28435de..969898969895f 100644
--- a/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts
+++ b/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts
@@ -8,18 +8,18 @@ import errors = require('vs/base/common/errors');
 import severity from 'vs/base/common/severity';
 import builder = require('vs/base/browser/builder');
 import dom = require('vs/base/browser/dom');
-import {StandardMouseEvent} from 'vs/base/browser/mouseEvent';
+import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
 import actions = require('vs/base/common/actions');
 import events = require('vs/base/common/events');
 import actionbar = require('vs/base/browser/ui/actionbar/actionbar');
-import {IPartService} from 'vs/workbench/services/part/common/partService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
 import wbext = require('vs/workbench/common/contributions');
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {PauseAction, ContinueAction, StepBackAction, StopAction, DisconnectAction, StepOverAction, StepIntoAction, StepOutAction, RestartAction} from 'vs/workbench/parts/debug/browser/debugActions';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
+import { PauseAction, ContinueAction, StepBackAction, StopAction, DisconnectAction, StepOverAction, StepIntoAction, StepOutAction, RestartAction } from 'vs/workbench/parts/debug/browser/debugActions';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 
 import IDebugService = debug.IDebugService;
 
diff --git a/src/vs/workbench/parts/debug/browser/debugEditorInputs.ts b/src/vs/workbench/parts/debug/browser/debugEditorInputs.ts
index a5c38c3e13797..71c1e906ea2b2 100644
--- a/src/vs/workbench/parts/debug/browser/debugEditorInputs.ts
+++ b/src/vs/workbench/parts/debug/browser/debugEditorInputs.ts
@@ -3,12 +3,12 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {PLAINTEXT_MODE_ID} from 'vs/editor/common/modes/modesRegistry';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { PLAINTEXT_MODE_ID } from 'vs/editor/common/modes/modesRegistry';
 import strinput = require('vs/workbench/common/editor/stringEditorInput');
-import {EditorInput, EditorModel} from 'vs/workbench/common/editor';
+import { EditorInput, EditorModel } from 'vs/workbench/common/editor';
 import uri from 'vs/base/common/uri';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 
 export class DebugStringEditorInput extends strinput.StringEditorInput {
 
diff --git a/src/vs/workbench/parts/debug/browser/debugEditorModelManager.ts b/src/vs/workbench/parts/debug/browser/debugEditorModelManager.ts
index c6237974b7a15..7c95102179afe 100644
--- a/src/vs/workbench/parts/debug/browser/debugEditorModelManager.ts
+++ b/src/vs/workbench/parts/debug/browser/debugEditorModelManager.ts
@@ -4,13 +4,13 @@
  *--------------------------------------------------------------------------------------------*/
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import objects = require('vs/base/common/objects');
 import lifecycle = require('vs/base/common/lifecycle');
 import editorcommon = require('vs/editor/common/editorCommon');
-import {IWorkbenchContribution} from 'vs/workbench/common/contributions';
-import {IDebugService, IBreakpoint, IRawBreakpoint, State} from 'vs/workbench/parts/debug/common/debug';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
+import { IDebugService, IBreakpoint, IRawBreakpoint, State } from 'vs/workbench/parts/debug/common/debug';
+import { IModelService } from 'vs/editor/common/services/modelService';
 
 function toMap(arr: string[]): { [key: string]: boolean; } {
 	const result: { [key: string]: boolean; } = {};
@@ -281,8 +281,8 @@ export class DebugEditorModelManager implements IWorkbenchContribution {
 
 		let result = (!breakpoint.enabled || !activated) ? DebugEditorModelManager.BREAKPOINT_DISABLED_DECORATION :
 			debugActive && modelData && modelData.dirty && !breakpoint.verified ? DebugEditorModelManager.BREAKPOINT_DIRTY_DECORATION :
-			debugActive && !breakpoint.verified ? DebugEditorModelManager.BREAKPOINT_UNVERIFIED_DECORATION :
-			!breakpoint.condition && !breakpoint.hitCondition ? DebugEditorModelManager.BREAKPOINT_DECORATION : null;
+				debugActive && !breakpoint.verified ? DebugEditorModelManager.BREAKPOINT_UNVERIFIED_DECORATION :
+					!breakpoint.condition && !breakpoint.hitCondition ? DebugEditorModelManager.BREAKPOINT_DECORATION : null;
 
 		if (result && breakpoint.message) {
 			result = objects.clone(result);
@@ -296,11 +296,11 @@ export class DebugEditorModelManager implements IWorkbenchContribution {
 		if (session && !session.configuration.capabilities.supportsConditionalBreakpoints) {
 			return DebugEditorModelManager.BREAKPOINT_UNSUPPORTED_DECORATION;
 		}
-		
+
 		const mode = modelData ? modelData.model.getMode() : null;
 		const modeId = mode ? mode.getId() : '';
 		const condition = breakpoint.condition ? breakpoint.condition : breakpoint.hitCondition;
-		const glyphMarginHoverMessage = `\`\`\`${modeId}\n${ condition }\`\`\``;
+		const glyphMarginHoverMessage = `\`\`\`${modeId}\n${condition}\`\`\``;
 
 		return {
 			glyphMarginClassName: 'debug-breakpoint-conditional-glyph',
diff --git a/src/vs/workbench/parts/debug/browser/debugErrorEditor.ts b/src/vs/workbench/parts/debug/browser/debugErrorEditor.ts
index 26207dd70ba58..5e0e6fb250bc2 100644
--- a/src/vs/workbench/parts/debug/browser/debugErrorEditor.ts
+++ b/src/vs/workbench/parts/debug/browser/debugErrorEditor.ts
@@ -3,20 +3,20 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import dom = require('vs/base/browser/dom');
-import {Dimension, Builder} from 'vs/base/browser/builder';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {EditorOptions} from 'vs/workbench/common/editor';
-import {DebugErrorEditorInput} from 'vs/workbench/parts/debug/browser/debugEditorInputs';
-import {BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor';
+import { Dimension, Builder } from 'vs/base/browser/builder';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { EditorOptions } from 'vs/workbench/common/editor';
+import { DebugErrorEditorInput } from 'vs/workbench/parts/debug/browser/debugEditorInputs';
+import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
 const $ = dom.$;
 
 export class DebugErrorEditor extends BaseEditor {
 	static ID = 'workbench.editor.debugError';
 	private container: HTMLElement;
 
-	constructor(@ITelemetryService telemetryService: ITelemetryService) {
+	constructor( @ITelemetryService telemetryService: ITelemetryService) {
 		super(DebugErrorEditor.ID, telemetryService);
 	}
 
diff --git a/src/vs/workbench/parts/debug/browser/debugViewRegistry.ts b/src/vs/workbench/parts/debug/browser/debugViewRegistry.ts
index ad91612a391ab..326cdac7f67ee 100644
--- a/src/vs/workbench/parts/debug/browser/debugViewRegistry.ts
+++ b/src/vs/workbench/parts/debug/browser/debugViewRegistry.ts
@@ -3,8 +3,8 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {IActionRunner} from 'vs/base/common/actions';
-import {IViewletView} from 'vs/workbench/browser/viewlet';
+import { IActionRunner } from 'vs/base/common/actions';
+import { IViewletView } from 'vs/workbench/browser/viewlet';
 
 // Debug view registration
 
diff --git a/src/vs/workbench/parts/debug/browser/debugViewlet.ts b/src/vs/workbench/parts/debug/browser/debugViewlet.ts
index 50e3595eb4ede..26860486bb21d 100644
--- a/src/vs/workbench/parts/debug/browser/debugViewlet.ts
+++ b/src/vs/workbench/parts/debug/browser/debugViewlet.ts
@@ -6,22 +6,22 @@
 import 'vs/css!./media/debugViewlet';
 import nls = require('vs/nls');
 import builder = require('vs/base/browser/builder');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import lifecycle = require('vs/base/common/lifecycle');
 import actions = require('vs/base/common/actions');
 import actionbar = require('vs/base/browser/ui/actionbar/actionbar');
-import {SplitView} from 'vs/base/browser/ui/splitview/splitview';
+import { SplitView } from 'vs/base/browser/ui/splitview/splitview';
 import memento = require('vs/workbench/common/memento');
-import {IViewletView, Viewlet} from 'vs/workbench/browser/viewlet';
+import { IViewletView, Viewlet } from 'vs/workbench/browser/viewlet';
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {DebugViewRegistry} from 'vs/workbench/parts/debug/browser/debugViewRegistry';
+import { DebugViewRegistry } from 'vs/workbench/parts/debug/browser/debugViewRegistry';
 import debugactions = require('vs/workbench/parts/debug/browser/debugActions');
 import dbgactionitems = require('vs/workbench/parts/debug/browser/debugActionItems');
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IProgressService, IProgressRunner} from 'vs/platform/progress/common/progress';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IStorageService} from 'vs/platform/storage/common/storage';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IProgressService, IProgressRunner } from 'vs/platform/progress/common/progress';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IStorageService } from 'vs/platform/storage/common/storage';
 
 import IDebugService = debug.IDebugService;
 const $ = builder.$;
diff --git a/src/vs/workbench/parts/debug/common/debug.ts b/src/vs/workbench/parts/debug/common/debug.ts
index 4e2719cd7d8d4..6e5e55159585b 100644
--- a/src/vs/workbench/parts/debug/common/debug.ts
+++ b/src/vs/workbench/parts/debug/common/debug.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 
 import uri from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import Event from 'vs/base/common/event';
 import severity from 'vs/base/common/severity';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 import editor = require('vs/editor/common/editorCommon');
-import {Position} from 'vs/editor/common/core/position';
-import {ISuggestion} from 'vs/editor/common/modes';
-import {Source} from 'vs/workbench/parts/debug/common/debugSource';
-import {Range} from 'vs/editor/common/core/range';
-import {RawContextKey, ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
+import { Position } from 'vs/editor/common/core/position';
+import { ISuggestion } from 'vs/editor/common/modes';
+import { Source } from 'vs/workbench/parts/debug/common/debugSource';
+import { Range } from 'vs/editor/common/core/range';
+import { RawContextKey, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
 
 export const VIEWLET_ID = 'workbench.view.debug';
 export const REPL_ID = 'workbench.panel.repl';
diff --git a/src/vs/workbench/parts/debug/common/debugModel.ts b/src/vs/workbench/parts/debug/common/debugModel.ts
index 9f55504dd9d5a..126d8e3db57d4 100644
--- a/src/vs/workbench/parts/debug/common/debugModel.ts
+++ b/src/vs/workbench/parts/debug/common/debugModel.ts
@@ -3,17 +3,17 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import lifecycle = require('vs/base/common/lifecycle');
-import Event, {Emitter} from 'vs/base/common/event';
+import Event, { Emitter } from 'vs/base/common/event';
 import uuid = require('vs/base/common/uuid');
 import objects = require('vs/base/common/objects');
 import severity from 'vs/base/common/severity';
 import types = require('vs/base/common/types');
 import arrays = require('vs/base/common/arrays');
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {Source} from 'vs/workbench/parts/debug/common/debugSource';
+import { Source } from 'vs/workbench/parts/debug/common/debugSource';
 
 const MAX_REPL_LENGTH = 10000;
 const UNKNOWN_SOURCE_LABEL = nls.localize('unknownSource', "Unknown Source");
@@ -60,10 +60,10 @@ const arrayElementSyntax = /\[.*\]$/;
 export function getFullExpressionName(expression: debug.IExpression, sessionType: string): string {
 	let names = [expression.name];
 	if (expression instanceof Variable) {
-		let v = (<Variable> expression).parent;
+		let v = (<Variable>expression).parent;
 		while (v instanceof Variable || v instanceof Expression) {
-			names.push((<Variable> v).name);
-			v = (<Variable> v).parent;
+			names.push((<Variable>v).name);
+			v = (<Variable>v).parent;
 		}
 	}
 	names = names.reverse();
@@ -74,9 +74,9 @@ export function getFullExpressionName(expression: debug.IExpression, sessionType
 			result = name;
 		} else if (arrayElementSyntax.test(name) || (sessionType === 'node' && !notPropertySyntax.test(name))) {
 			// use safe way to access node properties a['property_name']. Also handles array elements.
-			result = name && name.indexOf('[') === 0 ? `${ result }${ name }` : `${ result }['${ name }']`;
+			result = name && name.indexOf('[') === 0 ? `${result}${name}` : `${result}['${name}']`;
 		} else {
-			result = `${ result }.${ name }`;
+			result = `${result}.${name}`;
 		}
 	});
 
@@ -97,7 +97,7 @@ export class Thread implements debug.IThread {
 	}
 
 	public getId(): string {
-		return `thread:${ this.name }:${ this.threadId }`;
+		return `thread:${this.name}:${this.threadId}`;
 	}
 
 	public clearCallStack(): void {
@@ -159,7 +159,7 @@ export class OutputElement implements debug.ITreeElement {
 	}
 
 	public getId(): string {
-		return `outputelement:${ this.id }`;
+		return `outputelement:${this.id}`;
 	}
 }
 
@@ -293,7 +293,7 @@ export abstract class ExpressionContainer implements debug.IExpressionContainer
 		return this._value;
 	}
 
-	private fetchVariables(session: debug.IRawDebugSession, start: number, count: number, filter: 'indexed'|'named'): TPromise<Variable[]> {
+	private fetchVariables(session: debug.IRawDebugSession, start: number, count: number, filter: 'indexed' | 'named'): TPromise<Variable[]> {
 		return session.variables({
 			variablesReference: this.reference,
 			start,
@@ -383,7 +383,7 @@ export class StackFrame implements debug.IStackFrame {
 	}
 
 	public getId(): string {
-		return `stackframe:${ this.threadId }:${ this.frameId }`;
+		return `stackframe:${this.threadId}:${this.frameId}`;
 	}
 
 	public getScopes(debugService: debug.IDebugService): TPromise<debug.IScope[]> {
@@ -590,7 +590,7 @@ export class Model implements debug.IModel {
 	public setEnablement(element: debug.IEnablement, enable: boolean): void {
 		element.enabled = enable;
 		if (element instanceof Breakpoint && !element.enabled) {
-			var breakpoint = <Breakpoint> element;
+			var breakpoint = <Breakpoint>element;
 			breakpoint.lineNumber = breakpoint.desiredLineNumber;
 			breakpoint.verified = false;
 		}
@@ -648,7 +648,7 @@ export class Model implements debug.IModel {
 	}
 
 	public logToRepl(value: string | { [key: string]: any }, severity?: severity): void {
-		let elements:OutputElement[] = [];
+		let elements: OutputElement[] = [];
 		let previousOutput = this.replElements.length && (<ValueOutputElement>this.replElements[this.replElements.length - 1]);
 
 		// string message
diff --git a/src/vs/workbench/parts/debug/common/debugSource.ts b/src/vs/workbench/parts/debug/common/debugSource.ts
index ddf25ae4d385e..4deb6bacdcb02 100644
--- a/src/vs/workbench/parts/debug/common/debugSource.ts
+++ b/src/vs/workbench/parts/debug/common/debugSource.ts
@@ -5,7 +5,7 @@
 
 import uri from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
-import {IModel, DEBUG_SCHEME} from 'vs/workbench/parts/debug/common/debug';
+import { IModel, DEBUG_SCHEME } from 'vs/workbench/parts/debug/common/debug';
 
 export class Source {
 
diff --git a/src/vs/workbench/parts/debug/common/debugViewModel.ts b/src/vs/workbench/parts/debug/common/debugViewModel.ts
index 54e17e58fd2f4..5de4b50287f4a 100644
--- a/src/vs/workbench/parts/debug/common/debugViewModel.ts
+++ b/src/vs/workbench/parts/debug/common/debugViewModel.ts
@@ -3,7 +3,7 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import Event, {Emitter} from 'vs/base/common/event';
+import Event, { Emitter } from 'vs/base/common/event';
 import debug = require('vs/workbench/parts/debug/common/debug');
 
 export class ViewModel implements debug.IViewModel {
diff --git a/src/vs/workbench/parts/debug/electron-browser/debug.contribution.ts b/src/vs/workbench/parts/debug/electron-browser/debug.contribution.ts
index 8bf9d068e49f4..8f196937718a0 100644
--- a/src/vs/workbench/parts/debug/electron-browser/debug.contribution.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/debug.contribution.ts
@@ -6,36 +6,38 @@
 import 'vs/css!../browser/media/debug.contribution';
 import 'vs/css!../browser/media/debugHover';
 import nls = require('vs/nls');
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
 import platform = require('vs/platform/platform');
-import {registerSingleton} from 'vs/platform/instantiation/common/extensions';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {IKeybindings} from 'vs/platform/keybinding/common/keybinding';
-import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
-import {SyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
+import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { IKeybindings } from 'vs/platform/keybinding/common/keybinding';
+import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
+import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
 import wbaregistry = require('vs/workbench/common/actionRegistry');
 import viewlet = require('vs/workbench/browser/viewlet');
 import panel = require('vs/workbench/browser/panel');
-import {DebugViewRegistry} from 'vs/workbench/parts/debug/browser/debugViewRegistry';
-import {VariablesView, WatchExpressionsView, CallStackView, BreakpointsView} from 'vs/workbench/parts/debug/electron-browser/debugViews';
+import { DebugViewRegistry } from 'vs/workbench/parts/debug/browser/debugViewRegistry';
+import { VariablesView, WatchExpressionsView, CallStackView, BreakpointsView } from 'vs/workbench/parts/debug/electron-browser/debugViews';
 import wbext = require('vs/workbench/common/contributions');
-import {EditorDescriptor} from 'vs/workbench/browser/parts/editor/baseEditor';
+import { EditorDescriptor } from 'vs/workbench/browser/parts/editor/baseEditor';
 import * as debug from 'vs/workbench/parts/debug/common/debug';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
-import {DebugEditorModelManager} from 'vs/workbench/parts/debug/browser/debugEditorModelManager';
-import {StepOverAction, ClearReplAction, FocusReplAction, StepIntoAction, StepOutAction, StartAction, StepBackAction, RestartAction, ContinueAction, StopAction, DisconnectAction, PauseAction, AddFunctionBreakpointAction,
-	ConfigureAction, DisableAllBreakpointsAction, EnableAllBreakpointsAction, RemoveAllBreakpointsAction, RunAction, ReapplyBreakpointsAction} from 'vs/workbench/parts/debug/browser/debugActions';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
+import { DebugEditorModelManager } from 'vs/workbench/parts/debug/browser/debugEditorModelManager';
+import {
+	StepOverAction, ClearReplAction, FocusReplAction, StepIntoAction, StepOutAction, StartAction, StepBackAction, RestartAction, ContinueAction, StopAction, DisconnectAction, PauseAction, AddFunctionBreakpointAction,
+	ConfigureAction, DisableAllBreakpointsAction, EnableAllBreakpointsAction, RemoveAllBreakpointsAction, RunAction, ReapplyBreakpointsAction
+} from 'vs/workbench/parts/debug/browser/debugActions';
 import debugwidget = require('vs/workbench/parts/debug/browser/debugActionsWidget');
 import service = require('vs/workbench/parts/debug/electron-browser/debugService');
-import {DebugErrorEditorInput} from 'vs/workbench/parts/debug/browser/debugEditorInputs';
-import {DebugErrorEditor} from 'vs/workbench/parts/debug/browser/debugErrorEditor';
+import { DebugErrorEditorInput } from 'vs/workbench/parts/debug/browser/debugEditorInputs';
+import { DebugErrorEditor } from 'vs/workbench/parts/debug/browser/debugErrorEditor';
 import 'vs/workbench/parts/debug/electron-browser/debugEditorContribution';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IEditorRegistry, Extensions as EditorExtensions} from 'vs/workbench/common/editor';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/common/editor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
 
 import IDebugService = debug.IDebugService;
 
diff --git a/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts b/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts
index 81fafe8f502e8..2d21d7791e309 100644
--- a/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts
@@ -4,24 +4,24 @@
  *--------------------------------------------------------------------------------------------*/
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {RunOnceScheduler} from 'vs/base/common/async';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { RunOnceScheduler } from 'vs/base/common/async';
 import lifecycle = require('vs/base/common/lifecycle');
 import env = require('vs/base/common/platform');
 import uri from 'vs/base/common/uri';
-import {IAction, Action} from 'vs/base/common/actions';
-import {KeyCode} from 'vs/base/common/keyCodes';
+import { IAction, Action } from 'vs/base/common/actions';
+import { KeyCode } from 'vs/base/common/keyCodes';
 import keyboard = require('vs/base/browser/keyboardEvent');
 import editorbrowser = require('vs/editor/browser/editorBrowser');
-import {editorContribution} from 'vs/editor/browser/editorBrowserExtensions';
+import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
 import editorcommon = require('vs/editor/common/editorCommon');
-import {DebugHoverWidget} from 'vs/workbench/parts/debug/electron-browser/debugHover';
+import { DebugHoverWidget } from 'vs/workbench/parts/debug/electron-browser/debugHover';
 import debugactions = require('vs/workbench/parts/debug/browser/debugActions');
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {Range} from 'vs/editor/common/core/range';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { Range } from 'vs/editor/common/core/range';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
 
 const HOVER_DELAY = 300;
 
diff --git a/src/vs/workbench/parts/debug/electron-browser/debugHover.ts b/src/vs/workbench/parts/debug/electron-browser/debugHover.ts
index fb3074a129cc1..548dfde13f108 100644
--- a/src/vs/workbench/parts/debug/electron-browser/debugHover.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/debugHover.ts
@@ -4,22 +4,22 @@
  *--------------------------------------------------------------------------------------------*/
 
 import lifecycle = require('vs/base/common/lifecycle');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {KeyCode} from 'vs/base/common/keyCodes';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { KeyCode } from 'vs/base/common/keyCodes';
 import dom = require('vs/base/browser/dom');
 import * as nls from 'vs/nls';
-import {ITree} from 'vs/base/parts/tree/browser/tree';
-import {Tree} from 'vs/base/parts/tree/browser/treeImpl';
-import {DefaultController, ICancelableEvent} from 'vs/base/parts/tree/browser/treeDefaults';
-import {IConfigurationChangedEvent} from 'vs/editor/common/editorCommon';
+import { ITree } from 'vs/base/parts/tree/browser/tree';
+import { Tree } from 'vs/base/parts/tree/browser/treeImpl';
+import { DefaultController, ICancelableEvent } from 'vs/base/parts/tree/browser/treeDefaults';
+import { IConfigurationChangedEvent } from 'vs/editor/common/editorCommon';
 import editorbrowser = require('vs/editor/browser/editorBrowser');
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {evaluateExpression, Expression} from 'vs/workbench/parts/debug/common/debugModel';
+import { evaluateExpression, Expression } from 'vs/workbench/parts/debug/common/debugModel';
 import viewer = require('vs/workbench/parts/debug/electron-browser/debugViewer');
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {Position} from 'vs/editor/common/core/position';
-import {Range} from 'vs/editor/common/core/range';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { Position } from 'vs/editor/common/core/position';
+import { Range } from 'vs/editor/common/core/range';
 
 const $ = dom.$;
 const debugTreeOptions = {
@@ -103,7 +103,7 @@ export class DebugHoverWidget implements editorbrowser.IContentWidget {
 		return this.domNode;
 	}
 
-	private getExactExpressionRange(lineContent: string, range: Range) : Range {
+	private getExactExpressionRange(lineContent: string, range: Range): Range {
 		let matchingExpression = undefined;
 		let startOffset = 0;
 
@@ -254,7 +254,7 @@ export class DebugHoverWidget implements editorbrowser.IContentWidget {
 			const height = Math.min(visibleElementsCount, MAX_ELEMENTS_SHOWN) * 18;
 
 			if (this.treeContainer.clientHeight !== height) {
-				this.treeContainer.style.height = `${ height }px`;
+				this.treeContainer.style.height = `${height}px`;
 				this.tree.layout();
 			}
 		}
diff --git a/src/vs/workbench/parts/debug/electron-browser/debugService.ts b/src/vs/workbench/parts/debug/electron-browser/debugService.ts
index 3a1d38fa8a583..d876e964c4507 100644
--- a/src/vs/workbench/parts/debug/electron-browser/debugService.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/debugService.ts
@@ -5,55 +5,55 @@
 
 import nls = require('vs/nls');
 import lifecycle = require('vs/base/common/lifecycle');
-import {guessMimeTypes} from 'vs/base/common/mime';
-import Event, {Emitter} from 'vs/base/common/event';
+import { guessMimeTypes } from 'vs/base/common/mime';
+import Event, { Emitter } from 'vs/base/common/event';
 import uri from 'vs/base/common/uri';
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {Action} from 'vs/base/common/actions';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { Action } from 'vs/base/common/actions';
 import arrays = require('vs/base/common/arrays');
 import types = require('vs/base/common/types');
 import errors = require('vs/base/common/errors');
 import severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import aria = require('vs/base/browser/ui/aria/aria');
 import editorbrowser = require('vs/editor/browser/editorBrowser');
-import {ISuggestion} from 'vs/editor/common/modes';
-import {Position} from 'vs/editor/common/core/position';
-import {IContextKeyService, IContextKey} from 'vs/platform/contextkey/common/contextkey';
-import {IMarkerService} from 'vs/platform/markers/common/markers';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IFileService, FileChangesEvent, FileChangeType, EventType} from 'vs/platform/files/common/files';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IMessageService, CloseAction} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {TelemetryService} from 'vs/platform/telemetry/common/telemetryService';
-import {TelemetryAppenderClient} from 'vs/platform/telemetry/common/telemetryIpc';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {asFileEditorInput} from 'vs/workbench/common/editor';
+import { ISuggestion } from 'vs/editor/common/modes';
+import { Position } from 'vs/editor/common/core/position';
+import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
+import { IMarkerService } from 'vs/platform/markers/common/markers';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IFileService, FileChangesEvent, FileChangeType, EventType } from 'vs/platform/files/common/files';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IMessageService, CloseAction } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { TelemetryService } from 'vs/platform/telemetry/common/telemetryService';
+import { TelemetryAppenderClient } from 'vs/platform/telemetry/common/telemetryIpc';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { asFileEditorInput } from 'vs/workbench/common/editor';
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {RawDebugSession} from 'vs/workbench/parts/debug/electron-browser/rawDebugSession';
+import { RawDebugSession } from 'vs/workbench/parts/debug/electron-browser/rawDebugSession';
 import model = require('vs/workbench/parts/debug/common/debugModel');
-import {DebugStringEditorInput, DebugErrorEditorInput} from 'vs/workbench/parts/debug/browser/debugEditorInputs';
+import { DebugStringEditorInput, DebugErrorEditorInput } from 'vs/workbench/parts/debug/browser/debugEditorInputs';
 import viewmodel = require('vs/workbench/parts/debug/common/debugViewModel');
 import debugactions = require('vs/workbench/parts/debug/browser/debugActions');
-import {ConfigurationManager} from 'vs/workbench/parts/debug/node/debugConfigurationManager';
-import {Source} from 'vs/workbench/parts/debug/common/debugSource';
-import {ITaskService, TaskEvent, TaskType, TaskServiceEvents, ITaskSummary} from 'vs/workbench/parts/tasks/common/taskService';
-import {TaskError, TaskErrors} from 'vs/workbench/parts/tasks/common/taskSystem';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IWindowService, IBroadcast} from 'vs/workbench/services/window/electron-browser/windowService';
-import {ILogEntry, EXTENSION_LOG_BROADCAST_CHANNEL, EXTENSION_ATTACH_BROADCAST_CHANNEL, EXTENSION_TERMINATE_BROADCAST_CHANNEL} from 'vs/workbench/services/thread/electron-browser/threadService';
-import {ipcRenderer as ipc} from 'electron';
-import {Client} from 'vs/base/parts/ipc/node/ipc.cp';
+import { ConfigurationManager } from 'vs/workbench/parts/debug/node/debugConfigurationManager';
+import { Source } from 'vs/workbench/parts/debug/common/debugSource';
+import { ITaskService, TaskEvent, TaskType, TaskServiceEvents, ITaskSummary } from 'vs/workbench/parts/tasks/common/taskService';
+import { TaskError, TaskErrors } from 'vs/workbench/parts/tasks/common/taskSystem';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IWindowService, IBroadcast } from 'vs/workbench/services/window/electron-browser/windowService';
+import { ILogEntry, EXTENSION_LOG_BROADCAST_CHANNEL, EXTENSION_ATTACH_BROADCAST_CHANNEL, EXTENSION_TERMINATE_BROADCAST_CHANNEL } from 'vs/workbench/services/thread/electron-browser/threadService';
+import { ipcRenderer as ipc } from 'electron';
+import { Client } from 'vs/base/parts/ipc/node/ipc.cp';
 
 const DEBUG_BREAKPOINTS_KEY = 'debug.breakpoint';
 const DEBUG_BREAKPOINTS_ACTIVATED_KEY = 'debug.breakpointactivated';
@@ -391,7 +391,7 @@ export class DebugService implements debug.IDebugService {
 	private loadWatchExpressions(): model.Expression[] {
 		let result: model.Expression[];
 		try {
-			result = JSON.parse(this.storageService.get(DEBUG_WATCH_EXPRESSIONS_KEY, StorageScope.WORKSPACE, '[]')).map((watchStoredData: { name: string, id: string } ) => {
+			result = JSON.parse(this.storageService.get(DEBUG_WATCH_EXPRESSIONS_KEY, StorageScope.WORKSPACE, '[]')).map((watchStoredData: { name: string, id: string }) => {
 				return new model.Expression(watchStoredData.name, false, watchStoredData.id);
 			});
 		} catch (e) { }
@@ -539,57 +539,57 @@ export class DebugService implements debug.IDebugService {
 
 		return this.textFileService.saveAll()							// make sure all dirty files are saved
 			.then(() => this.configurationService.reloadConfiguration()	// make sure configuration is up to date
-			.then(() => this.extensionService.onReady()
-			.then(() => this.configurationManager.setConfiguration(configuration || this.configurationManager.configurationName)
-			.then(() => this.configurationManager.resolveInteractiveVariables())
-			.then(resolvedConfiguration => {
-				configuration = resolvedConfiguration;
-				if (!configuration) {
-					return this.configurationManager.openConfigFile(false).then(openend => {
-						if (openend) {
-							this.messageService.show(severity.Info, nls.localize('NewLaunchConfig', "Please set up the launch configuration file for your application."));
-						}
-					});
-				}
-				if (configuration.silentlyAbort) {
-					return;
-				}
-
-				configuration.noDebug = noDebug;
-				if (!this.configurationManager.adapter) {
-					return configuration.type ? TPromise.wrapError(new Error(nls.localize('debugTypeNotSupported', "Configured debug type '{0}' is not supported.", configuration.type)))
-						: TPromise.wrapError(errors.create(nls.localize('debugTypeMissing', "Missing property 'type' for the chosen launch configuration."),
-							{ actions: [this.instantiationService.createInstance(debugactions.ConfigureAction, debugactions.ConfigureAction.ID, debugactions.ConfigureAction.LABEL), CloseAction] }));
-				}
-
-				return this.runPreLaunchTask(configuration.preLaunchTask).then((taskSummary: ITaskSummary) => {
-					const errorCount = configuration.preLaunchTask ? this.markerService.getStatistics().errors : 0;
-					const successExitCode = taskSummary && taskSummary.exitCode === 0;
-					const failureExitCode = taskSummary && taskSummary.exitCode !== undefined && taskSummary.exitCode !== 0;
-					if (successExitCode || (errorCount === 0 && !failureExitCode)) {
-						return this.doCreateSession(configuration);
-					}
-
-					this.messageService.show(severity.Error, {
-						message: errorCount > 1 ? nls.localize('preLaunchTaskErrors', "Build errors have been detected during preLaunchTask '{0}'.", configuration.preLaunchTask) :
-							errorCount === 1 ? nls.localize('preLaunchTaskError', "Build error has been detected during preLaunchTask '{0}'.", configuration.preLaunchTask) :
-								nls.localize('preLaunchTaskExitCode', "The preLaunchTask '{0}' terminated with exit code {1}.", configuration.preLaunchTask, taskSummary.exitCode),
-						actions: [new Action('debug.continue', nls.localize('debugAnyway', "Debug Anyway"), null, true, () => {
-							this.messageService.hideAll();
-							return this.doCreateSession(configuration);
-						}), CloseAction]
-					});
-				}, (err: TaskError) => {
-					if (err.code !== TaskErrors.NotConfigured) {
-						throw err;
-					}
-
-					this.messageService.show(err.severity, {
-						message: err.message,
-						actions: [this.taskService.configureAction(), CloseAction]
-					});
-				});
-			}))));
+				.then(() => this.extensionService.onReady()
+					.then(() => this.configurationManager.setConfiguration(configuration || this.configurationManager.configurationName)
+						.then(() => this.configurationManager.resolveInteractiveVariables())
+						.then(resolvedConfiguration => {
+							configuration = resolvedConfiguration;
+							if (!configuration) {
+								return this.configurationManager.openConfigFile(false).then(openend => {
+									if (openend) {
+										this.messageService.show(severity.Info, nls.localize('NewLaunchConfig', "Please set up the launch configuration file for your application."));
+									}
+								});
+							}
+							if (configuration.silentlyAbort) {
+								return;
+							}
+
+							configuration.noDebug = noDebug;
+							if (!this.configurationManager.adapter) {
+								return configuration.type ? TPromise.wrapError(new Error(nls.localize('debugTypeNotSupported', "Configured debug type '{0}' is not supported.", configuration.type)))
+									: TPromise.wrapError(errors.create(nls.localize('debugTypeMissing', "Missing property 'type' for the chosen launch configuration."),
+										{ actions: [this.instantiationService.createInstance(debugactions.ConfigureAction, debugactions.ConfigureAction.ID, debugactions.ConfigureAction.LABEL), CloseAction] }));
+							}
+
+							return this.runPreLaunchTask(configuration.preLaunchTask).then((taskSummary: ITaskSummary) => {
+								const errorCount = configuration.preLaunchTask ? this.markerService.getStatistics().errors : 0;
+								const successExitCode = taskSummary && taskSummary.exitCode === 0;
+								const failureExitCode = taskSummary && taskSummary.exitCode !== undefined && taskSummary.exitCode !== 0;
+								if (successExitCode || (errorCount === 0 && !failureExitCode)) {
+									return this.doCreateSession(configuration);
+								}
+
+								this.messageService.show(severity.Error, {
+									message: errorCount > 1 ? nls.localize('preLaunchTaskErrors', "Build errors have been detected during preLaunchTask '{0}'.", configuration.preLaunchTask) :
+										errorCount === 1 ? nls.localize('preLaunchTaskError', "Build error has been detected during preLaunchTask '{0}'.", configuration.preLaunchTask) :
+											nls.localize('preLaunchTaskExitCode', "The preLaunchTask '{0}' terminated with exit code {1}.", configuration.preLaunchTask, taskSummary.exitCode),
+									actions: [new Action('debug.continue', nls.localize('debugAnyway', "Debug Anyway"), null, true, () => {
+										this.messageService.hideAll();
+										return this.doCreateSession(configuration);
+									}), CloseAction]
+								});
+							}, (err: TaskError) => {
+								if (err.code !== TaskErrors.NotConfigured) {
+									throw err;
+								}
+
+								this.messageService.show(err.severity, {
+									message: err.message,
+									actions: [this.taskService.configureAction(), CloseAction]
+								});
+							});
+						}))));
 	}
 
 	private doCreateSession(configuration: debug.IExtHostConfig): TPromise<any> {
@@ -611,7 +611,7 @@ export class DebugService implements debug.IDebugService {
 					{
 						serverName: 'Debug Telemetry',
 						timeout: 1000 * 60 * 5,
-						args: [`${ publisher }.${ type }`, JSON.stringify(data), aiKey],
+						args: [`${publisher}.${type}`, JSON.stringify(data), aiKey],
 						env: {
 							ELECTRON_RUN_AS_NODE: 1,
 							PIPE_LOGGING: 'true',
@@ -673,7 +673,7 @@ export class DebugService implements debug.IDebugService {
 					breakpointCount: this.model.getBreakpoints().length,
 					exceptionBreakpoints: this.model.getExceptionBreakpoints(),
 					watchExpressionsCount: this.model.getWatchExpressions().length,
-					extensionName: `${ this.configurationManager.adapter.extensionDescription.publisher }.${ this.configurationManager.adapter.extensionDescription.name }`,
+					extensionName: `${this.configurationManager.adapter.extensionDescription.publisher}.${this.configurationManager.adapter.extensionDescription.name}`,
 					isBuiltin: this.configurationManager.adapter.extensionDescription.isBuiltin
 				});
 			}).then(undefined, (error: any) => {
diff --git a/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts b/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts
index 34ba1a8f8bcb6..229ecf01e2d6c 100644
--- a/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts
@@ -4,33 +4,33 @@
  *--------------------------------------------------------------------------------------------*/
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import lifecycle = require('vs/base/common/lifecycle');
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 import paths = require('vs/base/common/paths');
 import async = require('vs/base/common/async');
 import errors = require('vs/base/common/errors');
 import strings = require('vs/base/common/strings');
-import {isMacintosh} from 'vs/base/common/platform';
+import { isMacintosh } from 'vs/base/common/platform';
 import dom = require('vs/base/browser/dom');
-import {IMouseEvent} from 'vs/base/browser/mouseEvent';
+import { IMouseEvent } from 'vs/base/browser/mouseEvent';
 import labels = require('vs/base/common/labels');
 import actions = require('vs/base/common/actions');
 import actionbar = require('vs/base/browser/ui/actionbar/actionbar');
 import tree = require('vs/base/parts/tree/browser/tree');
-import {InputBox, IInputValidationOptions} from 'vs/base/browser/ui/inputbox/inputBox';
+import { InputBox, IInputValidationOptions } from 'vs/base/browser/ui/inputbox/inputBox';
 import treedefaults = require('vs/base/parts/tree/browser/treeDefaults');
 import renderer = require('vs/base/parts/tree/browser/actionsRenderer');
 import debug = require('vs/workbench/parts/debug/common/debug');
 import model = require('vs/workbench/parts/debug/common/debugModel');
 import viewmodel = require('vs/workbench/parts/debug/common/debugViewModel');
 import debugactions = require('vs/workbench/parts/debug/browser/debugActions');
-import {CopyValueAction} from 'vs/workbench/parts/debug/electron-browser/electronDebugActions';
-import {IContextViewService, IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {Source} from 'vs/workbench/parts/debug/common/debugSource';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
+import { CopyValueAction } from 'vs/workbench/parts/debug/electron-browser/electronDebugActions';
+import { IContextViewService, IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { Source } from 'vs/workbench/parts/debug/common/debugSource';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
 
 const $ = dom.$;
 const booleanRegex = /^true|false$/i;
@@ -287,7 +287,7 @@ export class CallStackController extends BaseDebugController {
 
 export class CallStackActionProvider implements renderer.IActionProvider {
 
-	constructor(@IInstantiationService private instantiationService: IInstantiationService, @debug.IDebugService private debugService: debug.IDebugService) {
+	constructor( @IInstantiationService private instantiationService: IInstantiationService, @debug.IDebugService private debugService: debug.IDebugService) {
 		// noop
 	}
 
@@ -332,7 +332,7 @@ export class CallStackActionProvider implements renderer.IActionProvider {
 
 export class CallStackDataSource implements tree.IDataSource {
 
-	constructor(@debug.IDebugService private debugService: debug.IDebugService) {
+	constructor( @debug.IDebugService private debugService: debug.IDebugService) {
 		// noop
 	}
 
@@ -408,7 +408,7 @@ export class CallStackRenderer implements tree.IRenderer {
 	private static ERROR_TEMPLATE_ID = 'error';
 	private static LOAD_MORE_TEMPLATE_ID = 'loadMore';
 
-	constructor(@IWorkspaceContextService private contextService: IWorkspaceContextService) {
+	constructor( @IWorkspaceContextService private contextService: IWorkspaceContextService) {
 		// noop
 	}
 
@@ -512,7 +512,7 @@ export class CallStackRenderer implements tree.IRenderer {
 
 export class CallstackAccessibilityProvider implements tree.IAccessibilityProvider {
 
-	constructor(@IWorkspaceContextService private contextService: IWorkspaceContextService) {
+	constructor( @IWorkspaceContextService private contextService: IWorkspaceContextService) {
 		// noop
 	}
 
@@ -1204,7 +1204,7 @@ export class BreakpointsRenderer implements tree.IRenderer {
 
 export class BreakpointsAccessibilityProvider implements tree.IAccessibilityProvider {
 
-	constructor(@IWorkspaceContextService private contextService: IWorkspaceContextService) {
+	constructor( @IWorkspaceContextService private contextService: IWorkspaceContextService) {
 		// noop
 	}
 
diff --git a/src/vs/workbench/parts/debug/electron-browser/debugViews.ts b/src/vs/workbench/parts/debug/electron-browser/debugViews.ts
index 1a1def5016cc1..002dbe87decdd 100644
--- a/src/vs/workbench/parts/debug/electron-browser/debugViews.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/debugViews.ts
@@ -7,7 +7,7 @@ import nls = require('vs/nls');
 import paths = require('vs/base/common/paths');
 import dom = require('vs/base/browser/dom');
 import builder = require('vs/base/browser/builder');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import errors = require('vs/base/common/errors');
 import events = require('vs/base/common/events');
 import actions = require('vs/base/common/actions');
@@ -17,19 +17,19 @@ import treeimpl = require('vs/base/parts/tree/browser/treeImpl');
 import splitview = require('vs/base/browser/ui/splitview/splitview');
 import viewlet = require('vs/workbench/browser/viewlet');
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {StackFrame, Expression, Variable, ExceptionBreakpoint, FunctionBreakpoint} from 'vs/workbench/parts/debug/common/debugModel';
+import { StackFrame, Expression, Variable, ExceptionBreakpoint, FunctionBreakpoint } from 'vs/workbench/parts/debug/common/debugModel';
 import viewer = require('vs/workbench/parts/debug/electron-browser/debugViewer');
 import debugactions = require('vs/workbench/parts/debug/browser/debugActions');
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
 
 import IDebugService = debug.IDebugService;
 
 const debugTreeOptions = (ariaLabel: string) => {
-	return <tree.ITreeOptions> {
+	return <tree.ITreeOptions>{
 		twistiePixels: 20,
 		ariaLabel
 	};
@@ -95,7 +95,7 @@ export class VariablesView extends viewlet.CollapsibleViewletView {
 			const isMouseClick = (e.payload && e.payload.origin === 'mouse');
 			const isVariableType = (e.focus instanceof Variable);
 
-			if(isMouseClick && isVariableType) {
+			if (isMouseClick && isVariableType) {
 				this.telemetryService.publicLog('debug/variables/selected');
 			}
 		}));
@@ -175,7 +175,7 @@ export class WatchExpressionsView extends viewlet.CollapsibleViewletView {
 			renderer: this.instantiationService.createInstance(viewer.WatchExpressionsRenderer, actionProvider, this.actionRunner),
 			accessibilityProvider: new viewer.WatchExpressionsAccessibilityProvider(),
 			controller: new viewer.WatchExpressionsController(this.debugService, this.contextMenuService, actionProvider)
-		}, debugTreeOptions(nls.localize({ comment: ['Debug is a noun in this context, not a verb.'], key: 'watchAriaTreeLabel'}, "Debug Watch Expressions")));
+		}, debugTreeOptions(nls.localize({ comment: ['Debug is a noun in this context, not a verb.'], key: 'watchAriaTreeLabel' }, "Debug Watch Expressions")));
 
 		this.tree.setInput(this.debugService.getModel());
 
@@ -203,7 +203,7 @@ export class WatchExpressionsView extends viewlet.CollapsibleViewletView {
 
 	private onWatchExpressionsUpdated(expression: debug.IExpression): void {
 		this.tree.refresh().done(() => {
-			return expression instanceof Expression ? this.tree.reveal(expression): TPromise.as(true);
+			return expression instanceof Expression ? this.tree.reveal(expression) : TPromise.as(true);
 		}, errors.onUnexpectedError);
 	}
 
@@ -252,7 +252,7 @@ export class CallStackView extends viewlet.CollapsibleViewletView {
 			renderer: this.instantiationService.createInstance(viewer.CallStackRenderer),
 			accessibilityProvider: this.instantiationService.createInstance(viewer.CallstackAccessibilityProvider),
 			controller: new viewer.CallStackController(this.debugService, this.contextMenuService, actionProvider)
-		}, debugTreeOptions(nls.localize({ comment: ['Debug is a noun in this context, not a verb.'], key: 'callStackAriaLabel'}, "Debug Call Stack")));
+		}, debugTreeOptions(nls.localize({ comment: ['Debug is a noun in this context, not a verb.'], key: 'callStackAriaLabel' }, "Debug Call Stack")));
 
 		this.toDispose.push(this.tree.addListener2(events.EventType.FOCUS, (e: tree.IFocusEvent) => {
 			const isMouseClick = (e.payload && e.payload.origin === 'mouse');
@@ -348,8 +348,8 @@ export class BreakpointsView extends viewlet.AdaptiveCollapsibleViewletView {
 			controller: new viewer.BreakpointsController(this.debugService, this.contextMenuService, actionProvider),
 			sorter: {
 				compare(tree: tree.ITree, element: any, otherElement: any): number {
-					const first = <debug.IBreakpoint> element;
-					const second = <debug.IBreakpoint> otherElement;
+					const first = <debug.IBreakpoint>element;
+					const second = <debug.IBreakpoint>otherElement;
 					if (first instanceof ExceptionBreakpoint) {
 						return -1;
 					}
@@ -370,7 +370,7 @@ export class BreakpointsView extends viewlet.AdaptiveCollapsibleViewletView {
 					return first.desiredLineNumber - second.desiredLineNumber;
 				}
 			}
-		}, debugTreeOptions(nls.localize({ comment: ['Debug is a noun in this context, not a verb.'], key: 'breakpointsAriaTreeLabel'}, "Debug Breakpoints")));
+		}, debugTreeOptions(nls.localize({ comment: ['Debug is a noun in this context, not a verb.'], key: 'breakpointsAriaTreeLabel' }, "Debug Breakpoints")));
 
 		const debugModel = this.debugService.getModel();
 
diff --git a/src/vs/workbench/parts/debug/electron-browser/electronDebugActions.ts b/src/vs/workbench/parts/debug/electron-browser/electronDebugActions.ts
index e12e6dab05863..a1431dc2b5e97 100644
--- a/src/vs/workbench/parts/debug/electron-browser/electronDebugActions.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/electronDebugActions.ts
@@ -5,10 +5,10 @@
 
 import nls = require('vs/nls');
 import actions = require('vs/base/common/actions');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {clipboard} from 'electron';
-import {Variable, getFullExpressionName} from 'vs/workbench/parts/debug/common/debugModel';
-import {IDebugService} from 'vs/workbench/parts/debug/common/debug';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { clipboard } from 'electron';
+import { Variable, getFullExpressionName } from 'vs/workbench/parts/debug/common/debugModel';
+import { IDebugService } from 'vs/workbench/parts/debug/common/debug';
 
 export class CopyValueAction extends actions.Action {
 	static ID = 'workbench.debug.viewlet.action.copyValue';
diff --git a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts
index ca6d5f3e4476a..6c3ccf6cce0bc 100644
--- a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts
@@ -7,28 +7,28 @@ import nls = require('vs/nls');
 import cp = require('child_process');
 import fs = require('fs');
 import net = require('net');
-import Event, {Emitter} from 'vs/base/common/event';
+import Event, { Emitter } from 'vs/base/common/event';
 import platform = require('vs/base/common/platform');
 import objects = require('vs/base/common/objects');
-import {Action} from 'vs/base/common/actions';
+import { Action } from 'vs/base/common/actions';
 import errors = require('vs/base/common/errors');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import severity from 'vs/base/common/severity';
 import stdfork = require('vs/base/node/stdFork');
-import {IMessageService, CloseAction} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {ITerminalService} from 'vs/workbench/parts/terminal/electron-browser/terminal';
-import {ITerminalService as IExternalTerminalService} from 'vs/workbench/parts/execution/common/execution';
+import { IMessageService, CloseAction } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { ITerminalService } from 'vs/workbench/parts/terminal/electron-browser/terminal';
+import { ITerminalService as IExternalTerminalService } from 'vs/workbench/parts/execution/common/execution';
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {Adapter} from 'vs/workbench/parts/debug/node/debugAdapter';
+import { Adapter } from 'vs/workbench/parts/debug/node/debugAdapter';
 import v8 = require('vs/workbench/parts/debug/node/v8Protocol');
-import {IOutputService} from 'vs/workbench/parts/output/common/output';
-import {ExtensionsChannelId} from 'vs/platform/extensionManagement/common/extensionManagement';
-import {TerminalSupport} from 'vs/workbench/parts/debug/electron-browser/terminalSupport';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
+import { IOutputService } from 'vs/workbench/parts/output/common/output';
+import { ExtensionsChannelId } from 'vs/platform/extensionManagement/common/extensionManagement';
+import { TerminalSupport } from 'vs/workbench/parts/debug/electron-browser/terminalSupport';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
 
 
-import {shell} from 'electron';
+import { shell } from 'electron';
 
 export interface SessionExitedEvent extends DebugProtocol.ExitedEvent {
 	body: {
@@ -138,11 +138,11 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes
 
 		const serverPromise = this.debugServerPort ? this.connectServer(this.debugServerPort) : this.startServer();
 		this.cachedInitServer = serverPromise.then(() => {
-				this.startTime = new Date().getTime();
-			}, err => {
-				this.cachedInitServer = null;
-				return TPromise.wrapError(err);
-			}
+			this.startTime = new Date().getTime();
+		}, err => {
+			this.cachedInitServer = null;
+			return TPromise.wrapError(err);
+		}
 		);
 
 		return this.cachedInitServer;
@@ -172,10 +172,12 @@ export class RawDebugSession extends v8.V8Protocol implements debug.IRawDebugSes
 				const userMessage = error ? debug.formatPII(error.format, false, error.variables) : errorMessage;
 				if (error && error.url) {
 					const label = error.urlLabel ? error.urlLabel : nls.localize('moreInfo', "More Info");
-					return TPromise.wrapError(errors.create(userMessage, { actions: [CloseAction, new Action('debug.moreInfo', label, null, true, () => {
-						shell.openExternal(error.url);
-						return TPromise.as(null);
-					})]}));
+					return TPromise.wrapError(errors.create(userMessage, {
+						actions: [CloseAction, new Action('debug.moreInfo', label, null, true, () => {
+							shell.openExternal(error.url);
+							return TPromise.as(null);
+						})]
+					}));
 				}
 
 				return TPromise.wrapError(new Error(userMessage));
diff --git a/src/vs/workbench/parts/debug/electron-browser/repl.ts b/src/vs/workbench/parts/debug/electron-browser/repl.ts
index cef8f9e94b97f..f524470107c5d 100644
--- a/src/vs/workbench/parts/debug/electron-browser/repl.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/repl.ts
@@ -6,38 +6,38 @@
 import 'vs/css!./../browser/media/repl';
 import nls = require('vs/nls');
 import uri from 'vs/base/common/uri';
-import {wireCancellationToken} from 'vs/base/common/async';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { wireCancellationToken } from 'vs/base/common/async';
+import { TPromise } from 'vs/base/common/winjs.base';
 import errors = require('vs/base/common/errors');
 import lifecycle = require('vs/base/common/lifecycle');
 import actions = require('vs/base/common/actions');
 import builder = require('vs/base/browser/builder');
 import dom = require('vs/base/browser/dom');
 import platform = require('vs/base/common/platform');
-import {CancellationToken} from 'vs/base/common/cancellation';
-import {KeyCode} from 'vs/base/common/keyCodes';
+import { CancellationToken } from 'vs/base/common/cancellation';
+import { KeyCode } from 'vs/base/common/keyCodes';
 import tree = require('vs/base/parts/tree/browser/tree');
 import treeimpl = require('vs/base/parts/tree/browser/treeImpl');
-import {IEditorOptions, IReadOnlyModel, EditorContextKeys, ICommonCodeEditor} from 'vs/editor/common/editorCommon';
-import {Position} from 'vs/editor/common/core/position';
+import { IEditorOptions, IReadOnlyModel, EditorContextKeys, ICommonCodeEditor } from 'vs/editor/common/editorCommon';
+import { Position } from 'vs/editor/common/core/position';
 import * as modes from 'vs/editor/common/modes';
-import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {IContextKeyService, ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IInstantiationService, createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
+import { editorAction, ServicesAccessor, EditorAction } from 'vs/editor/common/editorCommonExtensions';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { IContextKeyService, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IInstantiationService, createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
 import viewer = require('vs/workbench/parts/debug/electron-browser/replViewer');
-import {ReplEditor} from 'vs/workbench/parts/debug/electron-browser/replEditor';
+import { ReplEditor } from 'vs/workbench/parts/debug/electron-browser/replEditor';
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {Expression} from 'vs/workbench/parts/debug/common/debugModel';
+import { Expression } from 'vs/workbench/parts/debug/common/debugModel';
 import debugactions = require('vs/workbench/parts/debug/browser/debugActions');
 import replhistory = require('vs/workbench/parts/debug/common/replHistory');
-import {Panel} from 'vs/workbench/browser/panel';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
+import { Panel } from 'vs/workbench/browser/panel';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
 
 const $ = dom.$;
 
@@ -179,16 +179,16 @@ export class Repl extends Panel implements IPrivateReplService {
 		this.replInput.setModel(model);
 
 		modes.SuggestRegistry.register({ scheme: debug.DEBUG_SCHEME }, {
-				triggerCharacters: ['.'],
-				provideCompletionItems: (model: IReadOnlyModel, position: Position, token: CancellationToken): Thenable<modes.ISuggestResult> => {
-					const word = this.replInput.getModel().getWordAtPosition(position);
-					const text = this.replInput.getModel().getLineContent(position.lineNumber);
-					return wireCancellationToken(token, this.debugService.completions(text, position).then(suggestions => ({
-						currentWord: word ? word.word : '',
-						suggestions
-					})));
-				}
-			},
+			triggerCharacters: ['.'],
+			provideCompletionItems: (model: IReadOnlyModel, position: Position, token: CancellationToken): Thenable<modes.ISuggestResult> => {
+				const word = this.replInput.getModel().getWordAtPosition(position);
+				const text = this.replInput.getModel().getLineContent(position.lineNumber);
+				return wireCancellationToken(token, this.debugService.completions(text, position).then(suggestions => ({
+					currentWord: word ? word.word : '',
+					suggestions
+				})));
+			}
+		},
 			true
 		);
 
diff --git a/src/vs/workbench/parts/debug/electron-browser/replEditor.ts b/src/vs/workbench/parts/debug/electron-browser/replEditor.ts
index 09aa441dda5e8..94a29934d0c68 100644
--- a/src/vs/workbench/parts/debug/electron-browser/replEditor.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/replEditor.ts
@@ -3,22 +3,22 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {IEditorOptions} from 'vs/editor/common/editorCommon';
-import {EditorAction, CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {ICodeEditorService} from 'vs/editor/common/services/codeEditorService';
-import {IEditorContributionCtor} from 'vs/editor/browser/editorBrowser';
-import {CodeEditorWidget} from 'vs/editor/browser/widget/codeEditorWidget';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ICommandService} from 'vs/platform/commands/common/commands';
+import { IEditorOptions } from 'vs/editor/common/editorCommon';
+import { EditorAction, CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService';
+import { IEditorContributionCtor } from 'vs/editor/browser/editorBrowser';
+import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ICommandService } from 'vs/platform/commands/common/commands';
 
 // Allowed Editor Contributions:
-import {MenuPreventer} from 'vs/editor/contrib/multicursor/browser/menuPreventer';
-import {SelectionClipboard} from 'vs/editor/contrib/selectionClipboard/electron-browser/selectionClipboard';
-import {ContextMenuController} from 'vs/editor/contrib/contextmenu/browser/contextmenu';
-import {SuggestController} from 'vs/editor/contrib/suggest/browser/suggestController';
-import {SnippetController} from 'vs/editor/contrib/snippet/common/snippetController';
-import {TabCompletionController} from 'vs/editor/contrib/suggest/browser/tabCompletion';
+import { MenuPreventer } from 'vs/editor/contrib/multicursor/browser/menuPreventer';
+import { SelectionClipboard } from 'vs/editor/contrib/selectionClipboard/electron-browser/selectionClipboard';
+import { ContextMenuController } from 'vs/editor/contrib/contextmenu/browser/contextmenu';
+import { SuggestController } from 'vs/editor/contrib/suggest/browser/suggestController';
+import { SnippetController } from 'vs/editor/contrib/snippet/common/snippetController';
+import { TabCompletionController } from 'vs/editor/contrib/suggest/browser/tabCompletion';
 
 export class ReplEditor extends CodeEditorWidget {
 	constructor(
diff --git a/src/vs/workbench/parts/debug/electron-browser/replViewer.ts b/src/vs/workbench/parts/debug/electron-browser/replViewer.ts
index d58708accd93e..ad42805c97dfc 100644
--- a/src/vs/workbench/parts/debug/electron-browser/replViewer.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/replViewer.ts
@@ -4,11 +4,11 @@
  *--------------------------------------------------------------------------------------------*/
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import actions = require('vs/base/common/actions');
 import strings = require('vs/base/common/strings');
 import URI from 'vs/base/common/uri';
-import {isMacintosh} from 'vs/base/common/platform';
+import { isMacintosh } from 'vs/base/common/platform';
 import keyboard = require('vs/base/browser/keyboardEvent');
 import actionbar = require('vs/base/browser/ui/actionbar/actionbar');
 import dom = require('vs/base/browser/dom');
@@ -18,15 +18,15 @@ import mouse = require('vs/base/browser/mouseEvent');
 import tree = require('vs/base/parts/tree/browser/tree');
 import renderer = require('vs/base/parts/tree/browser/actionsRenderer');
 import treedefaults = require('vs/base/parts/tree/browser/treeDefaults');
-import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
+import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
 import debug = require('vs/workbench/parts/debug/common/debug');
 import model = require('vs/workbench/parts/debug/common/debugModel');
 import debugviewer = require('vs/workbench/parts/debug/electron-browser/debugViewer');
 import debugactions = require('vs/workbench/parts/debug/browser/debugActions');
-import {CopyAction} from 'vs/workbench/parts/debug/electron-browser/electronDebugActions';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
+import { CopyAction } from 'vs/workbench/parts/debug/electron-browser/electronDebugActions';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
 
 const $ = dom.$;
 
diff --git a/src/vs/workbench/parts/debug/electron-browser/terminalSupport.ts b/src/vs/workbench/parts/debug/electron-browser/terminalSupport.ts
index 7e674e4b08ac0..b77dade7a3be3 100644
--- a/src/vs/workbench/parts/debug/electron-browser/terminalSupport.ts
+++ b/src/vs/workbench/parts/debug/electron-browser/terminalSupport.ts
@@ -5,11 +5,11 @@
 
 import nls = require('vs/nls');
 import platform = require('vs/base/common/platform');
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ITerminalService, ITerminalInstance} from 'vs/workbench/parts/terminal/electron-browser/terminal';
-import {ITerminalService as IExternalTerminalService} from 'vs/workbench/parts/execution/common/execution';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ITerminalService, ITerminalInstance } from 'vs/workbench/parts/terminal/electron-browser/terminal';
+import { ITerminalService as IExternalTerminalService } from 'vs/workbench/parts/execution/common/execution';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
 
 
 export interface IIntegratedTerminalConfiguration {
diff --git a/src/vs/workbench/parts/debug/node/debugAdapter.ts b/src/vs/workbench/parts/debug/node/debugAdapter.ts
index 8d41a5248af34..0e73607a82ad1 100644
--- a/src/vs/workbench/parts/debug/node/debugAdapter.ts
+++ b/src/vs/workbench/parts/debug/node/debugAdapter.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import objects = require('vs/base/common/objects');
 import paths = require('vs/base/common/paths');
 import platform = require('vs/base/common/platform');
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {IExtensionDescription} from 'vs/platform/extensions/common/extensions';
-import {IConfigurationResolverService} from 'vs/workbench/services/configurationResolver/common/configurationResolver';
-import {ICommandService} from 'vs/platform/commands/common/commands';
+import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
+import { IConfigurationResolverService } from 'vs/workbench/services/configurationResolver/common/configurationResolver';
+import { ICommandService } from 'vs/platform/commands/common/commands';
 
 export class Adapter {
 
@@ -109,7 +109,7 @@ export class Adapter {
 				attributes.additionalProperties = false;
 				attributes.type = 'object';
 				if (!attributes.properties) {
-					attributes.properties = { };
+					attributes.properties = {};
 				}
 				const properties = attributes.properties;
 				properties.type = {
diff --git a/src/vs/workbench/parts/debug/node/debugConfigurationManager.ts b/src/vs/workbench/parts/debug/node/debugConfigurationManager.ts
index 9d8e58c43c09c..c5215fee2b9e6 100644
--- a/src/vs/workbench/parts/debug/node/debugConfigurationManager.ts
+++ b/src/vs/workbench/parts/debug/node/debugConfigurationManager.ts
@@ -4,30 +4,30 @@
  *--------------------------------------------------------------------------------------------*/
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import strings = require('vs/base/common/strings');
 import types = require('vs/base/common/types');
-import {isLinux, isMacintosh, isWindows} from 'vs/base/common/platform';
-import Event, {Emitter} from 'vs/base/common/event';
+import { isLinux, isMacintosh, isWindows } from 'vs/base/common/platform';
+import Event, { Emitter } from 'vs/base/common/event';
 import objects = require('vs/base/common/objects');
 import uri from 'vs/base/common/uri';
-import {Schemas} from 'vs/base/common/network';
+import { Schemas } from 'vs/base/common/network';
 import paths = require('vs/base/common/paths');
-import {IJSONSchema} from 'vs/base/common/jsonSchema';
+import { IJSONSchema } from 'vs/base/common/jsonSchema';
 import editor = require('vs/editor/common/editorCommon');
 import extensionsRegistry = require('vs/platform/extensions/common/extensionsRegistry');
 import platform = require('vs/platform/platform');
 import jsonContributionRegistry = require('vs/platform/jsonschemas/common/jsonContributionRegistry');
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IFileService} from 'vs/platform/files/common/files';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IFileService } from 'vs/platform/files/common/files';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {Adapter} from 'vs/workbench/parts/debug/node/debugAdapter';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IConfigurationResolverService} from 'vs/workbench/services/configurationResolver/common/configurationResolver';
+import { Adapter } from 'vs/workbench/parts/debug/node/debugAdapter';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IConfigurationResolverService } from 'vs/workbench/services/configurationResolver/common/configurationResolver';
 
 // debuggers extension point
 export const debuggersExtPoint = extensionsRegistry.ExtensionsRegistry.registerExtensionPoint<debug.IRawAdapter[]>('debuggers', {
@@ -36,7 +36,7 @@ export const debuggersExtPoint = extensionsRegistry.ExtensionsRegistry.registerE
 	defaultSnippets: [{ body: [{ type: '', extensions: [] }] }],
 	items: {
 		type: 'object',
-		defaultSnippets: [{ body: { type: '', program: '', runtime: '', enableBreakpointsFor: { languageIds: [ '' ] } } }],
+		defaultSnippets: [{ body: { type: '', program: '', runtime: '', enableBreakpointsFor: { languageIds: [''] } } }],
 		properties: {
 			type: {
 				description: nls.localize('vscode.extension.contributes.debuggers.type', "Unique identifier for this debug adapter."),
@@ -50,7 +50,7 @@ export const debuggersExtPoint = extensionsRegistry.ExtensionsRegistry.registerE
 				description: nls.localize('vscode.extension.contributes.debuggers.enableBreakpointsFor', "Allow breakpoints for these languages."),
 				type: 'object',
 				properties: {
-					languageIds : {
+					languageIds: {
 						description: nls.localize('vscode.extension.contributes.debuggers.enableBreakpointsFor.languageIds', "List of languages."),
 						type: 'array',
 						items: {
@@ -67,15 +67,15 @@ export const debuggersExtPoint = extensionsRegistry.ExtensionsRegistry.registerE
 				description: nls.localize('vscode.extension.contributes.debuggers.args', "Optional arguments to pass to the adapter."),
 				type: 'array'
 			},
-			runtime : {
+			runtime: {
 				description: nls.localize('vscode.extension.contributes.debuggers.runtime', "Optional runtime in case the program attribute is not an executable but requires a runtime."),
 				type: 'string'
 			},
-			runtimeArgs : {
+			runtimeArgs: {
 				description: nls.localize('vscode.extension.contributes.debuggers.runtimeArgs', "Optional runtime arguments."),
 				type: 'array'
 			},
-			variables : {
+			variables: {
 				description: nls.localize('vscode.extension.contributes.debuggers.variables', "Mapping from interactive variables (e.g ${action.pickProcess}) in `launch.json` to a command."),
 				type: 'object'
 			},
@@ -91,7 +91,7 @@ export const debuggersExtPoint = extensionsRegistry.ExtensionsRegistry.registerE
 				description: nls.localize('vscode.extension.contributes.debuggers.windows', "Windows specific settings."),
 				type: 'object',
 				properties: {
-					runtime : {
+					runtime: {
 						description: nls.localize('vscode.extension.contributes.debuggers.windows.runtime', "Runtime used for Windows."),
 						type: 'string'
 					}
@@ -101,7 +101,7 @@ export const debuggersExtPoint = extensionsRegistry.ExtensionsRegistry.registerE
 				description: nls.localize('vscode.extension.contributes.debuggers.osx', "OS X specific settings."),
 				type: 'object',
 				properties: {
-					runtime : {
+					runtime: {
 						description: nls.localize('vscode.extension.contributes.debuggers.osx.runtime', "Runtime used for OSX."),
 						type: 'string'
 					}
@@ -111,7 +111,7 @@ export const debuggersExtPoint = extensionsRegistry.ExtensionsRegistry.registerE
 				description: nls.localize('vscode.extension.contributes.debuggers.linux', "Linux specific settings."),
 				type: 'object',
 				properties: {
-					runtime : {
+					runtime: {
 						description: nls.localize('vscode.extension.contributes.debuggers.linux.runtime', "Runtime used for Linux."),
 						type: 'string'
 					}
@@ -232,7 +232,7 @@ export class ConfigurationManager implements debug.IConfigurationManager {
 			this.adapters.forEach(adapter => {
 				const schemaAttributes = adapter.getSchemaAttributes();
 				if (schemaAttributes) {
-					(<IJSONSchema> schema.properties['configurations'].items).oneOf.push(...schemaAttributes);
+					(<IJSONSchema>schema.properties['configurations'].items).oneOf.push(...schemaAttributes);
 				}
 			});
 		});
@@ -262,7 +262,7 @@ export class ConfigurationManager implements debug.IConfigurationManager {
 		return this.adapters.filter(adapter => strings.equalsIgnoreCase(adapter.type, this.configuration.type)).pop();
 	}
 
-	public setConfiguration(nameOrConfig: string|debug.IConfig): TPromise<void> {
+	public setConfiguration(nameOrConfig: string | debug.IConfig): TPromise<void> {
 		return this.loadLaunchConfig().then(config => {
 			if (types.isObject(nameOrConfig)) {
 				this.configuration = objects.deepClone(nameOrConfig) as debug.IConfig;
@@ -319,42 +319,42 @@ export class ConfigurationManager implements debug.IConfigurationManager {
 				configFileCreated = true;
 				return this.fileService.updateContent(resource, content).then(() => true);
 			}
-		)).then(errorFree => {
-			if (!errorFree) {
-				return false;
-			}
-			this.telemetryService.publicLog('debugConfigure');
-
-			return this.editorService.openEditor({
-				resource: resource,
-				options: {
-					forceOpen: true,
-					pinned: configFileCreated // pin only if config file is created #8727
-				},
-			}, sideBySide).then(() => true);
-		}, (error) => {
-			throw new Error(nls.localize('DebugConfig.failed', "Unable to create 'launch.json' file inside the '.vscode' folder ({0}).", error));
-		});
+			)).then(errorFree => {
+				if (!errorFree) {
+					return false;
+				}
+				this.telemetryService.publicLog('debugConfigure');
+
+				return this.editorService.openEditor({
+					resource: resource,
+					options: {
+						forceOpen: true,
+						pinned: configFileCreated // pin only if config file is created #8727
+					},
+				}, sideBySide).then(() => true);
+			}, (error) => {
+				throw new Error(nls.localize('DebugConfig.failed', "Unable to create 'launch.json' file inside the '.vscode' folder ({0}).", error));
+			});
 	}
 
 	private getInitialConfigFileContent(): TPromise<string> {
 		return this.quickOpenService.pick(this.adapters, { placeHolder: nls.localize('selectDebug', "Select Environment") })
-		.then(adapter => {
-			if (!adapter) {
-				return null;
-			}
+			.then(adapter => {
+				if (!adapter) {
+					return null;
+				}
 
-			return adapter.getInitialConfigurations().then(configurations => {
-				let editorConfig = this.configurationService.getConfiguration<any>();
-				return JSON.stringify(
-					{
-						version: '0.2.0',
-						configurations: configurations || []
-					},
-					null,
-					editorConfig.editor.insertSpaces ? strings.repeat(' ', editorConfig.editor.tabSize) : '\t');
+				return adapter.getInitialConfigurations().then(configurations => {
+					let editorConfig = this.configurationService.getConfiguration<any>();
+					return JSON.stringify(
+						{
+							version: '0.2.0',
+							configurations: configurations || []
+						},
+						null,
+						editorConfig.editor.insertSpaces ? strings.repeat(' ', editorConfig.editor.tabSize) : '\t');
+				});
 			});
-		});
 	}
 
 	public canSetBreakpointsIn(model: editor.IModel): boolean {
diff --git a/src/vs/workbench/parts/debug/node/telemetryApp.ts b/src/vs/workbench/parts/debug/node/telemetryApp.ts
index 95c02b5049347..db5e7ec6f628f 100644
--- a/src/vs/workbench/parts/debug/node/telemetryApp.ts
+++ b/src/vs/workbench/parts/debug/node/telemetryApp.ts
@@ -3,9 +3,9 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {Server} from 'vs/base/parts/ipc/node/ipc.cp';
-import {AppInsightsAppender} from 'vs/platform/telemetry/node/appInsightsAppender';
-import {TelemetryAppenderChannel} from 'vs/platform/telemetry/common/telemetryIpc';
+import { Server } from 'vs/base/parts/ipc/node/ipc.cp';
+import { AppInsightsAppender } from 'vs/platform/telemetry/node/appInsightsAppender';
+import { TelemetryAppenderChannel } from 'vs/platform/telemetry/common/telemetryIpc';
 
 const appender = new AppInsightsAppender(process.argv[2], JSON.parse(process.argv[3]), process.argv[4]);
 process.once('exit', () => appender.dispose());
diff --git a/src/vs/workbench/parts/debug/node/v8Protocol.ts b/src/vs/workbench/parts/debug/node/v8Protocol.ts
index 049912de74331..76c6452ce2a4b 100644
--- a/src/vs/workbench/parts/debug/node/v8Protocol.ts
+++ b/src/vs/workbench/parts/debug/node/v8Protocol.ts
@@ -5,8 +5,8 @@
 
 import stream = require('stream');
 import uuid = require('vs/base/common/uuid');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {canceled} from 'vs/base/common/errors';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { canceled } from 'vs/base/common/errors';
 
 export abstract class V8Protocol {
 
diff --git a/src/vs/workbench/parts/debug/test/common/debugSource.test.ts b/src/vs/workbench/parts/debug/test/common/debugSource.test.ts
index 0c9c0270df180..592b6b51dcfa2 100644
--- a/src/vs/workbench/parts/debug/test/common/debugSource.test.ts
+++ b/src/vs/workbench/parts/debug/test/common/debugSource.test.ts
@@ -5,7 +5,7 @@
 
 import assert = require('assert');
 import uri from 'vs/base/common/uri';
-import {Source} from 'vs/workbench/parts/debug/common/debugSource';
+import { Source } from 'vs/workbench/parts/debug/common/debugSource';
 
 suite('Debug - Source', () => {
 
diff --git a/src/vs/workbench/parts/debug/test/common/debugUtils.test.ts b/src/vs/workbench/parts/debug/test/common/debugUtils.test.ts
index 2064ce832ed56..7e91cac896032 100644
--- a/src/vs/workbench/parts/debug/test/common/debugUtils.test.ts
+++ b/src/vs/workbench/parts/debug/test/common/debugUtils.test.ts
@@ -10,11 +10,11 @@ suite('Debug - Utils', () => {
 	test('formatPII', () => {
 		assert.strictEqual(debug.formatPII('Foo Bar', false, {}), 'Foo Bar');
 		assert.strictEqual(debug.formatPII('Foo {key} Bar', false, {}), 'Foo {key} Bar');
-		assert.strictEqual(debug.formatPII('Foo {key} Bar', false, {'key': 'yes'}), 'Foo yes Bar');
-		assert.strictEqual(debug.formatPII('Foo {_0} Bar {_0}', true, {'_0': 'yes'}), 'Foo yes Bar yes');
-		assert.strictEqual(debug.formatPII('Foo {0} Bar {1}{2}', false, {'0': 'yes'}), 'Foo yes Bar {1}{2}');
-		assert.strictEqual(debug.formatPII('Foo {0} Bar {1}{2}', false, {'0': 'yes', '1': 'undefined'}), 'Foo yes Bar undefined{2}');
-		assert.strictEqual(debug.formatPII('Foo {_key0} Bar {key1}{key2}', true, {'_key0': 'yes', 'key1': '5', 'key2': 'false'}), 'Foo yes Bar {key1}{key2}');
-		assert.strictEqual(debug.formatPII('Foo {_key0} Bar {key1}{key2}', false, {'_key0': 'yes', 'key1': '5', 'key2': 'false'}), 'Foo yes Bar 5false');
+		assert.strictEqual(debug.formatPII('Foo {key} Bar', false, { 'key': 'yes' }), 'Foo yes Bar');
+		assert.strictEqual(debug.formatPII('Foo {_0} Bar {_0}', true, { '_0': 'yes' }), 'Foo yes Bar yes');
+		assert.strictEqual(debug.formatPII('Foo {0} Bar {1}{2}', false, { '0': 'yes' }), 'Foo yes Bar {1}{2}');
+		assert.strictEqual(debug.formatPII('Foo {0} Bar {1}{2}', false, { '0': 'yes', '1': 'undefined' }), 'Foo yes Bar undefined{2}');
+		assert.strictEqual(debug.formatPII('Foo {_key0} Bar {key1}{key2}', true, { '_key0': 'yes', 'key1': '5', 'key2': 'false' }), 'Foo yes Bar {key1}{key2}');
+		assert.strictEqual(debug.formatPII('Foo {_key0} Bar {key1}{key2}', false, { '_key0': 'yes', 'key1': '5', 'key2': 'false' }), 'Foo yes Bar 5false');
 	});
 });
\ No newline at end of file
diff --git a/src/vs/workbench/parts/debug/test/common/debugViewModel.test.ts b/src/vs/workbench/parts/debug/test/common/debugViewModel.test.ts
index a092876d2111b..9f961b9db3e01 100644
--- a/src/vs/workbench/parts/debug/test/common/debugViewModel.test.ts
+++ b/src/vs/workbench/parts/debug/test/common/debugViewModel.test.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 
 import assert = require('assert');
-import {ViewModel} from 'vs/workbench/parts/debug/common/debugViewModel';
-import {StackFrame, Expression, Thread} from 'vs/workbench/parts/debug/common/debugModel';
+import { ViewModel } from 'vs/workbench/parts/debug/common/debugViewModel';
+import { StackFrame, Expression, Thread } from 'vs/workbench/parts/debug/common/debugModel';
 
 suite('Debug - View Model', () => {
 	var model: ViewModel;
diff --git a/src/vs/workbench/parts/debug/test/common/mockDebugService.ts b/src/vs/workbench/parts/debug/test/common/mockDebugService.ts
index bac57bd3d26eb..7387be9dd013a 100644
--- a/src/vs/workbench/parts/debug/test/common/mockDebugService.ts
+++ b/src/vs/workbench/parts/debug/test/common/mockDebugService.ts
@@ -5,11 +5,11 @@
 
 import Event from 'vs/base/common/event';
 import severity from 'vs/base/common/severity';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ISuggestion} from 'vs/editor/common/modes';
-import {Position} from 'vs/editor/common/core/position';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ISuggestion } from 'vs/editor/common/modes';
+import { Position } from 'vs/editor/common/core/position';
 import debug = require('vs/workbench/parts/debug/common/debug');
-import {Source} from 'vs/workbench/parts/debug/common/debugSource';
+import { Source } from 'vs/workbench/parts/debug/common/debugSource';
 
 export class MockDebugService implements debug.IDebugService {
 	private session: MockRawSession;
@@ -51,7 +51,7 @@ export class MockDebugService implements debug.IDebugService {
 		return TPromise.as(null);
 	}
 
-	public addFunctionBreakpoint(): void {}
+	public addFunctionBreakpoint(): void { }
 
 	public renameFunctionBreakpoint(id: string, newFunctionName: string): TPromise<void> {
 		return TPromise.as(null);
@@ -65,11 +65,11 @@ export class MockDebugService implements debug.IDebugService {
 		return TPromise.as(null);
 	}
 
-	public removeReplExpressions(): void {}
+	public removeReplExpressions(): void { }
 
-	public logToRepl(value: string | { [key: string]: any }, severity?: severity): void {}
+	public logToRepl(value: string | { [key: string]: any }, severity?: severity): void { }
 
-	public appendReplOutput(value: string, severity?: severity): void {}
+	public appendReplOutput(value: string, severity?: severity): void { }
 
 	public addWatchExpression(name?: string): TPromise<void> {
 		return TPromise.as(null);
@@ -79,7 +79,7 @@ export class MockDebugService implements debug.IDebugService {
 		return TPromise.as(null);
 	}
 
-	public removeWatchExpressions(id?: string): void {}
+	public removeWatchExpressions(id?: string): void { }
 
 	public createSession(noDebug: boolean): TPromise<any> {
 		return TPromise.as(null);
diff --git a/src/vs/workbench/parts/debug/test/common/replHistory.test.ts b/src/vs/workbench/parts/debug/test/common/replHistory.test.ts
index 12d266fa9514c..1da7fe5b94e36 100644
--- a/src/vs/workbench/parts/debug/test/common/replHistory.test.ts
+++ b/src/vs/workbench/parts/debug/test/common/replHistory.test.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 
 import assert = require('assert');
-import {ReplHistory} from 'vs/workbench/parts/debug/common/replHistory';
+import { ReplHistory } from 'vs/workbench/parts/debug/common/replHistory';
 
 suite('Debug - Repl History', () => {
 	var history: ReplHistory;
diff --git a/src/vs/workbench/parts/debug/test/node/debugAdapter.test.ts b/src/vs/workbench/parts/debug/test/node/debugAdapter.test.ts
index 6d1c79e057e01..d4e4adfd09045 100644
--- a/src/vs/workbench/parts/debug/test/node/debugAdapter.test.ts
+++ b/src/vs/workbench/parts/debug/test/node/debugAdapter.test.ts
@@ -6,7 +6,7 @@
 import assert = require('assert');
 import paths = require('vs/base/common/paths');
 import platform = require('vs/base/common/platform');
-import {Adapter} from 'vs/workbench/parts/debug/node/debugAdapter';
+import { Adapter } from 'vs/workbench/parts/debug/node/debugAdapter';
 
 suite('Debug - Adapter', () => {
 	var adapter: Adapter;
@@ -14,7 +14,7 @@ suite('Debug - Adapter', () => {
 	var rawAdapter = {
 		type: 'mock',
 		label: 'Mock Debug',
-		enableBreakpointsFor: { 'languageIds': [ 'markdown' ] },
+		enableBreakpointsFor: { 'languageIds': ['markdown'] },
 		program: './out/mock/mockDebug.js',
 		win: {
 			runtime: 'winRuntime'
@@ -27,7 +27,7 @@ suite('Debug - Adapter', () => {
 		},
 		configurationAttributes: {
 			launch: {
-				required: [ 'program' ],
+				required: ['program'],
 				properties: {
 					program: {
 						'type': 'string',
diff --git a/src/vs/workbench/parts/debug/test/node/debugModel.test.ts b/src/vs/workbench/parts/debug/test/node/debugModel.test.ts
index 79d2461753e7b..68cb1b3273d09 100644
--- a/src/vs/workbench/parts/debug/test/node/debugModel.test.ts
+++ b/src/vs/workbench/parts/debug/test/node/debugModel.test.ts
@@ -8,7 +8,7 @@ import uri from 'vs/base/common/uri';
 import severity from 'vs/base/common/severity';
 import debugmodel = require('vs/workbench/parts/debug/common/debugModel');
 import * as sinon from 'sinon';
-import {MockDebugService} from 'vs/workbench/parts/debug/test/common/mockDebugService';
+import { MockDebugService } from 'vs/workbench/parts/debug/test/common/mockDebugService';
 
 suite('Debug - Model', () => {
 	var model: debugmodel.Model;
@@ -36,7 +36,7 @@ suite('Debug - Model', () => {
 	test('breakpoints toggling', () => {
 		var modelUri = uri.file('/myfolder/myfile.js');
 		model.addBreakpoints([{ uri: modelUri, lineNumber: 5, enabled: true }, { uri: modelUri, lineNumber: 10, enabled: false }]);
-		model.addBreakpoints([{ uri: modelUri, lineNumber: 12, enabled: true, condition: 'fake condition'}]);
+		model.addBreakpoints([{ uri: modelUri, lineNumber: 12, enabled: true, condition: 'fake condition' }]);
 		assert.equal(model.getBreakpoints().length, 3);
 		model.removeBreakpoints([model.getBreakpoints().pop()]);
 		assert.equal(model.getBreakpoints().length, 2);
@@ -56,7 +56,7 @@ suite('Debug - Model', () => {
 		assert.equal(model.getBreakpoints().length, 5);
 		var bp = model.getBreakpoints()[0];
 		var originalLineLumber = bp.lineNumber;
-		const update:any = {};
+		const update: any = {};
 		update[bp.getId()] = { line: 100, verified: false };
 		model.updateBreakpoints(update);
 		assert.equal(bp.lineNumber, 100);
@@ -301,9 +301,9 @@ suite('Debug - Model', () => {
 
 		assert.equal(model.getReplElements().length, 3);
 		model.getReplElements().forEach(re => {
-			assert.equal((<debugmodel.Expression> re).available, false);
-			assert.equal((<debugmodel.Expression> re).name, 'myVariable');
-			assert.equal((<debugmodel.Expression> re).reference, 0);
+			assert.equal((<debugmodel.Expression>re).available, false);
+			assert.equal((<debugmodel.Expression>re).name, 'myVariable');
+			assert.equal((<debugmodel.Expression>re).reference, 0);
 		});
 
 		model.removeReplExpressions();
@@ -318,7 +318,7 @@ suite('Debug - Model', () => {
 		model.logToRepl('second line', severity.Warning);
 		model.logToRepl('second line', severity.Error);
 
-		let elements = <debugmodel.ValueOutputElement[]> model.getReplElements();
+		let elements = <debugmodel.ValueOutputElement[]>model.getReplElements();
 		assert.equal(elements.length, 3);
 		assert.equal(elements[0].value, 'first line');
 		assert.equal(elements[0].counter, 1);
@@ -330,14 +330,14 @@ suite('Debug - Model', () => {
 		model.appendReplOutput('1', severity.Error);
 		model.appendReplOutput('2', severity.Error);
 		model.appendReplOutput('3', severity.Error);
-		elements = <debugmodel.ValueOutputElement[]> model.getReplElements();
+		elements = <debugmodel.ValueOutputElement[]>model.getReplElements();
 		assert.equal(elements.length, 4);
 		assert.equal(elements[3].value, '123');
 		assert.equal(elements[3].severity, severity.Error);
 
-		const keyValueObject = { 'key1' : 2, 'key2': 'value' };
+		const keyValueObject = { 'key1': 2, 'key2': 'value' };
 		model.logToRepl(keyValueObject);
-		const element = <debugmodel.KeyValueOutputElement> model.getReplElements()[4];
+		const element = <debugmodel.KeyValueOutputElement>model.getReplElements()[4];
 		assert.equal(element.value, 'Object');
 		assert.deepEqual(element.valueObj, keyValueObject);
 
diff --git a/src/vs/workbench/parts/emmet/node/actions/balance.ts b/src/vs/workbench/parts/emmet/node/actions/balance.ts
index f976be03abad1..73e410694a34f 100644
--- a/src/vs/workbench/parts/emmet/node/actions/balance.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/balance.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class BalanceInwardAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/base64.ts b/src/vs/workbench/parts/emmet/node/actions/base64.ts
index 636ab0c1dc465..25ba1f566905a 100644
--- a/src/vs/workbench/parts/emmet/node/actions/base64.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/base64.ts
@@ -7,18 +7,18 @@
 
 import nls = require('vs/nls');
 
-import {fileExists} from 'vs/base/node/pfs';
+import { fileExists } from 'vs/base/node/pfs';
 import fs = require('fs');
-import {dirname, join, normalize, isValidBasename} from 'vs/base/common/paths';
+import { dirname, join, normalize, isValidBasename } from 'vs/base/common/paths';
 
-import {EmmetEditorAction, EmmetActionContext} from 'vs/workbench/parts/emmet/node/emmetActions';
-import {Action} from 'vs/base/common/actions';
+import { EmmetEditorAction, EmmetActionContext } from 'vs/workbench/parts/emmet/node/emmetActions';
+import { Action } from 'vs/base/common/actions';
 
-import {ServicesAccessor, editorAction} from 'vs/editor/common/editorCommonExtensions';
-import {EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {IQuickOpenService, IInputOptions} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
+import { ServicesAccessor, editorAction } from 'vs/editor/common/editorCommonExtensions';
+import { EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { IQuickOpenService, IInputOptions } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
 
 @editorAction
 class EncodeDecodeDataUrlAction extends EmmetEditorAction {
@@ -43,7 +43,7 @@ class EncodeDecodeDataUrlAction extends EmmetEditorAction {
 		return join(parent, fileName);
 	}
 
-	public runEmmetAction(accessor:ServicesAccessor, ctx:EmmetActionContext) {
+	public runEmmetAction(accessor: ServicesAccessor, ctx: EmmetActionContext) {
 		const workspaceContext = accessor.get(IWorkspaceContextService);
 		const messageService = accessor.get(IMessageService);
 		const quickOpenService = accessor.get(IQuickOpenService);
@@ -93,7 +93,7 @@ class EncodeDecodeDataUrlAction extends EmmetEditorAction {
 			});
 	}
 
-	public encodeDecode(ctx:EmmetActionContext, filepath?: string) {
+	public encodeDecode(ctx: EmmetActionContext, filepath?: string) {
 		ctx.editorAccessor.prompt = (): string => {
 			return filepath;
 		};
@@ -103,7 +103,7 @@ class EncodeDecodeDataUrlAction extends EmmetEditorAction {
 		}
 	}
 
-	private isValidInput(messageService:IMessageService, input: any): boolean {
+	private isValidInput(messageService: IMessageService, input: any): boolean {
 		if (input === undefined) {
 			return false;
 		}
diff --git a/src/vs/workbench/parts/emmet/node/actions/editPoints.ts b/src/vs/workbench/parts/emmet/node/actions/editPoints.ts
index 8cea6a07167fd..aa89a2d9d7a8a 100644
--- a/src/vs/workbench/parts/emmet/node/actions/editPoints.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/editPoints.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class PreviousEditPointAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/evaluateMath.ts b/src/vs/workbench/parts/emmet/node/actions/evaluateMath.ts
index 8253d0985d6f2..df8a9de1bc322 100644
--- a/src/vs/workbench/parts/emmet/node/actions/evaluateMath.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/evaluateMath.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class EvaluateMathAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/expandAbbreviation.ts b/src/vs/workbench/parts/emmet/node/actions/expandAbbreviation.ts
index 891f2a813704f..ab7e95169198e 100644
--- a/src/vs/workbench/parts/emmet/node/actions/expandAbbreviation.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/expandAbbreviation.ts
@@ -6,13 +6,13 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
-import {Handler, ICommonCodeEditor, EditorContextKeys} from 'vs/editor/common/editorCommon';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
+import { Handler, ICommonCodeEditor, EditorContextKeys } from 'vs/editor/common/editorCommon';
 
-import {KeyCode} from 'vs/base/common/keyCodes';
-import {ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
+import { KeyCode } from 'vs/base/common/keyCodes';
+import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
 
 @editorAction
 class ExpandAbbreviationAction extends BasicEmmetEditorAction {
@@ -36,7 +36,7 @@ class ExpandAbbreviationAction extends BasicEmmetEditorAction {
 		);
 	}
 
-	protected noExpansionOccurred(editor:ICommonCodeEditor): void {
+	protected noExpansionOccurred(editor: ICommonCodeEditor): void {
 		// forward the tab key back to the editor
 		editor.trigger('emmet', Handler.Tab, {});
 	}
diff --git a/src/vs/workbench/parts/emmet/node/actions/incrementDecrement.ts b/src/vs/workbench/parts/emmet/node/actions/incrementDecrement.ts
index a55f45a8f9e85..44db17292f1be 100644
--- a/src/vs/workbench/parts/emmet/node/actions/incrementDecrement.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/incrementDecrement.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class IncrementNumberByOneTenthAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/matchingPair.ts b/src/vs/workbench/parts/emmet/node/actions/matchingPair.ts
index 0a6f8114915ce..707709b439a33 100644
--- a/src/vs/workbench/parts/emmet/node/actions/matchingPair.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/matchingPair.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class GoToMatchingPairAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/mergeLines.ts b/src/vs/workbench/parts/emmet/node/actions/mergeLines.ts
index ab364072bca38..e90f53a5bb825 100644
--- a/src/vs/workbench/parts/emmet/node/actions/mergeLines.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/mergeLines.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class MergeLinesAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/reflectCssValue.ts b/src/vs/workbench/parts/emmet/node/actions/reflectCssValue.ts
index d829392f12c5f..8683775c625c2 100644
--- a/src/vs/workbench/parts/emmet/node/actions/reflectCssValue.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/reflectCssValue.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class ReflectCSSValueAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/removeTag.ts b/src/vs/workbench/parts/emmet/node/actions/removeTag.ts
index e91e9844bff8d..b24c78755bd1e 100644
--- a/src/vs/workbench/parts/emmet/node/actions/removeTag.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/removeTag.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class RemoveTagAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/selectItem.ts b/src/vs/workbench/parts/emmet/node/actions/selectItem.ts
index ca41d0feaa8cd..b22d4f4765ce6 100644
--- a/src/vs/workbench/parts/emmet/node/actions/selectItem.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/selectItem.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class SelectPreviousItemAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/splitJoinTag.ts b/src/vs/workbench/parts/emmet/node/actions/splitJoinTag.ts
index f11597b33eaf9..eb0a7115473ca 100644
--- a/src/vs/workbench/parts/emmet/node/actions/splitJoinTag.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/splitJoinTag.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class SplitJoinTagAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/toggleComment.ts b/src/vs/workbench/parts/emmet/node/actions/toggleComment.ts
index f17542527942e..4d7f164cecbcd 100644
--- a/src/vs/workbench/parts/emmet/node/actions/toggleComment.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/toggleComment.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class ToggleCommentAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/updateImageSize.ts b/src/vs/workbench/parts/emmet/node/actions/updateImageSize.ts
index 9e91eba5a748f..1583dae99a38a 100644
--- a/src/vs/workbench/parts/emmet/node/actions/updateImageSize.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/updateImageSize.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BasicEmmetEditorAction} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { BasicEmmetEditorAction } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {editorAction} from 'vs/editor/common/editorCommonExtensions';
+import { editorAction } from 'vs/editor/common/editorCommonExtensions';
 
 @editorAction
 class UpdateImageSizeAction extends BasicEmmetEditorAction {
diff --git a/src/vs/workbench/parts/emmet/node/actions/updateTag.ts b/src/vs/workbench/parts/emmet/node/actions/updateTag.ts
index 89e31a8c97cd3..dc5574dc47122 100644
--- a/src/vs/workbench/parts/emmet/node/actions/updateTag.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/updateTag.ts
@@ -6,11 +6,11 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {EmmetEditorAction, EmmetActionContext} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { EmmetEditorAction, EmmetActionContext } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {ServicesAccessor, editorAction} from 'vs/editor/common/editorCommonExtensions';
-import {EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {IQuickOpenService, IInputOptions} from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { ServicesAccessor, editorAction } from 'vs/editor/common/editorCommonExtensions';
+import { EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { IQuickOpenService, IInputOptions } from 'vs/workbench/services/quickopen/common/quickOpenService';
 
 @editorAction
 class UpdateTagAction extends EmmetEditorAction {
@@ -24,7 +24,7 @@ class UpdateTagAction extends EmmetEditorAction {
 		});
 	}
 
-	public runEmmetAction(accessor:ServicesAccessor, ctx: EmmetActionContext) {
+	public runEmmetAction(accessor: ServicesAccessor, ctx: EmmetActionContext) {
 		const quickOpenService = accessor.get(IQuickOpenService);
 
 		let options: IInputOptions = {
@@ -37,7 +37,7 @@ class UpdateTagAction extends EmmetEditorAction {
 		});
 	}
 
-	private wrapAbbreviation(ctx: EmmetActionContext, tag:string) {
+	private wrapAbbreviation(ctx: EmmetActionContext, tag: string) {
 		if (tag && !ctx.emmet.run('update_tag', ctx.editorAccessor, tag)) {
 			this.noExpansionOccurred(ctx.editor);
 		}
diff --git a/src/vs/workbench/parts/emmet/node/actions/wrapWithAbbreviation.ts b/src/vs/workbench/parts/emmet/node/actions/wrapWithAbbreviation.ts
index 6ce372c3f7a99..d5de3b91f7345 100644
--- a/src/vs/workbench/parts/emmet/node/actions/wrapWithAbbreviation.ts
+++ b/src/vs/workbench/parts/emmet/node/actions/wrapWithAbbreviation.ts
@@ -6,11 +6,11 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {EmmetEditorAction, EmmetActionContext} from 'vs/workbench/parts/emmet/node/emmetActions';
+import { EmmetEditorAction, EmmetActionContext } from 'vs/workbench/parts/emmet/node/emmetActions';
 
-import {ServicesAccessor, editorAction} from 'vs/editor/common/editorCommonExtensions';
-import {EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {IQuickOpenService, IInputOptions} from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { ServicesAccessor, editorAction } from 'vs/editor/common/editorCommonExtensions';
+import { EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { IQuickOpenService, IInputOptions } from 'vs/workbench/services/quickopen/common/quickOpenService';
 
 @editorAction
 class WrapWithAbbreviationAction extends EmmetEditorAction {
@@ -24,7 +24,7 @@ class WrapWithAbbreviationAction extends EmmetEditorAction {
 		});
 	}
 
-	public runEmmetAction(accessor:ServicesAccessor, ctx: EmmetActionContext) {
+	public runEmmetAction(accessor: ServicesAccessor, ctx: EmmetActionContext) {
 		const quickOpenService = accessor.get(IQuickOpenService);
 
 		let options: IInputOptions = {
@@ -36,7 +36,7 @@ class WrapWithAbbreviationAction extends EmmetEditorAction {
 		});
 	}
 
-	private wrapAbbreviation(ctx: EmmetActionContext, abbreviation:string) {
+	private wrapAbbreviation(ctx: EmmetActionContext, abbreviation: string) {
 		if (abbreviation && !ctx.emmet.run('wrap_with_abbreviation', ctx.editorAccessor, abbreviation)) {
 			this.noExpansionOccurred(ctx.editor);
 		}
diff --git a/src/vs/workbench/parts/emmet/node/editorAccessor.ts b/src/vs/workbench/parts/emmet/node/editorAccessor.ts
index 3d4ffb25c7aca..1b6703e5e7d4c 100644
--- a/src/vs/workbench/parts/emmet/node/editorAccessor.ts
+++ b/src/vs/workbench/parts/emmet/node/editorAccessor.ts
@@ -5,11 +5,11 @@
 
 'use strict';
 
-import {IPosition, ICommonCodeEditor} from 'vs/editor/common/editorCommon';
+import { IPosition, ICommonCodeEditor } from 'vs/editor/common/editorCommon';
 import strings = require('vs/base/common/strings');
 import snippets = require('vs/editor/contrib/snippet/common/snippet');
-import {Range} from 'vs/editor/common/core/range';
-import {SnippetController} from 'vs/editor/contrib/snippet/common/snippetController';
+import { Range } from 'vs/editor/common/core/range';
+import { SnippetController } from 'vs/editor/contrib/snippet/common/snippetController';
 
 
 import emmet = require('emmet');
@@ -92,7 +92,7 @@ export class EditorAccessor implements emmet.Editor {
 		}
 
 		// test if > is located after the replace range. Either replace these too, or block the expansion
-		if (this._editor.getModel().getLineContent(endPosition.lineNumber).substr(endPosition.column-1, endPosition.column) ==='>') {
+		if (this._editor.getModel().getLineContent(endPosition.lineNumber).substr(endPosition.column - 1, endPosition.column) === '>') {
 			if (strings.endsWith(value, '>')) {
 				endPosition = { lineNumber: endPosition.lineNumber, column: endPosition.column + 1 };
 			} else {
diff --git a/src/vs/workbench/parts/emmet/node/emmet.contribution.ts b/src/vs/workbench/parts/emmet/node/emmet.contribution.ts
index 46b5a432265fd..0305c3a2fabdd 100644
--- a/src/vs/workbench/parts/emmet/node/emmet.contribution.ts
+++ b/src/vs/workbench/parts/emmet/node/emmet.contribution.ts
@@ -7,8 +7,8 @@
 
 import nls = require('vs/nls');
 
-import {Registry} from 'vs/platform/platform';
-import {IConfigurationRegistry, Extensions as ConfigurationExtensions} from 'vs/platform/configuration/common/configurationRegistry';
+import { Registry } from 'vs/platform/platform';
+import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry';
 
 import './actions/expandAbbreviation';
 import './actions/balance';
diff --git a/src/vs/workbench/parts/emmet/node/emmetActions.ts b/src/vs/workbench/parts/emmet/node/emmetActions.ts
index e3fa80ce25f7d..296bd9b298b7e 100644
--- a/src/vs/workbench/parts/emmet/node/emmetActions.ts
+++ b/src/vs/workbench/parts/emmet/node/emmetActions.ts
@@ -5,15 +5,15 @@
 /// <reference path="emmet.d.ts" />
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ICommonCodeEditor, EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {EditorAction, ServicesAccessor} from 'vs/editor/common/editorCommonExtensions';
-import {ICommandKeybindingsOptions} from 'vs/editor/common/config/config';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-
-import {EditorAccessor, IGrammarContributions} from 'vs/workbench/parts/emmet/node/editorAccessor';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ICommonCodeEditor, EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { EditorAction, ServicesAccessor } from 'vs/editor/common/editorCommonExtensions';
+import { ICommandKeybindingsOptions } from 'vs/editor/common/config/config';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+
+import { EditorAccessor, IGrammarContributions } from 'vs/workbench/parts/emmet/node/editorAccessor';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
 import * as emmet from 'emmet';
 
 interface IEmmetConfiguration {
diff --git a/src/vs/workbench/parts/emmet/test/common/editorAccessor.test.ts b/src/vs/workbench/parts/emmet/test/common/editorAccessor.test.ts
index c83d6a99a4421..fda5cb5542622 100644
--- a/src/vs/workbench/parts/emmet/test/common/editorAccessor.test.ts
+++ b/src/vs/workbench/parts/emmet/test/common/editorAccessor.test.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import {EditorAccessor, IGrammarContributions} from 'vs/workbench/parts/emmet/node/editorAccessor';
-import {withMockCodeEditor} from 'vs/editor/test/common/mocks/mockCodeEditor';
+import { EditorAccessor, IGrammarContributions } from 'vs/workbench/parts/emmet/node/editorAccessor';
+import { withMockCodeEditor } from 'vs/editor/test/common/mocks/mockCodeEditor';
 import assert = require('assert');
 
 //
@@ -91,7 +91,7 @@ suite('Emmet', () => {
 
 			function testIsEnabled(mode: string, scopeName: string, isEnabled = true, profile = {}, excluded = []) {
 				editor.getModel().setMode(mode);
-				editor.setPosition({ lineNumber: 1, column: 3});
+				editor.setPosition({ lineNumber: 1, column: 3 });
 				let editorAccessor = new EditorAccessor(editor, profile, excluded, new MockGrammarContributions(scopeName));
 				assert.equal(editorAccessor.isEmmetEnabledMode(), isEnabled);
 			}
diff --git a/src/vs/workbench/parts/execution/common/execution.ts b/src/vs/workbench/parts/execution/common/execution.ts
index 4e4d8b6e7146f..713d0c48cbbde 100644
--- a/src/vs/workbench/parts/execution/common/execution.ts
+++ b/src/vs/workbench/parts/execution/common/execution.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IProcessEnvironment} from 'vs/base/common/platform';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IProcessEnvironment } from 'vs/base/common/platform';
 
 export const ITerminalService = createDecorator<ITerminalService>('nativeTerminalService');
 
diff --git a/src/vs/workbench/parts/execution/electron-browser/execution.contribution.ts b/src/vs/workbench/parts/execution/electron-browser/execution.contribution.ts
index 86bfbc31dec25..d0efdbaa2ae33 100644
--- a/src/vs/workbench/parts/execution/electron-browser/execution.contribution.ts
+++ b/src/vs/workbench/parts/execution/electron-browser/execution.contribution.ts
@@ -5,9 +5,9 @@
 'use strict';
 
 import * as env from 'vs/base/common/platform';
-import {WinTerminalService, MacTerminalService, LinuxTerminalService} from 'vs/workbench/parts/execution/electron-browser/terminalService';
-import {registerSingleton} from 'vs/platform/instantiation/common/extensions';
-import {ITerminalService} from 'vs/workbench/parts/execution/common/execution';
+import { WinTerminalService, MacTerminalService, LinuxTerminalService } from 'vs/workbench/parts/execution/electron-browser/terminalService';
+import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
+import { ITerminalService } from 'vs/workbench/parts/execution/common/execution';
 
 if (env.isWindows) {
 	registerSingleton(ITerminalService, WinTerminalService);
diff --git a/src/vs/workbench/parts/execution/electron-browser/terminal.contribution.ts b/src/vs/workbench/parts/execution/electron-browser/terminal.contribution.ts
index 4068970287c91..5f2f48db3551c 100644
--- a/src/vs/workbench/parts/execution/electron-browser/terminal.contribution.ts
+++ b/src/vs/workbench/parts/execution/electron-browser/terminal.contribution.ts
@@ -5,25 +5,25 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Registry} from 'vs/platform/platform';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Registry } from 'vs/platform/platform';
 import baseplatform = require('vs/base/common/platform');
-import {IAction, Action} from 'vs/base/common/actions';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
+import { IAction, Action } from 'vs/base/common/actions';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
 import paths = require('vs/base/common/paths');
-import {Scope, IActionBarRegistry, Extensions as ActionBarExtensions, ActionBarContributor} from 'vs/workbench/browser/actionBarRegistry';
+import { Scope, IActionBarRegistry, Extensions as ActionBarExtensions, ActionBarContributor } from 'vs/workbench/browser/actionBarRegistry';
 import uri from 'vs/base/common/uri';
-import {asFileResource} from 'vs/workbench/parts/files/common/files';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {ITerminalService} from 'vs/workbench/parts/execution/common/execution';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {asFileEditorInput} from 'vs/workbench/common/editor';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
-import {Extensions, IConfigurationRegistry} from 'vs/platform/configuration/common/configurationRegistry';
-import {KEYBINDING_CONTEXT_TERMINAL_NOT_FOCUSED} from 'vs/workbench/parts/terminal/electron-browser/terminal';
-import {DEFAULT_TERMINAL_WINDOWS, DEFAULT_TERMINAL_LINUX, DEFAULT_TERMINAL_OSX} from 'vs/workbench/parts/execution/electron-browser/terminal';
+import { asFileResource } from 'vs/workbench/parts/files/common/files';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { ITerminalService } from 'vs/workbench/parts/execution/common/execution';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { asFileEditorInput } from 'vs/workbench/common/editor';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
+import { Extensions, IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry';
+import { KEYBINDING_CONTEXT_TERMINAL_NOT_FOCUSED } from 'vs/workbench/parts/terminal/electron-browser/terminal';
+import { DEFAULT_TERMINAL_WINDOWS, DEFAULT_TERMINAL_LINUX, DEFAULT_TERMINAL_OSX } from 'vs/workbench/parts/execution/electron-browser/terminal';
 
 let configurationRegistry = <IConfigurationRegistry>Registry.as(Extensions.Configuration);
 configurationRegistry.registerConfiguration({
diff --git a/src/vs/workbench/parts/execution/electron-browser/terminalService.ts b/src/vs/workbench/parts/execution/electron-browser/terminalService.ts
index cb01a1f1a3a52..194a4a57778c2 100644
--- a/src/vs/workbench/parts/execution/electron-browser/terminalService.ts
+++ b/src/vs/workbench/parts/execution/electron-browser/terminalService.ts
@@ -9,12 +9,12 @@ import cp = require('child_process');
 import processes = require('vs/base/node/processes');
 import nls = require('vs/nls');
 import errors = require('vs/base/common/errors');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ITerminalService} from 'vs/workbench/parts/execution/common/execution';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {ITerminalConfiguration, DEFAULT_TERMINAL_WINDOWS, DEFAULT_TERMINAL_LINUX, DEFAULT_TERMINAL_OSX} from 'vs/workbench/parts/execution/electron-browser/terminal';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ITerminalService } from 'vs/workbench/parts/execution/common/execution';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { ITerminalConfiguration, DEFAULT_TERMINAL_WINDOWS, DEFAULT_TERMINAL_LINUX, DEFAULT_TERMINAL_OSX } from 'vs/workbench/parts/execution/electron-browser/terminal';
 import uri from 'vs/base/common/uri';
-import {IProcessEnvironment} from 'vs/base/common/platform';
+import { IProcessEnvironment } from 'vs/base/common/platform';
 
 const TERMINAL_TITLE = nls.localize('console.title', "VS Code Console");
 
@@ -41,7 +41,7 @@ export class WinTerminalService implements ITerminalService {
 		const terminalConfig = configuration.terminal.external;
 		const exec = terminalConfig.windowsExec || DEFAULT_TERMINAL_WINDOWS;
 
-		return new TPromise<void>( (c, e) => {
+		return new TPromise<void>((c, e) => {
 
 			const title = `"${dir} - ${TERMINAL_TITLE}"`;
 			const command = `""${args.join('" "')}" & pause"`; // use '|' to only pause on non-zero exit code
@@ -51,7 +51,7 @@ export class WinTerminalService implements ITerminalService {
 			];
 
 			// merge environment variables into a copy of the process.env
-			const env = extendObject(extendObject( { }, process.env), envVars);
+			const env = extendObject(extendObject({}, process.env), envVars);
 
 			const options: any = {
 				cwd: dir,
@@ -108,7 +108,7 @@ export class MacTerminalService implements ITerminalService {
 		const terminalConfig = configuration.terminal.external;
 		const terminalApp = terminalConfig.osxExec || DEFAULT_TERMINAL_OSX;
 
-		return new TPromise<void>( (c, e) => {
+		return new TPromise<void>((c, e) => {
 
 			if (terminalApp === DEFAULT_TERMINAL_OSX || terminalApp === 'iTerm.app') {
 
@@ -195,7 +195,7 @@ export class LinuxTerminalService implements ITerminalService {
 		const terminalConfig = configuration.terminal.external;
 		const exec = terminalConfig.linuxExec || DEFAULT_TERMINAL_LINUX;
 
-		return new TPromise<void>( (c, e) => {
+		return new TPromise<void>((c, e) => {
 
 			let termArgs: string[] = [];
 			//termArgs.push('--title');
@@ -212,7 +212,7 @@ export class LinuxTerminalService implements ITerminalService {
 			termArgs.push(`''${bashCommand}''`);	// wrapping argument in two sets of ' because node is so "friendly" that it removes one set...
 
 			// merge environment variables into a copy of the process.env
-			const env = extendObject(extendObject( { }, process.env), envVars);
+			const env = extendObject(extendObject({}, process.env), envVars);
 
 			const options: any = {
 				cwd: dir,
@@ -253,7 +253,7 @@ export class LinuxTerminalService implements ITerminalService {
 	}
 }
 
-function extendObject<T> (objectCopy: T, object: T): T {
+function extendObject<T>(objectCopy: T, object: T): T {
 
 	for (let key in object) {
 		if (object.hasOwnProperty(key)) {
diff --git a/src/vs/workbench/parts/execution/test/electron-browser/terminalService.test.ts b/src/vs/workbench/parts/execution/test/electron-browser/terminalService.test.ts
index 313b11e045b52..c9bbc5185baf2 100644
--- a/src/vs/workbench/parts/execution/test/electron-browser/terminalService.test.ts
+++ b/src/vs/workbench/parts/execution/test/electron-browser/terminalService.test.ts
@@ -5,9 +5,9 @@
 
 'use strict';
 
-import {equal} from 'assert';
-import {WinTerminalService, LinuxTerminalService, MacTerminalService} from 'vs/workbench/parts/execution/electron-browser/terminalService';
-import {DEFAULT_TERMINAL_WINDOWS, DEFAULT_TERMINAL_LINUX, DEFAULT_TERMINAL_OSX} from 'vs/workbench/parts/execution/electron-browser/terminal';
+import { equal } from 'assert';
+import { WinTerminalService, LinuxTerminalService, MacTerminalService } from 'vs/workbench/parts/execution/electron-browser/terminalService';
+import { DEFAULT_TERMINAL_WINDOWS, DEFAULT_TERMINAL_LINUX, DEFAULT_TERMINAL_OSX } from 'vs/workbench/parts/execution/electron-browser/terminal';
 
 suite('Execution - TerminalService', () => {
 	let mockOnExit;
diff --git a/src/vs/workbench/parts/extensions/common/extensionQuery.ts b/src/vs/workbench/parts/extensions/common/extensionQuery.ts
index ee7992e27fa21..a972277cd24bc 100644
--- a/src/vs/workbench/parts/extensions/common/extensionQuery.ts
+++ b/src/vs/workbench/parts/extensions/common/extensionQuery.ts
@@ -30,10 +30,10 @@ export class Query {
 		let result = this.value;
 
 		if (this.sortBy) {
-			result = `${ result }${ result ? ' ' : '' }@sort:${ this.sortBy }`;
+			result = `${result}${result ? ' ' : ''}@sort:${this.sortBy}`;
 
 			if (this.sortOrder) {
-				result = `${ result }-${ this.sortOrder }`;
+				result = `${result}-${this.sortOrder}`;
 			}
 		}
 
diff --git a/src/vs/workbench/parts/extensions/electron-browser/dependenciesViewer.ts b/src/vs/workbench/parts/extensions/electron-browser/dependenciesViewer.ts
index 7c854c5c8af5a..50b78944d6785 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/dependenciesViewer.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/dependenciesViewer.ts
@@ -109,9 +109,9 @@ export class Renderer implements IRenderer {
 
 export class Controller extends DefaultController {
 
-	constructor(@IContextMenuService private contextMenuService: IContextMenuService,
-				@IExtensionsWorkbenchService private extensionWorkbenchService: IExtensionsWorkbenchService,
-				@IInstantiationService private instantiationService: IInstantiationService) {
+	constructor( @IContextMenuService private contextMenuService: IContextMenuService,
+		@IExtensionsWorkbenchService private extensionWorkbenchService: IExtensionsWorkbenchService,
+		@IInstantiationService private instantiationService: IInstantiationService) {
 		super();
 
 		this.downKeyBindingDispatcher.set(OpenExtensionToSideAction.KEY_BINDING.value, (tree: ITree, event: any) => { this.openExtension(tree.getFocus(), true); });
@@ -140,7 +140,7 @@ export class Controller extends DefaultController {
 
 			getActions: () => {
 				return TPromise.as([this.instantiationService.createInstance(OpenExtensionAction),
-									this.instantiationService.createInstance(OpenExtensionToSideAction)]);
+				this.instantiationService.createInstance(OpenExtensionToSideAction)]);
 			},
 
 			getActionItem: () => null,
@@ -194,7 +194,7 @@ class OpenExtensionAction extends Action {
 	public static ID = 'extensions.action.open';
 	public static KEY_BINDING = new Keybinding(KeyCode.Enter);
 
-	constructor(@IExtensionsWorkbenchService private extensionsWorkdbenchService: IExtensionsWorkbenchService) {
+	constructor( @IExtensionsWorkbenchService private extensionsWorkdbenchService: IExtensionsWorkbenchService) {
 		super(OpenExtensionAction.ID, localize('extensions.open', "Open"));
 	}
 
@@ -209,8 +209,8 @@ class OpenExtensionToSideAction extends Action {
 	public static ID = 'extensions.action.openSide';
 	public static KEY_BINDING = new Keybinding(KeyMod.WinCtrl | KeyCode.Enter);
 
-	constructor(@IExtensionsWorkbenchService private extensionsWorkdbenchService: IExtensionsWorkbenchService,
-				@IWorkbenchEditorService private editorService: IWorkbenchEditorService) {
+	constructor( @IExtensionsWorkbenchService private extensionsWorkdbenchService: IExtensionsWorkbenchService,
+		@IWorkbenchEditorService private editorService: IWorkbenchEditorService) {
 		super(OpenExtensionToSideAction.ID, localize('extensions.openSide', "Open to the Side"));
 		this.updateEnablement();
 	}
diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts
index a1ac76694c537..b8da16a37bb5d 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts
@@ -39,7 +39,7 @@ import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
 import { CombinedInstallAction, UpdateAction, EnableAction, BuiltinStatusLabelAction } from './extensionsActions';
 import WebView from 'vs/workbench/parts/html/browser/webview';
 import { Keybinding } from 'vs/base/common/keybinding';
-import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
 import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';
 import { IMessageService } from 'vs/platform/message/common/message';
 import { IOpenerService } from 'vs/platform/opener/common/opener';
@@ -50,9 +50,9 @@ function renderBody(body: string): string {
 		<html>
 			<head>
 				<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
-				<link rel="stylesheet" type="text/css" href="${ require.toUrl('./media/markdown.css') }" >
+				<link rel="stylesheet" type="text/css" href="${ require.toUrl('./media/markdown.css')}" >
 			</head>
-			<body>${ body }</body>
+			<body>${ body}</body>
 		</html>`;
 }
 
@@ -222,14 +222,14 @@ export class ExtensionEditor extends BaseEditor {
 		this.description.textContent = extension.description;
 
 		if (product.extensionsGallery) {
-			const extensionUrl = `${ product.extensionsGallery.itemUrl }?itemName=${ extension.publisher }.${ extension.name }`;
+			const extensionUrl = `${product.extensionsGallery.itemUrl}?itemName=${extension.publisher}.${extension.name}`;
 
 			this.name.onclick = finalHandler(() => shell.openExternal(extensionUrl));
-			this.rating.onclick = finalHandler(() => shell.openExternal(`${ extensionUrl }#review-details`));
+			this.rating.onclick = finalHandler(() => shell.openExternal(`${extensionUrl}#review-details`));
 			this.publisher.onclick = finalHandler(() => {
 				this.viewletService.openViewlet(VIEWLET_ID, true)
 					.then(viewlet => viewlet as IExtensionsViewlet)
-					.done(viewlet => viewlet.search(`publisher:"${ extension.publisherDisplayName }"`));
+					.done(viewlet => viewlet.search(`publisher:"${extension.publisherDisplayName}"`));
 			});
 
 			if (extension.licenseUrl) {
@@ -600,7 +600,7 @@ export class ExtensionEditor extends BaseEditor {
 	private keybindingToLabel(rawKeyBinding: IKeyBinding): string {
 		let key: string;
 
-		switch(process.platform) {
+		switch (process.platform) {
 			case 'win32': key = rawKeyBinding.win; break;
 			case 'linux': key = rawKeyBinding.linux; break;
 			case 'darwin': key = rawKeyBinding.mac; break;
@@ -610,7 +610,7 @@ export class ExtensionEditor extends BaseEditor {
 		return this.keybindingService.getLabelFor(keyBinding);
 	}
 
-	private loadContents(loadingTask: ()=>TPromise<any>): void {
+	private loadContents(loadingTask: () => TPromise<any>): void {
 		addClass(this.content, 'loading');
 
 		let promise = loadingTask();
diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts
index 7964a415ffa21..41f8b2fb11f66 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts
@@ -5,20 +5,20 @@
 
 import { localize } from 'vs/nls';
 import { forEach } from 'vs/base/common/collections';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {match} from 'vs/base/common/glob';
-import {IExtensionManagementService, IExtensionGalleryService, IExtensionTipsService, LocalExtensionType, EXTENSION_IDENTIFIER_PATTERN} from 'vs/platform/extensionManagement/common/extensionManagement';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { match } from 'vs/base/common/glob';
+import { IExtensionManagementService, IExtensionGalleryService, IExtensionTipsService, LocalExtensionType, EXTENSION_IDENTIFIER_PATTERN } from 'vs/platform/extensionManagement/common/extensionManagement';
 import { IExtensionsConfiguration, ConfigurationKey } from './extensions';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IModel} from 'vs/editor/common/editorCommon';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IModel } from 'vs/editor/common/editorCommon';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
 import product from 'vs/platform/product';
 import { IChoiceService } from 'vs/platform/message/common/message';
 import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import { ShowRecommendedExtensionsAction, ShowWorkspaceRecommendedExtensionsAction } from './extensionsActions';
 import Severity from 'vs/base/common/severity';
 import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
-import {Schemas} from 'vs/base/common/network';
+import { Schemas } from 'vs/base/common/network';
 
 export class ExtensionTipsService implements IExtensionTipsService {
 
@@ -100,7 +100,7 @@ export class ExtensionTipsService implements IExtensionTipsService {
 		}
 
 		if (uri.scheme === Schemas.inMemory || uri.scheme === Schemas.internal || uri.scheme === Schemas.vscode) {
-				return;
+			return;
 		}
 
 		// re-schedule this bit of the operation to be off
diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensions.ts b/src/vs/workbench/parts/extensions/electron-browser/extensions.ts
index b1c28084987a6..31d28617e3d20 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/extensions.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/extensions.ts
@@ -3,7 +3,7 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {IViewlet} from 'vs/workbench/common/viewlet';
+import { IViewlet } from 'vs/workbench/common/viewlet';
 import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 import Event from 'vs/base/common/event';
 import { TPromise } from 'vs/base/common/winjs.base';
@@ -44,8 +44,8 @@ export interface IExtension {
 	telemetryData: any;
 	getManifest(): TPromise<IExtensionManifest>;
 	getReadme(): TPromise<string>;
-	hasChangelog : boolean;
-	getChangelog() : TPromise<string>;
+	hasChangelog: boolean;
+	getChangelog(): TPromise<string>;
 }
 
 export interface IExtensionDependencies {
diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsActions.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsActions.ts
index 60cd8136d960f..6b3e7fdd48c67 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/extensionsActions.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsActions.ts
@@ -201,7 +201,7 @@ export class CombinedInstallAction extends Action {
 export class UpdateAction extends Action {
 
 	private static EnabledClass = 'extension-action update';
-	private static DisabledClass = `${ UpdateAction.EnabledClass } disabled`;
+	private static DisabledClass = `${UpdateAction.EnabledClass} disabled`;
 
 	private disposables: IDisposable[] = [];
 	private _extension: IExtension;
@@ -251,7 +251,7 @@ export class UpdateAction extends Action {
 export class EnableAction extends Action {
 
 	private static EnabledClass = 'extension-action enable';
-	private static DisabledClass = `${ EnableAction.EnabledClass } disabled`;
+	private static DisabledClass = `${EnableAction.EnabledClass} disabled`;
 
 	private disposables: IDisposable[] = [];
 	private _extension: IExtension;
@@ -325,7 +325,7 @@ export class UpdateAllAction extends Action {
 		this.enabled = this.outdated.length > 0;
 	}
 
-	run(promptToInstallDependencies: boolean = true,): TPromise<any> {
+	run(promptToInstallDependencies: boolean = true, ): TPromise<any> {
 		return TPromise.join(this.outdated.map(e => this.extensionsWorkbenchService.install(e, promptToInstallDependencies)));
 	}
 
@@ -623,7 +623,7 @@ export class ConfigureWorkspaceRecommendedExtensionsAction extends Action {
 	}
 
 	private getOrCreateExtensionsFile(): TPromise<{ created: boolean, extensionsFileResource: URI }> {
-		const extensionsFileResource = URI.file(paths.join(this.contextService.getWorkspace().resource.fsPath, '.vscode', `${ ConfigurationKey }.json`));
+		const extensionsFileResource = URI.file(paths.join(this.contextService.getWorkspace().resource.fsPath, '.vscode', `${ConfigurationKey}.json`));
 
 		return this.fileService.resolveContent(extensionsFileResource).then(content => {
 			return { created: false, extensionsFileResource };
@@ -676,9 +676,9 @@ export class BuiltinStatusLabelAction extends Action {
 
 	private update(): void {
 		if (this.extension && this.extension.type === LocalExtensionType.System) {
-			this.class = `${ BuiltinStatusLabelAction.Class } system`;
+			this.class = `${BuiltinStatusLabelAction.Class} system`;
 		} else {
-			this.class = `${ BuiltinStatusLabelAction.Class } user`;
+			this.class = `${BuiltinStatusLabelAction.Class} user`;
 		}
 	}
 
diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsInput.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsInput.ts
index 3617f218fc337..f1d096ad292e2 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/extensionsInput.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsInput.ts
@@ -12,7 +12,7 @@ import { IExtension } from './extensions';
 
 export class ExtensionsInput extends EditorInput {
 
-	static get ID()  { return 'workbench.extensions.input2'; }
+	static get ID() { return 'workbench.extensions.input2'; }
 	get extension(): IExtension { return this._extension; }
 
 	constructor(private _extension: IExtension) {
diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts
index 58736ddabb45a..b9632d3054888 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts
@@ -44,7 +44,7 @@ export class Renderer implements IPagedRenderer<IExtension, ITemplateData> {
 	constructor(
 		@IInstantiationService private instantiationService: IInstantiationService,
 		@IMessageService private messageService: IMessageService
-	) {}
+	) { }
 
 	get templateId() { return 'extension'; }
 
diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsQuickOpen.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsQuickOpen.ts
index e0d6e3589f723..68a9c924a3bc1 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/extensionsQuickOpen.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsQuickOpen.ts
@@ -25,7 +25,7 @@ class SimpleEntry extends QuickOpenEntry {
 		return this.label;
 	}
 
-	run(mode:Mode):boolean {
+	run(mode: Mode): boolean {
 		if (mode === Mode.PREVIEW) {
 			return false;
 		}
@@ -38,7 +38,7 @@ class SimpleEntry extends QuickOpenEntry {
 
 export class ExtensionsHandler extends QuickOpenHandler {
 
-	constructor(@IViewletService private viewletService: IViewletService) {
+	constructor( @IViewletService private viewletService: IViewletService) {
 		super();
 	}
 
@@ -67,7 +67,7 @@ export class ExtensionsHandler extends QuickOpenHandler {
 
 export class GalleryExtensionsHandler extends QuickOpenHandler {
 
-	constructor(@IViewletService private viewletService: IViewletService) {
+	constructor( @IViewletService private viewletService: IViewletService) {
 		super();
 	}
 
diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts
index 5bbff76ef6778..2c3ba65f90b06 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts
@@ -121,7 +121,7 @@ export class ExtensionsViewlet extends Viewlet implements IExtensionsViewlet {
 		return TPromise.as(null);
 	}
 
-	setVisible(visible:boolean): TPromise<void> {
+	setVisible(visible: boolean): TPromise<void> {
 		return super.setVisible(visible).then(() => {
 			if (visible) {
 				this.searchBox.focus();
@@ -137,7 +137,7 @@ export class ExtensionsViewlet extends Viewlet implements IExtensionsViewlet {
 		this.searchBox.focus();
 	}
 
-	layout({ height, width }: Dimension):void {
+	layout({ height, width }: Dimension): void {
 		this.list.layout(height - 38);
 		toggleClass(this.root, 'narrow', width <= 300);
 	}
@@ -236,7 +236,7 @@ export class ExtensionsViewlet extends Viewlet implements IExtensionsViewlet {
 		const query = Query.parse(value);
 		let options: IQueryOptions = {};
 
-		switch(query.sortBy) {
+		switch (query.sortBy) {
 			case 'installs': options = assign(options, { sortBy: SortBy.InstallCount }); break;
 			case 'rating': options = assign(options, { sortBy: SortBy.AverageRating }); break;
 		}
@@ -267,7 +267,7 @@ export class ExtensionsViewlet extends Viewlet implements IExtensionsViewlet {
 			.then(result => result.filter(e => e.type === LocalExtensionType.User))
 			.then(local => {
 				const names = this.tipsService.getRecommendations()
-					.filter(name => local.every(ext => `${ ext.publisher }.${ ext.name }` !== name))
+					.filter(name => local.every(ext => `${ext.publisher}.${ext.name}` !== name))
 					.filter(name => name.toLowerCase().indexOf(value) > -1);
 
 				this.telemetryService.publicLog('extensionRecommendations:open', { count: names.length });
diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsWidgets.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsWidgets.ts
index dc9a8da867830..877bcaddd46d5 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/extensionsWidgets.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsWidgets.ts
@@ -75,9 +75,9 @@ export class InstallWidget implements IDisposable {
 
 		if (this.options.small) {
 			if (installCount > 1000000) {
-				installLabel = `${ Math.floor(installCount / 1000000) }M`;
+				installLabel = `${Math.floor(installCount / 1000000)}M`;
 			} else if (installCount > 1000) {
-				installLabel = `${ Math.floor(installCount / 1000) }K`;
+				installLabel = `${Math.floor(installCount / 1000)}K`;
 			}
 		}
 
diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts
index a2ef221cb774c..646421aaf05b1 100644
--- a/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts
+++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts
@@ -18,8 +18,10 @@ import { TPromise } from 'vs/base/common/winjs.base';
 import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import { IPager, mapPager, singlePagePager } from 'vs/base/common/paging';
 import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
-import { IExtensionManagementService, IExtensionGalleryService, ILocalExtension, IGalleryExtension, IQueryOptions, IExtensionManifest,
-	InstallExtensionEvent, DidInstallExtensionEvent, LocalExtensionType } from 'vs/platform/extensionManagement/common/extensionManagement';
+import {
+	IExtensionManagementService, IExtensionGalleryService, ILocalExtension, IGalleryExtension, IQueryOptions, IExtensionManifest,
+	InstallExtensionEvent, DidInstallExtensionEvent, LocalExtensionType
+} from 'vs/platform/extensionManagement/common/extensionManagement';
 import { getGalleryExtensionTelemetryData, getLocalExtensionTelemetryData } from 'vs/platform/extensionManagement/common/extensionTelemetry';
 import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
@@ -50,7 +52,7 @@ class Extension implements IExtension {
 		private stateProvider: IExtensionStateProvider,
 		public local: ILocalExtension,
 		public gallery: IGalleryExtension = null
-	) {}
+	) { }
 
 	get type(): LocalExtensionType {
 		return this.local ? this.local.type : null;
@@ -197,11 +199,11 @@ class Extension implements IExtension {
 		return this.galleryService.getAsset(readmeUrl).then(asText);
 	}
 
-	get hasChangelog() : boolean {
+	get hasChangelog(): boolean {
 		return !!(this.changelogUrl);
 	}
 
-	getChangelog() : TPromise<string> {
+	getChangelog(): TPromise<string> {
 		const changelogUrl = this.changelogUrl;
 
 		if (!changelogUrl) {
@@ -228,7 +230,7 @@ class Extension implements IExtension {
 
 class ExtensionDependencies implements IExtensionDependencies {
 
-	constructor(private _extension: Extension, private _map: Map<string, Extension>, private _dependent: IExtensionDependencies = null) {}
+	constructor(private _extension: Extension, private _map: Map<string, Extension>, private _dependent: IExtensionDependencies = null) { }
 
 	get hasDependencies(): boolean {
 		return this._extension.gallery.properties.dependencies.length > 0;
diff --git a/src/vs/workbench/parts/feedback/browser/feedback.ts b/src/vs/workbench/parts/feedback/browser/feedback.ts
index 71da687abe274..d2de597a45302 100644
--- a/src/vs/workbench/parts/feedback/browser/feedback.ts
+++ b/src/vs/workbench/parts/feedback/browser/feedback.ts
@@ -7,16 +7,16 @@
 
 import 'vs/css!./media/feedback';
 import nls = require('vs/nls');
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {Builder, $} from 'vs/base/browser/builder';
-import {Dropdown} from 'vs/base/browser/ui/dropdown/dropdown';
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { Builder, $ } from 'vs/base/browser/builder';
+import { Dropdown } from 'vs/base/browser/ui/dropdown/dropdown';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 import product from 'vs/platform/product';
 import * as dom from 'vs/base/browser/dom';
-import {ICommandService} from 'vs/platform/commands/common/commands';
+import { ICommandService } from 'vs/platform/commands/common/commands';
 import * as errors from 'vs/base/common/errors';
-import {IIntegrityService} from 'vs/platform/integrity/common/integrity';
+import { IIntegrityService } from 'vs/platform/integrity/common/integrity';
 
 export interface IFeedback {
 	feedback: string;
diff --git a/src/vs/workbench/parts/feedback/electron-browser/feedback.contribution.ts b/src/vs/workbench/parts/feedback/electron-browser/feedback.contribution.ts
index d348140196a9a..f5188e76dc41b 100644
--- a/src/vs/workbench/parts/feedback/electron-browser/feedback.contribution.ts
+++ b/src/vs/workbench/parts/feedback/electron-browser/feedback.contribution.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Registry} from 'vs/platform/platform';
-import {StatusbarAlignment, IStatusbarRegistry, Extensions, StatusbarItemDescriptor} from 'vs/workbench/browser/parts/statusbar/statusbar';
-import {FeedbackStatusbarItem} from 'vs/workbench/parts/feedback/electron-browser/feedbackStatusbarItem';
+import { Registry } from 'vs/platform/platform';
+import { StatusbarAlignment, IStatusbarRegistry, Extensions, StatusbarItemDescriptor } from 'vs/workbench/browser/parts/statusbar/statusbar';
+import { FeedbackStatusbarItem } from 'vs/workbench/parts/feedback/electron-browser/feedbackStatusbarItem';
 
 // Register Statusbar item
 Registry.as<IStatusbarRegistry>(Extensions.Statusbar).registerStatusbarItem(new StatusbarItemDescriptor(
diff --git a/src/vs/workbench/parts/feedback/electron-browser/feedbackStatusbarItem.ts b/src/vs/workbench/parts/feedback/electron-browser/feedbackStatusbarItem.ts
index 61439208d943c..47c109668fee7 100644
--- a/src/vs/workbench/parts/feedback/electron-browser/feedbackStatusbarItem.ts
+++ b/src/vs/workbench/parts/feedback/electron-browser/feedbackStatusbarItem.ts
@@ -5,12 +5,12 @@
 
 'use strict';
 
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {IStatusbarItem} from 'vs/workbench/browser/parts/statusbar/statusbar';
-import {FeedbackDropdown, IFeedback, IFeedbackService} from 'vs/workbench/parts/feedback/browser/feedback';
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {shell} from 'electron';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { IStatusbarItem } from 'vs/workbench/browser/parts/statusbar/statusbar';
+import { FeedbackDropdown, IFeedback, IFeedbackService } from 'vs/workbench/parts/feedback/browser/feedback';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { shell } from 'electron';
 import product from 'vs/platform/product';
 
 class TwitterFeedbackService implements IFeedbackService {
@@ -41,7 +41,7 @@ class TwitterFeedbackService implements IFeedbackService {
 		if (TwitterFeedbackService.VIA_NAME) {
 			length += ` via @${TwitterFeedbackService.VIA_NAME}`.length;
 		}
-		
+
 		return 140 - length;
 	}
 }
diff --git a/src/vs/workbench/parts/files/browser/editors/binaryFileEditor.ts b/src/vs/workbench/parts/files/browser/editors/binaryFileEditor.ts
index 0a23a31c34228..b451093c1ab9f 100644
--- a/src/vs/workbench/parts/files/browser/editors/binaryFileEditor.ts
+++ b/src/vs/workbench/parts/files/browser/editors/binaryFileEditor.ts
@@ -5,10 +5,10 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {BaseBinaryResourceEditor} from 'vs/workbench/browser/parts/editor/binaryEditor';
-import {BINARY_FILE_EDITOR_ID} from 'vs/workbench/parts/files/common/files';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
+import { BaseBinaryResourceEditor } from 'vs/workbench/browser/parts/editor/binaryEditor';
+import { BINARY_FILE_EDITOR_ID } from 'vs/workbench/parts/files/common/files';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
 
 /**
  * An implementation of editor for binary files like images.
diff --git a/src/vs/workbench/parts/files/browser/editors/textFileEditor.ts b/src/vs/workbench/parts/files/browser/editors/textFileEditor.ts
index d111e897e388e..66e04e1da3bd0 100644
--- a/src/vs/workbench/parts/files/browser/editors/textFileEditor.ts
+++ b/src/vs/workbench/parts/files/browser/editors/textFileEditor.ts
@@ -4,35 +4,35 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import errors = require('vs/base/common/errors');
-import {toErrorMessage} from 'vs/base/common/errorMessage';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
 import types = require('vs/base/common/types');
 import paths = require('vs/base/common/paths');
-import {IEditorViewState} from 'vs/editor/common/editorCommon';
-import {Action} from 'vs/base/common/actions';
-import {Scope} from 'vs/workbench/common/memento';
-import {IEditorOptions} from 'vs/editor/common/editorCommon';
-import {VIEWLET_ID, TEXT_FILE_EDITOR_ID} from 'vs/workbench/parts/files/common/files';
-import {ITextFileEditorModel} from 'vs/workbench/services/textfile/common/textfiles';
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
-import {EditorOptions, TextEditorOptions} from 'vs/workbench/common/editor';
-import {BinaryEditorModel} from 'vs/workbench/common/editor/binaryEditorModel';
-import {FileEditorInput} from 'vs/workbench/parts/files/common/editors/fileEditorInput';
-import {ExplorerViewlet} from 'vs/workbench/parts/files/browser/explorerViewlet';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IFileOperationResult, FileOperationResult, FileChangesEvent, EventType, IFileService} from 'vs/platform/files/common/files';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IHistoryService} from 'vs/workbench/services/history/common/history';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService, CancelAction} from 'vs/platform/message/common/message';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
+import { IEditorViewState } from 'vs/editor/common/editorCommon';
+import { Action } from 'vs/base/common/actions';
+import { Scope } from 'vs/workbench/common/memento';
+import { IEditorOptions } from 'vs/editor/common/editorCommon';
+import { VIEWLET_ID, TEXT_FILE_EDITOR_ID } from 'vs/workbench/parts/files/common/files';
+import { ITextFileEditorModel } from 'vs/workbench/services/textfile/common/textfiles';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
+import { EditorOptions, TextEditorOptions } from 'vs/workbench/common/editor';
+import { BinaryEditorModel } from 'vs/workbench/common/editor/binaryEditorModel';
+import { FileEditorInput } from 'vs/workbench/parts/files/common/editors/fileEditorInput';
+import { ExplorerViewlet } from 'vs/workbench/parts/files/browser/explorerViewlet';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IFileOperationResult, FileOperationResult, FileChangesEvent, EventType, IFileService } from 'vs/platform/files/common/files';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IHistoryService } from 'vs/workbench/services/history/common/history';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService, CancelAction } from 'vs/platform/message/common/message';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
 
 const TEXT_EDITOR_VIEW_STATE_PREFERENCE_KEY = 'textEditorViewState';
 
diff --git a/src/vs/workbench/parts/files/browser/explorerViewlet.ts b/src/vs/workbench/parts/files/browser/explorerViewlet.ts
index 93840fe460436..18e022f86f9e4 100644
--- a/src/vs/workbench/parts/files/browser/explorerViewlet.ts
+++ b/src/vs/workbench/parts/files/browser/explorerViewlet.ts
@@ -6,31 +6,31 @@
 'use strict';
 
 import 'vs/css!./media/explorerviewlet';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {IAction} from 'vs/base/common/actions';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Dimension, Builder} from 'vs/base/browser/builder';
-import {Scope} from 'vs/workbench/common/memento';
-import {VIEWLET_ID, ExplorerViewletVisible, IFilesConfiguration} from 'vs/workbench/parts/files/common/files';
-import {IViewletView, Viewlet} from 'vs/workbench/browser/viewlet';
-import {IActionRunner} from 'vs/base/common/actions';
-import {SplitView, Orientation} from 'vs/base/browser/ui/splitview/splitview';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {ActionRunner, FileViewletState} from 'vs/workbench/parts/files/browser/views/explorerViewer';
-import {ExplorerView} from 'vs/workbench/parts/files/browser/views/explorerView';
-import {EmptyView} from 'vs/workbench/parts/files/browser/views/emptyView';
-import {OpenEditorsView} from 'vs/workbench/parts/files/browser/views/openEditorsView';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {DelegatingWorkbenchEditorService} from 'vs/workbench/services/editor/browser/editorService';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {EditorInput, EditorOptions} from 'vs/workbench/common/editor';
-import {BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IContextKeyService, IContextKey} from 'vs/platform/contextkey/common/contextkey';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { IAction } from 'vs/base/common/actions';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Dimension, Builder } from 'vs/base/browser/builder';
+import { Scope } from 'vs/workbench/common/memento';
+import { VIEWLET_ID, ExplorerViewletVisible, IFilesConfiguration } from 'vs/workbench/parts/files/common/files';
+import { IViewletView, Viewlet } from 'vs/workbench/browser/viewlet';
+import { IActionRunner } from 'vs/base/common/actions';
+import { SplitView, Orientation } from 'vs/base/browser/ui/splitview/splitview';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { ActionRunner, FileViewletState } from 'vs/workbench/parts/files/browser/views/explorerViewer';
+import { ExplorerView } from 'vs/workbench/parts/files/browser/views/explorerView';
+import { EmptyView } from 'vs/workbench/parts/files/browser/views/emptyView';
+import { OpenEditorsView } from 'vs/workbench/parts/files/browser/views/openEditorsView';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { DelegatingWorkbenchEditorService } from 'vs/workbench/services/editor/browser/editorService';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { EditorInput, EditorOptions } from 'vs/workbench/common/editor';
+import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
 
 export class ExplorerViewlet extends Viewlet {
 	private viewletContainer: Builder;
diff --git a/src/vs/workbench/parts/files/browser/fileActions.contribution.ts b/src/vs/workbench/parts/files/browser/fileActions.contribution.ts
index f09d6f636e43e..fe0417f347119 100644
--- a/src/vs/workbench/parts/files/browser/fileActions.contribution.ts
+++ b/src/vs/workbench/parts/files/browser/fileActions.contribution.ts
@@ -5,20 +5,20 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {Registry} from 'vs/platform/platform';
-import {Action, IAction} from 'vs/base/common/actions';
-import {ActionItem, BaseActionItem, Separator} from 'vs/base/browser/ui/actionbar/actionbar';
-import {Scope, IActionBarRegistry, Extensions as ActionBarExtensions, ActionBarContributor} from 'vs/workbench/browser/actionBarRegistry';
-import {IEditorInputActionContext, IEditorInputAction, EditorInputActionContributor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {FocusOpenEditorsView, FocusFilesExplorer, GlobalCompareResourcesAction, GlobalNewFileAction, GlobalNewFolderAction, RevertFileAction, SaveFilesAction, SaveAllAction, SaveFileAction, keybindingForAction, MoveFileToTrashAction, TriggerRenameFileAction, PasteFileAction, CopyFileAction, SelectResourceForCompareAction, CompareResourcesAction, NewFolderAction, NewFileAction, OpenToSideAction, ShowActiveFileInExplorer, CollapseExplorerView, RefreshExplorerView} from 'vs/workbench/parts/files/browser/fileActions';
-import {RevertLocalChangesAction, AcceptLocalChangesAction, ConflictResolutionDiffEditorInput} from 'vs/workbench/parts/files/browser/saveErrorHandler';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {FileStat} from 'vs/workbench/parts/files/common/explorerViewModel';
-import {KeyMod, KeyChord, KeyCode} from 'vs/base/common/keyCodes';
+import { Registry } from 'vs/platform/platform';
+import { Action, IAction } from 'vs/base/common/actions';
+import { ActionItem, BaseActionItem, Separator } from 'vs/base/browser/ui/actionbar/actionbar';
+import { Scope, IActionBarRegistry, Extensions as ActionBarExtensions, ActionBarContributor } from 'vs/workbench/browser/actionBarRegistry';
+import { IEditorInputActionContext, IEditorInputAction, EditorInputActionContributor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { FocusOpenEditorsView, FocusFilesExplorer, GlobalCompareResourcesAction, GlobalNewFileAction, GlobalNewFolderAction, RevertFileAction, SaveFilesAction, SaveAllAction, SaveFileAction, keybindingForAction, MoveFileToTrashAction, TriggerRenameFileAction, PasteFileAction, CopyFileAction, SelectResourceForCompareAction, CompareResourcesAction, NewFolderAction, NewFileAction, OpenToSideAction, ShowActiveFileInExplorer, CollapseExplorerView, RefreshExplorerView } from 'vs/workbench/parts/files/browser/fileActions';
+import { RevertLocalChangesAction, AcceptLocalChangesAction, ConflictResolutionDiffEditorInput } from 'vs/workbench/parts/files/browser/saveErrorHandler';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { FileStat } from 'vs/workbench/parts/files/common/explorerViewModel';
+import { KeyMod, KeyChord, KeyCode } from 'vs/base/common/keyCodes';
 
 class FilesViewerActionContributor extends ActionBarContributor {
 
@@ -135,7 +135,7 @@ class FilesViewerActionContributor extends ActionBarContributor {
 
 class ConflictResolutionActionContributor extends EditorInputActionContributor {
 
-	constructor(@IInstantiationService private instantiationService: IInstantiationService) {
+	constructor( @IInstantiationService private instantiationService: IInstantiationService) {
 		super();
 	}
 
diff --git a/src/vs/workbench/parts/files/browser/fileActions.ts b/src/vs/workbench/parts/files/browser/fileActions.ts
index 2a652404c1de7..83f1c1e8259f0 100644
--- a/src/vs/workbench/parts/files/browser/fileActions.ts
+++ b/src/vs/workbench/parts/files/browser/fileActions.ts
@@ -6,47 +6,47 @@
 'use strict';
 
 import 'vs/css!./media/fileactions';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {isWindows, isLinux, isMacintosh} from 'vs/base/common/platform';
-import {sequence, ITask} from 'vs/base/common/async';
+import { isWindows, isLinux, isMacintosh } from 'vs/base/common/platform';
+import { sequence, ITask } from 'vs/base/common/async';
 import paths = require('vs/base/common/paths');
 import URI from 'vs/base/common/uri';
 import errors = require('vs/base/common/errors');
-import {toErrorMessage} from 'vs/base/common/errorMessage';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
 import strings = require('vs/base/common/strings');
-import {Event, EventType as CommonEventType} from 'vs/base/common/events';
+import { Event, EventType as CommonEventType } from 'vs/base/common/events';
 import severity from 'vs/base/common/severity';
 import diagnostics = require('vs/base/common/diagnostics');
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
-import {Action, IAction} from 'vs/base/common/actions';
-import {MessageType, IInputValidator} from 'vs/base/browser/ui/inputbox/inputBox';
-import {ITree, IHighlightEvent} from 'vs/base/parts/tree/browser/tree';
-import {dispose, IDisposable} from 'vs/base/common/lifecycle';
-import {VIEWLET_ID} from 'vs/workbench/parts/files/common/files';
-import {LocalFileChangeEvent, ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
-import {IFileService, IFileStat, IImportResult} from 'vs/platform/files/common/files';
-import {DiffEditorInput, toDiffLabel} from 'vs/workbench/common/editor/diffEditorInput';
-import {asFileEditorInput, getUntitledOrFileResource, IEditorIdentifier} from 'vs/workbench/common/editor';
-import {FileEditorInput} from 'vs/workbench/parts/files/common/editors/fileEditorInput';
-import {FileStat, NewStatPlaceholder} from 'vs/workbench/parts/files/common/explorerViewModel';
-import {ExplorerView} from 'vs/workbench/parts/files/browser/views/explorerView';
-import {ExplorerViewlet} from 'vs/workbench/parts/files/browser/explorerViewlet';
-import {IActionProvider} from 'vs/base/parts/tree/browser/actionsRenderer';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {CollapseAction} from 'vs/workbench/browser/viewlet';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {Position, IResourceInput} from 'vs/platform/editor/common/editor';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IInstantiationService, IConstructorSignature2} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService, IMessageWithAction, IConfirmation, Severity, CancelAction} from 'vs/platform/message/common/message';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
-import {Keybinding} from 'vs/base/common/keybinding';
-import {Selection} from 'vs/editor/common/core/selection';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
+import { Action, IAction } from 'vs/base/common/actions';
+import { MessageType, IInputValidator } from 'vs/base/browser/ui/inputbox/inputBox';
+import { ITree, IHighlightEvent } from 'vs/base/parts/tree/browser/tree';
+import { dispose, IDisposable } from 'vs/base/common/lifecycle';
+import { VIEWLET_ID } from 'vs/workbench/parts/files/common/files';
+import { LocalFileChangeEvent, ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
+import { IFileService, IFileStat, IImportResult } from 'vs/platform/files/common/files';
+import { DiffEditorInput, toDiffLabel } from 'vs/workbench/common/editor/diffEditorInput';
+import { asFileEditorInput, getUntitledOrFileResource, IEditorIdentifier } from 'vs/workbench/common/editor';
+import { FileEditorInput } from 'vs/workbench/parts/files/common/editors/fileEditorInput';
+import { FileStat, NewStatPlaceholder } from 'vs/workbench/parts/files/common/explorerViewModel';
+import { ExplorerView } from 'vs/workbench/parts/files/browser/views/explorerView';
+import { ExplorerViewlet } from 'vs/workbench/parts/files/browser/explorerViewlet';
+import { IActionProvider } from 'vs/base/parts/tree/browser/actionsRenderer';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { CollapseAction } from 'vs/workbench/browser/viewlet';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { Position, IResourceInput } from 'vs/platform/editor/common/editor';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IInstantiationService, IConstructorSignature2 } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService, IMessageWithAction, IConfirmation, Severity, CancelAction } from 'vs/platform/message/common/message';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
+import { Keybinding } from 'vs/base/common/keybinding';
+import { Selection } from 'vs/editor/common/core/selection';
 
 export interface IEditableData {
 	action: IAction;
@@ -1461,7 +1461,7 @@ export abstract class BaseSaveFileAction extends BaseActionWithErrorReporting {
 			}
 
 			// Just save
-			return this.textFileService.save(source, { force: true /* force a change to the file to trigger external watchers if any */});
+			return this.textFileService.save(source, { force: true /* force a change to the file to trigger external watchers if any */ });
 		}
 
 		return TPromise.as(false);
diff --git a/src/vs/workbench/parts/files/browser/saveErrorHandler.ts b/src/vs/workbench/parts/files/browser/saveErrorHandler.ts
index ac7e2366aae30..3222036b99e62 100644
--- a/src/vs/workbench/parts/files/browser/saveErrorHandler.ts
+++ b/src/vs/workbench/parts/files/browser/saveErrorHandler.ts
@@ -4,31 +4,31 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import errors = require('vs/base/common/errors');
-import {toErrorMessage} from 'vs/base/common/errorMessage';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
 import paths = require('vs/base/common/paths');
-import {Action} from 'vs/base/common/actions';
+import { Action } from 'vs/base/common/actions';
 import URI from 'vs/base/common/uri';
 import product from 'vs/platform/product';
-import {EditorModel} from 'vs/workbench/common/editor';
-import {EditorInputAction} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {ResourceEditorInput} from 'vs/workbench/common/editor/resourceEditorInput';
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
-import {DiffEditorModel} from 'vs/workbench/common/editor/diffEditorModel';
-import {FileEditorInput} from 'vs/workbench/parts/files/common/editors/fileEditorInput';
-import {SaveFileAsAction, RevertFileAction, SaveFileAction} from 'vs/workbench/parts/files/browser/fileActions';
-import {IFileOperationResult, FileOperationResult} from 'vs/platform/files/common/files';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {ITextFileService, ISaveErrorHandler, ITextFileEditorModel} from 'vs/workbench/services/textfile/common/textfiles';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService, IMessageWithAction, Severity, CancelAction} from 'vs/platform/message/common/message';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IWorkbenchContribution} from 'vs/workbench/common/contributions';
-import {TextFileEditorModel} from 'vs/workbench/services/textfile/common/textFileEditorModel';
+import { EditorModel } from 'vs/workbench/common/editor';
+import { EditorInputAction } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
+import { DiffEditorModel } from 'vs/workbench/common/editor/diffEditorModel';
+import { FileEditorInput } from 'vs/workbench/parts/files/common/editors/fileEditorInput';
+import { SaveFileAsAction, RevertFileAction, SaveFileAction } from 'vs/workbench/parts/files/browser/fileActions';
+import { IFileOperationResult, FileOperationResult } from 'vs/platform/files/common/files';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { ITextFileService, ISaveErrorHandler, ITextFileEditorModel } from 'vs/workbench/services/textfile/common/textfiles';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService, IMessageWithAction, Severity, CancelAction } from 'vs/platform/message/common/message';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
+import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel';
 
 // A handler for save error happening with conflict resolution actions
 export class SaveErrorHandler implements ISaveErrorHandler, IWorkbenchContribution {
diff --git a/src/vs/workbench/parts/files/browser/views/emptyView.ts b/src/vs/workbench/parts/files/browser/views/emptyView.ts
index b98bd4a3f1bc6..4fcd31de06acd 100644
--- a/src/vs/workbench/parts/files/browser/views/emptyView.ts
+++ b/src/vs/workbench/parts/files/browser/views/emptyView.ts
@@ -7,19 +7,19 @@
 import nls = require('vs/nls');
 import env = require('vs/base/common/platform');
 import DOM = require('vs/base/browser/dom');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IAction, Action} from 'vs/base/common/actions';
-import {Button} from 'vs/base/browser/ui/button/button';
-import {$} from 'vs/base/browser/builder';
-import {IActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
-import {CollapsibleView} from 'vs/base/browser/ui/splitview/splitview';
-import {Registry} from 'vs/platform/platform';
-import {IWorkbenchActionRegistry, Extensions} from 'vs/workbench/common/actionRegistry';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IAction, Action } from 'vs/base/common/actions';
+import { Button } from 'vs/base/browser/ui/button/button';
+import { $ } from 'vs/base/browser/builder';
+import { IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
+import { CollapsibleView } from 'vs/base/browser/ui/splitview/splitview';
+import { Registry } from 'vs/platform/platform';
+import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actionRegistry';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 
 export class EmptyView extends CollapsibleView {
 
-	constructor(@IInstantiationService private instantiationService: IInstantiationService) {
+	constructor( @IInstantiationService private instantiationService: IInstantiationService) {
 		super({
 			minimumSize: 2 * 22,
 			ariaHeaderLabel: nls.localize('explorerSection', "Files Explorer Section")
@@ -51,10 +51,10 @@ export class EmptyView extends CollapsibleView {
 	}
 
 	private runWorkbenchAction(actionId: string): void {
-		let actionRegistry = <IWorkbenchActionRegistry> Registry.as(Extensions.WorkbenchActions);
+		let actionRegistry = <IWorkbenchActionRegistry>Registry.as(Extensions.WorkbenchActions);
 		let actionDescriptor = actionRegistry.getWorkbenchAction(actionId);
 
-		let action = <Action> this.instantiationService.createInstance(actionDescriptor.syncDescriptor);
+		let action = <Action>this.instantiationService.createInstance(actionDescriptor.syncDescriptor);
 
 		return action.run().done(() => action.dispose());
 	}
diff --git a/src/vs/workbench/parts/files/browser/views/explorerView.ts b/src/vs/workbench/parts/files/browser/views/explorerView.ts
index 29c2f1e2d64ed..1d17d100f1d56 100644
--- a/src/vs/workbench/parts/files/browser/views/explorerView.ts
+++ b/src/vs/workbench/parts/files/browser/views/explorerView.ts
@@ -5,42 +5,42 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Builder, $} from 'vs/base/browser/builder';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Builder, $ } from 'vs/base/browser/builder';
 import URI from 'vs/base/common/uri';
-import {ThrottledDelayer} from 'vs/base/common/async';
+import { ThrottledDelayer } from 'vs/base/common/async';
 import errors = require('vs/base/common/errors');
 import labels = require('vs/base/common/labels');
 import paths = require('vs/base/common/paths');
-import {Action, IActionRunner, IAction} from 'vs/base/common/actions';
-import {prepareActions} from 'vs/workbench/browser/actionBarRegistry';
-import {ITree} from 'vs/base/parts/tree/browser/tree';
-import {Tree} from 'vs/base/parts/tree/browser/treeImpl';
-import {IFilesConfiguration} from 'vs/workbench/parts/files/common/files';
-import {LocalFileChangeEvent} from 'vs/workbench/services/textfile/common/textfiles';
-import {IFileStat, IResolveFileOptions, FileChangeType, FileChangesEvent, IFileChange, EventType as FileEventType, IFileService} from 'vs/platform/files/common/files';
-import {FileImportedEvent, RefreshViewExplorerAction, NewFolderAction, NewFileAction} from 'vs/workbench/parts/files/browser/fileActions';
-import {FileEditorInput} from 'vs/workbench/parts/files/common/editors/fileEditorInput';
-import {FileDragAndDrop, FileFilter, FileSorter, FileController, FileRenderer, FileDataSource, FileViewletState, FileAccessibilityProvider} from 'vs/workbench/parts/files/browser/views/explorerViewer';
+import { Action, IActionRunner, IAction } from 'vs/base/common/actions';
+import { prepareActions } from 'vs/workbench/browser/actionBarRegistry';
+import { ITree } from 'vs/base/parts/tree/browser/tree';
+import { Tree } from 'vs/base/parts/tree/browser/treeImpl';
+import { IFilesConfiguration } from 'vs/workbench/parts/files/common/files';
+import { LocalFileChangeEvent } from 'vs/workbench/services/textfile/common/textfiles';
+import { IFileStat, IResolveFileOptions, FileChangeType, FileChangesEvent, IFileChange, EventType as FileEventType, IFileService } from 'vs/platform/files/common/files';
+import { FileImportedEvent, RefreshViewExplorerAction, NewFolderAction, NewFileAction } from 'vs/workbench/parts/files/browser/fileActions';
+import { FileEditorInput } from 'vs/workbench/parts/files/common/editors/fileEditorInput';
+import { FileDragAndDrop, FileFilter, FileSorter, FileController, FileRenderer, FileDataSource, FileViewletState, FileAccessibilityProvider } from 'vs/workbench/parts/files/browser/views/explorerViewer';
 import lifecycle = require('vs/base/common/lifecycle');
-import {UntitledEditorInput} from 'vs/workbench/common/editor/untitledEditorInput';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
+import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
 import * as DOM from 'vs/base/browser/dom';
-import {CollapseAction, CollapsibleViewletView} from 'vs/workbench/browser/viewlet';
-import {FileStat} from 'vs/workbench/parts/files/common/explorerViewModel';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IWorkspace} from 'vs/platform/workspace/common/workspace';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IProgressService} from 'vs/platform/progress/common/progress';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {RawContextKey, IContextKeyService, IContextKey} from 'vs/platform/contextkey/common/contextkey';
-import {ResourceContextKey} from 'vs/platform/actions/common/resourceContextKey';
+import { CollapseAction, CollapsibleViewletView } from 'vs/workbench/browser/viewlet';
+import { FileStat } from 'vs/workbench/parts/files/common/explorerViewModel';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IWorkspace } from 'vs/platform/workspace/common/workspace';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IProgressService } from 'vs/platform/progress/common/progress';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { RawContextKey, IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
+import { ResourceContextKey } from 'vs/platform/actions/common/resourceContextKey';
 
 export class ExplorerView extends CollapsibleViewletView {
 
diff --git a/src/vs/workbench/parts/files/browser/views/explorerViewer.ts b/src/vs/workbench/parts/files/browser/views/explorerViewer.ts
index 59509c0a25b36..c8ad9ddb7270f 100644
--- a/src/vs/workbench/parts/files/browser/views/explorerViewer.ts
+++ b/src/vs/workbench/parts/files/browser/views/explorerViewer.ts
@@ -4,53 +4,53 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import lifecycle = require('vs/base/common/lifecycle');
 import objects = require('vs/base/common/objects');
 import DOM = require('vs/base/browser/dom');
 import URI from 'vs/base/common/uri';
-import {MIME_BINARY} from 'vs/base/common/mime';
+import { MIME_BINARY } from 'vs/base/common/mime';
 import async = require('vs/base/common/async');
 import paths = require('vs/base/common/paths');
 import errors = require('vs/base/common/errors');
-import {isString} from 'vs/base/common/types';
-import {IAction, ActionRunner as BaseActionRunner, IActionRunner} from 'vs/base/common/actions';
+import { isString } from 'vs/base/common/types';
+import { IAction, ActionRunner as BaseActionRunner, IActionRunner } from 'vs/base/common/actions';
 import comparers = require('vs/base/common/comparers');
-import {InputBox} from 'vs/base/browser/ui/inputbox/inputBox';
-import {$, Builder} from 'vs/base/browser/builder';
+import { InputBox } from 'vs/base/browser/ui/inputbox/inputBox';
+import { $, Builder } from 'vs/base/browser/builder';
 import platform = require('vs/base/common/platform');
 import glob = require('vs/base/common/glob');
-import {FileLabel, IFileLabelOptions} from 'vs/workbench/browser/labels';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {ContributableActionProvider} from 'vs/workbench/browser/actionBarRegistry';
-import {IFilesConfiguration} from 'vs/workbench/parts/files/common/files';
-import {LocalFileChangeEvent, ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
-import {IFileOperationResult, FileOperationResult, IFileStat, IFileService} from 'vs/platform/files/common/files';
-import {DuplicateFileAction, ImportFileAction, PasteFileAction, keybindingForAction, IEditableData, IFileViewletState} from 'vs/workbench/parts/files/browser/fileActions';
-import {IDataSource, ITree, IElementCallback, IAccessibilityProvider, IRenderer, ContextMenuEvent, ISorter, IFilter, IDragAndDrop, IDragAndDropData, IDragOverReaction, DRAG_OVER_ACCEPT_BUBBLE_DOWN, DRAG_OVER_ACCEPT_BUBBLE_DOWN_COPY, DRAG_OVER_ACCEPT_BUBBLE_UP, DRAG_OVER_ACCEPT_BUBBLE_UP_COPY, DRAG_OVER_REJECT} from 'vs/base/parts/tree/browser/tree';
-import {DesktopDragAndDropData, ExternalElementsDragAndDropData} from 'vs/base/parts/tree/browser/treeDnd';
-import {ClickBehavior, DefaultController} from 'vs/base/parts/tree/browser/treeDefaults';
-import {ActionsRenderer} from 'vs/base/parts/tree/browser/actionsRenderer';
-import {FileStat, NewStatPlaceholder} from 'vs/workbench/parts/files/common/explorerViewModel';
-import {DragMouseEvent, IMouseEvent} from 'vs/base/browser/mouseEvent';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IWorkspace} from 'vs/platform/workspace/common/workspace';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {IContextViewService, IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService, IConfirmation, Severity} from 'vs/platform/message/common/message';
-import {IProgressService} from 'vs/platform/progress/common/progress';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {Keybinding} from 'vs/base/common/keybinding';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {IMenuService, IMenu, MenuId} from 'vs/platform/actions/common/actions';
-import {fillInActions} from 'vs/platform/actions/browser/menuItemActionItem';
+import { FileLabel, IFileLabelOptions } from 'vs/workbench/browser/labels';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { ContributableActionProvider } from 'vs/workbench/browser/actionBarRegistry';
+import { IFilesConfiguration } from 'vs/workbench/parts/files/common/files';
+import { LocalFileChangeEvent, ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
+import { IFileOperationResult, FileOperationResult, IFileStat, IFileService } from 'vs/platform/files/common/files';
+import { DuplicateFileAction, ImportFileAction, PasteFileAction, keybindingForAction, IEditableData, IFileViewletState } from 'vs/workbench/parts/files/browser/fileActions';
+import { IDataSource, ITree, IElementCallback, IAccessibilityProvider, IRenderer, ContextMenuEvent, ISorter, IFilter, IDragAndDrop, IDragAndDropData, IDragOverReaction, DRAG_OVER_ACCEPT_BUBBLE_DOWN, DRAG_OVER_ACCEPT_BUBBLE_DOWN_COPY, DRAG_OVER_ACCEPT_BUBBLE_UP, DRAG_OVER_ACCEPT_BUBBLE_UP_COPY, DRAG_OVER_REJECT } from 'vs/base/parts/tree/browser/tree';
+import { DesktopDragAndDropData, ExternalElementsDragAndDropData } from 'vs/base/parts/tree/browser/treeDnd';
+import { ClickBehavior, DefaultController } from 'vs/base/parts/tree/browser/treeDefaults';
+import { ActionsRenderer } from 'vs/base/parts/tree/browser/actionsRenderer';
+import { FileStat, NewStatPlaceholder } from 'vs/workbench/parts/files/common/explorerViewModel';
+import { DragMouseEvent, IMouseEvent } from 'vs/base/browser/mouseEvent';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IWorkspace } from 'vs/platform/workspace/common/workspace';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { IContextViewService, IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService, IConfirmation, Severity } from 'vs/platform/message/common/message';
+import { IProgressService } from 'vs/platform/progress/common/progress';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { Keybinding } from 'vs/base/common/keybinding';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { IMenuService, IMenu, MenuId } from 'vs/platform/actions/common/actions';
+import { fillInActions } from 'vs/platform/actions/browser/menuItemActionItem';
 
 export class FileDataSource implements IDataSource {
 	private workspace: IWorkspace;
diff --git a/src/vs/workbench/parts/files/browser/views/openEditorsView.ts b/src/vs/workbench/parts/files/browser/views/openEditorsView.ts
index 5c581bc83d586..662b2d2c1876d 100644
--- a/src/vs/workbench/parts/files/browser/views/openEditorsView.ts
+++ b/src/vs/workbench/parts/files/browser/views/openEditorsView.ts
@@ -5,26 +5,26 @@
 
 import nls = require('vs/nls');
 import errors = require('vs/base/common/errors');
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IAction, IActionRunner} from 'vs/base/common/actions';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IAction, IActionRunner } from 'vs/base/common/actions';
 import dom = require('vs/base/browser/dom');
-import {CollapsibleState} from 'vs/base/browser/ui/splitview/splitview';
-import {Tree} from 'vs/base/parts/tree/browser/treeImpl';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IEditorStacksModel, IStacksModelChangeEvent, IEditorGroup} from 'vs/workbench/common/editor';
-import {SaveAllAction} from 'vs/workbench/parts/files/browser/fileActions';
-import {AdaptiveCollapsibleViewletView} from 'vs/workbench/browser/viewlet';
-import {IFilesConfiguration, VIEWLET_ID} from 'vs/workbench/parts/files/common/files';
-import {ITextFileService, AutoSaveMode} from 'vs/workbench/services/textfile/common/textfiles';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {Renderer, DataSource, Controller, AccessibilityProvider,  ActionProvider, OpenEditor, DragAndDrop} from 'vs/workbench/parts/files/browser/views/openEditorsViewer';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {CloseAllEditorsAction} from 'vs/workbench/browser/parts/editor/editorActions';
+import { CollapsibleState } from 'vs/base/browser/ui/splitview/splitview';
+import { Tree } from 'vs/base/parts/tree/browser/treeImpl';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IEditorStacksModel, IStacksModelChangeEvent, IEditorGroup } from 'vs/workbench/common/editor';
+import { SaveAllAction } from 'vs/workbench/parts/files/browser/fileActions';
+import { AdaptiveCollapsibleViewletView } from 'vs/workbench/browser/viewlet';
+import { IFilesConfiguration, VIEWLET_ID } from 'vs/workbench/parts/files/common/files';
+import { ITextFileService, AutoSaveMode } from 'vs/workbench/services/textfile/common/textfiles';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { Renderer, DataSource, Controller, AccessibilityProvider, ActionProvider, OpenEditor, DragAndDrop } from 'vs/workbench/parts/files/browser/views/openEditorsViewer';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { CloseAllEditorsAction } from 'vs/workbench/browser/parts/editor/editorActions';
 
 const $ = dom.$;
 
@@ -101,10 +101,10 @@ export class OpenEditorsView extends AdaptiveCollapsibleViewletView {
 			accessibilityProvider,
 			dnd
 		}, {
-			indentPixels: 0,
-			twistiePixels: 20,
-			ariaLabel: nls.localize({ key: 'treeAriaLabel', comment: ['Open is an adjective'] }, "Open Editors")
-		});
+				indentPixels: 0,
+				twistiePixels: 20,
+				ariaLabel: nls.localize({ key: 'treeAriaLabel', comment: ['Open is an adjective'] }, "Open Editors")
+			});
 
 		this.fullRefreshNeeded = true;
 		this.structuralTreeUpdate();
@@ -260,7 +260,7 @@ export class OpenEditorsView extends AdaptiveCollapsibleViewletView {
 		this.structuralRefreshDelay = delay;
 	}
 
-	public getOptimalWidth():number {
+	public getOptimalWidth(): number {
 		let parentNode = this.tree.getHTMLElement();
 		let childNodes = [].slice.call(parentNode.querySelectorAll('.open-editor > a'));
 
diff --git a/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts b/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts
index 6bdcc3e553ee2..2c7b30b8f63ad 100644
--- a/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts
+++ b/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts
@@ -6,31 +6,31 @@
 import nls = require('vs/nls');
 import uri from 'vs/base/common/uri';
 import errors = require('vs/base/common/errors');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IAction} from 'vs/base/common/actions';
-import {EditorLabel} from 'vs/workbench/browser/labels';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IAction } from 'vs/base/common/actions';
+import { EditorLabel } from 'vs/workbench/browser/labels';
 import treedefaults = require('vs/base/parts/tree/browser/treeDefaults');
-import {IDataSource, ITree, IAccessibilityProvider, IDragAndDropData, IDragOverReaction, DRAG_OVER_ACCEPT, DRAG_OVER_REJECT, ContextMenuEvent, IRenderer} from 'vs/base/parts/tree/browser/tree';
-import {ExternalElementsDragAndDropData, ElementsDragAndDropData, DesktopDragAndDropData} from 'vs/base/parts/tree/browser/treeDnd';
-import {ActionBar, Separator} from 'vs/base/browser/ui/actionbar/actionbar';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
+import { IDataSource, ITree, IAccessibilityProvider, IDragAndDropData, IDragOverReaction, DRAG_OVER_ACCEPT, DRAG_OVER_REJECT, ContextMenuEvent, IRenderer } from 'vs/base/parts/tree/browser/tree';
+import { ExternalElementsDragAndDropData, ElementsDragAndDropData, DesktopDragAndDropData } from 'vs/base/parts/tree/browser/treeDnd';
+import { ActionBar, Separator } from 'vs/base/browser/ui/actionbar/actionbar';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
 import dom = require('vs/base/browser/dom');
-import {IMouseEvent, DragMouseEvent} from 'vs/base/browser/mouseEvent';
-import {IResourceInput, IEditorInput} from 'vs/platform/editor/common/editor';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IContextMenuService} from 'vs/platform/contextview/browser/contextView';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {UntitledEditorInput, IEditorGroup, IEditorStacksModel, getUntitledOrFileResource} from 'vs/workbench/common/editor';
-import {ContributableActionProvider} from 'vs/workbench/browser/actionBarRegistry';
-import {asFileResource} from 'vs/workbench/parts/files/common/files';
-import {ITextFileService, AutoSaveMode} from 'vs/workbench/services/textfile/common/textfiles';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {EditorStacksModel, EditorGroup} from 'vs/workbench/common/editor/editorStacksModel';
-import {keybindingForAction, SaveFileAction, RevertFileAction, SaveFileAsAction, OpenToSideAction, SelectResourceForCompareAction, CompareResourcesAction, SaveAllInGroupAction} from 'vs/workbench/parts/files/browser/fileActions';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {CloseOtherEditorsInGroupAction, CloseEditorAction, CloseEditorsInGroupAction} from 'vs/workbench/browser/parts/editor/editorActions';
+import { IMouseEvent, DragMouseEvent } from 'vs/base/browser/mouseEvent';
+import { IResourceInput, IEditorInput } from 'vs/platform/editor/common/editor';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { UntitledEditorInput, IEditorGroup, IEditorStacksModel, getUntitledOrFileResource } from 'vs/workbench/common/editor';
+import { ContributableActionProvider } from 'vs/workbench/browser/actionBarRegistry';
+import { asFileResource } from 'vs/workbench/parts/files/common/files';
+import { ITextFileService, AutoSaveMode } from 'vs/workbench/services/textfile/common/textfiles';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { EditorStacksModel, EditorGroup } from 'vs/workbench/common/editor/editorStacksModel';
+import { keybindingForAction, SaveFileAction, RevertFileAction, SaveFileAsAction, OpenToSideAction, SelectResourceForCompareAction, CompareResourcesAction, SaveAllInGroupAction } from 'vs/workbench/parts/files/browser/fileActions';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { CloseOtherEditorsInGroupAction, CloseEditorAction, CloseEditorsInGroupAction } from 'vs/workbench/browser/parts/editor/editorActions';
 
 const $ = dom.$;
 
diff --git a/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts b/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts
index 15a70a2309139..4a3c9782aec8d 100644
--- a/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts
+++ b/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts
@@ -4,20 +4,20 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import paths = require('vs/base/common/paths');
 import labels = require('vs/base/common/labels');
 import URI from 'vs/base/common/uri';
-import {EditorModel, EncodingMode, ConfirmResult} from 'vs/workbench/common/editor';
-import {BinaryEditorModel} from 'vs/workbench/common/editor/binaryEditorModel';
-import {IFileOperationResult, FileOperationResult, FileChangesEvent, EventType} from 'vs/platform/files/common/files';
-import {BINARY_FILE_EDITOR_ID, TEXT_FILE_EDITOR_ID, FILE_EDITOR_INPUT_ID, FileEditorInput as CommonFileEditorInput} from 'vs/workbench/parts/files/common/files';
-import {ITextFileService, AutoSaveMode, ModelState, TextFileModelChangeEvent, LocalFileChangeEvent} from 'vs/workbench/services/textfile/common/textfiles';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IHistoryService} from 'vs/workbench/services/history/common/history';
+import { EditorModel, EncodingMode, ConfirmResult } from 'vs/workbench/common/editor';
+import { BinaryEditorModel } from 'vs/workbench/common/editor/binaryEditorModel';
+import { IFileOperationResult, FileOperationResult, FileChangesEvent, EventType } from 'vs/platform/files/common/files';
+import { BINARY_FILE_EDITOR_ID, TEXT_FILE_EDITOR_ID, FILE_EDITOR_INPUT_ID, FileEditorInput as CommonFileEditorInput } from 'vs/workbench/parts/files/common/files';
+import { ITextFileService, AutoSaveMode, ModelState, TextFileModelChangeEvent, LocalFileChangeEvent } from 'vs/workbench/services/textfile/common/textfiles';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IHistoryService } from 'vs/workbench/services/history/common/history';
 
 /**
  * A file editor input is the input type for the file editor of file system resources.
@@ -72,7 +72,7 @@ export class FileEditorInput extends CommonFileEditorInput {
 
 	private onLocalFileChange(e: LocalFileChangeEvent): void {
 		const movedTo = e.gotMoved() && e.getAfter() && e.getAfter().resource;
-		if (e.gotDeleted() || movedTo) {
+		if (e.gotDeleted() || movedTo) {
 			this.disposeIfRelated(e.getBefore().resource, movedTo);
 		}
 	}
diff --git a/src/vs/workbench/parts/files/common/editors/fileEditorTracker.ts b/src/vs/workbench/parts/files/common/editors/fileEditorTracker.ts
index 824c30f44bf68..bfaa70922c458 100644
--- a/src/vs/workbench/parts/files/common/editors/fileEditorTracker.ts
+++ b/src/vs/workbench/parts/files/common/editors/fileEditorTracker.ts
@@ -4,23 +4,23 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IWorkbenchContribution} from 'vs/workbench/common/contributions';
+import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
 import errors = require('vs/base/common/errors');
 import URI from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
-import {IEditor} from 'vs/editor/common/editorCommon';
-import {IEditor as IBaseEditor} from 'vs/platform/editor/common/editor';
-import {EditorInput, IEditorStacksModel} from 'vs/workbench/common/editor';
-import {BINARY_FILE_EDITOR_ID} from 'vs/workbench/parts/files/common/files';
-import {LocalFileChangeEvent, ITextFileService, ModelState} from 'vs/workbench/services/textfile/common/textfiles';
-import {FileChangeType, FileChangesEvent, EventType as CommonFileEventType} from 'vs/platform/files/common/files';
-import {FileEditorInput} from 'vs/workbench/parts/files/common/editors/fileEditorInput';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
+import { IEditor } from 'vs/editor/common/editorCommon';
+import { IEditor as IBaseEditor } from 'vs/platform/editor/common/editor';
+import { EditorInput, IEditorStacksModel } from 'vs/workbench/common/editor';
+import { BINARY_FILE_EDITOR_ID } from 'vs/workbench/parts/files/common/files';
+import { LocalFileChangeEvent, ITextFileService, ModelState } from 'vs/workbench/services/textfile/common/textfiles';
+import { FileChangeType, FileChangesEvent, EventType as CommonFileEventType } from 'vs/platform/files/common/files';
+import { FileEditorInput } from 'vs/workbench/parts/files/common/editors/fileEditorInput';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 
 export class FileEditorTracker implements IWorkbenchContribution {
 
diff --git a/src/vs/workbench/parts/files/common/explorerViewModel.ts b/src/vs/workbench/parts/files/common/explorerViewModel.ts
index 3a8cbe6143b0e..7f6c195a9e4f7 100644
--- a/src/vs/workbench/parts/files/common/explorerViewModel.ts
+++ b/src/vs/workbench/parts/files/common/explorerViewModel.ts
@@ -7,9 +7,9 @@
 
 import assert = require('vs/base/common/assert');
 import URI from 'vs/base/common/uri';
-import {isLinux} from 'vs/base/common/platform';
+import { isLinux } from 'vs/base/common/platform';
 import paths = require('vs/base/common/paths');
-import {IFileStat} from 'vs/platform/files/common/files';
+import { IFileStat } from 'vs/platform/files/common/files';
 
 export enum StatType {
 	FILE,
diff --git a/src/vs/workbench/parts/files/common/files.ts b/src/vs/workbench/parts/files/common/files.ts
index 9b03fadd5a0ef..4d4e2a57d1940 100644
--- a/src/vs/workbench/parts/files/common/files.ts
+++ b/src/vs/workbench/parts/files/common/files.ts
@@ -5,11 +5,11 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {IEditorOptions} from 'vs/editor/common/editorCommon';
-import {EncodingMode, EditorInput, IFileEditorInput, IWorkbenchEditorConfiguration} from 'vs/workbench/common/editor';
-import {IFilesConfiguration} from 'vs/platform/files/common/files';
-import {FileStat} from 'vs/workbench/parts/files/common/explorerViewModel';
-import {RawContextKey} from 'vs/platform/contextkey/common/contextkey';
+import { IEditorOptions } from 'vs/editor/common/editorCommon';
+import { EncodingMode, EditorInput, IFileEditorInput, IWorkbenchEditorConfiguration } from 'vs/workbench/common/editor';
+import { IFilesConfiguration } from 'vs/platform/files/common/files';
+import { FileStat } from 'vs/workbench/parts/files/common/explorerViewModel';
+import { RawContextKey } from 'vs/platform/contextkey/common/contextkey';
 
 /**
  * Explorer viewlet id.
diff --git a/src/vs/workbench/parts/files/electron-browser/dirtyFilesTracker.ts b/src/vs/workbench/parts/files/electron-browser/dirtyFilesTracker.ts
index 0abfd9912d2e5..47a3caccbc8e0 100644
--- a/src/vs/workbench/parts/files/electron-browser/dirtyFilesTracker.ts
+++ b/src/vs/workbench/parts/files/electron-browser/dirtyFilesTracker.ts
@@ -7,23 +7,23 @@
 
 import nls = require('vs/nls');
 import errors = require('vs/base/common/errors');
-import {IWorkbenchContribution} from 'vs/workbench/common/contributions';
-import {VIEWLET_ID} from 'vs/workbench/parts/files/common/files';
-import {TextFileModelChangeEvent, ITextFileService, AutoSaveMode} from 'vs/workbench/services/textfile/common/textfiles';
-import {platform, Platform} from 'vs/base/common/platform';
-import {IWindowService} from 'vs/workbench/services/window/electron-browser/windowService';
-import {Position} from 'vs/platform/editor/common/editor';
-import {IEditorStacksModel} from 'vs/workbench/common/editor';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
+import { VIEWLET_ID } from 'vs/workbench/parts/files/common/files';
+import { TextFileModelChangeEvent, ITextFileService, AutoSaveMode } from 'vs/workbench/services/textfile/common/textfiles';
+import { platform, Platform } from 'vs/base/common/platform';
+import { IWindowService } from 'vs/workbench/services/window/electron-browser/windowService';
+import { Position } from 'vs/platform/editor/common/editor';
+import { IEditorStacksModel } from 'vs/workbench/common/editor';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import URI from 'vs/base/common/uri';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IActivityService, NumberBadge} from 'vs/workbench/services/activity/common/activityService';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IActivityService, NumberBadge } from 'vs/workbench/services/activity/common/activityService';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
 import arrays = require('vs/base/common/arrays');
 
-import {ipcRenderer as ipc} from 'electron';
+import { ipcRenderer as ipc } from 'electron';
 
 export class DirtyFilesTracker implements IWorkbenchContribution {
 	private isDocumentedEdited: boolean;
diff --git a/src/vs/workbench/parts/files/electron-browser/electronFileActions.ts b/src/vs/workbench/parts/files/electron-browser/electronFileActions.ts
index e225a333fecb0..1169469ff3143 100644
--- a/src/vs/workbench/parts/files/electron-browser/electronFileActions.ts
+++ b/src/vs/workbench/parts/files/electron-browser/electronFileActions.ts
@@ -5,20 +5,20 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Action} from 'vs/base/common/actions';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Action } from 'vs/base/common/actions';
 import nls = require('vs/nls');
 import paths = require('vs/base/common/paths');
 import labels = require('vs/base/common/labels');
 import platform = require('vs/base/common/platform');
 import uri from 'vs/base/common/uri';
 import severity from 'vs/base/common/severity';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {asFileEditorInput} from 'vs/workbench/common/editor';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { asFileEditorInput } from 'vs/workbench/common/editor';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
 
-import {ipcRenderer as ipc, shell, clipboard} from 'electron';
+import { ipcRenderer as ipc, shell, clipboard } from 'electron';
 
 export class RevealInOSAction extends Action {
 	private resource: uri;
diff --git a/src/vs/workbench/parts/files/electron-browser/files.electron.contribution.ts b/src/vs/workbench/parts/files/electron-browser/files.electron.contribution.ts
index b36bb3dfba70c..09b6dbf8482d4 100644
--- a/src/vs/workbench/parts/files/electron-browser/files.electron.contribution.ts
+++ b/src/vs/workbench/parts/files/electron-browser/files.electron.contribution.ts
@@ -6,19 +6,19 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {Registry} from 'vs/platform/platform';
-import {IAction} from 'vs/base/common/actions';
-import {Scope, IActionBarRegistry, Extensions as ActionBarExtensions, ActionBarContributor} from 'vs/workbench/browser/actionBarRegistry';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
+import { Registry } from 'vs/platform/platform';
+import { IAction } from 'vs/base/common/actions';
+import { Scope, IActionBarRegistry, Extensions as ActionBarExtensions, ActionBarContributor } from 'vs/workbench/browser/actionBarRegistry';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
 import env = require('vs/base/common/platform');
-import {asFileResource} from 'vs/workbench/parts/files/common/files';
-import {IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions} from 'vs/workbench/common/contributions';
-import {GlobalNewUntitledFileAction, SaveFileAsAction} from 'vs/workbench/parts/files/browser/fileActions';
-import {DirtyFilesTracker} from 'vs/workbench/parts/files/electron-browser/dirtyFilesTracker';
-import {OpenFolderAction, OpenFileAction, OpenFileFolderAction, ShowOpenedFileInNewWindow, GlobalRevealInOSAction, GlobalCopyPathAction, CopyPathAction, RevealInOSAction} from 'vs/workbench/parts/files/electron-browser/electronFileActions';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {KeyMod, KeyChord, KeyCode} from 'vs/base/common/keyCodes';
+import { asFileResource } from 'vs/workbench/parts/files/common/files';
+import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
+import { GlobalNewUntitledFileAction, SaveFileAsAction } from 'vs/workbench/parts/files/browser/fileActions';
+import { DirtyFilesTracker } from 'vs/workbench/parts/files/electron-browser/dirtyFilesTracker';
+import { OpenFolderAction, OpenFileAction, OpenFileFolderAction, ShowOpenedFileInNewWindow, GlobalRevealInOSAction, GlobalCopyPathAction, CopyPathAction, RevealInOSAction } from 'vs/workbench/parts/files/electron-browser/electronFileActions';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { KeyMod, KeyChord, KeyCode } from 'vs/base/common/keyCodes';
 
 class FileViewerActionContributor extends ActionBarContributor {
 
diff --git a/src/vs/workbench/parts/files/test/browser/explorerViewModel.test.ts b/src/vs/workbench/parts/files/test/browser/explorerViewModel.test.ts
index c42b0951ca2bd..90489a9c28e24 100644
--- a/src/vs/workbench/parts/files/test/browser/explorerViewModel.test.ts
+++ b/src/vs/workbench/parts/files/test/browser/explorerViewModel.test.ts
@@ -6,13 +6,13 @@
 'use strict';
 
 import * as assert from 'assert';
-import {isUndefinedOrNull, isArray} from 'vs/base/common/types';
-import {isLinux, isWindows} from 'vs/base/common/platform';
+import { isUndefinedOrNull, isArray } from 'vs/base/common/types';
+import { isLinux, isWindows } from 'vs/base/common/platform';
 import URI from 'vs/base/common/uri';
-import {join} from 'vs/base/common/paths';
-import {validateFileName} from 'vs/workbench/parts/files/browser/fileActions';
-import {LocalFileChangeEvent} from 'vs/workbench/services/textfile/common/textfiles';
-import {FileStat} from 'vs/workbench/parts/files/common/explorerViewModel';
+import { join } from 'vs/base/common/paths';
+import { validateFileName } from 'vs/workbench/parts/files/browser/fileActions';
+import { LocalFileChangeEvent } from 'vs/workbench/services/textfile/common/textfiles';
+import { FileStat } from 'vs/workbench/parts/files/common/explorerViewModel';
 
 function createStat(path, name, isFolder, hasChildren, size, mtime) {
 	return new FileStat(toResource(path), isFolder, hasChildren, name, mtime);
diff --git a/src/vs/workbench/parts/files/test/browser/fileEditorInput.test.ts b/src/vs/workbench/parts/files/test/browser/fileEditorInput.test.ts
index 18d92905eeecd..bbed820b81a7c 100644
--- a/src/vs/workbench/parts/files/test/browser/fileEditorInput.test.ts
+++ b/src/vs/workbench/parts/files/test/browser/fileEditorInput.test.ts
@@ -6,15 +6,15 @@
 
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
-import {join, basename} from 'vs/base/common/paths';
-import {FileEditorInput} from 'vs/workbench/parts/files/common/editors/fileEditorInput';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {workbenchInstantiationService, TestTextFileService} from 'vs/test/utils/servicesTestUtils';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {EncodingMode} from 'vs/workbench/common/editor';
-import {IEventService} from 'vs/platform/event/common/event';
-import {ITextFileEditorModel, ITextFileService, LocalFileChangeEvent} from 'vs/workbench/services/textfile/common/textfiles';
-import {FileOperationResult, IFileOperationResult, FileChangesEvent, FileChangeType, EventType} from 'vs/platform/files/common/files';
+import { join, basename } from 'vs/base/common/paths';
+import { FileEditorInput } from 'vs/workbench/parts/files/common/editors/fileEditorInput';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { workbenchInstantiationService, TestTextFileService } from 'vs/test/utils/servicesTestUtils';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { EncodingMode } from 'vs/workbench/common/editor';
+import { IEventService } from 'vs/platform/event/common/event';
+import { ITextFileEditorModel, ITextFileService, LocalFileChangeEvent } from 'vs/workbench/services/textfile/common/textfiles';
+import { FileOperationResult, IFileOperationResult, FileChangesEvent, FileChangeType, EventType } from 'vs/platform/files/common/files';
 
 function toResource(path) {
 	return URI.file(join('C:\\', path));
diff --git a/src/vs/workbench/parts/files/test/browser/fileEvents.test.ts b/src/vs/workbench/parts/files/test/browser/fileEvents.test.ts
index bd17803b93e4b..1e7b9b460f2ff 100644
--- a/src/vs/workbench/parts/files/test/browser/fileEvents.test.ts
+++ b/src/vs/workbench/parts/files/test/browser/fileEvents.test.ts
@@ -6,8 +6,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {LocalFileChangeEvent} from 'vs/workbench/services/textfile/common/textfiles';
-import {FileImportedEvent} from 'vs/workbench/parts/files/browser/fileActions';
+import { LocalFileChangeEvent } from 'vs/workbench/services/textfile/common/textfiles';
+import { FileImportedEvent } from 'vs/workbench/parts/files/browser/fileActions';
 
 suite('Files - Events', () => {
 
diff --git a/src/vs/workbench/parts/git/browser/gitActions.contribution.ts b/src/vs/workbench/parts/git/browser/gitActions.contribution.ts
index a38afaf371cb5..eb7bbbc6ab611 100644
--- a/src/vs/workbench/parts/git/browser/gitActions.contribution.ts
+++ b/src/vs/workbench/parts/git/browser/gitActions.contribution.ts
@@ -20,12 +20,12 @@ import gitcontrib = require('vs/workbench/parts/git/browser/gitWorkbenchContribu
 import { IGitService, Status, IFileStatus, StatusType } from 'vs/workbench/parts/git/common/git';
 import gitei = require('vs/workbench/parts/git/browser/gitEditorInputs');
 import { getSelectedChanges, applyChangesToModel } from 'vs/workbench/parts/git/common/stageRanges';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IPartService, Parts} from 'vs/workbench/services/part/common/partService';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IFileService} from 'vs/platform/files/common/files';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IPartService, Parts } from 'vs/workbench/services/part/common/partService';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IFileService } from 'vs/platform/files/common/files';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import wbar = require('vs/workbench/common/actionRegistry');
 import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
 import { OpenChangeAction, OpenFileAction, SyncAction, PullAction, PushAction, PublishAction, StartGitBranchAction, StartGitCheckoutAction, InputCommitAction, UndoLastCommitAction, BaseStageAction, BaseUnstageAction } from './gitActions';
@@ -39,7 +39,7 @@ function getStatus(gitService: IGitService, contextService: IWorkspaceContextSer
 	const repositoryRelativePath = paths.normalize(paths.relative(repositoryRoot, input.getResource().fsPath));
 
 	return statusModel.getWorkingTreeStatus().find(repositoryRelativePath) ||
-			statusModel.getIndexStatus().find(repositoryRelativePath);
+		statusModel.getIndexStatus().find(repositoryRelativePath);
 }
 
 class OpenInDiffAction extends baseeditor.EditorInputAction {
@@ -54,7 +54,7 @@ class OpenInDiffAction extends baseeditor.EditorInputAction {
 	private contextService: IWorkspaceContextService;
 	private toDispose: lifecycle.IDisposable[];
 
-	constructor(@IWorkbenchEditorService editorService: IWorkbenchEditorService, @IGitService gitService: IGitService, @IViewletService viewletService: IViewletService, @IPartService partService: IPartService, @IWorkspaceContextService contextService : IWorkspaceContextService) {
+	constructor( @IWorkbenchEditorService editorService: IWorkbenchEditorService, @IGitService gitService: IGitService, @IViewletService viewletService: IViewletService, @IPartService partService: IPartService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super(OpenInDiffAction.ID, OpenInDiffAction.Label);
 
 		this.class = 'git-action open-in-diff';
@@ -69,7 +69,7 @@ class OpenInDiffAction extends baseeditor.EditorInputAction {
 		this.enabled = this.isEnabled();
 	}
 
-	public isEnabled():boolean {
+	public isEnabled(): boolean {
 		if (!super.isEnabled()) {
 			return false;
 		}
@@ -88,20 +88,20 @@ class OpenInDiffAction extends baseeditor.EditorInputAction {
 		);
 	}
 
-	private onGitStateChanged():void {
+	private onGitStateChanged(): void {
 		if (this.gitService.isIdle()) {
 			this.enabled = this.isEnabled();
 		}
 	}
 
-	private getStatus():IFileStatus {
-		return getStatus(this.gitService, this.contextService, <filesCommon.FileEditorInput> this.input);
+	private getStatus(): IFileStatus {
+		return getStatus(this.gitService, this.contextService, <filesCommon.FileEditorInput>this.input);
 	}
 
 	public run(context?: WorkbenchEditorCommon.IEditorContext): TPromise<any> {
 		const event = context ? context.event : null;
 		const sideBySide = !!(event && (event.ctrlKey || event.metaKey));
-		const editor = <editorbrowser.ICodeEditor> this.editorService.getActiveEditor().getControl();
+		const editor = <editorbrowser.ICodeEditor>this.editorService.getActiveEditor().getControl();
 		const viewState = editor ? editor.saveViewState() : null;
 
 		return this.gitService.getInput(this.getStatus()).then((input) => {
@@ -118,9 +118,9 @@ class OpenInDiffAction extends baseeditor.EditorInputAction {
 
 				return this.editorService.openEditor(input, options, sideBySide).then((editor) => {
 					if (viewState) {
-						var codeEditor = <editorbrowser.ICodeEditor> this.editorService.getActiveEditor().getControl();
+						var codeEditor = <editorbrowser.ICodeEditor>this.editorService.getActiveEditor().getControl();
 						codeEditor.restoreViewState({
-							original: { },
+							original: {},
 							modified: viewState
 						});
 					}
@@ -129,7 +129,7 @@ class OpenInDiffAction extends baseeditor.EditorInputAction {
 		});
 	}
 
-	public dispose():void {
+	public dispose(): void {
 		this.toDispose = lifecycle.dispose(this.toDispose);
 	}
 }
@@ -147,7 +147,7 @@ class OpenInEditorAction extends baseeditor.EditorInputAction {
 	private partService: IPartService;
 	private contextService: IWorkspaceContextService;
 
-	constructor(@IFileService fileService: IFileService, @IWorkbenchEditorService editorService: IWorkbenchEditorService, @IGitService gitService: IGitService, @IViewletService viewletService: IViewletService, @IPartService partService: IPartService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
+	constructor( @IFileService fileService: IFileService, @IWorkbenchEditorService editorService: IWorkbenchEditorService, @IGitService gitService: IGitService, @IViewletService viewletService: IViewletService, @IPartService partService: IPartService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super(OpenInEditorAction.ID, OpenInEditorAction.LABEL);
 
 		this.class = 'git-action open-in-editor';
@@ -161,7 +161,7 @@ class OpenInEditorAction extends baseeditor.EditorInputAction {
 		this.enabled = this.isEnabled();
 	}
 
-	public isEnabled():boolean {
+	public isEnabled(): boolean {
 		if (!super.isEnabled()) {
 			return false;
 		}
@@ -171,7 +171,7 @@ class OpenInEditorAction extends baseeditor.EditorInputAction {
 			return false;
 		}
 
-		var status:IFileStatus = (<any>this.input).getFileStatus();
+		var status: IFileStatus = (<any>this.input).getFileStatus();
 		if (OpenInEditorAction.DELETED_STATES.indexOf(status.getStatus()) > -1) {
 			return false;
 		}
@@ -202,7 +202,7 @@ class OpenInEditorAction extends baseeditor.EditorInputAction {
 		});
 	}
 
-	private saveTextViewState():editorcommon.IEditorViewState {
+	private saveTextViewState(): editorcommon.IEditorViewState {
 		var textEditor = this.getTextEditor();
 		if (textEditor) {
 			return textEditor.saveViewState();
@@ -211,7 +211,7 @@ class OpenInEditorAction extends baseeditor.EditorInputAction {
 		return null;
 	}
 
-	private restoreTextViewState(state:editorcommon.IEditorViewState):void {
+	private restoreTextViewState(state: editorcommon.IEditorViewState): void {
 		var textEditor = this.getTextEditor();
 		if (textEditor) {
 			return textEditor.restoreViewState(state);
@@ -224,14 +224,14 @@ class OpenInEditorAction extends baseeditor.EditorInputAction {
 		if (editor instanceof tdeditor.TextDiffEditor) {
 			return (<editorbrowser.IDiffEditor>editor.getControl()).getModifiedEditor();
 		} else if (editor instanceof teditor.BaseTextEditor) {
-			return <editorbrowser.ICodeEditor> editor.getControl();
+			return <editorbrowser.ICodeEditor>editor.getControl();
 		}
 
 		return null;
 	}
 
-	private getRepositoryRelativePath():string {
-		var status: IFileStatus = (<any> this.input).getFileStatus();
+	private getRepositoryRelativePath(): string {
+		var status: IFileStatus = (<any>this.input).getFileStatus();
 
 		if (status.getStatus() === Status.INDEX_RENAMED) {
 			return status.getRename();
@@ -273,7 +273,7 @@ export class WorkbenchStageAction extends BaseStageAction {
 		}
 	}
 
-	isEnabled():boolean {
+	isEnabled(): boolean {
 		if (!super.isEnabled()) {
 			return false;
 		}
@@ -331,7 +331,7 @@ export class WorkbenchUnstageAction extends BaseUnstageAction {
 		}
 	}
 
-	isEnabled():boolean {
+	isEnabled(): boolean {
 		if (!super.isEnabled()) {
 			return false;
 		}
@@ -366,9 +366,9 @@ export class WorkbenchUnstageAction extends BaseUnstageAction {
 export abstract class BaseStageRangesAction extends baseeditor.EditorInputAction {
 	private gitService: IGitService;
 	private editorService: IWorkbenchEditorService;
-	private editor:editorbrowser.IDiffEditor;
+	private editor: editorbrowser.IDiffEditor;
 
-	constructor(id: string, label: string, editor:tdeditor.TextDiffEditor, @IGitService gitService: IGitService, @IWorkbenchEditorService editorService : IWorkbenchEditorService) {
+	constructor(id: string, label: string, editor: tdeditor.TextDiffEditor, @IGitService gitService: IGitService, @IWorkbenchEditorService editorService: IWorkbenchEditorService) {
 		super(id, label);
 
 		this.editorService = editorService;
@@ -379,7 +379,7 @@ export abstract class BaseStageRangesAction extends baseeditor.EditorInputAction
 		this.class = 'git-action stage-ranges';
 	}
 
-	public isEnabled():boolean {
+	public isEnabled(): boolean {
 		if (!super.isEnabled()) {
 			return false;
 		}
@@ -404,7 +404,7 @@ export abstract class BaseStageRangesAction extends baseeditor.EditorInputAction
 		return applyChangesToModel(editor.getModel().original, editor.getModel().modified, changes);
 	}
 
-	public run():TPromise<any> {
+	public run(): TPromise<any> {
 		var result = this.getRangesAppliedResult(this.editor);
 
 		var status = (<gitei.GitWorkingTreeDiffEditorInput>this.input).getFileStatus();
@@ -430,7 +430,7 @@ export abstract class BaseStageRangesAction extends baseeditor.EditorInputAction
 		});
 	}
 
-	private updateEnablement():void {
+	private updateEnablement(): void {
 		this.enabled = this.isEnabled();
 	}
 }
@@ -439,7 +439,7 @@ export class StageRangesAction extends BaseStageRangesAction {
 	static ID = 'workbench.action.git.stageRanges';
 	static LABEL = nls.localize('stageSelectedLines', "Stage Selected Lines");
 
-	constructor(editor:tdeditor.TextDiffEditor, @IGitService gitService: IGitService, @IWorkbenchEditorService editorService : IWorkbenchEditorService) {
+	constructor(editor: tdeditor.TextDiffEditor, @IGitService gitService: IGitService, @IWorkbenchEditorService editorService: IWorkbenchEditorService) {
 		super(StageRangesAction.ID, StageRangesAction.LABEL, editor, gitService, editorService);
 	}
 }
@@ -448,79 +448,79 @@ export class UnstageRangesAction extends BaseStageRangesAction {
 	static ID = 'workbench.action.git.unstageRanges';
 	static LABEL = nls.localize('unstageSelectedLines', "Unstage Selected Lines");
 
-	constructor(editor:tdeditor.TextDiffEditor, @IGitService gitService: IGitService, @IWorkbenchEditorService editorService : IWorkbenchEditorService) {
+	constructor(editor: tdeditor.TextDiffEditor, @IGitService gitService: IGitService, @IWorkbenchEditorService editorService: IWorkbenchEditorService) {
 		super(UnstageRangesAction.ID, UnstageRangesAction.LABEL, editor, gitService, editorService);
 	}
 
 	protected getRangesAppliedResult(editor: editorbrowser.IDiffEditor) {
-	const selections = editor.getSelections();
-	const changes = getSelectedChanges(editor.getLineChanges(), selections)
-		.map(c => ({
-			modifiedStartLineNumber: c.originalStartLineNumber,
-			modifiedEndLineNumber: c.originalEndLineNumber,
-			originalStartLineNumber: c.modifiedStartLineNumber,
-			originalEndLineNumber: c.modifiedEndLineNumber
-		}));
+		const selections = editor.getSelections();
+		const changes = getSelectedChanges(editor.getLineChanges(), selections)
+			.map(c => ({
+				modifiedStartLineNumber: c.originalStartLineNumber,
+				modifiedEndLineNumber: c.originalEndLineNumber,
+				originalStartLineNumber: c.modifiedStartLineNumber,
+				originalEndLineNumber: c.modifiedEndLineNumber
+			}));
 
-	return applyChangesToModel(editor.getModel().modified, editor.getModel().original, changes);
+		return applyChangesToModel(editor.getModel().modified, editor.getModel().original, changes);
 	}
 }
 
 class FileEditorActionContributor extends baseeditor.EditorInputActionContributor {
-	private instantiationService:IInstantiationService;
+	private instantiationService: IInstantiationService;
 
-	constructor(@IInstantiationService instantiationService: IInstantiationService) {
+	constructor( @IInstantiationService instantiationService: IInstantiationService) {
 		super();
 
 		this.instantiationService = instantiationService;
 	}
 
-	public hasActionsForEditorInput(context:baseeditor.IEditorInputActionContext):boolean {
+	public hasActionsForEditorInput(context: baseeditor.IEditorInputActionContext): boolean {
 		return context.input instanceof filesCommon.FileEditorInput;
 	}
 
-	public getActionsForEditorInput(context:baseeditor.IEditorInputActionContext):baseeditor.IEditorInputAction[] {
-		return [ this.instantiationService.createInstance(OpenInDiffAction) ];
+	public getActionsForEditorInput(context: baseeditor.IEditorInputActionContext): baseeditor.IEditorInputAction[] {
+		return [this.instantiationService.createInstance(OpenInDiffAction)];
 	}
 }
 
 class GitEditorActionContributor extends baseeditor.EditorInputActionContributor {
-	private instantiationService:IInstantiationService;
+	private instantiationService: IInstantiationService;
 
-	constructor(@IInstantiationService instantiationService: IInstantiationService) {
+	constructor( @IInstantiationService instantiationService: IInstantiationService) {
 		super();
 
 		this.instantiationService = instantiationService;
 	}
 
-	public hasActionsForEditorInput(context:baseeditor.IEditorInputActionContext):boolean {
+	public hasActionsForEditorInput(context: baseeditor.IEditorInputActionContext): boolean {
 		return gitei.isGitEditorInput(context.input);
 	}
 
-	public getActionsForEditorInput(context:baseeditor.IEditorInputActionContext):baseeditor.IEditorInputAction[] {
-		return [ this.instantiationService.createInstance(OpenInEditorAction) ];
+	public getActionsForEditorInput(context: baseeditor.IEditorInputActionContext): baseeditor.IEditorInputAction[] {
+		return [this.instantiationService.createInstance(OpenInEditorAction)];
 	}
 }
 
 class GitWorkingTreeDiffEditorActionContributor extends baseeditor.EditorInputActionContributor {
-	private instantiationService:IInstantiationService;
+	private instantiationService: IInstantiationService;
 
-	constructor(@IInstantiationService instantiationService: IInstantiationService) {
+	constructor( @IInstantiationService instantiationService: IInstantiationService) {
 		super();
 
 		this.instantiationService = instantiationService;
 	}
 
-	public hasSecondaryActionsForEditorInput(context:baseeditor.IEditorInputActionContext):boolean {
+	public hasSecondaryActionsForEditorInput(context: baseeditor.IEditorInputActionContext): boolean {
 		return (context.input instanceof gitei.GitDiffEditorInput && context.editor instanceof tdeditor.TextDiffEditor);
 	}
 
-	public getSecondaryActionsForEditorInput(context:baseeditor.IEditorInputActionContext):baseeditor.IEditorInputAction[] {
+	public getSecondaryActionsForEditorInput(context: baseeditor.IEditorInputActionContext): baseeditor.IEditorInputAction[] {
 		if (context.input instanceof gitei.GitIndexDiffEditorInput) {
-			return [ this.instantiationService.createInstance(UnstageRangesAction, <tdeditor.TextDiffEditor>context.editor) ];
+			return [this.instantiationService.createInstance(UnstageRangesAction, <tdeditor.TextDiffEditor>context.editor)];
 		}
 
-		return [ this.instantiationService.createInstance(StageRangesAction, <tdeditor.TextDiffEditor>context.editor) ];
+		return [this.instantiationService.createInstance(StageRangesAction, <tdeditor.TextDiffEditor>context.editor)];
 	}
 }
 
@@ -559,7 +559,7 @@ class GlobalOpenChangeAction extends OpenChangeAction {
 		}
 
 		var sideBySide = !!(context && (context.ctrlKey || context.metaKey));
-		var editor = <editorbrowser.ICodeEditor> this.editorService.getActiveEditor().getControl();
+		var editor = <editorbrowser.ICodeEditor>this.editorService.getActiveEditor().getControl();
 		var viewState = editor ? editor.saveViewState() : null;
 
 		return this.gitService.getInput(status).then((input) => {
@@ -576,9 +576,9 @@ class GlobalOpenChangeAction extends OpenChangeAction {
 
 				return this.editorService.openEditor(input, options, sideBySide).then((editor) => {
 					if (viewState) {
-						var codeEditor = <editorbrowser.ICodeEditor> this.editorService.getActiveEditor().getControl();
+						var codeEditor = <editorbrowser.ICodeEditor>this.editorService.getActiveEditor().getControl();
 						codeEditor.restoreViewState({
-							original: { },
+							original: {},
 							modified: viewState
 						});
 					}
@@ -621,12 +621,12 @@ class GlobalOpenInEditorAction extends OpenFileAction {
 	}
 }
 
-var actionBarRegistry = <abr.IActionBarRegistry> platform.Registry.as(abr.Extensions.Actionbar);
+var actionBarRegistry = <abr.IActionBarRegistry>platform.Registry.as(abr.Extensions.Actionbar);
 actionBarRegistry.registerActionBarContributor(abr.Scope.EDITOR, FileEditorActionContributor);
 actionBarRegistry.registerActionBarContributor(abr.Scope.EDITOR, GitEditorActionContributor);
 actionBarRegistry.registerActionBarContributor(abr.Scope.EDITOR, GitWorkingTreeDiffEditorActionContributor);
 
-let workbenchActionRegistry = (<wbar.IWorkbenchActionRegistry> platform.Registry.as(wbar.Extensions.WorkbenchActions));
+let workbenchActionRegistry = (<wbar.IWorkbenchActionRegistry>platform.Registry.as(wbar.Extensions.WorkbenchActions));
 
 // Register Actions
 const category = nls.localize('git', "Git");
diff --git a/src/vs/workbench/parts/git/browser/gitActions.ts b/src/vs/workbench/parts/git/browser/gitActions.ts
index de9a8af81e087..c094940960cd9 100644
--- a/src/vs/workbench/parts/git/browser/gitActions.ts
+++ b/src/vs/workbench/parts/git/browser/gitActions.ts
@@ -24,7 +24,7 @@ import { IEventService } from 'vs/platform/event/common/event';
 import { IFileService, IFileStat } from 'vs/platform/files/common/files';
 import { IMessageService, IConfirmation } from 'vs/platform/message/common/message';
 import Severity from 'vs/base/common/severity';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
 import { IGitService, IFileStatus, Status, StatusType, ServiceState, IModel, IBranch, GitErrorCodes, IGitConfiguration } from 'vs/workbench/parts/git/common/git';
 import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
 import paths = require('vs/base/common/paths');
@@ -41,13 +41,13 @@ function flatten(context?: any, preferFocus = false): IFileStatus[] {
 		return context;
 
 	} else if (context instanceof model.FileStatus) {
-		return [<model.FileStatus> context];
+		return [<model.FileStatus>context];
 
 	} else if (context instanceof model.StatusGroup) {
-		return (<model.StatusGroup> context).all();
+		return (<model.StatusGroup>context).all();
 
 	} else if (context.tree) {
-		var elements = (<ITree> context.tree).getSelection();
+		var elements = (<ITree>context.tree).getSelection();
 		return elements.indexOf(context.fileStatus) > -1 ? elements : [context.fileStatus];
 
 	} else if (context.selection) {
@@ -79,11 +79,11 @@ export abstract class GitAction extends Action {
 		this.enabled = this.isEnabled();
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return !!this.gitService;
 	}
 
-	public abstract run(e?: any):Promise;
+	public abstract run(e?: any): Promise;
 
 	public dispose(): void {
 		this.gitService = null;
@@ -98,17 +98,17 @@ export class OpenChangeAction extends GitAction {
 	static ID = 'workbench.action.git.openChange';
 	protected editorService: IWorkbenchEditorService;
 
-	constructor(@IWorkbenchEditorService editorService: IWorkbenchEditorService, @IGitService gitService: IGitService) {
+	constructor( @IWorkbenchEditorService editorService: IWorkbenchEditorService, @IGitService gitService: IGitService) {
 		super(OpenChangeAction.ID, nls.localize('openChange', "Open Change"), 'git-action open-change', gitService);
 		this.editorService = editorService;
 		this.onGitServiceChange();
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return super.isEnabled() && !!this.editorService;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		var statuses = flatten(context, true);
 
 		return this.gitService.getInput(statuses[0]).then((input) => {
@@ -130,7 +130,7 @@ export class OpenFileAction extends GitAction {
 	protected editorService: IWorkbenchEditorService;
 	protected contextService: IWorkspaceContextService;
 
-	constructor(@IWorkbenchEditorService editorService: IWorkbenchEditorService, @IFileService fileService: IFileService, @IGitService gitService: IGitService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
+	constructor( @IWorkbenchEditorService editorService: IWorkbenchEditorService, @IFileService fileService: IFileService, @IGitService gitService: IGitService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super(OpenFileAction.ID, nls.localize('openFile', "Open File"), 'git-action open-file', gitService);
 		this.fileService = fileService;
 		this.editorService = editorService;
@@ -138,7 +138,7 @@ export class OpenFileAction extends GitAction {
 		this.onGitServiceChange();
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return super.isEnabled() && !!this.editorService || !!this.fileService;
 	}
 
@@ -156,7 +156,7 @@ export class OpenFileAction extends GitAction {
 		}
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		var statuses = flatten(context, true);
 		var status = statuses[0];
 
@@ -182,15 +182,15 @@ export class InitAction extends GitAction {
 
 	static ID = 'workbench.action.git.init';
 
-	constructor(@IGitService gitService: IGitService) {
+	constructor( @IGitService gitService: IGitService) {
 		super(InitAction.ID, nls.localize('init', "Init"), 'git-action init', gitService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return super.isEnabled() && this.gitService.getState() === ServiceState.NotARepo;
 	}
 
-	public run():Promise {
+	public run(): Promise {
 		return this.gitService.init();
 	}
 }
@@ -199,11 +199,11 @@ export class RefreshAction extends GitAction {
 
 	static ID = 'workbench.action.git.refresh';
 
-	constructor(@IGitService gitService: IGitService) {
+	constructor( @IGitService gitService: IGitService) {
 		super(RefreshAction.ID, nls.localize('refresh', "Refresh"), 'git-action refresh', gitService);
 	}
 
-	public run():Promise {
+	public run(): Promise {
 		return this.gitService.status();
 	}
 }
@@ -216,7 +216,7 @@ export abstract class BaseStageAction extends GitAction {
 		this.editorService = editorService;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		var flatContext = flatten(context);
 
 		return this.gitService.add(flatContext).then(status => {
@@ -292,15 +292,15 @@ export class GlobalStageAction extends BaseStageAction {
 
 	static ID = 'workbench.action.git.stageAll';
 
-	constructor(@IGitService gitService: IGitService, @IWorkbenchEditorService editorService: IWorkbenchEditorService) {
+	constructor( @IGitService gitService: IGitService, @IWorkbenchEditorService editorService: IWorkbenchEditorService) {
 		super(GlobalStageAction.ID, nls.localize('stageAllChanges', "Stage All"), 'git-action stage', gitService, editorService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return super.isEnabled() && this.gitService.getModel().getStatus().getWorkingTreeStatus().all().length > 0;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		return super.run();
 	}
 }
@@ -313,7 +313,7 @@ export abstract class BaseUndoAction extends GitAction {
 	private fileService: IFileService;
 	private contextService: IWorkspaceContextService;
 
-	constructor(id: string, label: string, className: string, gitService: IGitService, eventService: IEventService, messageService: IMessageService, fileService:IFileService, editorService: IWorkbenchEditorService, contextService: IWorkspaceContextService) {
+	constructor(id: string, label: string, className: string, gitService: IGitService, eventService: IEventService, messageService: IMessageService, fileService: IFileService, editorService: IWorkbenchEditorService, contextService: IWorkspaceContextService) {
 		super(id, label, className, gitService);
 		this.eventService = eventService;
 		this.editorService = editorService;
@@ -323,11 +323,11 @@ export abstract class BaseUndoAction extends GitAction {
 		this.onGitServiceChange();
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return super.isEnabled() && !!this.eventService && !!this.editorService && !!this.fileService;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		if (!this.messageService.confirm(this.getConfirm(context))) {
 			return TPromise.as(null);
 		}
@@ -335,7 +335,7 @@ export abstract class BaseUndoAction extends GitAction {
 		var promises: Promise[] = [];
 
 		if (context instanceof model.StatusGroup) {
-			promises = [ this.gitService.undo() ];
+			promises = [this.gitService.undo()];
 
 		} else {
 			var all: IFileStatus[] = flatten(context);
@@ -378,7 +378,7 @@ export abstract class BaseUndoAction extends GitAction {
 				return TPromise.as(status);
 			}
 
-			var currentGitEditorInput = <inputs.GitWorkingTreeDiffEditorInput> targetEditor.input;
+			var currentGitEditorInput = <inputs.GitWorkingTreeDiffEditorInput>targetEditor.input;
 			var currentFileStatus = currentGitEditorInput.getFileStatus();
 
 			if (all && all.every((f) => f !== currentFileStatus)) {
@@ -387,7 +387,7 @@ export abstract class BaseUndoAction extends GitAction {
 
 			var path = currentGitEditorInput.getFileStatus().getPath();
 
-			var editor = <IDiffEditor> targetEditor.getControl();
+			var editor = <IDiffEditor>targetEditor.getControl();
 			var modifiedEditorControl = editor ? <any>editor.getModifiedEditor() : null;
 			var modifiedViewState = modifiedEditorControl ? modifiedEditorControl.saveViewState() : null;
 
@@ -399,7 +399,7 @@ export abstract class BaseUndoAction extends GitAction {
 					}
 				}, targetEditor.position).then((editor) => {
 					if (modifiedViewState) {
-						var codeEditor = <ICodeEditor> targetEditor.getControl();
+						var codeEditor = <ICodeEditor>targetEditor.getControl();
 
 						if (codeEditor) {
 							codeEditor.restoreViewState(modifiedViewState);
@@ -469,15 +469,15 @@ export class GlobalUndoAction extends BaseUndoAction {
 
 	static ID = 'workbench.action.git.undoAll';
 
-	constructor(@IGitService gitService: IGitService, @IEventService eventService: IEventService, @IMessageService messageService: IMessageService, @IFileService fileService: IFileService, @IWorkbenchEditorService editorService: IWorkbenchEditorService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
+	constructor( @IGitService gitService: IGitService, @IEventService eventService: IEventService, @IMessageService messageService: IMessageService, @IFileService fileService: IFileService, @IWorkbenchEditorService editorService: IWorkbenchEditorService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super(GlobalUndoAction.ID, nls.localize('undoAllChanges', "Clean All"), 'git-action undo', gitService, eventService, messageService, fileService, editorService, contextService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return super.isEnabled() && this.gitService.getModel().getStatus().getWorkingTreeStatus().all().length > 0;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		return super.run(this.gitService.getModel().getStatus().getWorkingTreeStatus());
 	}
 }
@@ -492,11 +492,11 @@ export abstract class BaseUnstageAction extends GitAction {
 		this.onGitServiceChange();
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return super.isEnabled() && !!this.editorService;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		var flatContext = flatten(context);
 
 		return this.gitService.revertFiles('HEAD', flatContext).then((status: IModel) => {
@@ -519,7 +519,7 @@ export abstract class BaseUnstageAction extends GitAction {
 				return TPromise.as(status);
 			}
 
-			var editorControl = <any> targetEditor.getControl();
+			var editorControl = <any>targetEditor.getControl();
 			var viewState = editorControl ? editorControl.saveViewState() : null;
 
 			return this.gitService.getInput(fileStatus).then((input) => {
@@ -572,15 +572,15 @@ export class GlobalUnstageAction extends BaseUnstageAction {
 
 	static ID = 'workbench.action.git.unstageAll';
 
-	constructor(@IGitService gitService: IGitService, @IWorkbenchEditorService editorService: IWorkbenchEditorService) {
+	constructor( @IGitService gitService: IGitService, @IWorkbenchEditorService editorService: IWorkbenchEditorService) {
 		super(GlobalUnstageAction.ID, nls.localize('unstageAllChanges', "Unstage All"), 'git-action unstage', gitService, editorService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return super.isEnabled() && this.gitService.getModel().getStatus().getIndexStatus().all().length > 0;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		return super.run();
 	}
 }
@@ -626,11 +626,11 @@ export class CheckoutAction extends GitAction {
 		super.onGitServiceChange();
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return super.isEnabled() && !!this.HEAD;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		if (this.state !== LifecycleState.Alive) {
 			return Promise.wrapError('action disposed');
 		} else if (this.HEAD && this.HEAD.name === this.branch.name) {
@@ -674,25 +674,25 @@ export class CheckoutAction extends GitAction {
 export class BranchAction extends GitAction {
 
 	static ID = 'workbench.action.git.branch';
-	private checkout:boolean;
+	private checkout: boolean;
 
 	constructor(checkout: boolean, @IGitService gitService: IGitService) {
 		super(BranchAction.ID, 'Branch', 'git-action checkout', gitService);
 		this.checkout = checkout;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		if (!isString(context)) {
 			return TPromise.as(false);
 		}
 
-		return this.gitService.branch(<string> context, this.checkout);
+		return this.gitService.branch(<string>context, this.checkout);
 	}
 }
 
 export interface ICommitState extends IEventEmitter {
-	getCommitMessage():string;
-	onEmptyCommitMessage():void;
+	getCommitMessage(): string;
+	onEmptyCommitMessage(): void;
 }
 
 export abstract class BaseCommitAction extends GitAction {
@@ -710,11 +710,11 @@ export abstract class BaseCommitAction extends GitAction {
 		this.onGitServiceChange();
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		return super.isEnabled() && this.gitService.getModel().getStatus().getIndexStatus().all().length > 0;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		if (!this.commitState.getCommitMessage()) {
 			this.commitState.onEmptyCommitMessage();
 			return TPromise.as(null);
@@ -766,7 +766,7 @@ export class InputCommitAction extends GitAction {
 		super(id, label, '', gitService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		if (!this.gitService) {
 			return false;
 		}
@@ -808,7 +808,7 @@ export class StageAndCommitAction extends BaseCommitAction {
 		super(commitState, id, label, cssClass, gitService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		if (!this.gitService) {
 			return false;
 		}
@@ -874,7 +874,7 @@ export class SmartCommitAction extends BaseCommitAction {
 		this.label += ' (' + (platform.isMacintosh ? 'Cmd+Enter' : 'Ctrl+Enter') + ')';
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		if (!this.gitService) {
 			return false;
 		}
@@ -908,7 +908,7 @@ export class PullAction extends GitAction {
 		super(id, label, 'git-action pull', gitService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		if (!super.isEnabled()) {
 			return false;
 		}
@@ -927,7 +927,7 @@ export class PullAction extends GitAction {
 		return true;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		return this.pull();
 	}
 
@@ -949,11 +949,11 @@ export class PullWithRebaseAction extends PullAction {
 	static ID = 'workbench.action.git.pull.rebase';
 	static LABEL = 'Pull (Rebase)';
 
-	constructor(@IGitService gitService: IGitService) {
+	constructor( @IGitService gitService: IGitService) {
 		super(PullWithRebaseAction.ID, PullWithRebaseAction.LABEL, gitService);
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		return this.pull(true);
 	}
 }
@@ -971,7 +971,7 @@ export class PushAction extends GitAction {
 		super(id, label, 'git-action push', gitService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		if (!super.isEnabled()) {
 			return false;
 		}
@@ -994,7 +994,7 @@ export class PushAction extends GitAction {
 		return true;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		return this.gitService.push().then(null, (err) => {
 			if (err.gitErrorCode === GitErrorCodes.AuthenticationFailed) {
 				return Promise.wrapError(errors.create(nls.localize('authFailed', "Authentication failed on the git remote.")));
@@ -1020,7 +1020,7 @@ export class PublishAction extends GitAction {
 		super(id, label, 'git-action publish', gitService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		if (!super.isEnabled()) {
 			return false;
 		}
@@ -1044,7 +1044,7 @@ export class PublishAction extends GitAction {
 		return true;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		const model = this.gitService.getModel();
 		const remotes = model.getRemotes();
 		const branchName = model.getHEAD().name;
@@ -1095,7 +1095,7 @@ export class SyncAction extends GitAction {
 		super(id, label, 'git-action sync', gitService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		if (!super.isEnabled()) {
 			return false;
 		}
@@ -1114,7 +1114,7 @@ export class SyncAction extends GitAction {
 		return true;
 	}
 
-	public run(context?: any):Promise {
+	public run(context?: any): Promise {
 		if (!this.enabled) {
 			return TPromise.as(null);
 		}
@@ -1148,7 +1148,7 @@ export class UndoLastCommitAction extends GitAction {
 		super(UndoLastCommitAction.ID, UndoLastCommitAction.LABEL, 'git-action undo-last-commit', gitService);
 	}
 
-	protected isEnabled():boolean {
+	protected isEnabled(): boolean {
 		if (!this.gitService) {
 			return false;
 		}
@@ -1163,7 +1163,7 @@ export class UndoLastCommitAction extends GitAction {
 			&& status.getWorkingTreeStatus().all().length === 0;
 	}
 
-	public run():Promise {
+	public run(): Promise {
 		return this.gitService.reset('HEAD~');
 	}
 }
@@ -1179,7 +1179,7 @@ export class StartGitCheckoutAction extends Action {
 		this.quickOpenService = quickOpenService;
 	}
 
-	public run(event?:any): Promise {
+	public run(event?: any): Promise {
 		this.quickOpenService.show('git checkout ');
 		return TPromise.as(null);
 	}
@@ -1196,7 +1196,7 @@ export class StartGitBranchAction extends Action {
 		this.quickOpenService = quickOpenService;
 	}
 
-	public run(event?:any): Promise {
+	public run(event?: any): Promise {
 		this.quickOpenService.show('git branch ');
 		return TPromise.as(null);
 	}
diff --git a/src/vs/workbench/parts/git/browser/gitEditorContributions.ts b/src/vs/workbench/parts/git/browser/gitEditorContributions.ts
index 5dbd1fb6dbafc..1a4fa74296d24 100644
--- a/src/vs/workbench/parts/git/browser/gitEditorContributions.ts
+++ b/src/vs/workbench/parts/git/browser/gitEditorContributions.ts
@@ -31,7 +31,7 @@ class MergeDecoratorBoundToModel extends Disposable {
 	constructor(
 		private editor: ICodeEditor,
 		private model: IModel,
-		private filePath:string,
+		private filePath: string,
 		private gitService: IGitService
 	) {
 		super();
@@ -76,7 +76,7 @@ export class MergeDecorator extends Disposable implements IEditorContribution {
 
 	static ID = 'vs.git.editor.merge.decorator';
 
-	static DECORATION_OPTIONS:IModelDecorationOptions = {
+	static DECORATION_OPTIONS: IModelDecorationOptions = {
 		className: 'git-merge-control-decoration',
 		isWholeLine: true,
 		overviewRuler: {
@@ -92,7 +92,7 @@ export class MergeDecorator extends Disposable implements IEditorContribution {
 	constructor(
 		private editor: ICodeEditor,
 		@IGitService private gitService: IGitService,
-		@IWorkspaceContextService private contextService : IWorkspaceContextService
+		@IWorkspaceContextService private contextService: IWorkspaceContextService
 	) {
 		super();
 
diff --git a/src/vs/workbench/parts/git/browser/gitEditorInputs.ts b/src/vs/workbench/parts/git/browser/gitEditorInputs.ts
index 4fab399dd43be..2ffc6ee341aa3 100644
--- a/src/vs/workbench/parts/git/browser/gitEditorInputs.ts
+++ b/src/vs/workbench/parts/git/browser/gitEditorInputs.ts
@@ -11,14 +11,14 @@ import WorkbenchEditorCommon = require('vs/workbench/common/editor');
 import stringei = require('vs/workbench/common/editor/stringEditorInput');
 import diffei = require('vs/workbench/common/editor/diffEditorInput');
 import git = require('vs/workbench/parts/git/common/git');
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IEditorInput} from 'vs/platform/editor/common/editor';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IEditorInput } from 'vs/platform/editor/common/editor';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 
 import IGitService = git.IGitService;
 
 export interface IEditorInputWithStatus {
-	getFileStatus():git.IFileStatus;
+	getFileStatus(): git.IFileStatus;
 }
 
 export function isGitEditorInput(input: IEditorInput): boolean {
@@ -27,17 +27,16 @@ export function isGitEditorInput(input: IEditorInput): boolean {
 
 export class GitDiffEditorInput
 	extends diffei.DiffEditorInput
-	implements IEditorInputWithStatus
-{
+	implements IEditorInputWithStatus {
 	private status: git.IFileStatus;
 
-	constructor(name:string, description:string, originalInput:WorkbenchEditorCommon.EditorInput, modifiedInput:WorkbenchEditorCommon.EditorInput, status:git.IFileStatus) {
+	constructor(name: string, description: string, originalInput: WorkbenchEditorCommon.EditorInput, modifiedInput: WorkbenchEditorCommon.EditorInput, status: git.IFileStatus) {
 		super(name, description, originalInput, modifiedInput);
 
 		this.status = status;
 	}
 
-	public getFileStatus():git.IFileStatus {
+	public getFileStatus(): git.IFileStatus {
 		return this.status;
 	}
 
@@ -64,7 +63,7 @@ export class GitWorkingTreeDiffEditorInput extends GitDiffEditorInput {
 
 	static ID = 'vs.git.workingTreeDiffInput';
 
-	constructor(name:string, description:string, originalInput:WorkbenchEditorCommon.EditorInput, modifiedInput:WorkbenchEditorCommon.EditorInput, status:git.IFileStatus) {
+	constructor(name: string, description: string, originalInput: WorkbenchEditorCommon.EditorInput, modifiedInput: WorkbenchEditorCommon.EditorInput, status: git.IFileStatus) {
 		super(name, description, originalInput, modifiedInput, status);
 	}
 
@@ -75,9 +74,9 @@ export class GitWorkingTreeDiffEditorInput extends GitDiffEditorInput {
 
 export class GitIndexDiffEditorInput extends GitDiffEditorInput {
 
-	static ID:string = 'vs.git.indexDiffInput';
+	static ID: string = 'vs.git.indexDiffInput';
 
-	constructor(name:string, description:string, originalInput:WorkbenchEditorCommon.EditorInput, modifiedInput:WorkbenchEditorCommon.EditorInput, status:git.IFileStatus) {
+	constructor(name: string, description: string, originalInput: WorkbenchEditorCommon.EditorInput, modifiedInput: WorkbenchEditorCommon.EditorInput, status: git.IFileStatus) {
 		super(name, description, originalInput, modifiedInput, status);
 	}
 
@@ -88,8 +87,7 @@ export class GitIndexDiffEditorInput extends GitDiffEditorInput {
 
 export class NativeGitIndexStringEditorInput
 	extends stringei.StringEditorInput
-	implements IEditorInputWithStatus
-{
+	implements IEditorInputWithStatus {
 	public static ID = 'vs.git.stringEditorInput';
 
 	private gitService: IGitService;
@@ -127,7 +125,7 @@ export class NativeGitIndexStringEditorInput
 		return this.status;
 	}
 
-	public resolve(refresh?:boolean):winjs.TPromise<WorkbenchEditorCommon.EditorModel> {
+	public resolve(refresh?: boolean): winjs.TPromise<WorkbenchEditorCommon.EditorModel> {
 		if (refresh || !this.getValue()) {
 			return this.gitService.buffer(this.path, this.treeish).then(contents => {
 				if (this.getValue() !== contents) {
@@ -150,7 +148,7 @@ export class NativeGitIndexStringEditorInput
 		this.delayer.trigger(() => this.resolve(true));
 	}
 
-	public dispose():void {
+	public dispose(): void {
 		if (this.delayer) {
 			this.delayer.cancel();
 			this.delayer = null;
diff --git a/src/vs/workbench/parts/git/browser/gitOutput.ts b/src/vs/workbench/parts/git/browser/gitOutput.ts
index b493da7782c38..73a49be3257e1 100644
--- a/src/vs/workbench/parts/git/browser/gitOutput.ts
+++ b/src/vs/workbench/parts/git/browser/gitOutput.ts
@@ -18,7 +18,7 @@ export class GitOutput implements IWorkbenchContribution {
 	private gitService: IGitService;
 	private outputService: IOutputService;
 
-	constructor(@IGitService gitService: IGitService, @IOutputService outputService: IOutputService) {
+	constructor( @IGitService gitService: IGitService, @IOutputService outputService: IOutputService) {
 		this.gitService = gitService;
 		this.outputService = outputService;
 
diff --git a/src/vs/workbench/parts/git/browser/gitQuickOpen.ts b/src/vs/workbench/parts/git/browser/gitQuickOpen.ts
index 0f619f9aed91f..0472b17306849 100644
--- a/src/vs/workbench/parts/git/browser/gitQuickOpen.ts
+++ b/src/vs/workbench/parts/git/browser/gitQuickOpen.ts
@@ -34,7 +34,7 @@ class AbstractRefEntry extends QuickOpenEntry {
 	getDescription(): string { return ''; }
 	getAriaLabel(): string { return localize('refAriaLabel', "{0}, git", this.getLabel()); }
 
-	run(mode: Mode, context: IContext):boolean {
+	run(mode: Mode, context: IContext): boolean {
 		if (mode === Mode.PREVIEW) {
 			return false;
 		}
@@ -111,7 +111,7 @@ class BranchEntry extends QuickOpenEntry {
 	getAriaLabel(): string { return localize({ key: 'branchAriaLabel', comment: ['the branch name'] }, "{0}, git branch", this.getLabel()); }
 	getDescription(): string { return localize('createBranch', "Create branch {0}", this.name); }
 
-	run(mode: Mode, context: IContext):boolean {
+	run(mode: Mode, context: IContext): boolean {
 		if (mode === Mode.PREVIEW) {
 			return false;
 		}
@@ -246,7 +246,7 @@ class BranchCommand implements ICommand {
 
 export class GitCommandQuickOpenHandler extends CommandQuickOpenHandler {
 
-	constructor(@IQuickOpenService quickOpenService: IQuickOpenService, @IGitService gitService: IGitService, @IMessageService messageService: IMessageService) {
+	constructor( @IQuickOpenService quickOpenService: IQuickOpenService, @IGitService gitService: IGitService, @IMessageService messageService: IMessageService) {
 		super(quickOpenService, {
 			prefix: 'git',
 			commands: [
diff --git a/src/vs/workbench/parts/git/browser/gitServices.ts b/src/vs/workbench/parts/git/browser/gitServices.ts
index 5b9ac5a66a0c2..fa7a0931bbe56 100644
--- a/src/vs/workbench/parts/git/browser/gitServices.ts
+++ b/src/vs/workbench/parts/git/browser/gitServices.ts
@@ -15,8 +15,10 @@ import * as paths from 'vs/base/common/paths';
 import { once } from 'vs/base/common/event';
 import { EventEmitter } from 'vs/base/common/eventEmitter';
 import { EditorInput } from 'vs/workbench/common/editor';
-import { IFileStatus, IGitServiceError, GitErrorCodes, Status, StatusType, AutoFetcherState, IGitConfiguration, IAutoFetcher, ServiceEvents, ServiceState,
-	IModel, IGitOperation, IRawGitService, IGitService, RawServiceState, ServiceOperations, IPushOptions, ICommit, IRawStatus } from 'vs/workbench/parts/git/common/git';
+import {
+	IFileStatus, IGitServiceError, GitErrorCodes, Status, StatusType, AutoFetcherState, IGitConfiguration, IAutoFetcher, ServiceEvents, ServiceState,
+	IModel, IGitOperation, IRawGitService, IGitService, RawServiceState, ServiceOperations, IPushOptions, ICommit, IRawStatus
+} from 'vs/workbench/parts/git/common/git';
 import { Model } from 'vs/workbench/parts/git/common/gitModel';
 import { NativeGitIndexStringEditorInput, GitIndexDiffEditorInput, GitWorkingTreeDiffEditorInput, GitDiffEditorInput } from 'vs/workbench/parts/git/browser/gitEditorInputs';
 import { GitOperation } from 'vs/workbench/parts/git/browser/gitOperations';
@@ -384,7 +386,7 @@ const IgnoreOldGitStorageKey = 'settings.workspace.git.ignoreOld';
 
 export class GitService extends EventEmitter
 	implements
-		IGitService {
+	IGitService {
 
 	_serviceBrand: any;
 
diff --git a/src/vs/workbench/parts/git/browser/gitViewlet.ts b/src/vs/workbench/parts/git/browser/gitViewlet.ts
index c3ef3fe5b4253..997fbeaf50802 100644
--- a/src/vs/workbench/parts/git/browser/gitViewlet.ts
+++ b/src/vs/workbench/parts/git/browser/gitViewlet.ts
@@ -22,16 +22,15 @@ import notroot = require('vs/workbench/parts/git/browser/views/notroot/notrootVi
 import noworkspace = require('vs/workbench/parts/git/browser/views/noworkspace/noworkspaceView');
 import { DisabledView } from './views/disabled/disabledView';
 import { HugeView } from './views/huge/hugeView';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IProgressService, IProgressRunner} from 'vs/platform/progress/common/progress';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IProgressService, IProgressRunner } from 'vs/platform/progress/common/progress';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 
 import IGitService = git.IGitService;
 
 export class GitViewlet
 	extends viewlet.Viewlet
-	implements view.IController
-{
+	implements view.IController {
 	private progressService: IProgressService;
 	private gitService: git.IGitService;
 	private instantiationService: IInstantiationService;
@@ -40,12 +39,12 @@ export class GitViewlet
 	private currentView: view.IView;
 	private progressRunner: IProgressRunner;
 
-	private currentDimension:$.Dimension;
-	private views: { [id:string]: view.IView; };
+	private currentDimension: $.Dimension;
+	private views: { [id: string]: view.IView; };
 
 	private toDispose: lifecycle.IDisposable[];
 
-	constructor(@ITelemetryService telemetryService: ITelemetryService, @IProgressService progressService: IProgressService, @IInstantiationService instantiationService: IInstantiationService, @IGitService gitService: IGitService) {
+	constructor( @ITelemetryService telemetryService: ITelemetryService, @IProgressService progressService: IProgressService, @IInstantiationService instantiationService: IInstantiationService, @IGitService gitService: IGitService) {
 		super(contrib.VIEWLET_ID, telemetryService);
 
 		this.progressService = progressService;
@@ -53,7 +52,7 @@ export class GitViewlet
 		this.gitService = gitService;
 
 		this.progressRunner = null;
-		this.views = <any> {};
+		this.views = <any>{};
 		this.toDispose = [];
 
 		var views: view.IView[] = [
@@ -114,7 +113,7 @@ export class GitViewlet
 
 	// Viewlet
 
-	public create(parent:$.Builder): winjs.TPromise<void> {
+	public create(parent: $.Builder): winjs.TPromise<void> {
 		super.create(parent);
 
 		this.$el = parent.div().addClass('git-viewlet');
@@ -122,7 +121,7 @@ export class GitViewlet
 		return winjs.TPromise.as(null);
 	}
 
-	public setVisible(visible:boolean): winjs.TPromise<void> {
+	public setVisible(visible: boolean): winjs.TPromise<void> {
 		if (visible) {
 			this.onGitServiceChanges();
 
@@ -140,7 +139,7 @@ export class GitViewlet
 		}
 	}
 
-	public focus():void {
+	public focus(): void {
 		super.focus();
 
 		if (this.currentView) {
@@ -148,7 +147,7 @@ export class GitViewlet
 		}
 	}
 
-	public layout(dimension:$.Dimension = this.currentDimension):void {
+	public layout(dimension: $.Dimension = this.currentDimension): void {
 		this.currentDimension = dimension;
 
 		if (this.currentView) {
diff --git a/src/vs/workbench/parts/git/browser/gitWorkbenchContributions.ts b/src/vs/workbench/parts/git/browser/gitWorkbenchContributions.ts
index be281349722e7..700cbc0400953 100644
--- a/src/vs/workbench/parts/git/browser/gitWorkbenchContributions.ts
+++ b/src/vs/workbench/parts/git/browser/gitWorkbenchContributions.ts
@@ -23,37 +23,36 @@ import widgets = require('vs/workbench/parts/git/browser/gitWidgets');
 import wbar = require('vs/workbench/common/actionRegistry');
 import gitoutput = require('vs/workbench/parts/git/browser/gitOutput');
 import output = require('vs/workbench/parts/output/common/output');
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
 import confregistry = require('vs/platform/configuration/common/configurationRegistry');
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
 import quickopen = require('vs/workbench/browser/quickopen');
 import 'vs/workbench/parts/git/browser/gitEditorContributions';
-import {IActivityService, ProgressBadge, NumberBadge} from 'vs/workbench/services/activity/common/activityService';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {RawText} from 'vs/editor/common/model/textModel';
-import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
+import { IActivityService, ProgressBadge, NumberBadge } from 'vs/workbench/services/activity/common/activityService';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { RawText } from 'vs/editor/common/model/textModel';
+import { IEditorWorkerService } from 'vs/editor/common/services/editorWorkerService';
 import URI from 'vs/base/common/uri';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {Schemas} from 'vs/base/common/network';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { Schemas } from 'vs/base/common/network';
 
 import IGitService = git.IGitService;
 
-export class StatusUpdater implements ext.IWorkbenchContribution
-{
+export class StatusUpdater implements ext.IWorkbenchContribution {
 	static ID = 'vs.git.statusUpdater';
 
 	private gitService: IGitService;
 	private eventService: IEventService;
-	private activityService:IActivityService;
-	private messageService:IMessageService;
-	private configurationService:IConfigurationService;
+	private activityService: IActivityService;
+	private messageService: IMessageService;
+	private configurationService: IConfigurationService;
 	private progressBadgeDelayer: async.Delayer<void>;
 	private toDispose: lifecycle.IDisposable[];
 
@@ -269,7 +268,7 @@ class DirtyDiffModelDecorator {
 			}
 
 			return this.editorWorkerService.computeDirtyDiff(this._originalContentsURI, this.model.uri, true);
-		}).then((diff:common.IChange[]) => {
+		}).then((diff: common.IChange[]) => {
 			if (!this.model || this.model.isDisposed()) {
 				return; // disposed
 			}
@@ -278,7 +277,7 @@ class DirtyDiffModelDecorator {
 		});
 	}
 
-	private static changesToDecorations(diff:common.IChange[]): common.IModelDeltaDecoration[] {
+	private static changesToDecorations(diff: common.IChange[]): common.IModelDeltaDecoration[] {
 		return diff.map((change) => {
 			var startLineNumber = change.modifiedStartLineNumber;
 			var endLineNumber = change.modifiedEndLineNumber || startLineNumber;
@@ -344,7 +343,7 @@ export class DirtyDiffDecorator implements ext.IWorkbenchContribution {
 	private contextService: IWorkspaceContextService;
 	private instantiationService: IInstantiationService;
 	private models: common.IModel[];
-	private decorators: { [modelId:string]: DirtyDiffModelDecorator };
+	private decorators: { [modelId: string]: DirtyDiffModelDecorator };
 	private toDispose: lifecycle.IDisposable[];
 
 	constructor(
@@ -399,7 +398,7 @@ export class DirtyDiffDecorator implements ext.IWorkbenchContribution {
 			.filter(c => c instanceof widget.CodeEditor)
 
 			// map to models
-			.map(e => (<widget.CodeEditor> e).getModel())
+			.map(e => (<widget.CodeEditor>e).getModel())
 
 			// remove nulls and duplicates
 			.filter((m, i, a) => !!m && a.indexOf(m, i + 1) === -1)
@@ -485,7 +484,7 @@ export function registerContributions(): void {
 	));
 
 	// Register Action to Open Viewlet
-	(<wbar.IWorkbenchActionRegistry> platform.Registry.as(wbar.Extensions.WorkbenchActions)).registerWorkbenchAction(
+	(<wbar.IWorkbenchActionRegistry>platform.Registry.as(wbar.Extensions.WorkbenchActions)).registerWorkbenchAction(
 		new SyncActionDescriptor(OpenGitViewletAction, OpenGitViewletAction.ID, OpenGitViewletAction.LABEL, {
 			primary: null,
 			win: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_G },
diff --git a/src/vs/workbench/parts/git/browser/views/changes/changesView.ts b/src/vs/workbench/parts/git/browser/views/changes/changesView.ts
index d27274df10866..c1348b7ef0b4d 100644
--- a/src/vs/workbench/parts/git/browser/views/changes/changesView.ts
+++ b/src/vs/workbench/parts/git/browser/views/changes/changesView.ts
@@ -15,7 +15,7 @@ import Errors = require('vs/base/common/errors');
 import * as paths from 'vs/base/common/paths';
 import WinJS = require('vs/base/common/winjs.base');
 import Builder = require('vs/base/browser/builder');
-import {StandardKeyboardEvent, IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
+import { StandardKeyboardEvent, IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
 import Actions = require('vs/base/common/actions');
 import ActionBar = require('vs/base/browser/ui/actionbar/actionbar');
 import Tree = require('vs/base/parts/tree/browser/tree');
@@ -26,20 +26,20 @@ import GitActions = require('vs/workbench/parts/git/browser/gitActions');
 import GitModel = require('vs/workbench/parts/git/common/gitModel');
 import Viewer = require('vs/workbench/parts/git/browser/views/changes/changesViewer');
 import GitEditorInputs = require('vs/workbench/parts/git/browser/gitEditorInputs');
-import {IOutputService} from 'vs/workbench/parts/output/common/output';
+import { IOutputService } from 'vs/workbench/parts/output/common/output';
 import WorkbenchEditorCommon = require('vs/workbench/common/editor');
 import InputBox = require('vs/base/browser/ui/inputbox/inputBox');
 import Severity from 'vs/base/common/severity';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {IEditorInput} from 'vs/platform/editor/common/editor';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IEventService} from 'vs/platform/event/common/event';
-import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { IEditorInput } from 'vs/platform/editor/common/editor';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IEventService } from 'vs/platform/event/common/event';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
 
 import IGitService = git.IGitService;
 
@@ -115,7 +115,7 @@ export class ChangesView extends EventEmitter.EventEmitter implements GitView.IV
 
 	// IView
 
-	public get element():HTMLElement {
+	public get element(): HTMLElement {
 		this.render();
 		return this.$el.getHTMLElement();
 	}
@@ -158,7 +158,7 @@ export class ChangesView extends EventEmitter.EventEmitter implements GitView.IV
 		this.commitInputBox.onDidChange((value) => this.emit('change', value));
 		this.commitInputBox.onDidHeightChange((value) => this.emit('heightchange', value));
 
-		$(this.commitInputBox.inputElement).on('keydown', (e:KeyboardEvent) => {
+		$(this.commitInputBox.inputElement).on('keydown', (e: KeyboardEvent) => {
 			var keyboardEvent = new StandardKeyboardEvent(e);
 
 			if (keyboardEvent.equals(KeyMod.CtrlCmd | KeyCode.Enter) || keyboardEvent.equals(KeyMod.CtrlCmd | KeyCode.KEY_S)) {
@@ -190,10 +190,10 @@ export class ChangesView extends EventEmitter.EventEmitter implements GitView.IV
 			dnd: dnd,
 			controller: controller
 		}, {
-			indentPixels: 0,
-			twistiePixels: 20,
-			ariaLabel: nls.localize('treeAriaLabel', "Git Changes View")
-		});
+				indentPixels: 0,
+				twistiePixels: 20,
+				ariaLabel: nls.localize('treeAriaLabel', "Git Changes View")
+			});
 
 		this.tree.setInput(this.gitService.getModel().getStatus());
 		this.tree.expandAll(this.gitService.getModel().getStatus().getGroups());
@@ -202,7 +202,7 @@ export class ChangesView extends EventEmitter.EventEmitter implements GitView.IV
 		this.toDispose.push(this.commitInputBox.onDidHeightChange(() => this.layout()));
 	}
 
-	public focus():void {
+	public focus(): void {
 		var selection = this.tree.getSelection();
 		if (selection.length > 0) {
 			this.tree.reveal(selection[0], 0.5).done(null, Errors.onUnexpectedError);
@@ -211,7 +211,7 @@ export class ChangesView extends EventEmitter.EventEmitter implements GitView.IV
 		this.commitInputBox.focus();
 	}
 
-	public layout(dimension:Builder.Dimension = this.currentDimension):void {
+	public layout(dimension: Builder.Dimension = this.currentDimension): void {
 		if (!dimension) {
 			return;
 		}
@@ -230,7 +230,7 @@ export class ChangesView extends EventEmitter.EventEmitter implements GitView.IV
 		}
 	}
 
-	public setVisible(visible:boolean): WinJS.TPromise<void> {
+	public setVisible(visible: boolean): WinJS.TPromise<void> {
 		this.visible = visible;
 
 		if (visible) {
@@ -374,7 +374,7 @@ export class ChangesView extends EventEmitter.EventEmitter implements GitView.IV
 
 		var isDoubleClick = isMouseOrigin && e.payload.originalEvent && e.payload.originalEvent.detail === 2;
 
-		var status = <git.IFileStatus> element;
+		var status = <git.IFileStatus>element;
 
 		this.gitService.getInput(status).done((input) => {
 			var options = new WorkbenchEditorCommon.TextDiffEditorOptions();
@@ -382,7 +382,7 @@ export class ChangesView extends EventEmitter.EventEmitter implements GitView.IV
 			if (isMouseOrigin) {
 				options.preserveFocus = true;
 
-				var originalEvent:MouseEvent = e && e.payload && e.payload.origin === 'mouse' && e.payload.originalEvent;
+				var originalEvent: MouseEvent = e && e.payload && e.payload.origin === 'mouse' && e.payload.originalEvent;
 				if (originalEvent && originalEvent.detail === 2) {
 					options.preserveFocus = false;
 					originalEvent.preventDefault(); // focus moves to editor, we need to prevent default
@@ -442,11 +442,11 @@ export class ChangesView extends EventEmitter.EventEmitter implements GitView.IV
 		}
 
 		if (input instanceof GitEditorInputs.GitDiffEditorInput) {
-			return (<GitEditorInputs.GitDiffEditorInput> input).getFileStatus();
+			return (<GitEditorInputs.GitDiffEditorInput>input).getFileStatus();
 		}
 
 		if (input instanceof GitEditorInputs.NativeGitIndexStringEditorInput) {
-			return (<GitEditorInputs.NativeGitIndexStringEditorInput> input).getFileStatus() || null;
+			return (<GitEditorInputs.NativeGitIndexStringEditorInput>input).getFileStatus() || null;
 		}
 
 		const fileInput = WorkbenchEditorCommon.asFileEditorInput(input);
diff --git a/src/vs/workbench/parts/git/browser/views/changes/changesViewer.ts b/src/vs/workbench/parts/git/browser/views/changes/changesViewer.ts
index a40f13474107f..f785c15d10f2e 100644
--- a/src/vs/workbench/parts/git/browser/views/changes/changesViewer.ts
+++ b/src/vs/workbench/parts/git/browser/views/changes/changesViewer.ts
@@ -45,11 +45,11 @@ const $ = dom.$;
 
 export class ActionContainer implements lifecycle.IDisposable {
 
-	private cache: { [actionId:string]:actions.IAction; };
+	private cache: { [actionId: string]: actions.IAction; };
 	private instantiationService: IInstantiationService;
 
 	constructor(instantiationService: IInstantiationService) {
-		this.cache = <any> {};
+		this.cache = <any>{};
 		this.instantiationService = instantiationService;
 	}
 
@@ -79,7 +79,7 @@ export class DataSource implements tree.IDataSource {
 		if (element instanceof gitmodel.StatusModel) {
 			return 'root';
 		} else if (element instanceof gitmodel.StatusGroup) {
-			var statusGroup = <git.IStatusGroup> element;
+			var statusGroup = <git.IStatusGroup>element;
 
 			switch (statusGroup.getType()) {
 				case git.StatusType.INDEX: return 'index';
@@ -89,7 +89,7 @@ export class DataSource implements tree.IDataSource {
 			}
 		}
 
-		var status = <git.IFileStatus> element;
+		var status = <git.IFileStatus>element;
 		return status.getId();
 	}
 
@@ -97,18 +97,18 @@ export class DataSource implements tree.IDataSource {
 		if (element instanceof gitmodel.StatusModel) {
 			return true;
 		} else if (element instanceof gitmodel.StatusGroup) {
-			var statusGroup = <git.IStatusGroup> element;
+			var statusGroup = <git.IStatusGroup>element;
 			return statusGroup.all().length > 0;
 		}
 	}
 
 	public getChildren(tree: tree.ITree, element: any): winjs.Promise {
 		if (element instanceof gitmodel.StatusModel) {
-			var model = <git.IStatusModel> element;
+			var model = <git.IStatusModel>element;
 			return winjs.TPromise.as(model.getGroups());
 
 		} else if (element instanceof gitmodel.StatusGroup) {
-			var statusGroup = <git.IStatusGroup> element;
+			var statusGroup = <git.IStatusGroup>element;
 			return winjs.TPromise.as(statusGroup.all());
 		}
 
@@ -124,7 +124,7 @@ export class ActionProvider extends ActionContainer implements actionsrenderer.I
 
 	private gitService: git.IGitService;
 
-	constructor(@IInstantiationService instantiationService: IInstantiationService, @IGitService gitService: IGitService) {
+	constructor( @IInstantiationService instantiationService: IInstantiationService, @IGitService gitService: IGitService) {
 		super(instantiationService);
 		this.gitService = gitService;
 	}
@@ -132,7 +132,7 @@ export class ActionProvider extends ActionContainer implements actionsrenderer.I
 	public hasActions(tree: tree.ITree, element: any): boolean {
 		if (element instanceof gitmodel.FileStatus) {
 			return true;
-		} else if (element instanceof gitmodel.StatusGroup && (<git.IStatusGroup> element).all().length > 0) {
+		} else if (element instanceof gitmodel.StatusGroup && (<git.IStatusGroup>element).all().length > 0) {
 			return true;
 		}
 		return false;
@@ -180,7 +180,7 @@ export class ActionProvider extends ActionContainer implements actionsrenderer.I
 		return this.getActions(tree, element).then((actions: actions.IAction[]) => {
 
 			if (element instanceof gitmodel.FileStatus) {
-				var fileStatus = <gitmodel.FileStatus> element;
+				var fileStatus = <gitmodel.FileStatus>element;
 				var status = fileStatus.getStatus();
 
 				actions.push(new actionbar.Separator());
@@ -225,7 +225,7 @@ const MERGE_CHANGES = nls.localize('mergeChanges', "Merge Changes");
 export class Renderer implements tree.IRenderer {
 
 	constructor(
-		private actionProvider:ActionProvider,
+		private actionProvider: ActionProvider,
 		private actionRunner: actions.IActionRunner,
 		@IMessageService private messageService: IMessageService,
 		@IGitService private gitService: IGitService,
@@ -234,7 +234,7 @@ export class Renderer implements tree.IRenderer {
 		// noop
 	}
 
-	public getHeight(tree:tree.ITree, element:any): number {
+	public getHeight(tree: tree.ITree, element: any): number {
 		return 22;
 	}
 
@@ -272,9 +272,9 @@ export class Renderer implements tree.IRenderer {
 		data.root = dom.append(container, $('.status-group'));
 
 		switch (statusType) {
-			case git.StatusType.INDEX:			data.root.textContent = STAGED_CHANGES; break;
-			case git.StatusType.WORKING_TREE:	data.root.textContent = CHANGES; break;
-			case git.StatusType.MERGE:			data.root.textContent = MERGE_CHANGES; break;
+			case git.StatusType.INDEX: data.root.textContent = STAGED_CHANGES; break;
+			case git.StatusType.WORKING_TREE: data.root.textContent = CHANGES; break;
+			case git.StatusType.MERGE: data.root.textContent = MERGE_CHANGES; break;
 		}
 
 		const wrapper = dom.append(container, $('.count-badge-wrapper'));
@@ -311,9 +311,9 @@ export class Renderer implements tree.IRenderer {
 
 	public renderElement(tree: tree.ITree, element: any, templateId: string, templateData: any): void {
 		if (/^file:/.test(templateId)) {
-			this.renderFileStatus(tree, <git.IFileStatus> element, templateData);
+			this.renderFileStatus(tree, <git.IFileStatus>element, templateData);
 		} else {
-			Renderer.renderStatusGroup(<git.IStatusGroup> element, templateData);
+			Renderer.renderStatusGroup(<git.IStatusGroup>element, templateData);
 		}
 	}
 
@@ -374,7 +374,7 @@ export class Renderer implements tree.IRenderer {
 
 	public disposeTemplate(tree: tree.ITree, templateId: string, templateData: any): void {
 		if (/^file:/.test(templateId)) {
-			Renderer.disposeFileStatusTemplate(<IFileStatusTemplateData> templateData);
+			Renderer.disposeFileStatusTemplate(<IFileStatusTemplateData>templateData);
 		}
 	}
 
@@ -384,67 +384,67 @@ export class Renderer implements tree.IRenderer {
 
 	private static statusToChar(status: git.Status): string {
 		switch (status) {
-			case git.Status.INDEX_MODIFIED:		return nls.localize('modified-char', "M");
-			case git.Status.MODIFIED:			return nls.localize('modified-char', "M");
-			case git.Status.INDEX_ADDED:		return nls.localize('added-char', "A");
-			case git.Status.INDEX_DELETED:		return nls.localize('deleted-char', "D");
-			case git.Status.DELETED:			return nls.localize('deleted-char', "D");
-			case git.Status.INDEX_RENAMED:		return nls.localize('renamed-char', "R");
-			case git.Status.INDEX_COPIED:		return nls.localize('copied-char', "C");
-			case git.Status.UNTRACKED:			return nls.localize('untracked-char', "U");
-			case git.Status.IGNORED:			return nls.localize('ignored-char', "!");
-			case git.Status.BOTH_DELETED:		return nls.localize('deleted-char', "D");
-			case git.Status.ADDED_BY_US:		return nls.localize('added-char', "A");
-			case git.Status.DELETED_BY_THEM:	return nls.localize('deleted-char', "D");
-			case git.Status.ADDED_BY_THEM:		return nls.localize('added-char', "A");
-			case git.Status.DELETED_BY_US:		return nls.localize('deleted-char', "D");
-			case git.Status.BOTH_ADDED:			return nls.localize('added-char', "A");
-			case git.Status.BOTH_MODIFIED:		return nls.localize('modified-char', "M");
-			default:							return '';
+			case git.Status.INDEX_MODIFIED: return nls.localize('modified-char', "M");
+			case git.Status.MODIFIED: return nls.localize('modified-char', "M");
+			case git.Status.INDEX_ADDED: return nls.localize('added-char', "A");
+			case git.Status.INDEX_DELETED: return nls.localize('deleted-char', "D");
+			case git.Status.DELETED: return nls.localize('deleted-char', "D");
+			case git.Status.INDEX_RENAMED: return nls.localize('renamed-char', "R");
+			case git.Status.INDEX_COPIED: return nls.localize('copied-char', "C");
+			case git.Status.UNTRACKED: return nls.localize('untracked-char', "U");
+			case git.Status.IGNORED: return nls.localize('ignored-char', "!");
+			case git.Status.BOTH_DELETED: return nls.localize('deleted-char', "D");
+			case git.Status.ADDED_BY_US: return nls.localize('added-char', "A");
+			case git.Status.DELETED_BY_THEM: return nls.localize('deleted-char', "D");
+			case git.Status.ADDED_BY_THEM: return nls.localize('added-char', "A");
+			case git.Status.DELETED_BY_US: return nls.localize('deleted-char', "D");
+			case git.Status.BOTH_ADDED: return nls.localize('added-char', "A");
+			case git.Status.BOTH_MODIFIED: return nls.localize('modified-char', "M");
+			default: return '';
 		}
 	}
 
 	public static statusToTitle(status: git.Status): string {
 		switch (status) {
-			case git.Status.INDEX_MODIFIED:		return nls.localize('title-index-modified', "Modified in index");
-			case git.Status.MODIFIED:			return nls.localize('title-modified', "Modified");
-			case git.Status.INDEX_ADDED:		return nls.localize('title-index-added', "Added to index");
-			case git.Status.INDEX_DELETED:		return nls.localize('title-index-deleted', "Deleted in index");
-			case git.Status.DELETED:			return nls.localize('title-deleted', "Deleted");
-			case git.Status.INDEX_RENAMED:		return nls.localize('title-index-renamed', "Renamed in index");
-			case git.Status.INDEX_COPIED:		return nls.localize('title-index-copied', "Copied in index");
-			case git.Status.UNTRACKED:			return nls.localize('title-untracked', "Untracked");
-			case git.Status.IGNORED:			return nls.localize('title-ignored', "Ignored");
-			case git.Status.BOTH_DELETED:		return nls.localize('title-conflict-both-deleted', "Conflict: both deleted");
-			case git.Status.ADDED_BY_US:		return nls.localize('title-conflict-added-by-us', "Conflict: added by us");
-			case git.Status.DELETED_BY_THEM:	return nls.localize('title-conflict-deleted-by-them', "Conflict: deleted by them");
-			case git.Status.ADDED_BY_THEM:		return nls.localize('title-conflict-added-by-them', "Conflict: added by them");
-			case git.Status.DELETED_BY_US:		return nls.localize('title-conflict-deleted-by-us', "Conflict: deleted by us");
-			case git.Status.BOTH_ADDED:			return nls.localize('title-conflict-both-added', "Conflict: both added");
-			case git.Status.BOTH_MODIFIED:		return nls.localize('title-conflict-both-modified', "Conflict: both modified");
-			default:							return '';
+			case git.Status.INDEX_MODIFIED: return nls.localize('title-index-modified', "Modified in index");
+			case git.Status.MODIFIED: return nls.localize('title-modified', "Modified");
+			case git.Status.INDEX_ADDED: return nls.localize('title-index-added', "Added to index");
+			case git.Status.INDEX_DELETED: return nls.localize('title-index-deleted', "Deleted in index");
+			case git.Status.DELETED: return nls.localize('title-deleted', "Deleted");
+			case git.Status.INDEX_RENAMED: return nls.localize('title-index-renamed', "Renamed in index");
+			case git.Status.INDEX_COPIED: return nls.localize('title-index-copied', "Copied in index");
+			case git.Status.UNTRACKED: return nls.localize('title-untracked', "Untracked");
+			case git.Status.IGNORED: return nls.localize('title-ignored', "Ignored");
+			case git.Status.BOTH_DELETED: return nls.localize('title-conflict-both-deleted', "Conflict: both deleted");
+			case git.Status.ADDED_BY_US: return nls.localize('title-conflict-added-by-us', "Conflict: added by us");
+			case git.Status.DELETED_BY_THEM: return nls.localize('title-conflict-deleted-by-them', "Conflict: deleted by them");
+			case git.Status.ADDED_BY_THEM: return nls.localize('title-conflict-added-by-them', "Conflict: added by them");
+			case git.Status.DELETED_BY_US: return nls.localize('title-conflict-deleted-by-us', "Conflict: deleted by us");
+			case git.Status.BOTH_ADDED: return nls.localize('title-conflict-both-added', "Conflict: both added");
+			case git.Status.BOTH_MODIFIED: return nls.localize('title-conflict-both-modified', "Conflict: both modified");
+			default: return '';
 		}
 	}
 
 	private static statusToClass(status: git.Status): string {
 		switch (status) {
-			case git.Status.INDEX_MODIFIED:		return 'modified';
-			case git.Status.MODIFIED:			return 'modified';
-			case git.Status.INDEX_ADDED:		return 'added';
-			case git.Status.INDEX_DELETED:		return 'deleted';
-			case git.Status.DELETED:			return 'deleted';
-			case git.Status.INDEX_RENAMED:		return 'renamed';
-			case git.Status.INDEX_COPIED:		return 'copied';
-			case git.Status.UNTRACKED:			return 'untracked';
-			case git.Status.IGNORED:			return 'ignored';
-			case git.Status.BOTH_DELETED:		return 'conflict both-deleted';
-			case git.Status.ADDED_BY_US:		return 'conflict added-by-us';
-			case git.Status.DELETED_BY_THEM:	return 'conflict deleted-by-them';
-			case git.Status.ADDED_BY_THEM:		return 'conflict added-by-them';
-			case git.Status.DELETED_BY_US:		return 'conflict deleted-by-us';
-			case git.Status.BOTH_ADDED:			return 'conflict both-added';
-			case git.Status.BOTH_MODIFIED:		return 'conflict both-modified';
-			default:							return '';
+			case git.Status.INDEX_MODIFIED: return 'modified';
+			case git.Status.MODIFIED: return 'modified';
+			case git.Status.INDEX_ADDED: return 'added';
+			case git.Status.INDEX_DELETED: return 'deleted';
+			case git.Status.DELETED: return 'deleted';
+			case git.Status.INDEX_RENAMED: return 'renamed';
+			case git.Status.INDEX_COPIED: return 'copied';
+			case git.Status.UNTRACKED: return 'untracked';
+			case git.Status.IGNORED: return 'ignored';
+			case git.Status.BOTH_DELETED: return 'conflict both-deleted';
+			case git.Status.ADDED_BY_US: return 'conflict added-by-us';
+			case git.Status.DELETED_BY_THEM: return 'conflict deleted-by-them';
+			case git.Status.ADDED_BY_THEM: return 'conflict added-by-them';
+			case git.Status.DELETED_BY_US: return 'conflict deleted-by-us';
+			case git.Status.BOTH_ADDED: return 'conflict both-added';
+			case git.Status.BOTH_MODIFIED: return 'conflict both-modified';
+			default: return '';
 		}
 	}
 
@@ -467,7 +467,7 @@ export class Filter implements tree.IFilter {
 
 	public isVisible(tree: tree.ITree, element: any): boolean {
 		if (element instanceof gitmodel.StatusGroup) {
-			var statusGroup = <git.IStatusGroup> element;
+			var statusGroup = <git.IStatusGroup>element;
 
 			switch (statusGroup.getType()) {
 				case git.StatusType.INDEX:
@@ -522,7 +522,7 @@ export class DragAndDrop extends ActionContainer implements tree.IDragAndDrop {
 	private gitService: git.IGitService;
 	private messageService: IMessageService;
 
-	constructor(@IInstantiationService instantiationService: IInstantiationService, @IGitService gitService: IGitService, @IMessageService messageService: IMessageService) {
+	constructor( @IInstantiationService instantiationService: IInstantiationService, @IGitService gitService: IGitService, @IMessageService messageService: IMessageService) {
 		super(instantiationService);
 		this.gitService = gitService;
 		this.messageService = messageService;
@@ -530,10 +530,10 @@ export class DragAndDrop extends ActionContainer implements tree.IDragAndDrop {
 
 	public getDragURI(tree: tree.ITree, element: any): string {
 		if (element instanceof gitmodel.StatusGroup) {
-			var statusGroup = <git.IStatusGroup> element;
+			var statusGroup = <git.IStatusGroup>element;
 			return 'git:' + statusGroup.getType();
 		} else if (element instanceof gitmodel.FileStatus) {
-			var status = <git.IFileStatus> element;
+			var status = <git.IFileStatus>element;
 			return 'git:' + status.getType() + ':' + status.getPath();
 		}
 
@@ -561,11 +561,11 @@ export class DragAndDrop extends ActionContainer implements tree.IDragAndDrop {
 		return paths.basename(status.getPath());
 	}
 
-	public onDragStart(tree: tree.ITree, data: tree.IDragAndDropData, originalEvent:mouse.DragMouseEvent):void {
+	public onDragStart(tree: tree.ITree, data: tree.IDragAndDropData, originalEvent: mouse.DragMouseEvent): void {
 		// no-op
 	}
 
-	public onDragOver(_tree: tree.ITree, data: tree.IDragAndDropData, targetElement: any, originalEvent:mouse.DragMouseEvent): tree.IDragOverReaction {
+	public onDragOver(_tree: tree.ITree, data: tree.IDragAndDropData, targetElement: any, originalEvent: mouse.DragMouseEvent): tree.IDragOverReaction {
 		if (!this.gitService.isIdle()) {
 			return tree.DRAG_OVER_REJECT;
 		}
@@ -578,11 +578,11 @@ export class DragAndDrop extends ActionContainer implements tree.IDragAndDrop {
 		var element = elements[0];
 
 		if (element instanceof gitmodel.StatusGroup) {
-			var statusGroup = <git.IStatusGroup> element;
+			var statusGroup = <git.IStatusGroup>element;
 			return this.onDrag(targetElement, statusGroup.getType());
 
 		} else if (element instanceof gitmodel.FileStatus) {
-			var status = <git.IFileStatus> element;
+			var status = <git.IFileStatus>element;
 			return this.onDrag(targetElement, status.getType());
 
 		} else {
@@ -604,10 +604,10 @@ export class DragAndDrop extends ActionContainer implements tree.IDragAndDrop {
 
 	private onDragWorkingTree(targetElement: any): tree.IDragOverReaction {
 		if (targetElement instanceof gitmodel.StatusGroup) {
-			var targetStatusGroup = <git.IStatusGroup> targetElement;
+			var targetStatusGroup = <git.IStatusGroup>targetElement;
 			return targetStatusGroup.getType() === git.StatusType.INDEX ? tree.DRAG_OVER_ACCEPT_BUBBLE_DOWN : tree.DRAG_OVER_REJECT;
 		} else if (targetElement instanceof gitmodel.FileStatus) {
-			var targetStatus = <git.IFileStatus> targetElement;
+			var targetStatus = <git.IFileStatus>targetElement;
 			return targetStatus.getType() === git.StatusType.INDEX ? tree.DRAG_OVER_ACCEPT_BUBBLE_UP : tree.DRAG_OVER_REJECT;
 		} else {
 			return tree.DRAG_OVER_REJECT;
@@ -616,10 +616,10 @@ export class DragAndDrop extends ActionContainer implements tree.IDragAndDrop {
 
 	private onDragIndex(targetElement: any): tree.IDragOverReaction {
 		if (targetElement instanceof gitmodel.StatusGroup) {
-			var targetStatusGroup = <git.IStatusGroup> targetElement;
+			var targetStatusGroup = <git.IStatusGroup>targetElement;
 			return targetStatusGroup.getType() === git.StatusType.WORKING_TREE ? tree.DRAG_OVER_ACCEPT_BUBBLE_DOWN : tree.DRAG_OVER_REJECT;
 		} else if (targetElement instanceof gitmodel.FileStatus) {
-			var targetStatus = <git.IFileStatus> targetElement;
+			var targetStatus = <git.IFileStatus>targetElement;
 			return targetStatus.getType() === git.StatusType.WORKING_TREE ? tree.DRAG_OVER_ACCEPT_BUBBLE_UP : tree.DRAG_OVER_REJECT;
 		} else {
 			return tree.DRAG_OVER_REJECT;
@@ -628,40 +628,40 @@ export class DragAndDrop extends ActionContainer implements tree.IDragAndDrop {
 
 	private onDragMerge(targetElement: any): tree.IDragOverReaction {
 		if (targetElement instanceof gitmodel.StatusGroup) {
-			var targetStatusGroup = <git.IStatusGroup> targetElement;
+			var targetStatusGroup = <git.IStatusGroup>targetElement;
 			return targetStatusGroup.getType() === git.StatusType.INDEX ? tree.DRAG_OVER_ACCEPT_BUBBLE_DOWN : tree.DRAG_OVER_REJECT;
 		} else if (targetElement instanceof gitmodel.FileStatus) {
-			var targetStatus = <git.IFileStatus> targetElement;
+			var targetStatus = <git.IFileStatus>targetElement;
 			return targetStatus.getType() === git.StatusType.INDEX ? tree.DRAG_OVER_ACCEPT_BUBBLE_UP : tree.DRAG_OVER_REJECT;
 		} else {
 			return tree.DRAG_OVER_REJECT;
 		}
 	}
 
-	public drop(tree: tree.ITree, data: tree.IDragAndDropData, targetElement: any, originalEvent:mouse.DragMouseEvent): void {
+	public drop(tree: tree.ITree, data: tree.IDragAndDropData, targetElement: any, originalEvent: mouse.DragMouseEvent): void {
 		var elements: any[] = data.getData();
 		var element = elements[0];
 		var files: git.IFileStatus[];
 
 		if (element instanceof gitmodel.StatusGroup) {
-			files = (<git.IStatusGroup> element).all();
-		// } else if (element instanceof gitmodel.FileStatus) {
-		// 	files = [ element ];
+			files = (<git.IStatusGroup>element).all();
+			// } else if (element instanceof gitmodel.FileStatus) {
+			// 	files = [ element ];
 		} else {
 			files = elements;
 			// throw new Error('Invalid drag and drop data.');
 		}
 
-		var targetGroup = <git.IStatusGroup> targetElement;
+		var targetGroup = <git.IStatusGroup>targetElement;
 
 		// Add files to index
 		if (targetGroup.getType() === git.StatusType.INDEX) {
-			this.getAction(gitactions.StageAction).run(files).done(null, (e:Error) => this.onError(e));
+			this.getAction(gitactions.StageAction).run(files).done(null, (e: Error) => this.onError(e));
 		}
 
 		// Remove files from index
 		if (targetGroup.getType() === git.StatusType.WORKING_TREE) {
-			this.getAction(gitactions.UnstageAction).run(files).done(null, (e:Error) => this.onError(e));
+			this.getAction(gitactions.UnstageAction).run(files).done(null, (e: Error) => this.onError(e));
 		}
 	}
 
@@ -685,7 +685,7 @@ export class AccessibilityProvider implements tree.IAccessibilityProvider {
 		}
 
 		if (element instanceof gitmodel.StatusGroup) {
-			switch ( (<gitmodel.StatusGroup>element).getType()) {
+			switch ((<gitmodel.StatusGroup>element).getType()) {
 				case git.StatusType.INDEX: return nls.localize('ariaLabelStagedChanges', "Staged Changes, Git");
 				case git.StatusType.WORKING_TREE: return nls.localize('ariaLabelChanges', "Changes, Git");
 				case git.StatusType.MERGE: return nls.localize('ariaLabelMerge', "Merge, Git");
@@ -696,10 +696,10 @@ export class AccessibilityProvider implements tree.IAccessibilityProvider {
 
 export class Controller extends treedefaults.DefaultController {
 
-	private contextMenuService:IContextMenuService;
-	private actionProvider:actionsrenderer.IActionProvider;
+	private contextMenuService: IContextMenuService;
+	private actionProvider: actionsrenderer.IActionProvider;
 
-	constructor(actionProvider:actionsrenderer.IActionProvider, @IContextMenuService contextMenuService: IContextMenuService) {
+	constructor(actionProvider: actionsrenderer.IActionProvider, @IContextMenuService contextMenuService: IContextMenuService) {
 		super({ clickBehavior: treedefaults.ClickBehavior.ON_MOUSE_UP });
 
 		this.actionProvider = actionProvider;
@@ -727,8 +727,8 @@ export class Controller extends treedefaults.DefaultController {
 				return;
 			}
 
-			var focusStatus = <gitmodel.FileStatus> focus;
-			var elementStatus = <gitmodel.FileStatus> element;
+			var focusStatus = <gitmodel.FileStatus>focus;
+			var elementStatus = <gitmodel.FileStatus>element;
 
 			if (focusStatus.getType() !== elementStatus.getType()) {
 				return;
@@ -773,7 +773,7 @@ export class Controller extends treedefaults.DefaultController {
 		return super.onEnter(tree, event);
 	}
 
-	protected onSpace(tree: tree.ITree, event: keyboard.IKeyboardEvent):boolean {
+	protected onSpace(tree: tree.ITree, event: keyboard.IKeyboardEvent): boolean {
 		var focus = tree.getFocus();
 
 		if (!focus) {
@@ -792,7 +792,7 @@ export class Controller extends treedefaults.DefaultController {
 		return true;
 	}
 
-	public onContextMenu(tree:tree.ITree, element:any, event:tree.ContextMenuEvent):boolean {
+	public onContextMenu(tree: tree.ITree, element: any, event: tree.ContextMenuEvent): boolean {
 		if (event.target && event.target.tagName && event.target.tagName.toLowerCase() === 'input') {
 			return false;
 		}
@@ -814,7 +814,7 @@ export class Controller extends treedefaults.DefaultController {
 				getActions: () => this.actionProvider.getSecondaryActions(tree, element),
 				getActionItem: this.actionProvider.getActionItem.bind(this.actionProvider, tree, element),
 				getActionsContext: () => context,
-				onHide: (wasCancelled?:boolean) => {
+				onHide: (wasCancelled?: boolean) => {
 					if (wasCancelled) {
 						tree.DOMFocus();
 					}
@@ -827,15 +827,15 @@ export class Controller extends treedefaults.DefaultController {
 		return false;
 	}
 
-	protected onLeft(tree: tree.ITree, event:keyboard.IKeyboardEvent):boolean {
+	protected onLeft(tree: tree.ITree, event: keyboard.IKeyboardEvent): boolean {
 		return true;
 	}
 
-	protected onRight(tree: tree.ITree, event:keyboard.IKeyboardEvent):boolean {
+	protected onRight(tree: tree.ITree, event: keyboard.IKeyboardEvent): boolean {
 		return true;
 	}
 
-	protected onUp(tree:tree.ITree, event:keyboard.IKeyboardEvent):boolean {
+	protected onUp(tree: tree.ITree, event: keyboard.IKeyboardEvent): boolean {
 		var oldFocus = tree.getFocus();
 		var base = super.onUp(tree, event);
 
@@ -846,7 +846,7 @@ export class Controller extends treedefaults.DefaultController {
 		return this.shiftSelect(tree, oldFocus, event);
 	}
 
-	protected onPageUp(tree:tree.ITree, event:keyboard.IKeyboardEvent):boolean {
+	protected onPageUp(tree: tree.ITree, event: keyboard.IKeyboardEvent): boolean {
 		var oldFocus = tree.getFocus();
 		var base = super.onPageUp(tree, event);
 
@@ -857,7 +857,7 @@ export class Controller extends treedefaults.DefaultController {
 		return this.shiftSelect(tree, oldFocus, event);
 	}
 
-	protected onDown(tree:tree.ITree, event:keyboard.IKeyboardEvent):boolean {
+	protected onDown(tree: tree.ITree, event: keyboard.IKeyboardEvent): boolean {
 		var oldFocus = tree.getFocus();
 		var base = super.onDown(tree, event);
 
@@ -868,7 +868,7 @@ export class Controller extends treedefaults.DefaultController {
 		return this.shiftSelect(tree, oldFocus, event);
 	}
 
-	protected onPageDown(tree:tree.ITree, event:keyboard.IKeyboardEvent):boolean {
+	protected onPageDown(tree: tree.ITree, event: keyboard.IKeyboardEvent): boolean {
 		var oldFocus = tree.getFocus();
 		var base = super.onPageDown(tree, event);
 
@@ -885,13 +885,13 @@ export class Controller extends treedefaults.DefaultController {
 		}
 
 		return elements.every(e => {
-			var first = <gitmodel.FileStatus> tree.getSelection()[0];
-			var clicked = <gitmodel.FileStatus> e;
+			var first = <gitmodel.FileStatus>tree.getSelection()[0];
+			var clicked = <gitmodel.FileStatus>e;
 			return !first || (first.getType() === clicked.getType());
 		});
 	}
 
-	private shiftSelect(tree: tree.ITree, oldFocus: any, event:keyboard.IKeyboardEvent): boolean {
+	private shiftSelect(tree: tree.ITree, oldFocus: any, event: keyboard.IKeyboardEvent): boolean {
 		var payload = { origin: 'keyboard', originalEvent: event };
 		var focus = tree.getFocus();
 
diff --git a/src/vs/workbench/parts/git/browser/views/disabled/disabledView.ts b/src/vs/workbench/parts/git/browser/views/disabled/disabledView.ts
index 8d236732bbf66..43351e73218b9 100644
--- a/src/vs/workbench/parts/git/browser/views/disabled/disabledView.ts
+++ b/src/vs/workbench/parts/git/browser/views/disabled/disabledView.ts
@@ -17,8 +17,7 @@ var $ = builder.$;
 
 export class DisabledView
 	extends ee.EventEmitter
-	implements view.IView
-{
+	implements view.IView {
 	public ID = 'disabled';
 	private _element: HTMLElement;
 
@@ -46,7 +45,7 @@ export class DisabledView
 		return;
 	}
 
-	public setVisible(visible:boolean): winjs.TPromise<void> {
+	public setVisible(visible: boolean): winjs.TPromise<void> {
 		return winjs.TPromise.as(null);
 	}
 
diff --git a/src/vs/workbench/parts/git/browser/views/empty/emptyView.ts b/src/vs/workbench/parts/git/browser/views/empty/emptyView.ts
index 6131e2e0a0b62..658fa28151221 100644
--- a/src/vs/workbench/parts/git/browser/views/empty/emptyView.ts
+++ b/src/vs/workbench/parts/git/browser/views/empty/emptyView.ts
@@ -10,16 +10,16 @@ import nls = require('vs/nls');
 import Lifecycle = require('vs/base/common/lifecycle');
 import EventEmitter = require('vs/base/common/eventEmitter');
 import DOM = require('vs/base/browser/dom');
-import {Button} from 'vs/base/browser/ui/button/button';
+import { Button } from 'vs/base/browser/ui/button/button';
 import WinJS = require('vs/base/common/winjs.base');
 import Builder = require('vs/base/browser/builder');
 import Actions = require('vs/base/common/actions');
 import InputBox = require('vs/base/browser/ui/inputbox/inputBox');
 import GitView = require('vs/workbench/parts/git/browser/views/view');
 import GitActions = require('vs/workbench/parts/git/browser/gitActions');
-import {IFileService} from 'vs/platform/files/common/files';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService} from 'vs/platform/message/common/message';
+import { IFileService } from 'vs/platform/files/common/files';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService } from 'vs/platform/message/common/message';
 import { IGitService } from 'vs/workbench/parts/git/common/git';
 
 var $ = Builder.$;
@@ -79,7 +79,7 @@ export class EmptyView extends EventEmitter.EventEmitter implements GitView.IVie
 
 	// IView
 
-	public get element():HTMLElement {
+	public get element(): HTMLElement {
 		this.render();
 		return this.$el.getHTMLElement();
 	}
@@ -129,15 +129,15 @@ export class EmptyView extends EventEmitter.EventEmitter implements GitView.IVie
 		this.initButton.enabled = true;
 	}
 
-	public focus():void {
+	public focus(): void {
 		this.initButton.focus();
 	}
 
-	public layout(dimension:Builder.Dimension):void {
+	public layout(dimension: Builder.Dimension): void {
 		// no-op
 	}
 
-	public setVisible(visible:boolean): WinJS.TPromise<void> {
+	public setVisible(visible: boolean): WinJS.TPromise<void> {
 		this.isVisible = visible;
 
 		return WinJS.TPromise.as(null);
@@ -148,7 +148,7 @@ export class EmptyView extends EventEmitter.EventEmitter implements GitView.IVie
 	}
 
 	public getActions(): Actions.IAction[] {
-		return this.refreshAction ? [ this.refreshAction ] : [];
+		return this.refreshAction ? [this.refreshAction] : [];
 	}
 
 	public getSecondaryActions(): Actions.IAction[] {
diff --git a/src/vs/workbench/parts/git/browser/views/gitless/gitlessView.ts b/src/vs/workbench/parts/git/browser/views/gitless/gitlessView.ts
index a35d2df317568..78c73c8d01371 100644
--- a/src/vs/workbench/parts/git/browser/views/gitless/gitlessView.ts
+++ b/src/vs/workbench/parts/git/browser/views/gitless/gitlessView.ts
@@ -19,8 +19,7 @@ var $ = builder.$;
 
 export class GitlessView
 	extends ee.EventEmitter
-	implements view.IView
-{
+	implements view.IView {
 	public ID = 'gitless';
 	private _element: HTMLElement;
 
@@ -82,7 +81,7 @@ export class GitlessView
 		return;
 	}
 
-	public setVisible(visible:boolean): winjs.TPromise<void> {
+	public setVisible(visible: boolean): winjs.TPromise<void> {
 		return winjs.TPromise.as(null);
 	}
 
diff --git a/src/vs/workbench/parts/git/browser/views/huge/hugeView.ts b/src/vs/workbench/parts/git/browser/views/huge/hugeView.ts
index 74c172bc952c0..35f5854b9ebe7 100644
--- a/src/vs/workbench/parts/git/browser/views/huge/hugeView.ts
+++ b/src/vs/workbench/parts/git/browser/views/huge/hugeView.ts
@@ -15,7 +15,7 @@ import actions = require('vs/base/common/actions');
 import * as dom from 'vs/base/browser/dom';
 import { IGitService } from 'vs/workbench/parts/git/common/git';
 import { onUnexpectedError } from 'vs/base/common/errors';
-import {Button} from 'vs/base/browser/ui/button/button';
+import { Button } from 'vs/base/browser/ui/button/button';
 
 const $ = dom.$;
 
@@ -24,7 +24,7 @@ export class HugeView extends ee.EventEmitter implements view.IView {
 	ID = 'huge';
 	private _element: HTMLElement;
 
-	constructor(@IGitService private gitService: IGitService) {
+	constructor( @IGitService private gitService: IGitService) {
 		super();
 	}
 
@@ -65,7 +65,7 @@ export class HugeView extends ee.EventEmitter implements view.IView {
 		return;
 	}
 
-	setVisible(visible:boolean): winjs.TPromise<void> {
+	setVisible(visible: boolean): winjs.TPromise<void> {
 		return winjs.TPromise.as(null);
 	}
 
diff --git a/src/vs/workbench/parts/git/browser/views/notroot/notrootView.ts b/src/vs/workbench/parts/git/browser/views/notroot/notrootView.ts
index 099a23a9e8085..2e9263bcb8d5f 100644
--- a/src/vs/workbench/parts/git/browser/views/notroot/notrootView.ts
+++ b/src/vs/workbench/parts/git/browser/views/notroot/notrootView.ts
@@ -16,8 +16,7 @@ const $ = builder.$;
 
 export class NotRootView
 	extends ee.EventEmitter
-	implements view.IView
-{
+	implements view.IView {
 	public ID = 'notroot';
 	private _element: HTMLElement;
 
@@ -46,7 +45,7 @@ export class NotRootView
 		return;
 	}
 
-	public setVisible(visible:boolean): winjs.TPromise<void> {
+	public setVisible(visible: boolean): winjs.TPromise<void> {
 		return winjs.TPromise.as(null);
 	}
 
diff --git a/src/vs/workbench/parts/git/browser/views/noworkspace/noworkspaceView.ts b/src/vs/workbench/parts/git/browser/views/noworkspace/noworkspaceView.ts
index d0b53bf76f068..02f7fab5523ed 100644
--- a/src/vs/workbench/parts/git/browser/views/noworkspace/noworkspaceView.ts
+++ b/src/vs/workbench/parts/git/browser/views/noworkspace/noworkspaceView.ts
@@ -16,8 +16,7 @@ const $ = builder.$;
 
 export class NoWorkspaceView
 	extends ee.EventEmitter
-	implements view.IView
-{
+	implements view.IView {
 	public ID = 'noworkspace';
 	private _element: HTMLElement;
 
@@ -46,7 +45,7 @@ export class NoWorkspaceView
 		return;
 	}
 
-	public setVisible(visible:boolean): winjs.TPromise<void> {
+	public setVisible(visible: boolean): winjs.TPromise<void> {
 		return winjs.TPromise.as(null);
 	}
 
diff --git a/src/vs/workbench/parts/git/browser/views/view.ts b/src/vs/workbench/parts/git/browser/views/view.ts
index 61e533717c922..fc0c209607a0c 100644
--- a/src/vs/workbench/parts/git/browser/views/view.ts
+++ b/src/vs/workbench/parts/git/browser/views/view.ts
@@ -12,8 +12,8 @@ export interface IView extends Lifecycle.IDisposable {
 	ID: string;
 	element: HTMLElement;
 	focus(): void;
-	layout(dimension:Builder.Dimension): void;
-	setVisible(visible:boolean): WinJS.Promise;
+	layout(dimension: Builder.Dimension): void;
+	setVisible(visible: boolean): WinJS.Promise;
 	getControl(): EventEmitter.IEventEmitter;
 	getActions(): Actions.IAction[];
 	getSecondaryActions(): Actions.IAction[];
diff --git a/src/vs/workbench/parts/git/common/git.ts b/src/vs/workbench/parts/git/common/git.ts
index e377ab56cd0ee..3e2191050129d 100644
--- a/src/vs/workbench/parts/git/common/git.ts
+++ b/src/vs/workbench/parts/git/common/git.ts
@@ -107,7 +107,7 @@ export interface IFileStatus {
 	getPathComponents(): string[];
 	getMimetype(): string;
 	getStatus(): Status;
-	getRename():string;
+	getRename(): string;
 	clone(): IFileStatus;
 	update(other: IFileStatus): void;
 }
@@ -284,13 +284,13 @@ export interface IRawGitService {
 	checkout(treeish?: string, filePaths?: string[]): TPromise<IRawStatus>;
 	clean(filePaths: string[]): TPromise<IRawStatus>;
 	undo(): TPromise<IRawStatus>;
-	reset(treeish:string, hard?: boolean): TPromise<IRawStatus>;
-	revertFiles(treeish:string, filePaths?: string[]): TPromise<IRawStatus>;
+	reset(treeish: string, hard?: boolean): TPromise<IRawStatus>;
+	revertFiles(treeish: string, filePaths?: string[]): TPromise<IRawStatus>;
 	fetch(): TPromise<IRawStatus>;
 	pull(rebase?: boolean): TPromise<IRawStatus>;
-	push(remote?: string, name?: string, options?:IPushOptions): TPromise<IRawStatus>;
+	push(remote?: string, name?: string, options?: IPushOptions): TPromise<IRawStatus>;
 	sync(): TPromise<IRawStatus>;
-	commit(message:string, amend?: boolean, stage?: boolean, signoff?: boolean): TPromise<IRawStatus>;
+	commit(message: string, amend?: boolean, stage?: boolean, signoff?: boolean): TPromise<IRawStatus>;
 	detectMimetypes(path: string, treeish?: string): TPromise<string[]>;
 	show(path: string, treeish?: string): TPromise<string>;
 	getCommitTemplate(): TPromise<string>;
@@ -313,13 +313,13 @@ export interface IGitService extends IEventEmitter {
 	checkout(treeish?: string, files?: IFileStatus[]): TPromise<IModel>;
 	clean(files: IFileStatus[]): TPromise<IModel>;
 	undo(): TPromise<IModel>;
-	reset(treeish:string, hard?: boolean): TPromise<IModel>;
-	revertFiles(treeish:string, files?: IFileStatus[]): TPromise<IModel>;
+	reset(treeish: string, hard?: boolean): TPromise<IModel>;
+	revertFiles(treeish: string, files?: IFileStatus[]): TPromise<IModel>;
 	fetch(): TPromise<IModel>;
 	pull(rebase?: boolean): TPromise<IModel>;
-	push(remote?: string, name?: string, options?:IPushOptions): TPromise<IModel>;
+	push(remote?: string, name?: string, options?: IPushOptions): TPromise<IModel>;
 	sync(): TPromise<IModel>;
-	commit(message:string, amend?: boolean, stage?: boolean, signoff?: boolean): TPromise<IModel>;
+	commit(message: string, amend?: boolean, stage?: boolean, signoff?: boolean): TPromise<IModel>;
 	detectMimetypes(path: string, treeish?: string): TPromise<string[]>;
 	buffer(path: string, treeish?: string): TPromise<string>;
 
diff --git a/src/vs/workbench/parts/git/common/gitIpc.ts b/src/vs/workbench/parts/git/common/gitIpc.ts
index 74c017246ff47..fef2a73f6b177 100644
--- a/src/vs/workbench/parts/git/common/gitIpc.ts
+++ b/src/vs/workbench/parts/git/common/gitIpc.ts
@@ -8,10 +8,12 @@
 import { TPromise } from 'vs/base/common/winjs.base';
 import { IChannel, eventToCall, eventFromCall } from 'vs/base/parts/ipc/common/ipc';
 import Event from 'vs/base/common/event';
-import { IRawGitService, RawServiceState, IRawStatus, IPushOptions, IAskpassService, ICredentials,
-	ServiceState, IRawFileStatus, IBranch, RefType, IRef, IRemote, ICommit } from './git';
+import {
+	IRawGitService, RawServiceState, IRawStatus, IPushOptions, IAskpassService, ICredentials,
+	ServiceState, IRawFileStatus, IBranch, RefType, IRef, IRemote, ICommit
+} from './git';
 
-type ISerializer<A,B> = { to(a: A): B; from(b: B): A; };
+type ISerializer<A, B> = { to(a: A): B; from(b: B): A; };
 
 export type IPCRawFileStatus = [string, string, string, string, string];
 const RawFileStatusSerializer: ISerializer<IRawFileStatus, IPCRawFileStatus> = {
@@ -186,11 +188,11 @@ export class GitChannelClient implements IRawGitService {
 		return this.channel.call('undo').then(RawStatusSerializer.from);
 	}
 
-	reset(treeish:string, hard?: boolean): TPromise<IRawStatus> {
+	reset(treeish: string, hard?: boolean): TPromise<IRawStatus> {
 		return this.channel.call('reset', [treeish, hard]).then(RawStatusSerializer.from);
 	}
 
-	revertFiles(treeish:string, filePaths?: string[]): TPromise<IRawStatus> {
+	revertFiles(treeish: string, filePaths?: string[]): TPromise<IRawStatus> {
 		return this.channel.call('revertFiles', [treeish, filePaths]).then(RawStatusSerializer.from);
 	}
 
@@ -202,7 +204,7 @@ export class GitChannelClient implements IRawGitService {
 		return this.channel.call('pull', rebase).then(RawStatusSerializer.from);
 	}
 
-	push(remote?: string, name?: string, options?:IPushOptions): TPromise<IRawStatus> {
+	push(remote?: string, name?: string, options?: IPushOptions): TPromise<IRawStatus> {
 		return this.channel.call('push', [remote, name, options]).then(RawStatusSerializer.from);
 	}
 
@@ -210,7 +212,7 @@ export class GitChannelClient implements IRawGitService {
 		return this.channel.call('sync').then(RawStatusSerializer.from);
 	}
 
-	commit(message:string, amend?: boolean, stage?: boolean, signoff?: boolean): TPromise<IRawStatus> {
+	commit(message: string, amend?: boolean, stage?: boolean, signoff?: boolean): TPromise<IRawStatus> {
 		return this.channel.call('commit', [message, amend, stage, signoff]).then(RawStatusSerializer.from);
 	}
 
diff --git a/src/vs/workbench/parts/git/common/gitModel.ts b/src/vs/workbench/parts/git/common/gitModel.ts
index 6556b7182ac12..1b8555bfbddb2 100644
--- a/src/vs/workbench/parts/git/common/gitModel.ts
+++ b/src/vs/workbench/parts/git/common/gitModel.ts
@@ -7,7 +7,8 @@
 import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import { format } from 'vs/base/common/strings';
 import { EventEmitter } from 'vs/base/common/eventEmitter';
-import { IStatusModel, IStatusSummary, IRawFileStatus, ModelEvents,
+import {
+	IStatusModel, IStatusSummary, IRawFileStatus, ModelEvents,
 	IFileStatus, IStatusGroup, Status, StatusType,
 	IBranch, IRef, IRemote, IModel, IRawStatus
 } from 'vs/workbench/parts/git/common/git';
@@ -218,7 +219,7 @@ export class StatusModel extends EventEmitter implements IStatusModel {
 		var merge: FileStatus[] = [];
 
 		status.forEach(raw => {
-			switch(raw.x + raw.y) {
+			switch (raw.x + raw.y) {
 				case '??': return workingTree.push(new FileStatus(raw.path, raw.mimetype, Status.UNTRACKED));
 				case '!!': return workingTree.push(new FileStatus(raw.path, raw.mimetype, Status.IGNORED));
 				case 'DD': return merge.push(new FileStatus(raw.path, raw.mimetype, Status.BOTH_DELETED));
@@ -266,7 +267,7 @@ export class StatusModel extends EventEmitter implements IStatusModel {
 	}
 
 	getGroups(): IStatusGroup[] {
-		return [ this.mergeStatus, this.indexStatus, this.workingTreeStatus ];
+		return [this.mergeStatus, this.indexStatus, this.workingTreeStatus];
 	}
 
 	find(path: string, type: StatusType): IFileStatus {
diff --git a/src/vs/workbench/parts/git/common/noopGitService.ts b/src/vs/workbench/parts/git/common/noopGitService.ts
index c8704d44d464c..75afd073b7982 100644
--- a/src/vs/workbench/parts/git/common/noopGitService.ts
+++ b/src/vs/workbench/parts/git/common/noopGitService.ts
@@ -13,7 +13,7 @@ export class NoOpGitService implements IRawGitService {
 	private _onOutput = new Emitter<string>();
 	get onOutput(): Event<string> { return this._onOutput.event; }
 
-	private static STATUS:IRawStatus = {
+	private static STATUS: IRawStatus = {
 		repositoryRoot: null,
 		state: ServiceState.NotAWorkspace,
 		status: [],
diff --git a/src/vs/workbench/parts/git/common/stageRanges.ts b/src/vs/workbench/parts/git/common/stageRanges.ts
index f0871cf9c9415..9106a124d9705 100644
--- a/src/vs/workbench/parts/git/common/stageRanges.ts
+++ b/src/vs/workbench/parts/git/common/stageRanges.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IChange, IModel} from 'vs/editor/common/editorCommon';
-import {Range} from 'vs/editor/common/core/range';
-import {Selection} from 'vs/editor/common/core/selection';
+import { IChange, IModel } from 'vs/editor/common/editorCommon';
+import { Range } from 'vs/editor/common/core/range';
+import { Selection } from 'vs/editor/common/core/selection';
 
-function sortChanges(changes:IChange[]):void {
-	changes.sort((left, right)=>{
+function sortChanges(changes: IChange[]): void {
+	changes.sort((left, right) => {
 		if (left.originalStartLineNumber < right.originalStartLineNumber) {
 			return -1;
 		} else if (left.originalStartLineNumber > right.originalStartLineNumber) {
@@ -21,8 +21,8 @@ function sortChanges(changes:IChange[]):void {
 	});
 }
 
-function sortSelections(selections:Selection[]):void {
-	selections.sort((left, right)=>{
+function sortSelections(selections: Selection[]): void {
+	selections.sort((left, right) => {
 		if (left.getStartPosition().lineNumber < right.getStartPosition().lineNumber) {
 			return -1;
 		}
@@ -30,11 +30,11 @@ function sortSelections(selections:Selection[]):void {
 	});
 }
 
-function isInsertion(change:IChange):boolean {
+function isInsertion(change: IChange): boolean {
 	return change.originalEndLineNumber <= 0;
 }
 
-function isDeletion(change:IChange):boolean {
+function isDeletion(change: IChange): boolean {
 	return change.modifiedEndLineNumber <= 0;
 }
 
@@ -43,12 +43,12 @@ function isDeletion(change:IChange):boolean {
  * Returns an intersection between a change and a selection.
  * Returns null if intersection does not exist.
  */
-export function intersectChangeAndSelection(change:IChange, selection:Selection):IChange {
-	var result:IChange = {
-		modifiedStartLineNumber : Math.max(change.modifiedStartLineNumber, selection.startLineNumber),
-		modifiedEndLineNumber : Math.min(change.modifiedEndLineNumber, selection.endLineNumber),
-		originalStartLineNumber : change.originalStartLineNumber,
-		originalEndLineNumber : change.originalEndLineNumber
+export function intersectChangeAndSelection(change: IChange, selection: Selection): IChange {
+	var result: IChange = {
+		modifiedStartLineNumber: Math.max(change.modifiedStartLineNumber, selection.startLineNumber),
+		modifiedEndLineNumber: Math.min(change.modifiedEndLineNumber, selection.endLineNumber),
+		originalStartLineNumber: change.originalStartLineNumber,
+		originalEndLineNumber: change.originalEndLineNumber
 	};
 	// Deletions have modifiedEndLineNumber = 0. In that case we can not use the simple check if there is an intersection.
 	var isDeletionSelected = isDeletion(result) &&
@@ -64,7 +64,7 @@ export function intersectChangeAndSelection(change:IChange, selection:Selection)
  * Returns all selected changes (there can be multiple selections due to multiple cursors).
  * If a change is partially selected, the selected part of the change will be returned.
  */
-export function getSelectedChanges(changes:IChange[], selections:Selection[]):IChange[] {
+export function getSelectedChanges(changes: IChange[], selections: Selection[]): IChange[] {
 	sortChanges(changes);
 	sortSelections(selections);
 	var result: IChange[] = [];
@@ -98,7 +98,7 @@ export function getSelectedChanges(changes:IChange[], selections:Selection[]):IC
 	return result;
 }
 
-function appendValueFromRange(base:string, model:IModel, range:Range):string {
+function appendValueFromRange(base: string, model: IModel, range: Range): string {
 	var result = base;
 	if (result !== '') {
 		result += model.getEOL();
@@ -110,7 +110,7 @@ function appendValueFromRange(base:string, model:IModel, range:Range):string {
  * Applies a list of changes to the original model and returns the new IModel.
  * First sorts changes by line number.
  */
-export function applyChangesToModel(original:IModel, modified:IModel, changes:IChange[]): string {
+export function applyChangesToModel(original: IModel, modified: IModel, changes: IChange[]): string {
 	sortChanges(changes);
 	var result = '';
 	var positionInOriginal = 1;
diff --git a/src/vs/workbench/parts/git/electron-browser/electronGitService.ts b/src/vs/workbench/parts/git/electron-browser/electronGitService.ts
index acae7fed98ded..60c379af6b1d6 100644
--- a/src/vs/workbench/parts/git/electron-browser/electronGitService.ts
+++ b/src/vs/workbench/parts/git/electron-browser/electronGitService.ts
@@ -66,7 +66,7 @@ function findGitDarwin(): TPromise<IGit> {
 				});
 			}
 
-			if (path !== '/usr/bin/git')	{
+			if (path !== '/usr/bin/git') {
 				return getVersion(path);
 			}
 
diff --git a/src/vs/workbench/parts/git/electron-browser/git.contribution.ts b/src/vs/workbench/parts/git/electron-browser/git.contribution.ts
index 480b371b7ff4b..a93e182c63035 100644
--- a/src/vs/workbench/parts/git/electron-browser/git.contribution.ts
+++ b/src/vs/workbench/parts/git/electron-browser/git.contribution.ts
@@ -5,7 +5,7 @@
 import { registerContributions } from 'vs/workbench/parts/git/browser/gitWorkbenchContributions';
 import { ElectronGitService } from 'vs/workbench/parts/git/electron-browser/electronGitService';
 import { IGitService } from 'vs/workbench/parts/git/common/git';
-import {registerSingleton} from 'vs/platform/instantiation/common/extensions';
+import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
 
 registerContributions();
 
diff --git a/src/vs/workbench/parts/git/electron-main/askpassService.ts b/src/vs/workbench/parts/git/electron-main/askpassService.ts
index 23fbe0a7b1964..dbe43c01379f8 100644
--- a/src/vs/workbench/parts/git/electron-main/askpassService.ts
+++ b/src/vs/workbench/parts/git/electron-main/askpassService.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 
 import * as nls from 'vs/nls';
-import { ipcMain as ipc, BrowserWindow} from 'electron';
+import { ipcMain as ipc, BrowserWindow } from 'electron';
 import platform = require('vs/base/common/platform');
 import { TPromise } from 'vs/base/common/winjs.base';
 import { IAskpassService } from 'vs/workbench/parts/git/common/git';
diff --git a/src/vs/workbench/parts/git/node/git.lib.ts b/src/vs/workbench/parts/git/node/git.lib.ts
index cd24f1062a780..57dc98b3f337a 100644
--- a/src/vs/workbench/parts/git/node/git.lib.ts
+++ b/src/vs/workbench/parts/git/node/git.lib.ts
@@ -112,7 +112,7 @@ export class GitError {
 		}, null, 2);
 
 		if (this.error) {
-			result += (<any> this.error).stack;
+			result += (<any>this.error).stack;
 		}
 
 		return result;
@@ -120,11 +120,11 @@ export class GitError {
 }
 
 export interface IGitOptions {
-	gitPath:string;
+	gitPath: string;
 	version: string;
-	tmpPath:string;
+	tmpPath: string;
 	defaultEncoding?: string;
-	env?:any;
+	env?: any;
 }
 
 export class Git {
@@ -245,7 +245,7 @@ export class Git {
 		});
 
 		if (options.log !== false) {
-			this.log(`git ${ args.join(' ') }\n`);
+			this.log(`git ${args.join(' ')}\n`);
 		}
 
 		return spawn(this.gitPath, args, options);
@@ -313,7 +313,7 @@ export class Repository {
 		return this.run(['init']);
 	}
 
-	config(scope: string, key:string, value:any, options:any): TPromise<string> {
+	config(scope: string, key: string, value: any, options: any): TPromise<string> {
 		const args = ['config'];
 
 		if (scope) {
@@ -396,7 +396,7 @@ export class Repository {
 	}
 
 	checkout(treeish: string, paths: string[]): Promise {
-		const args = [ 'checkout', '-q' ];
+		const args = ['checkout', '-q'];
 
 		if (treeish) {
 			args.push(treeish);
@@ -452,21 +452,21 @@ export class Repository {
 	}
 
 	branch(name: string, checkout: boolean): Promise {
-		const args = checkout ? ['checkout', '-q', '-b', name] : [ 'branch', '-q', name ];
+		const args = checkout ? ['checkout', '-q', '-b', name] : ['branch', '-q', name];
 		return this.run(args);
 	}
 
 	clean(paths: string[]): Promise {
 		const byDirname = index<string, string[]>(paths, p => path.dirname(p), (p, r) => (r || []).concat([p]));
 		const groups = Object.keys(byDirname).map(key => byDirname[key]);
-		const tasks = groups.map(group => () => this.run([ 'clean', '-f', '-q', '--' ].concat(group)));
+		const tasks = groups.map(group => () => this.run(['clean', '-f', '-q', '--'].concat(group)));
 
 		return sequence(tasks);
 	}
 
 	undo(): Promise {
-		return this.run([ 'clean', '-fd' ]).then(() => {
-			return this.run([ 'checkout', '--', '.' ]).then(null, (err: GitError) => {
+		return this.run(['clean', '-fd']).then(() => {
+			return this.run(['checkout', '--', '.']).then(null, (err: GitError) => {
 				if (/did not match any file\(s\) known to git\./.test(err.stderr)) {
 					return TPromise.as(null);
 				}
@@ -489,14 +489,14 @@ export class Repository {
 	}
 
 	revertFiles(treeish: string, paths: string[]): Promise {
-		return this.run([ 'branch' ]).then((result) => {
+		return this.run(['branch']).then((result) => {
 			let args: string[];
 
 			// In case there are no branches, we must use rm --cached
 			if (!result.stdout) {
-				args = [ 'rm', '--cached', '-r', '--' ];
+				args = ['rm', '--cached', '-r', '--'];
 			} else {
-				args = [ 'reset', '-q', treeish, '--' ];
+				args = ['reset', '-q', treeish, '--'];
 			}
 
 			if (paths && paths.length) {
@@ -548,7 +548,7 @@ export class Repository {
 		});
 	}
 
-	push(remote?: string, name?: string, options?:IPushOptions): Promise {
+	push(remote?: string, name?: string, options?: IPushOptions): Promise {
 		const args = ['push'];
 		if (options && options.setUpstream) { args.push('-u'); }
 		if (remote) { args.push(remote); }
@@ -576,13 +576,13 @@ export class Repository {
 	getStatus(): TPromise<IRawFileStatus[]> {
 		return this.run(['status', '-z', '-u'], { log: false }).then((executionResult) => {
 			const status = executionResult.stdout;
-			const result:IRawFileStatus[] = [];
-			let current:IRawFileStatus;
+			const result: IRawFileStatus[] = [];
+			let current: IRawFileStatus;
 			let i = 0;
 
-			function readName():string {
+			function readName(): string {
 				const start = i;
-				let c:string;
+				let c: string;
 				while ((c = status.charAt(i)) !== '\u0000') { i++; }
 				return status.substring(start, i++);
 			}
@@ -605,7 +605,7 @@ export class Repository {
 				current.mimetype = guessMimeTypes(current.path)[0];
 
 				// If path ends with slash, it must be a nested git repo
-				if (current.path[current.path.length-1] === '/') {
+				if (current.path[current.path.length - 1] === '/') {
 					continue;
 				}
 
@@ -644,7 +644,7 @@ export class Repository {
 					if (match = /^refs\/heads\/([^ ]+) ([0-9a-f]{40})$/.exec(line)) {
 						return { name: match[1], commit: match[2], type: RefType.Head };
 					} else if (match = /^refs\/remotes\/([^/]+)\/([^ ]+) ([0-9a-f]{40})$/.exec(line)) {
-						return { name: `${ match[1] }/${ match[2] }`, commit: match[3], type: RefType.RemoteHead, remote: match[1] };
+						return { name: `${match[1]}/${match[2]}`, commit: match[3], type: RefType.RemoteHead, remote: match[1] };
 					} else if (match = /^refs\/tags\/([^ ]+) ([0-9a-f]{40})$/.exec(line)) {
 						return { name: match[1], commit: match[2], type: RefType.Tag };
 					}
@@ -722,7 +722,7 @@ export class Repository {
 			// https://github.com/git/git/blob/3a0f269e7c82aa3a87323cb7ae04ac5f129f036b/path.c#L612
 			const homedir = os.homedir();
 			let templatePath = result.stdout.trim()
-				.replace(/^~([^\/]*)\//, (_, user) => `${ user ? path.join(path.dirname(homedir), user) : homedir }/`);
+				.replace(/^~([^\/]*)\//, (_, user) => `${user ? path.join(path.dirname(homedir), user) : homedir}/`);
 
 			if (!path.isAbsolute(templatePath)) {
 				templatePath = path.join(this.repository, templatePath);
diff --git a/src/vs/workbench/parts/git/node/rawGitService.ts b/src/vs/workbench/parts/git/node/rawGitService.ts
index 564c159a85d9b..c9449bf708613 100644
--- a/src/vs/workbench/parts/git/node/rawGitService.ts
+++ b/src/vs/workbench/parts/git/node/rawGitService.ts
@@ -7,7 +7,7 @@
 import { join } from 'path';
 import { TPromise, Promise } from 'vs/base/common/winjs.base';
 import { detectMimesFromFile, detectMimesFromStream } from 'vs/base/node/mime';
-import { realpath, exists} from 'vs/base/node/pfs';
+import { realpath, exists } from 'vs/base/node/pfs';
 import { Repository, GitError } from 'vs/workbench/parts/git/node/git.lib';
 import { IRawGitService, RawServiceState, IRawStatus, IRef, GitErrorCodes, IPushOptions, ICommit } from 'vs/workbench/parts/git/common/git';
 import Event, { Emitter, delayed } from 'vs/base/common/event';
@@ -142,7 +142,7 @@ export class RawGitService implements IRawGitService {
 		return this.repo.pull(rebase).then(() => this.status());
 	}
 
-	push(remote?: string, name?: string, options?:IPushOptions): TPromise<IRawStatus> {
+	push(remote?: string, name?: string, options?: IPushOptions): TPromise<IRawStatus> {
 		return this.repo.push(remote, name, options).then(() => this.status());
 	}
 
@@ -150,7 +150,7 @@ export class RawGitService implements IRawGitService {
 		return this.repo.sync().then(() => this.status());
 	}
 
-	commit(message:string, amend?: boolean, stage?: boolean, signoff?: boolean): TPromise<IRawStatus> {
+	commit(message: string, amend?: boolean, stage?: boolean, signoff?: boolean): TPromise<IRawStatus> {
 		let promise: Promise = TPromise.as(null);
 
 		if (stage) {
@@ -206,7 +206,7 @@ export class RawGitService implements IRawGitService {
 }
 
 export class DelayedRawGitService implements IRawGitService {
-	constructor(private raw: TPromise<IRawGitService>){}
+	constructor(private raw: TPromise<IRawGitService>) { }
 	onOutput: Event<string> = delayed(this.raw.then(r => r.onOutput));
 	getVersion(): TPromise<string> { return this.raw.then(r => r.getVersion()); }
 	serviceState(): TPromise<RawServiceState> { return this.raw.then(r => r.serviceState()); }
@@ -219,13 +219,13 @@ export class DelayedRawGitService implements IRawGitService {
 	checkout(treeish?: string, filePaths?: string[]): TPromise<IRawStatus> { return this.raw.then(r => r.checkout(treeish, filePaths)); }
 	clean(filePaths: string[]): TPromise<IRawStatus> { return this.raw.then(r => r.clean(filePaths)); }
 	undo(): TPromise<IRawStatus> { return this.raw.then(r => r.undo()); }
-	reset(treeish:string, hard?: boolean): TPromise<IRawStatus> { return this.raw.then(r => r.reset(treeish, hard)); }
-	revertFiles(treeish:string, filePaths?: string[]): TPromise<IRawStatus> { return this.raw.then(r => r.revertFiles(treeish, filePaths)); }
+	reset(treeish: string, hard?: boolean): TPromise<IRawStatus> { return this.raw.then(r => r.reset(treeish, hard)); }
+	revertFiles(treeish: string, filePaths?: string[]): TPromise<IRawStatus> { return this.raw.then(r => r.revertFiles(treeish, filePaths)); }
 	fetch(): TPromise<IRawStatus> { return this.raw.then(r => r.fetch()); }
 	pull(rebase?: boolean): TPromise<IRawStatus> { return this.raw.then(r => r.pull(rebase)); }
-	push(remote?: string, name?: string, options?:IPushOptions): TPromise<IRawStatus> { return this.raw.then(r => r.push(remote, name, options)); }
+	push(remote?: string, name?: string, options?: IPushOptions): TPromise<IRawStatus> { return this.raw.then(r => r.push(remote, name, options)); }
 	sync(): TPromise<IRawStatus> { return this.raw.then(r => r.sync()); }
-	commit(message:string, amend?: boolean, stage?: boolean, signoff?: boolean): TPromise<IRawStatus> { return this.raw.then(r => r.commit(message, amend, stage, signoff)); }
+	commit(message: string, amend?: boolean, stage?: boolean, signoff?: boolean): TPromise<IRawStatus> { return this.raw.then(r => r.commit(message, amend, stage, signoff)); }
 	detectMimetypes(path: string, treeish?: string): TPromise<string[]> { return this.raw.then(r => r.detectMimetypes(path, treeish)); }
 	show(path: string, treeish?: string): TPromise<string> { return this.raw.then(r => r.show(path, treeish)); }
 	getCommitTemplate(): TPromise<string> { return this.raw.then(r => r.getCommitTemplate()); }
diff --git a/src/vs/workbench/parts/git/node/rawGitServiceBootstrap.ts b/src/vs/workbench/parts/git/node/rawGitServiceBootstrap.ts
index e97c6bc32dc12..f40735c5be4e2 100644
--- a/src/vs/workbench/parts/git/node/rawGitServiceBootstrap.ts
+++ b/src/vs/workbench/parts/git/node/rawGitServiceBootstrap.ts
@@ -21,7 +21,7 @@ export function createRawGitService(gitPath: string, workspaceRoot: string, defa
 	}
 
 	const gitRootPath = uri.parse(require.toUrl('vs/workbench/parts/git/node')).fsPath;
-	const bootstrapPath = `${ uri.parse(require.toUrl('bootstrap')).fsPath }.js`;
+	const bootstrapPath = `${uri.parse(require.toUrl('bootstrap')).fsPath}.js`;
 	workspaceRoot = normalize(workspaceRoot);
 
 	const env = objects.assign({}, process.env, {
diff --git a/src/vs/workbench/parts/git/test/common/stageRanges.test.ts b/src/vs/workbench/parts/git/test/common/stageRanges.test.ts
index 94074a958a6cc..1691a25cc9ecc 100644
--- a/src/vs/workbench/parts/git/test/common/stageRanges.test.ts
+++ b/src/vs/workbench/parts/git/test/common/stageRanges.test.ts
@@ -23,12 +23,12 @@ function changesEqual(actual: IChange[], expected: IChange[]) {
 	}
 }
 
-function createChange(modifiedStart:number, modifiedEnd:number, originalStart:number, originalEnd:number): IChange {
+function createChange(modifiedStart: number, modifiedEnd: number, originalStart: number, originalEnd: number): IChange {
 	return {
-		modifiedStartLineNumber : modifiedStart,
-		modifiedEndLineNumber : modifiedEnd,
-		originalStartLineNumber : originalStart,
-		originalEndLineNumber : originalEnd
+		modifiedStartLineNumber: modifiedStart,
+		modifiedEndLineNumber: modifiedEnd,
+		originalStartLineNumber: originalStart,
+		originalEndLineNumber: originalEnd
 	};
 }
 
@@ -97,7 +97,7 @@ suite('Git - Stage ranges', () => {
 
 	test('Get selected changes test - one change partially seleceted with multiple selections', () => {
 		var selections: Selection[] = [];
-		selections.push(new Selection(2, 2, 5, 5),  new Selection(7, 2, 9, 1));
+		selections.push(new Selection(2, 2, 5, 5), new Selection(7, 2, 9, 1));
 		var changes: IChange[] = [];
 		changes.push(createChange(1, 15, 1, 10), createChange(120, 127, 122, 126));
 		var result = getSelectedChanges(changes, selections);
@@ -108,7 +108,7 @@ suite('Git - Stage ranges', () => {
 
 	test('Get selected changes test - one change partially seleceted with overlapping selections', () => {
 		var selections: Selection[] = [];
-		selections.push(new Selection(2, 2, 5, 5),  new Selection(5, 2, 9, 1));
+		selections.push(new Selection(2, 2, 5, 5), new Selection(5, 2, 9, 1));
 		var changes: IChange[] = [];
 		changes.push(createChange(1, 15, 1, 10), createChange(120, 127, 122, 126));
 		var result = getSelectedChanges(changes, selections);
@@ -119,7 +119,7 @@ suite('Git - Stage ranges', () => {
 
 	test('Get selected changes test - multiple changes partially selected with multiple selections', () => {
 		var selections: Selection[] = [];
-		selections.push(new Selection(3, 1, 9, 5),  new Selection(115, 2, 129, 1));
+		selections.push(new Selection(3, 1, 9, 5), new Selection(115, 2, 129, 1));
 		var changes: IChange[] = [];
 		changes.push(createChange(1, 15, 1, 10), createChange(116, 135, 122, 126));
 		var result = getSelectedChanges(changes, selections);
@@ -130,7 +130,7 @@ suite('Git - Stage ranges', () => {
 
 	test('Get selected changes test - multiple changes selected with multiple selections. Multiple changes not selected', () => {
 		var selections: Selection[] = [];
-		selections.push(new Selection(33, 11, 79, 15),  new Selection(155, 21, 189, 11));
+		selections.push(new Selection(33, 11, 79, 15), new Selection(155, 21, 189, 11));
 		var changes: IChange[] = [];
 		changes.push(createChange(1, 45, 1, 0), createChange(80, 89, 72, 79), createChange(154, 190, 152, 186), createChange(216, 235, 222, 226));
 		var result = getSelectedChanges(changes, selections);
@@ -139,7 +139,7 @@ suite('Git - Stage ranges', () => {
 		changesEqual(result, expected);
 	});
 
-	function createModel(text:string): Model {
+	function createModel(text: string): Model {
 		return Model.createFromString(text);
 	}
 
diff --git a/src/vs/workbench/parts/html/browser/html.contribution.ts b/src/vs/workbench/parts/html/browser/html.contribution.ts
index 9ef41fbdca5de..dfbb98ab76a37 100644
--- a/src/vs/workbench/parts/html/browser/html.contribution.ts
+++ b/src/vs/workbench/parts/html/browser/html.contribution.ts
@@ -4,19 +4,19 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {localize} from 'vs/nls';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {IInstantiationService, ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
+import { localize } from 'vs/nls';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
 import URI from 'vs/base/common/uri';
-import {Position as EditorPosition} from 'vs/platform/editor/common/editor';
-import {HtmlInput} from '../common/htmlInput';
-import {HtmlPreviewPart} from 'vs/workbench/parts/html/browser/htmlPreviewPart';
-import {Registry} from 'vs/platform/platform';
-import {EditorDescriptor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {IEditorRegistry, Extensions as EditorExtensions} from 'vs/workbench/common/editor';
-import {SyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
+import { Position as EditorPosition } from 'vs/platform/editor/common/editor';
+import { HtmlInput } from '../common/htmlInput';
+import { HtmlPreviewPart } from 'vs/workbench/parts/html/browser/htmlPreviewPart';
+import { Registry } from 'vs/platform/platform';
+import { EditorDescriptor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/common/editor';
+import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
 
 // --- Register Editor
 (<IEditorRegistry>Registry.as(EditorExtensions.Editors)).registerEditor(new EditorDescriptor(HtmlPreviewPart.ID,
diff --git a/src/vs/workbench/parts/html/browser/htmlPreviewPart.ts b/src/vs/workbench/parts/html/browser/htmlPreviewPart.ts
index 93aef5db654fe..545211aa7dd10 100644
--- a/src/vs/workbench/parts/html/browser/htmlPreviewPart.ts
+++ b/src/vs/workbench/parts/html/browser/htmlPreviewPart.ts
@@ -5,22 +5,22 @@
 
 'use strict';
 
-import {localize} from 'vs/nls';
+import { localize } from 'vs/nls';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IModel} from 'vs/editor/common/editorCommon';
-import {Dimension, Builder} from 'vs/base/browser/builder';
-import {empty as EmptyDisposable, IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {EditorOptions, EditorInput} from 'vs/workbench/common/editor';
-import {BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {Position} from 'vs/platform/editor/common/editor';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {BaseTextEditorModel} from 'vs/workbench/common/editor/textEditorModel';
-import {HtmlInput} from 'vs/workbench/parts/html/common/htmlInput';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
-import {IOpenerService} from 'vs/platform/opener/common/opener';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IModel } from 'vs/editor/common/editorCommon';
+import { Dimension, Builder } from 'vs/base/browser/builder';
+import { empty as EmptyDisposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { EditorOptions, EditorInput } from 'vs/workbench/common/editor';
+import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { Position } from 'vs/platform/editor/common/editor';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel';
+import { HtmlInput } from 'vs/workbench/parts/html/common/htmlInput';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
+import { IOpenerService } from 'vs/platform/opener/common/opener';
 import Webview from './webview';
 
 /**
@@ -103,7 +103,7 @@ export class HtmlPreviewPart extends BaseEditor {
 		super.setEditorVisible(visible, position);
 	}
 
-	private _doSetVisible(visible: boolean):void {
+	private _doSetVisible(visible: boolean): void {
 		if (!visible) {
 			this._themeChangeSubscription.dispose();
 			this._modelChangeSubscription.dispose();
diff --git a/src/vs/workbench/parts/html/browser/webview.ts b/src/vs/workbench/parts/html/browser/webview.ts
index 43d4a6563d8a4..8af527c1a537f 100644
--- a/src/vs/workbench/parts/html/browser/webview.ts
+++ b/src/vs/workbench/parts/html/browser/webview.ts
@@ -6,12 +6,12 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import Event, {Emitter} from 'vs/base/common/event';
-import {addDisposableListener, addClass} from 'vs/base/browser/dom';
-import {isLightTheme, isDarkTheme} from 'vs/platform/theme/common/themes';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import Event, { Emitter } from 'vs/base/common/event';
+import { addDisposableListener, addClass } from 'vs/base/browser/dom';
+import { isLightTheme, isDarkTheme } from 'vs/platform/theme/common/themes';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
 
 declare interface WebviewElement extends HTMLElement {
 	src: string;
@@ -189,7 +189,7 @@ export default class Webview {
 
 			activeTheme = 'vscode-light';
 
-		} else if (isDarkTheme(themeId)){
+		} else if (isDarkTheme(themeId)) {
 			value += `
 			::-webkit-scrollbar-thumb {
 				background-color: rgba(121, 121, 121, 0.4);
diff --git a/src/vs/workbench/parts/html/common/htmlInput.ts b/src/vs/workbench/parts/html/common/htmlInput.ts
index eea49b03d11af..26b46d99fece7 100644
--- a/src/vs/workbench/parts/html/common/htmlInput.ts
+++ b/src/vs/workbench/parts/html/common/htmlInput.ts
@@ -5,7 +5,7 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {ResourceEditorInput} from 'vs/workbench/common/editor/resourceEditorInput';
+import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput';
 
 export class HtmlInput extends ResourceEditorInput {
 
diff --git a/src/vs/workbench/parts/markers/browser/markersPanel.ts b/src/vs/workbench/parts/markers/browser/markersPanel.ts
index 8a4e7645d1e5c..acca67b0c09ca 100644
--- a/src/vs/workbench/parts/markers/browser/markersPanel.ts
+++ b/src/vs/workbench/parts/markers/browser/markersPanel.ts
@@ -13,19 +13,19 @@ import { Delayer } from 'vs/base/common/async';
 import dom = require('vs/base/browser/dom');
 import lifecycle = require('vs/base/common/lifecycle');
 import builder = require('vs/base/browser/builder');
-import {Action} from 'vs/base/common/actions';
-import {IActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
+import { Action } from 'vs/base/common/actions';
+import { IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
 import { IMarkerService } from 'vs/platform/markers/common/markers';
 import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 import { IEventService } from 'vs/platform/event/common/event';
 import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
-import {asFileEditorInput} from 'vs/workbench/common/editor';
+import { asFileEditorInput } from 'vs/workbench/common/editor';
 import { Panel } from 'vs/workbench/browser/panel';
 import { IAction } from 'vs/base/common/actions';
 import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
 import Constants from 'vs/workbench/parts/markers/common/constants';
 import { IProblemsConfiguration, MarkersModel, Marker, Resource, FilterOptions } from 'vs/workbench/parts/markers/common/markersModel';
-import {Controller} from 'vs/workbench/parts/markers/browser/markersTreeController';
+import { Controller } from 'vs/workbench/parts/markers/browser/markersTreeController';
 import Tree = require('vs/base/parts/tree/browser/tree');
 import TreeImpl = require('vs/base/parts/tree/browser/treeImpl');
 import * as Viewer from 'vs/workbench/parts/markers/browser/markersTreeViewer';
diff --git a/src/vs/workbench/parts/markers/browser/markersPanelActions.ts b/src/vs/workbench/parts/markers/browser/markersPanelActions.ts
index 14239b550d8ca..0165f358b3648 100644
--- a/src/vs/workbench/parts/markers/browser/markersPanelActions.ts
+++ b/src/vs/workbench/parts/markers/browser/markersPanelActions.ts
@@ -11,8 +11,8 @@ import { IAction, Action } from 'vs/base/common/actions';
 import { BaseActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
 import { InputBox } from 'vs/base/browser/ui/inputbox/inputBox';
 import { KeyCode } from 'vs/base/common/keyCodes';
-import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
+import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
 import { TogglePanelAction } from 'vs/workbench/browser/panel';
 import Messages from 'vs/workbench/parts/markers/common/messages';
 import Constants from 'vs/workbench/parts/markers/common/constants';
@@ -36,7 +36,7 @@ export class ToggleMarkersPanelAction extends TogglePanelAction {
 	}
 
 	public run(): TPromise<any> {
-		let promise= super.run();
+		let promise = super.run();
 		if (this.isPanelFocussed()) {
 			this.telemetryService.publicLog('problems.used');
 		}
@@ -46,7 +46,7 @@ export class ToggleMarkersPanelAction extends TogglePanelAction {
 
 export class ToggleErrorsAndWarningsAction extends TogglePanelAction {
 
-	public static ID:string = 'workbench.action.showErrorsWarnings';
+	public static ID: string = 'workbench.action.showErrorsWarnings';
 
 	constructor(id: string, label: string,
 		@IPartService partService: IPartService,
@@ -57,7 +57,7 @@ export class ToggleErrorsAndWarningsAction extends TogglePanelAction {
 	}
 
 	public run(): TPromise<any> {
-		let promise= super.run();
+		let promise = super.run();
 		if (this.isPanelFocussed()) {
 			this.telemetryService.publicLog('problems.used');
 		}
@@ -68,7 +68,7 @@ export class ToggleErrorsAndWarningsAction extends TogglePanelAction {
 export class CollapseAllAction extends TreeCollapseAction {
 
 	constructor(viewer: Tree.ITree, enabled: boolean,
-				@ITelemetryService private telemetryService: ITelemetryService) {
+		@ITelemetryService private telemetryService: ITelemetryService) {
 		super(viewer, enabled);
 	}
 
@@ -81,7 +81,7 @@ export class CollapseAllAction extends TreeCollapseAction {
 
 export class FilterAction extends Action {
 
-	public static ID:string = 'workbench.actions.problems.filter';
+	public static ID: string = 'workbench.actions.problems.filter';
 
 	constructor(private markersPanel: MarkersPanel) {
 		super(FilterAction.ID, Messages.MARKERS_PANEL_ACTION_TOOLTIP_FILTER, 'markers-panel-action-filter', true);
@@ -96,11 +96,11 @@ export class FilterInputBoxActionItem extends BaseActionItem {
 	private delayedFilterUpdate: Delayer<void>;
 
 	constructor(private markersPanel: MarkersPanel, action: IAction,
-			@IContextViewService private contextViewService: IContextViewService,
-			@ITelemetryService private telemetryService: ITelemetryService) {
+		@IContextViewService private contextViewService: IContextViewService,
+		@ITelemetryService private telemetryService: ITelemetryService) {
 		super(markersPanel, action);
 		this.toDispose = [];
-		this.delayedFilterUpdate= new Delayer<void>(500);
+		this.delayedFilterUpdate = new Delayer<void>(500);
 	}
 
 	public render(container: HTMLElement): void {
@@ -109,7 +109,7 @@ export class FilterInputBoxActionItem extends BaseActionItem {
 			placeholder: Messages.MARKERS_PANEL_FILTER_PLACEHOLDER,
 			ariaLabel: Messages.MARKERS_PANEL_FILTER_PLACEHOLDER
 		});
-		filterInputBox.value= this.markersPanel.markersModel.filterOptions.completeFilter;
+		filterInputBox.value = this.markersPanel.markersModel.filterOptions.completeFilter;
 		this.toDispose.push(filterInputBox.onDidChange(filter => this.delayedFilterUpdate.trigger(() => this.updateFilter(filter))));
 		this.toDispose.push(DOM.addStandardDisposableListener(filterInputBox.inputElement, 'keyup', (keyboardEvent) => this.onInputKeyUp(keyboardEvent, filterInputBox)));
 		this.toDispose.push(DOM.addStandardDisposableListener(container, 'keydown', this.handleKeyboardEvent));
@@ -122,10 +122,10 @@ export class FilterInputBoxActionItem extends BaseActionItem {
 	}
 
 	private reportFilteringUsed(): void {
-		let data= {};
-		data['errors']= this.markersPanel.markersModel.filterOptions.filterErrors;
-		data['warnings']= this.markersPanel.markersModel.filterOptions.filterWarnings;
-		data['infos']= this.markersPanel.markersModel.filterOptions.filterInfos;
+		let data = {};
+		data['errors'] = this.markersPanel.markersModel.filterOptions.filterErrors;
+		data['warnings'] = this.markersPanel.markersModel.filterOptions.filterWarnings;
+		data['infos'] = this.markersPanel.markersModel.filterOptions.filterInfos;
 		this.telemetryService.publicLog('problems.filter', data);
 	}
 
@@ -146,10 +146,10 @@ export class FilterInputBoxActionItem extends BaseActionItem {
 		}
 	}
 
-	private onInputKeyUp(keyboardEvent: IKeyboardEvent, filterInputBox: InputBox ) {
+	private onInputKeyUp(keyboardEvent: IKeyboardEvent, filterInputBox: InputBox) {
 		switch (keyboardEvent.keyCode) {
 			case KeyCode.Escape:
-				filterInputBox.value= '';
+				filterInputBox.value = '';
 				return;
 			default:
 				return;
diff --git a/src/vs/workbench/parts/markers/browser/markersTreeViewer.ts b/src/vs/workbench/parts/markers/browser/markersTreeViewer.ts
index ce6cd76335755..c3511777ffd8f 100644
--- a/src/vs/workbench/parts/markers/browser/markersTreeViewer.ts
+++ b/src/vs/workbench/parts/markers/browser/markersTreeViewer.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise, Promise} from 'vs/base/common/winjs.base';
+import { TPromise, Promise } from 'vs/base/common/winjs.base';
 import * as dom from 'vs/base/browser/dom';
-import {IDataSource, ITree, IRenderer, IAccessibilityProvider, ISorter } from 'vs/base/parts/tree/browser/tree';
+import { IDataSource, ITree, IRenderer, IAccessibilityProvider, ISorter } from 'vs/base/parts/tree/browser/tree';
 import { IActionRunner } from 'vs/base/common/actions';
 import Severity from 'vs/base/common/severity';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
 import { IActionProvider } from 'vs/base/parts/tree/browser/actionsRenderer';
 import { CountBadge } from 'vs/base/browser/ui/countBadge/countBadge';
 import { FileLabel } from 'vs/workbench/browser/labels';
@@ -66,21 +66,21 @@ export class DataSource implements IDataSource {
 
 export class Renderer implements IRenderer {
 
-	private static RESOURCE_TEMPLATE_ID= 'resource-template';
-	private static MARKER_TEMPLATE_ID= 'marker-template';
+	private static RESOURCE_TEMPLATE_ID = 'resource-template';
+	private static MARKER_TEMPLATE_ID = 'marker-template';
 
 	constructor(private actionRunner: IActionRunner,
-				private actionProvider: IActionProvider,
-				@IWorkspaceContextService private contextService: IWorkspaceContextService,
-				@IInstantiationService private instantiationService: IInstantiationService
+		private actionProvider: IActionProvider,
+		@IWorkspaceContextService private contextService: IWorkspaceContextService,
+		@IInstantiationService private instantiationService: IInstantiationService
 	) {
 	}
 
-	public getHeight(tree:ITree, element:any): number {
+	public getHeight(tree: ITree, element: any): number {
 		return 22;
 	}
 
-	public getTemplateId(tree:ITree, element:any): string {
+	public getTemplateId(tree: ITree, element: any): string {
 		if (element instanceof Resource) {
 			return Renderer.RESOURCE_TEMPLATE_ID;
 		}
@@ -103,7 +103,7 @@ export class Renderer implements IRenderer {
 	private renderResourceTemplate(container: HTMLElement): IResourceTemplateData {
 		var data: IResourceTemplateData = Object.create(null);
 		const resourceLabelContainer = dom.append(container, dom.$('.resource-label-container'));
-		data.file =  this.instantiationService.createInstance(FileLabel, resourceLabelContainer, { supportHighlights: true });
+		data.file = this.instantiationService.createInstance(FileLabel, resourceLabelContainer, { supportHighlights: true });
 
 		// data.statistics= new MarkersStatisticsWidget(dom.append(container, dom.emmet('.marker-stats')));
 
@@ -125,7 +125,7 @@ export class Renderer implements IRenderer {
 	public renderElement(tree: ITree, element: any, templateId: string, templateData: any): void {
 		switch (templateId) {
 			case Renderer.RESOURCE_TEMPLATE_ID:
-				return this.renderResourceElement(tree, <Resource> element, templateData);
+				return this.renderResourceElement(tree, <Resource>element, templateData);
 			case Renderer.MARKER_TEMPLATE_ID:
 				return this.renderMarkerElement(tree, (<Marker>element), templateData);
 		}
@@ -138,15 +138,15 @@ export class Renderer implements IRenderer {
 	}
 
 	private renderMarkerElement(tree: ITree, element: Marker, templateData: IMarkerTemplateData) {
-		let marker= element.marker;
+		let marker = element.marker;
 		templateData.icon.className = 'icon ' + Renderer.iconClassNameFor(marker);
 		templateData.description.set(marker.message, element.labelMatches);
-		templateData.description.element.title= marker.message;
+		templateData.description.element.title = marker.message;
 
 		dom.toggleClass(templateData.source.element, 'marker-source', !!marker.source);
 		templateData.source.set(marker.source, element.sourceMatches);
 
-		templateData.lnCol.textContent= Messages.MARKERS_PANEL_AT_LINE_COL_NUMBER(marker.startLineNumber, marker.startColumn);
+		templateData.lnCol.textContent = Messages.MARKERS_PANEL_AT_LINE_COL_NUMBER(marker.startLineNumber, marker.startColumn);
 	}
 
 	private static iconClassNameFor(element: IMarker): string {
diff --git a/src/vs/workbench/parts/markers/browser/markersWorkbenchContributions.ts b/src/vs/workbench/parts/markers/browser/markersWorkbenchContributions.ts
index f6148763ac8a5..85d58f50babfe 100644
--- a/src/vs/workbench/parts/markers/browser/markersWorkbenchContributions.ts
+++ b/src/vs/workbench/parts/markers/browser/markersWorkbenchContributions.ts
@@ -18,8 +18,7 @@ import * as panel from 'vs/workbench/browser/panel';
 import { Extensions, IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry';
 import * as markersPanelActions from 'vs/workbench/parts/markers/browser/markersPanelActions';
 
-class StatusUpdater implements IWorkbenchContribution
-{
+class StatusUpdater implements IWorkbenchContribution {
 	static ID = 'vs.markers.statusUpdater';
 
 	private toDispose: lifecycle.IDisposable[];
diff --git a/src/vs/workbench/parts/markers/common/markersModel.ts b/src/vs/workbench/parts/markers/common/markersModel.ts
index 6671a020d2893..bd7e75d2a243b 100644
--- a/src/vs/workbench/parts/markers/common/markersModel.ts
+++ b/src/vs/workbench/parts/markers/common/markersModel.ts
@@ -12,7 +12,7 @@ import URI from 'vs/base/common/uri';
 import { IRange } from 'vs/editor/common/editorCommon';
 import { Range } from 'vs/editor/common/core/range';
 import { IMarker, MarkerStatistics } from 'vs/platform/markers/common/markers';
-import {IFilter, IMatch, or, matchesContiguousSubString, matchesPrefix, matchesFuzzy} from 'vs/base/common/filters';
+import { IFilter, IMatch, or, matchesContiguousSubString, matchesPrefix, matchesFuzzy } from 'vs/base/common/filters';
 import Messages from 'vs/workbench/parts/markers/common/messages';
 
 export interface BulkUpdater {
@@ -27,7 +27,7 @@ export class Resource {
 
 	constructor(public uri: URI, public markers: Marker[],
 								public statistics: MarkerStatistics,
-								public matches: IMatch[] = []){
+								public matches: IMatch[] = []) {
 	}
 
 	public get path(): string {
@@ -46,7 +46,7 @@ export class Resource {
 }
 
 export class Marker {
-	constructor(public id:string, public marker: IMarker,
+	constructor(public id: string, public marker: IMarker,
 								public labelMatches: IMatch[] = [],
 								public sourceMatches: IMatch[] = []) { }
 
@@ -59,11 +59,11 @@ export class Marker {
 	}
 
 	public toString(): string {
-	return [`file: '${this.marker.resource}'`,
-			`severity: '${Severity.toString(this.marker.severity)}'`,
-			`message: '${this.marker.message}'`,
-			`at: '${this.marker.startLineNumber},${this.marker.startColumn}'`,
-			`source: '${this.marker.source ? this.marker.source : ''}'`].join('\n');
+		return [`file: '${this.marker.resource}'`,
+		`severity: '${Severity.toString(this.marker.severity)}'`,
+		`message: '${this.marker.message}'`,
+		`at: '${this.marker.startLineNumber},${this.marker.startColumn}'`,
+		`source: '${this.marker.source ? this.marker.source : ''}'`].join('\n');
 	}
 
 }
@@ -73,13 +73,13 @@ export class FilterOptions {
 	static _filter: IFilter = or(matchesPrefix, matchesContiguousSubString);
 	static _fuzzyFilter: IFilter = or(matchesPrefix, matchesContiguousSubString, matchesFuzzy);
 
-	private _filterErrors: boolean= false;
-	private _filterWarnings: boolean= false;
-	private _filterInfos: boolean= false;
-	private _filter: string= '';
-	private _completeFilter: string= '';
+	private _filterErrors: boolean = false;
+	private _filterWarnings: boolean = false;
+	private _filterInfos: boolean = false;
+	private _filter: string = '';
+	private _completeFilter: string = '';
 
-	constructor(filter:string='') {
+	constructor(filter: string = '') {
 		if (filter) {
 			this.parse(filter);
 		}
@@ -105,20 +105,20 @@ export class FilterOptions {
 		return this._completeFilter;
 	}
 
-	public hasFilters():boolean {
+	public hasFilters(): boolean {
 		return !!this._filter;
 	}
 
 	private parse(filter: string) {
-		this._completeFilter= filter;
-		this._filter= filter.trim();
-		this._filterErrors= this.matches(this._filter, Messages.MARKERS_PANEL_FILTER_ERRORS);
-		this._filterWarnings= this.matches(this._filter, Messages.MARKERS_PANEL_FILTER_WARNINGS);
-		this._filterInfos= this.matches(this._filter, Messages.MARKERS_PANEL_FILTER_INFOS);
+		this._completeFilter = filter;
+		this._filter = filter.trim();
+		this._filterErrors = this.matches(this._filter, Messages.MARKERS_PANEL_FILTER_ERRORS);
+		this._filterWarnings = this.matches(this._filter, Messages.MARKERS_PANEL_FILTER_WARNINGS);
+		this._filterInfos = this.matches(this._filter, Messages.MARKERS_PANEL_FILTER_INFOS);
 	}
 
-	private matches(prefix: string, word: string):boolean {
-		let result= matchesPrefix(prefix, word);
+	private matches(prefix: string, word: string): boolean {
+		let result = matchesPrefix(prefix, word);
 		return result && result.length > 0;
 	}
 }
@@ -127,13 +127,13 @@ export class MarkersModel {
 
 	private markersByResource: Map.LinkedMap<URI, IMarker[]>;
 
-	private _filteredResources:Resource[];
-	private _nonFilteredResources:Resource[];
-	private _filterOptions:FilterOptions;
+	private _filteredResources: Resource[];
+	private _nonFilteredResources: Resource[];
+	private _filterOptions: FilterOptions;
 
-	constructor(markers: IMarker[]= []) {
-		this.markersByResource= new Map.LinkedMap<URI, IMarker[]>();
-		this._filterOptions= new FilterOptions();
+	constructor(markers: IMarker[] = []) {
+		this.markersByResource = new Map.LinkedMap<URI, IMarker[]>();
+		this._filterOptions = new FilterOptions();
 		this.update(markers);
 	}
 
@@ -153,7 +153,7 @@ export class MarkersModel {
 		return this.markersByResource.size > 0;
 	}
 
-	public hasResource(resource:URI): boolean {
+	public hasResource(resource: URI): boolean {
 		return this.markersByResource.has(resource);
 	}
 
@@ -177,7 +177,7 @@ export class MarkersModel {
 	public update(markers: IMarker[]);
 	public update(arg1?: any, arg2?: any) {
 		if (arg1 instanceof FilterOptions) {
-			this._filterOptions= arg1;
+			this._filterOptions = arg1;
 		}
 
 		if (arg1 instanceof URI) {
@@ -218,7 +218,7 @@ export class MarkersModel {
 	}
 
 	private updateMarkers(markers: IMarker[]) {
-		markers.forEach((marker:IMarker) => {
+		markers.forEach((marker: IMarker) => {
 			let uri: URI = marker.resource;
 			let markers: IMarker[] = this.markersByResource.get(uri);
 			if (!markers) {
@@ -248,7 +248,7 @@ export class MarkersModel {
 		return new Marker(uri + index, marker, labelMatches || [], sourceMatches || []);
 	}
 
-	private filterMarker(marker: IMarker):boolean {
+	private filterMarker(marker: IMarker): boolean {
 		if (this._filterOptions.filterErrors && Severity.Error === marker.severity) {
 			return true;
 		}
@@ -288,21 +288,21 @@ export class MarkersModel {
 					break;
 			}
 		}
-		return {errors, warnings, infos, unknowns};
+		return { errors, warnings, infos, unknowns };
 	}
 
-	public dispose() : void {
+	public dispose(): void {
 		this.markersByResource.clear();
-		this._filteredResources= [];
-		this._nonFilteredResources= [];
+		this._filteredResources = [];
+		this._nonFilteredResources = [];
 	}
 
-	public getTitle(markerStatistics: MarkerStatistics):string {
-		let title= MarkersModel.getStatisticsLabel(markerStatistics);
+	public getTitle(markerStatistics: MarkerStatistics): string {
+		let title = MarkersModel.getStatisticsLabel(markerStatistics);
 		return title ? title : Messages.MARKERS_PANEL_TITLE_PROBLEMS;
 	}
 
-	public getMessage():string {
+	public getMessage(): string {
 		if (this.hasFilteredResources()) {
 			return '';
 		}
@@ -314,21 +314,21 @@ export class MarkersModel {
 		return Messages.MARKERS_PANEL_NO_PROBLEMS_BUILT;
 	}
 
-	public static getStatisticsLabel(markerStatistics: MarkerStatistics, onlyErrors:boolean=false):string {
-		let label= this.getLabel('',  markerStatistics.errors, Messages.MARKERS_PANEL_SINGLE_ERROR_LABEL, Messages.MARKERS_PANEL_MULTIPLE_ERRORS_LABEL);
+	public static getStatisticsLabel(markerStatistics: MarkerStatistics, onlyErrors: boolean = false): string {
+		let label = this.getLabel('', markerStatistics.errors, Messages.MARKERS_PANEL_SINGLE_ERROR_LABEL, Messages.MARKERS_PANEL_MULTIPLE_ERRORS_LABEL);
 		if (!onlyErrors) {
-			label= this.getLabel(label,  markerStatistics.warnings, Messages.MARKERS_PANEL_SINGLE_WARNING_LABEL, Messages.MARKERS_PANEL_MULTIPLE_WARNINGS_LABEL);
-			label= this.getLabel(label,  markerStatistics.infos, Messages.MARKERS_PANEL_SINGLE_INFO_LABEL, Messages.MARKERS_PANEL_MULTIPLE_INFOS_LABEL);
-			label= this.getLabel(label,  markerStatistics.unknowns, Messages.MARKERS_PANEL_SINGLE_UNKNOWN_LABEL, Messages.MARKERS_PANEL_MULTIPLE_UNKNOWNS_LABEL);
+			label = this.getLabel(label, markerStatistics.warnings, Messages.MARKERS_PANEL_SINGLE_WARNING_LABEL, Messages.MARKERS_PANEL_MULTIPLE_WARNINGS_LABEL);
+			label = this.getLabel(label, markerStatistics.infos, Messages.MARKERS_PANEL_SINGLE_INFO_LABEL, Messages.MARKERS_PANEL_MULTIPLE_INFOS_LABEL);
+			label = this.getLabel(label, markerStatistics.unknowns, Messages.MARKERS_PANEL_SINGLE_UNKNOWN_LABEL, Messages.MARKERS_PANEL_MULTIPLE_UNKNOWNS_LABEL);
 		}
 		return label;
 	}
 
-	private static getLabel(title: string, markersCount: number, singleMarkerString: string, multipleMarkersFunction: (markersCount:number)=>string): string {
+	private static getLabel(title: string, markersCount: number, singleMarkerString: string, multipleMarkersFunction: (markersCount: number) => string): string {
 		if (markersCount <= 0) {
 			return title;
 		}
-		title= title ? title + ', ' : '';
+		title = title ? title + ', ' : '';
 		title += markersCount === 1 ? singleMarkerString : multipleMarkersFunction(markersCount);
 		return title;
 	}
diff --git a/src/vs/workbench/parts/markers/common/messages.ts b/src/vs/workbench/parts/markers/common/messages.ts
index cebb49db925c8..7da1ade1d3098 100644
--- a/src/vs/workbench/parts/markers/common/messages.ts
+++ b/src/vs/workbench/parts/markers/common/messages.ts
@@ -10,53 +10,53 @@ import { IMarker } from 'vs/platform/markers/common/markers';
 
 export default class Messages {
 
-	public static MARKERS_PANEL_VIEW_CATEGORY:string= nls.localize('viewCategory', "View");
-	public static MARKERS_PANEL_TOGGLE_LABEL:string= nls.localize('problems.view.show.label', "Show Problems");
+	public static MARKERS_PANEL_VIEW_CATEGORY: string = nls.localize('viewCategory', "View");
+	public static MARKERS_PANEL_TOGGLE_LABEL: string = nls.localize('problems.view.show.label', "Show Problems");
 
-	public static PROBLEMS_PANEL_CONFIGURATION_TITLE:string= nls.localize('problems.panel.configuration.title', "Problems View");
-	public static PROBLEMS_PANEL_CONFIGURATION_AUTO_REVEAL:string= nls.localize('problems.panel.configuration.autoreveal', "Controls if Problems view should automatically reveal files when opening them");
+	public static PROBLEMS_PANEL_CONFIGURATION_TITLE: string = nls.localize('problems.panel.configuration.title', "Problems View");
+	public static PROBLEMS_PANEL_CONFIGURATION_AUTO_REVEAL: string = nls.localize('problems.panel.configuration.autoreveal', "Controls if Problems view should automatically reveal files when opening them");
 
-	public static MARKERS_PANEL_TITLE_PROBLEMS:string= nls.localize('markers.panel.title.problems', "Problems");
-	public static MARKERS_PANEL_ARIA_LABEL_PROBLEMS_TREE:string= nls.localize('markers.panel.aria.label.problems.tree', "Problems grouped by files");
+	public static MARKERS_PANEL_TITLE_PROBLEMS: string = nls.localize('markers.panel.title.problems', "Problems");
+	public static MARKERS_PANEL_ARIA_LABEL_PROBLEMS_TREE: string = nls.localize('markers.panel.aria.label.problems.tree', "Problems grouped by files");
 
-	public static MARKERS_PANEL_NO_PROBLEMS_BUILT:string= nls.localize('markers.panel.no.problems.build', "No problems have been detected in the workspace so far.");
-	public static MARKERS_PANEL_NO_PROBLEMS_FILTERS:string= nls.localize('markers.panel.no.problems.filters', "No results found with provided filter criteria");
+	public static MARKERS_PANEL_NO_PROBLEMS_BUILT: string = nls.localize('markers.panel.no.problems.build', "No problems have been detected in the workspace so far.");
+	public static MARKERS_PANEL_NO_PROBLEMS_FILTERS: string = nls.localize('markers.panel.no.problems.filters', "No results found with provided filter criteria");
 
-	public static MARKERS_PANEL_ACTION_TOOLTIP_FILTER:string= nls.localize('markers.panel.action.filter', "Filter Problems");
-	public static MARKERS_PANEL_FILTER_PLACEHOLDER:string= nls.localize('markers.panel.filter.placeholder', "Filter by type or text");
-	public static MARKERS_PANEL_FILTER_ERRORS:string= nls.localize('markers.panel.filter.errors', "errors");
-	public static MARKERS_PANEL_FILTER_WARNINGS:string= nls.localize('markers.panel.filter.warnings', "warnings");
-	public static MARKERS_PANEL_FILTER_INFOS:string= nls.localize('markers.panel.filter.infos', "infos");
+	public static MARKERS_PANEL_ACTION_TOOLTIP_FILTER: string = nls.localize('markers.panel.action.filter', "Filter Problems");
+	public static MARKERS_PANEL_FILTER_PLACEHOLDER: string = nls.localize('markers.panel.filter.placeholder', "Filter by type or text");
+	public static MARKERS_PANEL_FILTER_ERRORS: string = nls.localize('markers.panel.filter.errors', "errors");
+	public static MARKERS_PANEL_FILTER_WARNINGS: string = nls.localize('markers.panel.filter.warnings', "warnings");
+	public static MARKERS_PANEL_FILTER_INFOS: string = nls.localize('markers.panel.filter.infos', "infos");
 
-	public static MARKERS_PANEL_SINGLE_ERROR_LABEL:string= nls.localize('markers.panel.single.error.label', "1 Error");
-	public static MARKERS_PANEL_MULTIPLE_ERRORS_LABEL=(noOfErrors: number):string=>{return nls.localize('markers.panel.multiple.errors.label', "{0} Errors", ''+noOfErrors);};
-	public static MARKERS_PANEL_SINGLE_WARNING_LABEL:string= nls.localize('markers.panel.single.warning.label', "1 Warning");
-	public static MARKERS_PANEL_MULTIPLE_WARNINGS_LABEL=(noOfWarnings: number):string=>{return nls.localize('markers.panel.multiple.warnings.label', "{0} Warnings", ''+noOfWarnings);};
-	public static MARKERS_PANEL_SINGLE_INFO_LABEL:string= nls.localize('markers.panel.single.info.label', "1 Info");
-	public static MARKERS_PANEL_MULTIPLE_INFOS_LABEL=(noOfInfos: number):string=>{return nls.localize('markers.panel.multiple.infos.label', "{0} Infos", ''+noOfInfos);};
-	public static MARKERS_PANEL_SINGLE_UNKNOWN_LABEL:string= nls.localize('markers.panel.single.unknown.label', "1 Unknown");
-	public static MARKERS_PANEL_MULTIPLE_UNKNOWNS_LABEL=(noOfUnknowns: number):string=>{return nls.localize('markers.panel.multiple.unknowns.label', "{0} Unknowns", ''+noOfUnknowns);};
+	public static MARKERS_PANEL_SINGLE_ERROR_LABEL: string = nls.localize('markers.panel.single.error.label', "1 Error");
+	public static MARKERS_PANEL_MULTIPLE_ERRORS_LABEL = (noOfErrors: number): string => { return nls.localize('markers.panel.multiple.errors.label', "{0} Errors", '' + noOfErrors); };
+	public static MARKERS_PANEL_SINGLE_WARNING_LABEL: string = nls.localize('markers.panel.single.warning.label', "1 Warning");
+	public static MARKERS_PANEL_MULTIPLE_WARNINGS_LABEL = (noOfWarnings: number): string => { return nls.localize('markers.panel.multiple.warnings.label', "{0} Warnings", '' + noOfWarnings); };
+	public static MARKERS_PANEL_SINGLE_INFO_LABEL: string = nls.localize('markers.panel.single.info.label', "1 Info");
+	public static MARKERS_PANEL_MULTIPLE_INFOS_LABEL = (noOfInfos: number): string => { return nls.localize('markers.panel.multiple.infos.label', "{0} Infos", '' + noOfInfos); };
+	public static MARKERS_PANEL_SINGLE_UNKNOWN_LABEL: string = nls.localize('markers.panel.single.unknown.label', "1 Unknown");
+	public static MARKERS_PANEL_MULTIPLE_UNKNOWNS_LABEL = (noOfUnknowns: number): string => { return nls.localize('markers.panel.multiple.unknowns.label', "{0} Unknowns", '' + noOfUnknowns); };
 
-	public static MARKERS_PANEL_AT_LINE_COL_NUMBER= (ln: number, col: number):string=>{return nls.localize('markers.panel.at.ln.col.number', "({0}, {1})", '' + ln, '' + col);}
+	public static MARKERS_PANEL_AT_LINE_COL_NUMBER = (ln: number, col: number): string => { return nls.localize('markers.panel.at.ln.col.number', "({0}, {1})", '' + ln, '' + col); }
 
-	public static MARKERS_TREE_ARIA_LABEL_RESOURCE= (fileName, noOfProblems):string => {return nls.localize('problems.tree.aria.label.resource', "{0} with {1} problems", fileName, noOfProblems);}
-	public static MARKERS_TREE_ARIA_LABEL_MARKER= (marker: IMarker):string => {
+	public static MARKERS_TREE_ARIA_LABEL_RESOURCE = (fileName, noOfProblems): string => { return nls.localize('problems.tree.aria.label.resource', "{0} with {1} problems", fileName, noOfProblems); }
+	public static MARKERS_TREE_ARIA_LABEL_MARKER = (marker: IMarker): string => {
 		switch (marker.severity) {
 			case Severity.Error:
 				return marker.source ? nls.localize('problems.tree.aria.label.error.marker', "Error generated by {0}: {1} at line {2} and column {3}", marker.source, marker.message, marker.startLineNumber, marker.startColumn)
-									: nls.localize('problems.tree.aria.label.error.marker.nosource', "Error: {0} at line {1} and column {2}", marker.message, marker.startLineNumber, marker.startColumn);
+					: nls.localize('problems.tree.aria.label.error.marker.nosource', "Error: {0} at line {1} and column {2}", marker.message, marker.startLineNumber, marker.startColumn);
 			case Severity.Warning:
 				return marker.source ? nls.localize('problems.tree.aria.label.warning.marker', "Warning generated by {0}: {1} at line {2} and column {3}", marker.source, marker.message, marker.startLineNumber, marker.startColumn)
-									: nls.localize('problems.tree.aria.label.warning.marker.nosource', "Warning: {0} at line {1} and column {2}", marker.message, marker.startLineNumber, marker.startColumn);
+					: nls.localize('problems.tree.aria.label.warning.marker.nosource', "Warning: {0} at line {1} and column {2}", marker.message, marker.startLineNumber, marker.startColumn);
 
 			case Severity.Info:
 				return marker.source ? nls.localize('problems.tree.aria.label.info.marker', "Info generated by {0}: {1} at line {2} and column {3}", marker.source, marker.message, marker.startLineNumber, marker.startColumn)
-									: nls.localize('problems.tree.aria.label.info.marker.nosource', "Info: {0} at line {1} and column {2}", marker.message, marker.startLineNumber, marker.startColumn);
+					: nls.localize('problems.tree.aria.label.info.marker.nosource', "Info: {0} at line {1} and column {2}", marker.message, marker.startLineNumber, marker.startColumn);
 			default:
 				return marker.source ? nls.localize('problems.tree.aria.label.marker', "Problem generated by {0}: {1} at line {2} and column {3}", marker.source, marker.message, marker.startLineNumber, marker.startColumn)
-									: nls.localize('problems.tree.aria.label.marker.nosource', "Problem: {0} at line {1} and column {2}", marker.message, marker.startLineNumber, marker.startColumn);
+					: nls.localize('problems.tree.aria.label.marker.nosource', "Problem: {0} at line {1} and column {2}", marker.message, marker.startLineNumber, marker.startColumn);
 		}
 	}
 
-	public static SHOW_ERRORS_WARNINGS_ACTION_LABEL:string= nls.localize('errors.warnings.show.label', "Errors and Warnings");
+	public static SHOW_ERRORS_WARNINGS_ACTION_LABEL: string = nls.localize('errors.warnings.show.label', "Errors and Warnings");
 }
\ No newline at end of file
diff --git a/src/vs/workbench/parts/markers/electron-browser/markersElectronContributions.ts b/src/vs/workbench/parts/markers/electron-browser/markersElectronContributions.ts
index e71ca0fa0579e..d0322771b5262 100644
--- a/src/vs/workbench/parts/markers/electron-browser/markersElectronContributions.ts
+++ b/src/vs/workbench/parts/markers/electron-browser/markersElectronContributions.ts
@@ -6,10 +6,10 @@
 import { localize } from 'vs/nls';
 import { clipboard } from 'electron';
 import { Marker } from 'vs/workbench/parts/markers/common/markersModel';
-import Constants  from 'vs/workbench/parts/markers/common/constants';
+import Constants from 'vs/workbench/parts/markers/common/constants';
 import { CommandsRegistry, ICommandHandler } from 'vs/platform/commands/common/commands';
 import { MenuId, MenuRegistry } from 'vs/platform/actions/common/actions';
-import {ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
+import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
 import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
 import { IKeybindings } from 'vs/platform/keybinding/common/keybinding';
 import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
diff --git a/src/vs/workbench/parts/markers/test/common/markersModel.test.ts b/src/vs/workbench/parts/markers/test/common/markersModel.test.ts
index 6ea1c12e36199..450eb2d2ff966 100644
--- a/src/vs/workbench/parts/markers/test/common/markersModel.test.ts
+++ b/src/vs/workbench/parts/markers/test/common/markersModel.test.ts
@@ -13,16 +13,16 @@ import { MarkersModel, Marker, Resource } from 'vs/workbench/parts/markers/commo
 
 suite('MarkersModel Test', () => {
 
-	test('getFilteredResource return markers grouped by resource', function() {
-		let marker1= aMarker('res1');
-		let marker2= aMarker('res2');
-		let marker3= aMarker('res1');
-		let marker4= aMarker('res3');
-		let marker5= aMarker('res4');
-		let marker6= aMarker('res2');
-		let testObject= new MarkersModel([marker1, marker2, marker3, marker4, marker5, marker6]);
+	test('getFilteredResource return markers grouped by resource', function () {
+		let marker1 = aMarker('res1');
+		let marker2 = aMarker('res2');
+		let marker3 = aMarker('res1');
+		let marker4 = aMarker('res3');
+		let marker5 = aMarker('res4');
+		let marker6 = aMarker('res2');
+		let testObject = new MarkersModel([marker1, marker2, marker3, marker4, marker5, marker6]);
 
-		let actuals= testObject.filteredResources;
+		let actuals = testObject.filteredResources;
 
 		assert.equal(4, actuals.length);
 
@@ -45,16 +45,16 @@ suite('MarkersModel Test', () => {
 		assert.ok(hasMarker(actuals[3].markers, marker5));
 	});
 
-	test('sort palces resources with no errors at the end', function() {
-		let marker1= aMarker('a/res1', Severity.Warning);
-		let marker2= aMarker('a/res2');
-		let marker3= aMarker('res4');
-		let marker4= aMarker('b/res3');
-		let marker5= aMarker('res4');
-		let marker6= aMarker('c/res2', Severity.Info);
-		let testObject= new MarkersModel([marker1, marker2, marker3, marker4, marker5, marker6]);
+	test('sort palces resources with no errors at the end', function () {
+		let marker1 = aMarker('a/res1', Severity.Warning);
+		let marker2 = aMarker('a/res2');
+		let marker3 = aMarker('res4');
+		let marker4 = aMarker('b/res3');
+		let marker5 = aMarker('res4');
+		let marker6 = aMarker('c/res2', Severity.Info);
+		let testObject = new MarkersModel([marker1, marker2, marker3, marker4, marker5, marker6]);
 
-		let actuals= testObject.filteredResources.sort(MarkersModel.compare);
+		let actuals = testObject.filteredResources.sort(MarkersModel.compare);
 
 		assert.equal(5, actuals.length);
 		assert.ok(compareResource(actuals[0], 'a/res2'));
@@ -64,16 +64,16 @@ suite('MarkersModel Test', () => {
 		assert.ok(compareResource(actuals[4], 'c/res2'));
 	});
 
-	test('sort resources by file path', function() {
-		let marker1= aMarker('a/res1');
-		let marker2= aMarker('a/res2');
-		let marker3= aMarker('res4');
-		let marker4= aMarker('b/res3');
-		let marker5= aMarker('res4');
-		let marker6= aMarker('c/res2');
-		let testObject= new MarkersModel([marker1, marker2, marker3, marker4, marker5, marker6]);
+	test('sort resources by file path', function () {
+		let marker1 = aMarker('a/res1');
+		let marker2 = aMarker('a/res2');
+		let marker3 = aMarker('res4');
+		let marker4 = aMarker('b/res3');
+		let marker5 = aMarker('res4');
+		let marker6 = aMarker('c/res2');
+		let testObject = new MarkersModel([marker1, marker2, marker3, marker4, marker5, marker6]);
 
-		let actuals= testObject.filteredResources.sort(MarkersModel.compare);
+		let actuals = testObject.filteredResources.sort(MarkersModel.compare);
 
 		assert.equal(5, actuals.length);
 		assert.ok(compareResource(actuals[0], 'a/res1'));
@@ -83,25 +83,25 @@ suite('MarkersModel Test', () => {
 		assert.ok(compareResource(actuals[4], 'res4'));
 	});
 
-	test('sort markers by severity, line and column', function() {
-		let marker1= aWarningWithRange(8, 1, 9, 3);
-		let marker2= aWarningWithRange(3);
-		let marker3= anErrorWithRange(8, 1, 9, 3);
-		let marker4= anIgnoreWithRange(5);
-		let marker5= anInfoWithRange(8, 1, 8, 4, 'ab');
-		let marker6= anErrorWithRange(3);
-		let marker7= anErrorWithRange(5);
-		let marker8= anInfoWithRange(5);
-		let marker9= anErrorWithRange(8, 1, 8, 4, 'ab');
-		let marker10= anErrorWithRange(10);
-		let marker11= anErrorWithRange(8, 1, 8, 4, 'ba');
-		let marker12= anIgnoreWithRange(3);
-		let marker13= aWarningWithRange(5);
-		let marker14= anErrorWithRange(4);
-		let marker15= anErrorWithRange(8, 2, 8, 4);
-		let testObject= new MarkersModel([marker1, marker2, marker3, marker4, marker5, marker6, marker7, marker8, marker9, marker10, marker11, marker12, marker13, marker14, marker15]);
-
-		let actuals= testObject.filteredResources[0].markers.sort(MarkersModel.compare);
+	test('sort markers by severity, line and column', function () {
+		let marker1 = aWarningWithRange(8, 1, 9, 3);
+		let marker2 = aWarningWithRange(3);
+		let marker3 = anErrorWithRange(8, 1, 9, 3);
+		let marker4 = anIgnoreWithRange(5);
+		let marker5 = anInfoWithRange(8, 1, 8, 4, 'ab');
+		let marker6 = anErrorWithRange(3);
+		let marker7 = anErrorWithRange(5);
+		let marker8 = anInfoWithRange(5);
+		let marker9 = anErrorWithRange(8, 1, 8, 4, 'ab');
+		let marker10 = anErrorWithRange(10);
+		let marker11 = anErrorWithRange(8, 1, 8, 4, 'ba');
+		let marker12 = anIgnoreWithRange(3);
+		let marker13 = aWarningWithRange(5);
+		let marker14 = anErrorWithRange(4);
+		let marker15 = anErrorWithRange(8, 2, 8, 4);
+		let testObject = new MarkersModel([marker1, marker2, marker3, marker4, marker5, marker6, marker7, marker8, marker9, marker10, marker11, marker12, marker13, marker14, marker15]);
+
+		let actuals = testObject.filteredResources[0].markers.sort(MarkersModel.compare);
 
 		assert.equal(actuals[0].marker, marker6);
 		assert.equal(actuals[1].marker, marker14);
@@ -127,61 +127,61 @@ suite('MarkersModel Test', () => {
 		assert.equal(`file: 'file:///a/res2'\nseverity: ''\nmessage: 'Ignore message'\nat: '1,2'\nsource: 'Ignore'`, new Marker('', aMarker('a/res2', Severity.Ignore, 1, 2, 1, 8, 'Ignore message', 'Ignore')).toString());
 	});
 
-	function hasMarker(markers:Marker[], marker:IMarker):boolean {
-		return markers.filter((m):boolean => {
+	function hasMarker(markers: Marker[], marker: IMarker): boolean {
+		return markers.filter((m): boolean => {
 			return m.marker === marker;
 		}).length === 1;
 	}
 
-	function compareResource(a:Resource, b:string):boolean {
+	function compareResource(a: Resource, b: string): boolean {
 		return a.uri.toString() === URI.file(b).toString();
 	}
 
-	function anErrorWithRange(startLineNumber:number=10,
-					startColumn:number=5,
-					endLineNumber:number= startLineNumber + 1,
-					endColumn:number=startColumn + 5,
-					message: string = 'some message',
-					):IMarker {
+	function anErrorWithRange(startLineNumber: number = 10,
+		startColumn: number = 5,
+		endLineNumber: number = startLineNumber + 1,
+		endColumn: number = startColumn + 5,
+		message: string = 'some message',
+	): IMarker {
 		return aMarker('some resource', Severity.Error, startLineNumber, startColumn, endLineNumber, endColumn, message);
 	}
 
-	function aWarningWithRange(startLineNumber:number=10,
-					startColumn:number=5,
-					endLineNumber:number= startLineNumber + 1,
-					endColumn:number=startColumn + 5,
-					message: string = 'some message',
-					):IMarker {
+	function aWarningWithRange(startLineNumber: number = 10,
+		startColumn: number = 5,
+		endLineNumber: number = startLineNumber + 1,
+		endColumn: number = startColumn + 5,
+		message: string = 'some message',
+	): IMarker {
 		return aMarker('some resource', Severity.Warning, startLineNumber, startColumn, endLineNumber, endColumn, message);
 	}
 
-	function anInfoWithRange(startLineNumber:number=10,
-					startColumn:number=5,
-					endLineNumber:number= startLineNumber + 1,
-					endColumn:number=startColumn + 5,
-					message: string = 'some message',
-					):IMarker {
+	function anInfoWithRange(startLineNumber: number = 10,
+		startColumn: number = 5,
+		endLineNumber: number = startLineNumber + 1,
+		endColumn: number = startColumn + 5,
+		message: string = 'some message',
+	): IMarker {
 		return aMarker('some resource', Severity.Info, startLineNumber, startColumn, endLineNumber, endColumn, message);
 	}
 
-	function anIgnoreWithRange(startLineNumber:number=10,
-					startColumn:number=5,
-					endLineNumber:number= startLineNumber + 1,
-					endColumn:number=startColumn + 5,
-					message: string = 'some message',
-					):IMarker {
+	function anIgnoreWithRange(startLineNumber: number = 10,
+		startColumn: number = 5,
+		endLineNumber: number = startLineNumber + 1,
+		endColumn: number = startColumn + 5,
+		message: string = 'some message',
+	): IMarker {
 		return aMarker('some resource', Severity.Ignore, startLineNumber, startColumn, endLineNumber, endColumn, message);
 	}
 
-	function aMarker(resource:string='some resource',
-					severity:Severity=Severity.Error,
-					startLineNumber:number=10,
-					startColumn:number=5,
-					endLineNumber:number= startLineNumber + 1,
-					endColumn:number=startColumn + 5,
-					message: string = 'some message',
-					source: string = 'tslint'
-					):IMarker {
+	function aMarker(resource: string = 'some resource',
+		severity: Severity = Severity.Error,
+		startLineNumber: number = 10,
+		startColumn: number = 5,
+		endLineNumber: number = startLineNumber + 1,
+		endColumn: number = startColumn + 5,
+		message: string = 'some message',
+		source: string = 'tslint'
+	): IMarker {
 		return {
 			owner: 'someOwner',
 			resource: URI.file(resource),
diff --git a/src/vs/workbench/parts/nps/electron-browser/nps.contribution.ts b/src/vs/workbench/parts/nps/electron-browser/nps.contribution.ts
index 54b539a594f66..26ab09c28cf61 100644
--- a/src/vs/workbench/parts/nps/electron-browser/nps.contribution.ts
+++ b/src/vs/workbench/parts/nps/electron-browser/nps.contribution.ts
@@ -68,7 +68,7 @@ class NPSContribution implements IWorkbenchContribution {
 
 		const takeSurveyAction = new Action('nps.takeSurvey', nls.localize('takeSurvey', "Take Survey"), '', true, () => {
 			return telemetryService.getTelemetryInfo().then(info => {
-				shell.openExternal(`${ product.npsSurveyUrl }?o=${ encodeURIComponent(process.platform) }&v=${ encodeURIComponent(pkg.version) }&m=${ encodeURIComponent(info.machineId) }`);
+				shell.openExternal(`${product.npsSurveyUrl}?o=${encodeURIComponent(process.platform)}&v=${encodeURIComponent(pkg.version)}&m=${encodeURIComponent(info.machineId)}`);
 				storageService.store(IS_CANDIDATE_KEY, false, StorageScope.GLOBAL);
 				storageService.store(SKIP_VERSION_KEY, pkg.version, StorageScope.GLOBAL);
 			});
@@ -85,7 +85,7 @@ class NPSContribution implements IWorkbenchContribution {
 			return TPromise.as(null);
 		});
 
-		const actions = [neverAgainAction, remindMeLaterAction, takeSurveyAction ];
+		const actions = [neverAgainAction, remindMeLaterAction, takeSurveyAction];
 
 		messageService.show(Severity.Info, { message, actions });
 	}
diff --git a/src/vs/workbench/parts/output/browser/output.contribution.ts b/src/vs/workbench/parts/output/browser/output.contribution.ts
index 97efc2508a090..d86ba5e6861bc 100644
--- a/src/vs/workbench/parts/output/browser/output.contribution.ts
+++ b/src/vs/workbench/parts/output/browser/output.contribution.ts
@@ -5,21 +5,21 @@
 
 import 'vs/css!../browser/media/output.contribution';
 import nls = require('vs/nls');
-import {KeyMod, KeyChord, KeyCode} from 'vs/base/common/keyCodes';
-import {ModesRegistry} from 'vs/editor/common/modes/modesRegistry';
+import { KeyMod, KeyChord, KeyCode } from 'vs/base/common/keyCodes';
+import { ModesRegistry } from 'vs/editor/common/modes/modesRegistry';
 import platform = require('vs/platform/platform');
-import {MenuId, MenuRegistry, SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IKeybindings} from 'vs/platform/keybinding/common/keybinding';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {registerSingleton} from 'vs/platform/instantiation/common/extensions';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {OutputService} from 'vs/workbench/parts/output/browser/outputServices';
-import {ToggleOutputAction, ClearOutputAction} from 'vs/workbench/parts/output/browser/outputActions';
-import {OUTPUT_MODE_ID, OUTPUT_PANEL_ID, IOutputService} from 'vs/workbench/parts/output/common/output';
+import { MenuId, MenuRegistry, SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IKeybindings } from 'vs/platform/keybinding/common/keybinding';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { OutputService } from 'vs/workbench/parts/output/browser/outputServices';
+import { ToggleOutputAction, ClearOutputAction } from 'vs/workbench/parts/output/browser/outputActions';
+import { OUTPUT_MODE_ID, OUTPUT_PANEL_ID, IOutputService } from 'vs/workbench/parts/output/common/output';
 import panel = require('vs/workbench/browser/panel');
-import {EditorContextKeys} from 'vs/editor/common/editorCommon';
-import {CommandsRegistry, ICommandHandler} from 'vs/platform/commands/common/commands';
-import {ContextKeyExpr} from 'vs/platform/contextkey/common/contextkey';
+import { EditorContextKeys } from 'vs/editor/common/editorCommon';
+import { CommandsRegistry, ICommandHandler } from 'vs/platform/commands/common/commands';
+import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
 
 // Register Service
 registerSingleton(IOutputService, OutputService);
diff --git a/src/vs/workbench/parts/output/browser/outputActions.ts b/src/vs/workbench/parts/output/browser/outputActions.ts
index 0cfb6812f3ef6..f419657ff6f35 100644
--- a/src/vs/workbench/parts/output/browser/outputActions.ts
+++ b/src/vs/workbench/parts/output/browser/outputActions.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {Registry} from 'vs/platform/platform';
-import {IAction, Action} from 'vs/base/common/actions';
-import {IOutputChannelRegistry, Extensions, IOutputService, OUTPUT_PANEL_ID} from 'vs/workbench/parts/output/common/output';
-import {SelectActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
-import {IPartService} from 'vs/workbench/services/part/common/partService';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
-import {TogglePanelAction} from 'vs/workbench/browser/panel';
+import { Registry } from 'vs/platform/platform';
+import { IAction, Action } from 'vs/base/common/actions';
+import { IOutputChannelRegistry, Extensions, IOutputService, OUTPUT_PANEL_ID } from 'vs/workbench/parts/output/common/output';
+import { SelectActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
+import { IPartService } from 'vs/workbench/services/part/common/partService';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
+import { TogglePanelAction } from 'vs/workbench/browser/panel';
 
 export class ToggleOutputAction extends TogglePanelAction {
 
diff --git a/src/vs/workbench/parts/output/browser/outputEditorInput.ts b/src/vs/workbench/parts/output/browser/outputEditorInput.ts
index 54a73eb81e2b9..cda244524fcc9 100644
--- a/src/vs/workbench/parts/output/browser/outputEditorInput.ts
+++ b/src/vs/workbench/parts/output/browser/outputEditorInput.ts
@@ -7,14 +7,14 @@
 import nls = require('vs/nls');
 import lifecycle = require('vs/base/common/lifecycle');
 import strings = require('vs/base/common/strings');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {RunOnceScheduler} from 'vs/base/common/async';
-import {EditorModel} from 'vs/workbench/common/editor';
-import {StringEditorInput} from 'vs/workbench/common/editor/stringEditorInput';
-import {OUTPUT_EDITOR_INPUT_ID, OUTPUT_PANEL_ID, IOutputEvent, OUTPUT_MODE_ID, IOutputService, MAX_OUTPUT_LENGTH, IOutputChannel} from 'vs/workbench/parts/output/common/output';
-import {OutputPanel} from 'vs/workbench/parts/output/browser/outputPanel';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { RunOnceScheduler } from 'vs/base/common/async';
+import { EditorModel } from 'vs/workbench/common/editor';
+import { StringEditorInput } from 'vs/workbench/common/editor/stringEditorInput';
+import { OUTPUT_EDITOR_INPUT_ID, OUTPUT_PANEL_ID, IOutputEvent, OUTPUT_MODE_ID, IOutputService, MAX_OUTPUT_LENGTH, IOutputChannel } from 'vs/workbench/parts/output/common/output';
+import { OutputPanel } from 'vs/workbench/parts/output/browser/outputPanel';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
 
 /**
  * Output Editor Input
diff --git a/src/vs/workbench/parts/output/browser/outputPanel.ts b/src/vs/workbench/parts/output/browser/outputPanel.ts
index 5ca3c025132d1..f1a52cc4d2c34 100644
--- a/src/vs/workbench/parts/output/browser/outputPanel.ts
+++ b/src/vs/workbench/parts/output/browser/outputPanel.ts
@@ -5,27 +5,27 @@
 
 import nls = require('vs/nls');
 import lifecycle = require('vs/base/common/lifecycle');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Action, IAction} from 'vs/base/common/actions';
-import {Builder} from 'vs/base/browser/builder';
-import {IActionItem} from 'vs/base/browser/ui/actionbar/actionbar';
-import {IEditorOptions} from 'vs/editor/common/editorCommon';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {EditorInput, EditorOptions} from 'vs/workbench/common/editor';
-import {StringEditor} from 'vs/workbench/browser/parts/editor/stringEditor';
-import {OUTPUT_PANEL_ID, IOutputService, CONTEXT_IN_OUTPUT} from 'vs/workbench/parts/output/common/output';
-import {OutputEditorInput} from 'vs/workbench/parts/output/browser/outputEditorInput';
-import {SwitchOutputAction, SwitchOutputActionItem, ClearOutputAction} from 'vs/workbench/parts/output/browser/outputActions';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Action, IAction } from 'vs/base/common/actions';
+import { Builder } from 'vs/base/browser/builder';
+import { IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
+import { IEditorOptions } from 'vs/editor/common/editorCommon';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { EditorInput, EditorOptions } from 'vs/workbench/common/editor';
+import { StringEditor } from 'vs/workbench/browser/parts/editor/stringEditor';
+import { OUTPUT_PANEL_ID, IOutputService, CONTEXT_IN_OUTPUT } from 'vs/workbench/parts/output/common/output';
+import { OutputEditorInput } from 'vs/workbench/parts/output/browser/outputEditorInput';
+import { SwitchOutputAction, SwitchOutputActionItem, ClearOutputAction } from 'vs/workbench/parts/output/browser/outputActions';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
 
 export class OutputPanel extends StringEditor {
 
diff --git a/src/vs/workbench/parts/output/browser/outputServices.ts b/src/vs/workbench/parts/output/browser/outputServices.ts
index 4df3a6dbdba25..99bf2e7d57e1d 100644
--- a/src/vs/workbench/parts/output/browser/outputServices.ts
+++ b/src/vs/workbench/parts/output/browser/outputServices.ts
@@ -3,21 +3,21 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import strings = require('vs/base/common/strings');
-import Event, {Emitter} from 'vs/base/common/event';
-import {IEditor} from 'vs/platform/editor/common/editor';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {Registry} from 'vs/platform/platform';
-import {EditorOptions} from 'vs/workbench/common/editor';
-import {IOutputEvent, IOutputChannel, IOutputService, Extensions, OUTPUT_PANEL_ID, IOutputChannelRegistry, MAX_OUTPUT_LENGTH} from 'vs/workbench/parts/output/common/output';
-import {OutputEditorInput} from 'vs/workbench/parts/output/browser/outputEditorInput';
-import {OutputPanel} from 'vs/workbench/parts/output/browser/outputPanel';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {OutputLinkProvider} from 'vs/workbench/parts/output/common/outputLinkProvider';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IEditor } from 'vs/platform/editor/common/editor';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { Registry } from 'vs/platform/platform';
+import { EditorOptions } from 'vs/workbench/common/editor';
+import { IOutputEvent, IOutputChannel, IOutputService, Extensions, OUTPUT_PANEL_ID, IOutputChannelRegistry, MAX_OUTPUT_LENGTH } from 'vs/workbench/parts/output/common/output';
+import { OutputEditorInput } from 'vs/workbench/parts/output/browser/outputEditorInput';
+import { OutputPanel } from 'vs/workbench/parts/output/browser/outputPanel';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { OutputLinkProvider } from 'vs/workbench/parts/output/common/outputLinkProvider';
 
 const OUTPUT_ACTIVE_CHANNEL_KEY = 'output.activechannel';
 
@@ -38,7 +38,7 @@ export class OutputService implements IOutputService {
 		@IStorageService private storageService: IStorageService,
 		@IInstantiationService private instantiationService: IInstantiationService,
 		@IPanelService private panelService: IPanelService,
-		@IWorkspaceContextService contextService:IWorkspaceContextService,
+		@IWorkspaceContextService contextService: IWorkspaceContextService,
 		@IModelService modelService: IModelService
 	) {
 		this._onOutput = new Emitter<IOutputEvent>();
diff --git a/src/vs/workbench/parts/output/common/output.ts b/src/vs/workbench/parts/output/common/output.ts
index 4b9379120fa82..223c85fd1ec43 100644
--- a/src/vs/workbench/parts/output/common/output.ts
+++ b/src/vs/workbench/parts/output/common/output.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import Event from 'vs/base/common/event';
-import {Registry} from 'vs/platform/platform';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {IEditor} from 'vs/platform/editor/common/editor';
-import {RawContextKey} from 'vs/platform/contextkey/common/contextkey';
+import { Registry } from 'vs/platform/platform';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { IEditor } from 'vs/platform/editor/common/editor';
+import { RawContextKey } from 'vs/platform/contextkey/common/contextkey';
 
 /**
  * Id used by the output editor.
@@ -123,7 +123,7 @@ export interface IOutputChannelRegistry {
 	/**
 	 * Returns the list of channels known to the output world.
 	 */
-	getChannels(): { id: string, label: string}[];
+	getChannels(): { id: string, label: string }[];
 }
 
 class OutputChannelRegistry implements IOutputChannelRegistry {
@@ -139,7 +139,7 @@ class OutputChannelRegistry implements IOutputChannelRegistry {
 		}
 	}
 
-	public getChannels(): { id: string, label: string}[] {
+	public getChannels(): { id: string, label: string }[] {
 		return this.channels;
 	}
 }
diff --git a/src/vs/workbench/parts/output/common/outputLinkComputer.ts b/src/vs/workbench/parts/output/common/outputLinkComputer.ts
index c427d45511a1d..57bf8cba1237e 100644
--- a/src/vs/workbench/parts/output/common/outputLinkComputer.ts
+++ b/src/vs/workbench/parts/output/common/outputLinkComputer.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IMirrorModel, IWorkerContext} from 'vs/editor/common/services/editorSimpleWorker';
-import {ILink} from 'vs/editor/common/modes';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { IMirrorModel, IWorkerContext } from 'vs/editor/common/services/editorSimpleWorker';
+import { ILink } from 'vs/editor/common/modes';
+import { TPromise } from 'vs/base/common/winjs.base';
 import URI from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
 import strings = require('vs/base/common/strings');
 import arrays = require('vs/base/common/arrays');
-import {Range} from 'vs/editor/common/core/range';
+import { Range } from 'vs/editor/common/core/range';
 
 export interface ICreateData {
 	workspaceResourceUri: string;
@@ -23,17 +23,17 @@ export interface IResourceCreator {
 
 export class OutputLinkComputer {
 
-	private _ctx:IWorkerContext;
+	private _ctx: IWorkerContext;
 	private _patterns: RegExp[];
 	private _workspaceResource: URI;
 
-	constructor(ctx:IWorkerContext, createData:ICreateData) {
+	constructor(ctx: IWorkerContext, createData: ICreateData) {
 		this._ctx = ctx;
 		this._workspaceResource = URI.parse(createData.workspaceResourceUri);
 		this._patterns = OutputLinkComputer.createPatterns(this._workspaceResource);
 	}
 
-	private _getModel(uri:string): IMirrorModel {
+	private _getModel(uri: string): IMirrorModel {
 		let models = this._ctx.getMirrorModels();
 		for (let i = 0; i < models.length; i++) {
 			let model = models[i];
@@ -44,7 +44,7 @@ export class OutputLinkComputer {
 		return null;
 	}
 
-	public computeLinks(uri:string): TPromise<ILink[]> {
+	public computeLinks(uri: string): TPromise<ILink[]> {
 		let model = this._getModel(uri);
 		if (!model) {
 			return;
@@ -115,7 +115,7 @@ export class OutputLinkComputer {
 
 				// Convert the relative path information to a resource that we can use in links
 				let workspaceRelativePath = strings.rtrim(match[1], '.').replace(/\\/g, '/'); // remove trailing "." that likely indicate end of sentence
-				let resource:string;
+				let resource: string;
 				try {
 					resource = contextService.toResource(workspaceRelativePath).toString();
 				} catch (error) {
@@ -161,6 +161,6 @@ export class OutputLinkComputer {
 	}
 }
 
-export function create(ctx:IWorkerContext, createData:ICreateData): OutputLinkComputer {
+export function create(ctx: IWorkerContext, createData: ICreateData): OutputLinkComputer {
 	return new OutputLinkComputer(ctx, createData);
 }
diff --git a/src/vs/workbench/parts/output/common/outputLinkProvider.ts b/src/vs/workbench/parts/output/common/outputLinkProvider.ts
index a15437c5bfe64..85c1967dcf9df 100644
--- a/src/vs/workbench/parts/output/common/outputLinkProvider.ts
+++ b/src/vs/workbench/parts/output/common/outputLinkProvider.ts
@@ -5,15 +5,15 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import URI from 'vs/base/common/uri';
-import {RunOnceScheduler, wireCancellationToken} from 'vs/base/common/async';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {LinkProviderRegistry, ILink} from 'vs/editor/common/modes';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {OUTPUT_MODE_ID} from 'vs/workbench/parts/output/common/output';
-import {MonacoWebWorker, createWebWorker} from 'vs/editor/common/services/webWorker';
-import {ICreateData, OutputLinkComputer} from 'vs/workbench/parts/output/common/outputLinkComputer';
+import { RunOnceScheduler, wireCancellationToken } from 'vs/base/common/async';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { LinkProviderRegistry, ILink } from 'vs/editor/common/modes';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { OUTPUT_MODE_ID } from 'vs/workbench/parts/output/common/output';
+import { MonacoWebWorker, createWebWorker } from 'vs/editor/common/services/webWorker';
+import { ICreateData, OutputLinkComputer } from 'vs/workbench/parts/output/common/outputLinkComputer';
 
 export class OutputLinkProvider {
 
@@ -26,7 +26,7 @@ export class OutputLinkProvider {
 	private _disposeWorker: RunOnceScheduler;
 
 	constructor(
-		contextService:IWorkspaceContextService,
+		contextService: IWorkspaceContextService,
 		modelService: IModelService
 	) {
 		let workspace = contextService.getWorkspace();
@@ -56,7 +56,7 @@ export class OutputLinkProvider {
 	private _getOrCreateWorker(): MonacoWebWorker<OutputLinkComputer> {
 		this._disposeWorker.schedule();
 		if (!this._worker) {
-			let createData:ICreateData = {
+			let createData: ICreateData = {
 				workspaceResourceUri: this._workspaceResource.toString()
 			};
 			this._worker = createWebWorker<OutputLinkComputer>(this._modelService, {
@@ -68,7 +68,7 @@ export class OutputLinkProvider {
 		return this._worker;
 	}
 
-	private _provideLinks(modelUri:URI): TPromise<ILink[]> {
+	private _provideLinks(modelUri: URI): TPromise<ILink[]> {
 		return this._getOrCreateWorker().withSyncedResources([modelUri]).then((linkComputer) => {
 			return linkComputer.computeLinks(modelUri.toString());
 		});
diff --git a/src/vs/workbench/parts/output/test/outputLinkProvider.test.ts b/src/vs/workbench/parts/output/test/outputLinkProvider.test.ts
index a4ba217bae5e2..7143dc1888994 100644
--- a/src/vs/workbench/parts/output/test/outputLinkProvider.test.ts
+++ b/src/vs/workbench/parts/output/test/outputLinkProvider.test.ts
@@ -7,9 +7,9 @@
 
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
-import {isMacintosh, isLinux} from 'vs/base/common/platform';
-import {OutputLinkComputer} from 'vs/workbench/parts/output/common/outputLinkComputer';
-import {TestContextService} from 'vs/test/utils/servicesTestUtils';
+import { isMacintosh, isLinux } from 'vs/base/common/platform';
+import { OutputLinkComputer } from 'vs/workbench/parts/output/common/outputLinkComputer';
+import { TestContextService } from 'vs/test/utils/servicesTestUtils';
 
 function toOSPath(p: string): string {
 	if (isMacintosh || isLinux) {
diff --git a/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts b/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts
index b4c3e611b21c4..70ce732ac4ab7 100644
--- a/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts
+++ b/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts
@@ -6,27 +6,27 @@
 'use strict';
 
 import 'vs/css!./media/commandsHandler';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import arrays = require('vs/base/common/arrays');
 import types = require('vs/base/common/types');
-import {language, LANGUAGE_DEFAULT} from 'vs/base/common/platform';
-import {IAction, Action} from 'vs/base/common/actions';
-import {toErrorMessage} from 'vs/base/common/errorMessage';
-import {Mode, IEntryRunContext, IAutoFocus} from 'vs/base/parts/quickopen/common/quickOpen';
-import {QuickOpenEntryGroup, IHighlight, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {SyncActionDescriptor, ExecuteCommandAction, IMenuService} from 'vs/platform/actions/common/actions';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {Registry} from 'vs/platform/platform';
-import {QuickOpenHandler, QuickOpenAction} from 'vs/workbench/browser/quickopen';
-import {IEditorAction, IEditor} from 'vs/editor/common/editorCommon';
-import {matchesWords, matchesPrefix, matchesContiguousSubString, or} from 'vs/base/common/filters';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService, Severity, IMessageWithAction} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { language, LANGUAGE_DEFAULT } from 'vs/base/common/platform';
+import { IAction, Action } from 'vs/base/common/actions';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
+import { Mode, IEntryRunContext, IAutoFocus } from 'vs/base/parts/quickopen/common/quickOpen';
+import { QuickOpenEntryGroup, IHighlight, QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { SyncActionDescriptor, ExecuteCommandAction, IMenuService } from 'vs/platform/actions/common/actions';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { Registry } from 'vs/platform/platform';
+import { QuickOpenHandler, QuickOpenAction } from 'vs/workbench/browser/quickopen';
+import { IEditorAction, IEditor } from 'vs/editor/common/editorCommon';
+import { matchesWords, matchesPrefix, matchesContiguousSubString, or } from 'vs/base/common/filters';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService, Severity, IMessageWithAction } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
 
 export const ALL_COMMANDS_PREFIX = '>';
 export const EDITOR_COMMANDS_PREFIX = '$';
diff --git a/src/vs/workbench/parts/quickopen/browser/gotoLineHandler.ts b/src/vs/workbench/parts/quickopen/browser/gotoLineHandler.ts
index 9f58e3c277c39..d8d424b96eed9 100644
--- a/src/vs/workbench/parts/quickopen/browser/gotoLineHandler.ts
+++ b/src/vs/workbench/parts/quickopen/browser/gotoLineHandler.ts
@@ -4,20 +4,20 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import types = require('vs/base/common/types');
 import errors = require('vs/base/common/errors');
-import {IEntryRunContext, Mode, IAutoFocus} from 'vs/base/parts/quickopen/common/quickOpen';
-import {QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {KeyMod} from 'vs/base/common/keyCodes';
-import {QuickOpenHandler, EditorQuickOpenEntry, QuickOpenAction} from 'vs/workbench/browser/quickopen';
-import {TextEditorOptions, EditorOptions} from 'vs/workbench/common/editor';
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
-import {IEditor, IModelDecorationsChangeAccessor, OverviewRulerLane, IModelDeltaDecoration, IRange, IEditorViewState, ITextModel, IDiffEditorModel} from 'vs/editor/common/editorCommon';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {Position, IEditorInput} from 'vs/platform/editor/common/editor';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IEntryRunContext, Mode, IAutoFocus } from 'vs/base/parts/quickopen/common/quickOpen';
+import { QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { KeyMod } from 'vs/base/common/keyCodes';
+import { QuickOpenHandler, EditorQuickOpenEntry, QuickOpenAction } from 'vs/workbench/browser/quickopen';
+import { TextEditorOptions, EditorOptions } from 'vs/workbench/common/editor';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
+import { IEditor, IModelDecorationsChangeAccessor, OverviewRulerLane, IModelDeltaDecoration, IRange, IEditorViewState, ITextModel, IDiffEditorModel } from 'vs/editor/common/editorCommon';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { Position, IEditorInput } from 'vs/platform/editor/common/editor';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
 
 export const GOTO_LINE_PREFIX = ':';
 
diff --git a/src/vs/workbench/parts/quickopen/browser/gotoSymbolHandler.ts b/src/vs/workbench/parts/quickopen/browser/gotoSymbolHandler.ts
index ca741e17ccaf9..6476205a72eaa 100644
--- a/src/vs/workbench/parts/quickopen/browser/gotoSymbolHandler.ts
+++ b/src/vs/workbench/parts/quickopen/browser/gotoSymbolHandler.ts
@@ -6,24 +6,24 @@
 'use strict';
 
 import 'vs/css!./media/gotoSymbolHandler';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import errors = require('vs/base/common/errors');
 import types = require('vs/base/common/types');
 import strings = require('vs/base/common/strings');
-import {IEntryRunContext, Mode, IAutoFocus} from 'vs/base/parts/quickopen/common/quickOpen';
-import {QuickOpenModel, IHighlight} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {QuickOpenHandler, EditorQuickOpenEntryGroup, QuickOpenAction} from 'vs/workbench/browser/quickopen';
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
-import {TextEditorOptions, EditorOptions} from 'vs/workbench/common/editor';
+import { IEntryRunContext, Mode, IAutoFocus } from 'vs/base/parts/quickopen/common/quickOpen';
+import { QuickOpenModel, IHighlight } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { QuickOpenHandler, EditorQuickOpenEntryGroup, QuickOpenAction } from 'vs/workbench/browser/quickopen';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
+import { TextEditorOptions, EditorOptions } from 'vs/workbench/common/editor';
 import filters = require('vs/base/common/filters');
-import {KeyMod} from 'vs/base/common/keyCodes';
-import {IEditor, IModelDecorationsChangeAccessor, OverviewRulerLane, IModelDeltaDecoration, IRange, IModel, ITokenizedModel, IDiffEditorModel, IEditorViewState} from 'vs/editor/common/editorCommon';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {Position, IEditorInput} from 'vs/platform/editor/common/editor';
-import {getDocumentSymbols} from 'vs/editor/contrib/quickOpen/common/quickOpen';
-import {DocumentSymbolProviderRegistry, SymbolInformation, SymbolKind} from 'vs/editor/common/modes';
+import { KeyMod } from 'vs/base/common/keyCodes';
+import { IEditor, IModelDecorationsChangeAccessor, OverviewRulerLane, IModelDeltaDecoration, IRange, IModel, ITokenizedModel, IDiffEditorModel, IEditorViewState } from 'vs/editor/common/editorCommon';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { Position, IEditorInput } from 'vs/platform/editor/common/editor';
+import { getDocumentSymbols } from 'vs/editor/contrib/quickOpen/common/quickOpen';
+import { DocumentSymbolProviderRegistry, SymbolInformation, SymbolKind } from 'vs/editor/common/modes';
 
 export const GOTO_SYMBOL_PREFIX = '@';
 export const SCOPE_PREFIX = ':';
diff --git a/src/vs/workbench/parts/quickopen/browser/helpHandler.ts b/src/vs/workbench/parts/quickopen/browser/helpHandler.ts
index 4d28dca949c13..58d1dc4e674ab 100644
--- a/src/vs/workbench/parts/quickopen/browser/helpHandler.ts
+++ b/src/vs/workbench/parts/quickopen/browser/helpHandler.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {Builder, $} from 'vs/base/browser/builder';
+import { Builder, $ } from 'vs/base/browser/builder';
 import types = require('vs/base/common/types');
-import {Registry} from 'vs/platform/platform';
-import {Mode, IEntryRunContext, IAutoFocus} from 'vs/base/parts/quickopen/common/quickOpen';
-import {QuickOpenEntryItem, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {ITree, IElementCallback} from 'vs/base/parts/tree/browser/tree';
-import {IQuickOpenRegistry, Extensions, QuickOpenHandler} from 'vs/workbench/browser/quickopen';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { Registry } from 'vs/platform/platform';
+import { Mode, IEntryRunContext, IAutoFocus } from 'vs/base/parts/quickopen/common/quickOpen';
+import { QuickOpenEntryItem, QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { ITree, IElementCallback } from 'vs/base/parts/tree/browser/tree';
+import { IQuickOpenRegistry, Extensions, QuickOpenHandler } from 'vs/workbench/browser/quickopen';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
 
 export const HELP_PREFIX = '?';
 
diff --git a/src/vs/workbench/parts/quickopen/browser/quickopen.contribution.ts b/src/vs/workbench/parts/quickopen/browser/quickopen.contribution.ts
index 488535bc5892d..ed7e4dc3bccc1 100644
--- a/src/vs/workbench/parts/quickopen/browser/quickopen.contribution.ts
+++ b/src/vs/workbench/parts/quickopen/browser/quickopen.contribution.ts
@@ -7,15 +7,15 @@
 
 import env = require('vs/base/common/platform');
 import nls = require('vs/nls');
-import {QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions as QuickOpenExtensions} from 'vs/workbench/browser/quickopen';
-import {Registry} from 'vs/platform/platform';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
-import {GotoSymbolAction, GOTO_SYMBOL_PREFIX, SCOPE_PREFIX} from 'vs/workbench/parts/quickopen/browser/gotoSymbolHandler';
-import {ShowAllCommandsAction, ALL_COMMANDS_PREFIX} from 'vs/workbench/parts/quickopen/browser/commandsHandler';
-import {GotoLineAction, GOTO_LINE_PREFIX} from 'vs/workbench/parts/quickopen/browser/gotoLineHandler';
-import {HELP_PREFIX} from 'vs/workbench/parts/quickopen/browser/helpHandler';
+import { QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions as QuickOpenExtensions } from 'vs/workbench/browser/quickopen';
+import { Registry } from 'vs/platform/platform';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
+import { GotoSymbolAction, GOTO_SYMBOL_PREFIX, SCOPE_PREFIX } from 'vs/workbench/parts/quickopen/browser/gotoSymbolHandler';
+import { ShowAllCommandsAction, ALL_COMMANDS_PREFIX } from 'vs/workbench/parts/quickopen/browser/commandsHandler';
+import { GotoLineAction, GOTO_LINE_PREFIX } from 'vs/workbench/parts/quickopen/browser/gotoLineHandler';
+import { HELP_PREFIX } from 'vs/workbench/parts/quickopen/browser/helpHandler';
 
 // Register Actions
 let registry = <IWorkbenchActionRegistry>Registry.as(ActionExtensions.WorkbenchActions);
diff --git a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts
index cd47f485647e9..c511cad2b1fe0 100644
--- a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts
+++ b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts
@@ -7,27 +7,27 @@
 
 import * as arrays from 'vs/base/common/arrays';
 import * as objects from 'vs/base/common/objects';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
-import {ThrottledDelayer} from 'vs/base/common/async';
+import { ThrottledDelayer } from 'vs/base/common/async';
 import types = require('vs/base/common/types');
-import {isWindows} from 'vs/base/common/platform';
+import { isWindows } from 'vs/base/common/platform';
 import paths = require('vs/base/common/paths');
 import strings = require('vs/base/common/strings');
-import {IRange} from 'vs/editor/common/editorCommon';
-import {IAutoFocus} from 'vs/base/parts/quickopen/common/quickOpen';
-import {QuickOpenEntry, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {QuickOpenHandler} from 'vs/workbench/browser/quickopen';
-import {FileEntry, OpenFileHandler, FileQuickOpenModel} from 'vs/workbench/parts/search/browser/openFileHandler';
+import { IRange } from 'vs/editor/common/editorCommon';
+import { IAutoFocus } from 'vs/base/parts/quickopen/common/quickOpen';
+import { QuickOpenEntry, QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { QuickOpenHandler } from 'vs/workbench/browser/quickopen';
+import { FileEntry, OpenFileHandler, FileQuickOpenModel } from 'vs/workbench/parts/search/browser/openFileHandler';
 /* tslint:disable:no-unused-variable */
 import * as openSymbolHandler from 'vs/workbench/parts/search/browser/openSymbolHandler';
 /* tslint:enable:no-unused-variable */
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {ISearchStats, ICachedSearchStats, IUncachedSearchStats} from 'vs/platform/search/common/search';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IWorkbenchSearchConfiguration} from 'vs/workbench/parts/search/common/search';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { ISearchStats, ICachedSearchStats, IUncachedSearchStats } from 'vs/platform/search/common/search';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IWorkbenchSearchConfiguration } from 'vs/workbench/parts/search/common/search';
 
 const objects_assign: <T, U>(destination: T, source: U) => T & U = objects.assign;
 
@@ -60,12 +60,12 @@ interface ITimerEventData {
 		cmdForkResultTime?: number;
 		cmdResultCount?: number;
 	} | {
-		cacheLookupStartDuration: number;
-		cacheFilterStartDuration: number;
-		cacheLookupResultDuration: number;
-		cacheEntryCount: number;
-		joined?: any;
-	});
+			cacheLookupStartDuration: number;
+			cacheFilterStartDuration: number;
+			cacheLookupResultDuration: number;
+			cacheEntryCount: number;
+			joined?: any;
+		});
 }
 
 interface ITelemetryData {
@@ -161,7 +161,7 @@ export class OpenAnythingHandler extends QuickOpenHandler {
 
 		// The throttler needs a factory for its promises
 		const promiseFactory = () => {
-			const resultPromises: TPromise<QuickOpenModel|FileQuickOpenModel>[] = [];
+			const resultPromises: TPromise<QuickOpenModel | FileQuickOpenModel>[] = [];
 
 			// File Results
 			resultPromises.push(this.openFileHandler.getResults(searchValue, OpenAnythingHandler.MAX_DISPLAYED_RESULTS));
@@ -357,15 +357,15 @@ export class OpenAnythingHandler extends QuickOpenHandler {
 			cacheEntryCount: cached.cacheEntryCount,
 			joined: cached.joined && this.createFileEventData(startTime, cached.joined)
 		} : {
-			traversal: uncached.traversal,
-			errors: uncached.errors,
-			fileWalkStartDuration: uncached.fileWalkStartTime - startTime,
-			fileWalkResultDuration: uncached.fileWalkResultTime - startTime,
-			directoriesWalked: uncached.directoriesWalked,
-			filesWalked: uncached.filesWalked,
-			cmdForkStartDuration: uncached.cmdForkStartTime && uncached.cmdForkStartTime - startTime,
-			cmdForkResultDuration: uncached.cmdForkResultTime && uncached.cmdForkResultTime - startTime,
-			cmdResultCount: uncached.cmdResultCount
-		});
+					traversal: uncached.traversal,
+					errors: uncached.errors,
+					fileWalkStartDuration: uncached.fileWalkStartTime - startTime,
+					fileWalkResultDuration: uncached.fileWalkResultTime - startTime,
+					directoriesWalked: uncached.directoriesWalked,
+					filesWalked: uncached.filesWalked,
+					cmdForkStartDuration: uncached.cmdForkStartTime && uncached.cmdForkStartTime - startTime,
+					cmdForkResultDuration: uncached.cmdForkResultTime && uncached.cmdForkResultTime - startTime,
+					cmdResultCount: uncached.cmdResultCount
+				});
 	}
 }
\ No newline at end of file
diff --git a/src/vs/workbench/parts/search/browser/openFileHandler.ts b/src/vs/workbench/parts/search/browser/openFileHandler.ts
index 0eb81d362923f..04ca191c83a5e 100644
--- a/src/vs/workbench/parts/search/browser/openFileHandler.ts
+++ b/src/vs/workbench/parts/search/browser/openFileHandler.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import errors = require('vs/base/common/errors');
 import nls = require('vs/nls');
 import paths = require('vs/base/common/paths');
@@ -12,24 +12,24 @@ import labels = require('vs/base/common/labels');
 import * as objects from 'vs/base/common/objects';
 import uuid = require('vs/base/common/uuid');
 import URI from 'vs/base/common/uri';
-import {IIconLabelOptions} from 'vs/base/browser/ui/iconLabel/iconLabel';
-import {IRange} from 'vs/editor/common/editorCommon';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {getIconClasses} from 'vs/workbench/browser/labels';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
-import {IAutoFocus} from 'vs/base/parts/quickopen/common/quickOpen';
-import {QuickOpenEntry, QuickOpenModel} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {QuickOpenHandler, EditorQuickOpenEntry} from 'vs/workbench/browser/quickopen';
-import {QueryBuilder} from 'vs/workbench/parts/search/common/searchQuery';
-import {EditorInput, getOutOfWorkspaceEditorResources, IWorkbenchEditorConfiguration} from 'vs/workbench/common/editor';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IResourceInput} from 'vs/platform/editor/common/editor';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IQueryOptions, ISearchService, ISearchStats, ISearchQuery} from 'vs/platform/search/common/search';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
+import { IIconLabelOptions } from 'vs/base/browser/ui/iconLabel/iconLabel';
+import { IRange } from 'vs/editor/common/editorCommon';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { getIconClasses } from 'vs/workbench/browser/labels';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
+import { IAutoFocus } from 'vs/base/parts/quickopen/common/quickOpen';
+import { QuickOpenEntry, QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { QuickOpenHandler, EditorQuickOpenEntry } from 'vs/workbench/browser/quickopen';
+import { QueryBuilder } from 'vs/workbench/parts/search/common/searchQuery';
+import { EditorInput, getOutOfWorkspaceEditorResources, IWorkbenchEditorConfiguration } from 'vs/workbench/common/editor';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IResourceInput } from 'vs/platform/editor/common/editor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IQueryOptions, ISearchService, ISearchStats, ISearchQuery } from 'vs/platform/search/common/search';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
 
 export class FileQuickOpenModel extends QuickOpenModel {
 
diff --git a/src/vs/workbench/parts/search/browser/openSymbolHandler.ts b/src/vs/workbench/parts/search/browser/openSymbolHandler.ts
index 2c2a6aa2189ef..ee1fe3a79bd91 100644
--- a/src/vs/workbench/parts/search/browser/openSymbolHandler.ts
+++ b/src/vs/workbench/parts/search/browser/openSymbolHandler.ts
@@ -6,22 +6,22 @@
 
 import nls = require('vs/nls');
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {ThrottledDelayer} from 'vs/base/common/async';
-import {QuickOpenHandler, EditorQuickOpenEntry} from 'vs/workbench/browser/quickopen';
-import {QuickOpenModel, QuickOpenEntry} from 'vs/base/parts/quickopen/browser/quickOpenModel';
-import {IAutoFocus, Mode, IEntryRunContext} from 'vs/base/parts/quickopen/common/quickOpen';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { ThrottledDelayer } from 'vs/base/common/async';
+import { QuickOpenHandler, EditorQuickOpenEntry } from 'vs/workbench/browser/quickopen';
+import { QuickOpenModel, QuickOpenEntry } from 'vs/base/parts/quickopen/browser/quickOpenModel';
+import { IAutoFocus, Mode, IEntryRunContext } from 'vs/base/parts/quickopen/common/quickOpen';
 import filters = require('vs/base/common/filters');
-import {Range} from 'vs/editor/common/core/range';
-import {EditorInput, IWorkbenchEditorConfiguration} from 'vs/workbench/common/editor';
+import { Range } from 'vs/editor/common/core/range';
+import { EditorInput, IWorkbenchEditorConfiguration } from 'vs/workbench/common/editor';
 import labels = require('vs/base/common/labels');
-import {IResourceInput} from 'vs/platform/editor/common/editor';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IWorkspaceSymbol, IWorkspaceSymbolProvider, getWorkspaceSymbols} from 'vs/workbench/parts/search/common/search';
+import { IResourceInput } from 'vs/platform/editor/common/editor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IWorkspaceSymbol, IWorkspaceSymbolProvider, getWorkspaceSymbols } from 'vs/workbench/parts/search/common/search';
 
 class SymbolEntry extends EditorQuickOpenEntry {
 
@@ -125,7 +125,7 @@ export class OpenSymbolHandler extends QuickOpenHandler {
 	private delayer: ThrottledDelayer<QuickOpenEntry[]>;
 	private options: IOpenSymbolOptions;
 
-	constructor(@IInstantiationService private instantiationService: IInstantiationService) {
+	constructor( @IInstantiationService private instantiationService: IInstantiationService) {
 		super();
 
 		this.delayer = new ThrottledDelayer<QuickOpenEntry[]>(OpenSymbolHandler.SEARCH_DELAY);
diff --git a/src/vs/workbench/parts/search/browser/patternInputWidget.ts b/src/vs/workbench/parts/search/browser/patternInputWidget.ts
index ad880dd45c706..15bd08c242e92 100644
--- a/src/vs/workbench/parts/search/browser/patternInputWidget.ts
+++ b/src/vs/workbench/parts/search/browser/patternInputWidget.ts
@@ -8,7 +8,7 @@ import * as dom from 'vs/base/browser/dom';
 import strings = require('vs/base/common/strings');
 import { $ } from 'vs/base/browser/builder';
 import { Widget } from 'vs/base/browser/ui/widget';
-import {IExpression, splitGlobAware} from 'vs/base/common/glob';
+import { IExpression, splitGlobAware } from 'vs/base/common/glob';
 import { Checkbox } from 'vs/base/browser/ui/checkbox/checkbox';
 import { IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview';
 import { MessageType, InputBox, IInputValidator } from 'vs/base/browser/ui/inputbox/inputBox';
diff --git a/src/vs/workbench/parts/search/browser/replaceService.ts b/src/vs/workbench/parts/search/browser/replaceService.ts
index febd07b66e0f4..f251f93250205 100644
--- a/src/vs/workbench/parts/search/browser/replaceService.ts
+++ b/src/vs/workbench/parts/search/browser/replaceService.ts
@@ -27,8 +27,8 @@ class EditorInputCache {
 	private cache: Map.LinkedMap<URI, TPromise<DiffEditorInput>>;
 
 	constructor(private replaceService: ReplaceService, private editorService: IWorkbenchEditorService,
-					private modelService: IModelService) {
-		this.cache= new Map.LinkedMap<URI, TPromise<DiffEditorInput>>();
+		private modelService: IModelService) {
+		this.cache = new Map.LinkedMap<URI, TPromise<DiffEditorInput>>();
 	}
 
 	public hasInput(fileMatch: FileMatch): boolean {
@@ -36,9 +36,9 @@ class EditorInputCache {
 	}
 
 	public getInput(fileMatch: FileMatch): TPromise<DiffEditorInput> {
-		let editorInputPromise= this.cache.get(fileMatch.resource());
+		let editorInputPromise = this.cache.get(fileMatch.resource());
 		if (!editorInputPromise) {
-			editorInputPromise= this.createInput(fileMatch);
+			editorInputPromise = this.createInput(fileMatch);
 			this.cache.set(fileMatch.resource(), editorInputPromise);
 			this.refreshInput(fileMatch, true);
 			fileMatch.onDispose(() => this.disposeInput(fileMatch));
@@ -47,18 +47,18 @@ class EditorInputCache {
 		return editorInputPromise;
 	}
 
-	public refreshInput(fileMatch: FileMatch, reloadFromSource: boolean= false): void {
-		let editorInputPromise= this.cache.get(fileMatch.resource());
+	public refreshInput(fileMatch: FileMatch, reloadFromSource: boolean = false): void {
+		let editorInputPromise = this.cache.get(fileMatch.resource());
 		if (editorInputPromise) {
 			editorInputPromise.done(() => {
 				if (reloadFromSource) {
-					this.editorService.resolveEditorModel({resource: fileMatch.resource()}).then(value => {
-						let replaceResource= this.getReplaceResource(fileMatch.resource());
+					this.editorService.resolveEditorModel({ resource: fileMatch.resource() }).then(value => {
+						let replaceResource = this.getReplaceResource(fileMatch.resource());
 						this.modelService.getModel(replaceResource).setValue(value.textEditorModel.getValue());
 						this.replaceService.replace(fileMatch, null, replaceResource);
 					});
 				} else {
-					let replaceResource= this.getReplaceResource(fileMatch.resource());
+					let replaceResource = this.getReplaceResource(fileMatch.resource());
 					this.modelService.getModel(replaceResource).undo();
 					this.replaceService.replace(fileMatch, null, replaceResource);
 				}
@@ -69,9 +69,9 @@ class EditorInputCache {
 	public disposeInput(fileMatch: FileMatch): void
 	public disposeInput(resource: URI): void
 	public disposeInput(arg: any): void {
-		let resourceUri= arg instanceof URI ? arg : arg instanceof FileMatch ? arg.resource() : null;
+		let resourceUri = arg instanceof URI ? arg : arg instanceof FileMatch ? arg.resource() : null;
 		if (resourceUri) {
-			let editorInputPromise= this.cache.get(resourceUri);
+			let editorInputPromise = this.cache.get(resourceUri);
 			if (editorInputPromise) {
 				editorInputPromise.done((diffInput) => {
 					this.cleanInput(resourceUri);
@@ -87,9 +87,9 @@ class EditorInputCache {
 
 	private createInput(fileMatch: FileMatch): TPromise<DiffEditorInput> {
 		return TPromise.join([this.createLeftInput(fileMatch),
-							this.createRightInput(fileMatch)]).then(inputs => {
+		this.createRightInput(fileMatch)]).then(inputs => {
 			const [left, right] = inputs;
-			let editorInput= new DiffEditorInput(nls.localize('fileReplaceChanges', "{0} ↔ {1} (Replace Preview)", fileMatch.name(), fileMatch.name()), undefined, <EditorInput>left, <EditorInput>right);
+			let editorInput = new DiffEditorInput(nls.localize('fileReplaceChanges', "{0} ↔ {1} (Replace Preview)", fileMatch.name(), fileMatch.name()), undefined, <EditorInput>left, <EditorInput>right);
 			editorInput.onDispose(() => this.cleanInput(fileMatch.resource()));
 			return editorInput;
 		});
@@ -101,22 +101,22 @@ class EditorInputCache {
 
 	private createRightInput(element: FileMatch): TPromise<IEditorInput> {
 		return new TPromise((c, e, p) => {
-			this.editorService.resolveEditorModel({resource: element.resource()}).then(value => {
-				let model= value.textEditorModel;
-				let replaceResource= this.getReplaceResource(element.resource());
+			this.editorService.resolveEditorModel({ resource: element.resource() }).then(value => {
+				let model = value.textEditorModel;
+				let replaceResource = this.getReplaceResource(element.resource());
 				this.modelService.createModel(model.getValue(), model.getMode(), replaceResource);
 				c(this.editorService.createInput({ resource: replaceResource }));
 			});
 		});
 	}
 
-	private cleanInput(resourceUri: URI):void {
+	private cleanInput(resourceUri: URI): void {
 		this.modelService.destroyModel(this.getReplaceResource(resourceUri));
 		this.cache.delete(resourceUri);
 	}
 
 	private getReplaceResource(resource: URI): URI {
-		return resource.with({scheme: network.Schemas.internal, fragment: 'preview'});
+		return resource.with({ scheme: network.Schemas.internal, fragment: 'preview' });
 	}
 }
 
@@ -126,25 +126,25 @@ export class ReplaceService implements IReplaceService {
 
 	private cache: EditorInputCache;
 
-	constructor(@ITelemetryService private telemetryService: ITelemetryService, @IEventService private eventService: IEventService, @IEditorService private editorService, @IModelService private modelService: IModelService) {
-		this.cache= new EditorInputCache(this, editorService, modelService);
+	constructor( @ITelemetryService private telemetryService: ITelemetryService, @IEventService private eventService: IEventService, @IEditorService private editorService, @IModelService private modelService: IModelService) {
+		this.cache = new EditorInputCache(this, editorService, modelService);
 	}
 
 	public replace(match: Match): TPromise<any>
 	public replace(files: FileMatch[], progress?: IProgressRunner): TPromise<any>
 	public replace(match: FileMatchOrMatch, progress?: IProgressRunner, resource?: URI): TPromise<any>
-	public replace(arg: any, progress: IProgressRunner= null, resource: URI= null): TPromise<any> {
+	public replace(arg: any, progress: IProgressRunner = null, resource: URI = null): TPromise<any> {
 
 		let bulkEdit: BulkEdit = createBulkEdit(this.eventService, this.editorService, null);
 		bulkEdit.progress(progress);
 
 		if (arg instanceof Match) {
-			let match= <Match>arg;
+			let match = <Match>arg;
 			bulkEdit.add([this.createEdit(match, match.replaceString, resource)]);
 		}
 
 		if (arg instanceof FileMatch) {
-			arg= [arg];
+			arg = [arg];
 		}
 
 		if (arg instanceof Array) {
@@ -165,7 +165,7 @@ export class ReplaceService implements IReplaceService {
 		return this.cache.getInput(element);
 	}
 
-	public refreshInput(element: FileMatch, reload: boolean= false): void {
+	public refreshInput(element: FileMatch, reload: boolean = false): void {
 		this.cache.refreshInput(element, reload);
 	}
 
@@ -176,8 +176,8 @@ export class ReplaceService implements IReplaceService {
 	public openReplacePreviewEditor(element: FileMatchOrMatch, preserveFocus?: boolean, sideBySide?: boolean, pinned?: boolean): TPromise<any> {
 		this.telemetryService.publicLog('replace.open.previewEditor');
 		return this.getInput(element instanceof Match ? element.parent() : element).then((editorInput) => {
-			this.editorService.openEditor(editorInput, {preserveFocus, pinned, revealIfVisible: true}).then((editor) => {
-				let editorControl= (<IDiffEditor>editor.getControl());
+			this.editorService.openEditor(editorInput, { preserveFocus, pinned, revealIfVisible: true }).then((editor) => {
+				let editorControl = (<IDiffEditor>editor.getControl());
 				if (element instanceof Match) {
 					editorControl.revealLineInCenter(element.range().startLineNumber);
 				}
@@ -189,10 +189,10 @@ export class ReplaceService implements IReplaceService {
 		return this.cache.hasInput(element instanceof Match ? element.parent() : element);
 	}
 
-	private createEdit(match: Match, text: string, resource: URI= null): IResourceEdit {
-		let fileMatch: FileMatch= match.parent();
-		let resourceEdit: IResourceEdit= {
-			resource: resource !== null ? resource: fileMatch.resource(),
+	private createEdit(match: Match, text: string, resource: URI = null): IResourceEdit {
+		let fileMatch: FileMatch = match.parent();
+		let resourceEdit: IResourceEdit = {
+			resource: resource !== null ? resource : fileMatch.resource(),
 			range: match.range(),
 			newText: text
 		};
diff --git a/src/vs/workbench/parts/search/browser/search.contribution.ts b/src/vs/workbench/parts/search/browser/search.contribution.ts
index e1dcc19ad9a1b..358bf0687c6fc 100644
--- a/src/vs/workbench/parts/search/browser/search.contribution.ts
+++ b/src/vs/workbench/parts/search/browser/search.contribution.ts
@@ -6,24 +6,24 @@
 'use strict';
 
 import 'vs/css!./media/search.contribution';
-import {Registry} from 'vs/platform/platform';
-import {ViewletRegistry, Extensions as ViewletExtensions, ViewletDescriptor} from 'vs/workbench/browser/viewlet';
-import {IConfigurationRegistry, Extensions as ConfigurationExtensions} from 'vs/platform/configuration/common/configurationRegistry';
+import { Registry } from 'vs/platform/platform';
+import { ViewletRegistry, Extensions as ViewletExtensions, ViewletDescriptor } from 'vs/workbench/browser/viewlet';
+import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry';
 import nls = require('vs/nls');
-import {IAction} from 'vs/base/common/actions';
-import {asFileResource} from 'vs/workbench/parts/files/common/files';
-import {SyncActionDescriptor, DeferredAction} from 'vs/platform/actions/common/actions';
-import {Separator} from 'vs/base/browser/ui/actionbar/actionbar';
-import {Scope, IActionBarRegistry, Extensions as ActionBarExtensions, ActionBarContributor} from 'vs/workbench/browser/actionBarRegistry';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions as QuickOpenExtensions, QuickOpenAction} from 'vs/workbench/browser/quickopen';
-import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {AsyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {KeyMod, KeyCode} from 'vs/base/common/keyCodes';
+import { IAction } from 'vs/base/common/actions';
+import { asFileResource } from 'vs/workbench/parts/files/common/files';
+import { SyncActionDescriptor, DeferredAction } from 'vs/platform/actions/common/actions';
+import { Separator } from 'vs/base/browser/ui/actionbar/actionbar';
+import { Scope, IActionBarRegistry, Extensions as ActionBarExtensions, ActionBarContributor } from 'vs/workbench/browser/actionBarRegistry';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions as QuickOpenExtensions, QuickOpenAction } from 'vs/workbench/browser/quickopen';
+import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { AsyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { KeyMod, KeyCode } from 'vs/base/common/keyCodes';
 import * as searchActions from 'vs/workbench/parts/search/browser/searchActions';
 import * as Constants from 'vs/workbench/parts/search/common/constants';
 import { registerContributions as replaceContributions } from 'vs/workbench/parts/search/browser/replaceContributions';
@@ -123,7 +123,7 @@ registry.registerWorkbenchAction(new SyncActionDescriptor(searchActions.FocusAct
 registry.registerWorkbenchAction(new SyncActionDescriptor(searchActions.FindInFilesAction, Constants.FindInFilesActionId, nls.localize('findInFiles', "Find in Files"), { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_F },
 	Constants.SearchInputBoxFocussedKey.toNegated()), 'Find in Files');
 
-registry.registerWorkbenchAction(new SyncActionDescriptor(searchActions.ReplaceInFilesAction, searchActions.ReplaceInFilesAction.ID, searchActions.ReplaceInFilesAction.LABEL, {primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_H}), 'Replace in Files');
+registry.registerWorkbenchAction(new SyncActionDescriptor(searchActions.ReplaceInFilesAction, searchActions.ReplaceInFilesAction.ID, searchActions.ReplaceInFilesAction.LABEL, { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_H }), 'Replace in Files');
 registry.registerWorkbenchAction(new SyncActionDescriptor(searchActions.CloseReplaceAction, Constants.CloseReplaceWidgetActionId, '', { primary: KeyCode.Escape }, ContextKeyExpr.and(Constants.SearchViewletVisibleKey, Constants.ReplaceInputBoxFocussedKey)), '');
 
 registry.registerWorkbenchAction(new SyncActionDescriptor(searchActions.ShowNextSearchTermAction, searchActions.ShowNextSearchTermAction.ID, searchActions.ShowNextSearchTermAction.LABEL, ShowNextFindTermKeybinding,
diff --git a/src/vs/workbench/parts/search/browser/searchActions.ts b/src/vs/workbench/parts/search/browser/searchActions.ts
index f0039e41e7ae1..00a1420302610 100644
--- a/src/vs/workbench/parts/search/browser/searchActions.ts
+++ b/src/vs/workbench/parts/search/browser/searchActions.ts
@@ -304,7 +304,7 @@ export abstract class AbstractSearchAndReplaceAction extends Action {
 	}
 
 	private getNavigatorAt(element: FileMatchOrMatch, viewer: ITree): INavigator<any> {
-		let navigator:INavigator<any> = viewer.getNavigator();
+		let navigator: INavigator<any> = viewer.getNavigator();
 		while (navigator.current() !== element && !!navigator.next()) { };
 		return navigator;
 	}
diff --git a/src/vs/workbench/parts/search/browser/searchResultsView.ts b/src/vs/workbench/parts/search/browser/searchResultsView.ts
index 59b5c1d02eaed..10b3a248a1248 100644
--- a/src/vs/workbench/parts/search/browser/searchResultsView.ts
+++ b/src/vs/workbench/parts/search/browser/searchResultsView.ts
@@ -17,13 +17,13 @@ import { CountBadge } from 'vs/base/browser/ui/countBadge/countBadge';
 import { FileLabel } from 'vs/workbench/browser/labels';
 import { LeftRightWidget, IRenderer } from 'vs/base/browser/ui/leftRightWidget/leftRightWidget';
 import { ITree, IElementCallback, IDataSource, ISorter, IAccessibilityProvider, IFilter } from 'vs/base/parts/tree/browser/tree';
-import {ClickBehavior, DefaultController} from 'vs/base/parts/tree/browser/treeDefaults';
+import { ClickBehavior, DefaultController } from 'vs/base/parts/tree/browser/treeDefaults';
 import { ContributableActionProvider } from 'vs/workbench/browser/actionBarRegistry';
 import { Match, SearchResult, FileMatch, FileMatchOrMatch, SearchModel } from 'vs/workbench/parts/search/common/searchModel';
 import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
 import { Range } from 'vs/editor/common/core/range';
 import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
-import { KeyCode, KeyMod }  from 'vs/base/common/keyCodes';
+import { KeyCode, KeyMod } from 'vs/base/common/keyCodes';
 import { SearchViewlet } from 'vs/workbench/parts/search/browser/searchViewlet';
 import { RemoveAction, ReplaceAllAction, ReplaceAction } from 'vs/workbench/parts/search/browser/searchActions';
 import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
@@ -91,13 +91,13 @@ class SearchActionProvider extends ContributableActionProvider {
 	}
 
 	public hasActions(tree: ITree, element: any): boolean {
-		let input= <SearchResult>tree.getInput();
+		let input = <SearchResult>tree.getInput();
 		return element instanceof FileMatch || (input.searchModel.isReplaceActive() || element instanceof Match) || super.hasActions(tree, element);
 	}
 
 	public getActions(tree: ITree, element: any): TPromise<IAction[]> {
 		return super.getActions(tree, element).then(actions => {
-			let input= <SearchResult>tree.getInput();
+			let input = <SearchResult>tree.getInput();
 			if (element instanceof FileMatch) {
 				actions.unshift(new RemoveAction(tree, element));
 				if (input.searchModel.isReplaceActive() && element.count() > 0) {
@@ -118,7 +118,7 @@ class SearchActionProvider extends ContributableActionProvider {
 export class SearchRenderer extends ActionsRenderer {
 
 	constructor(actionRunner: IActionRunner, viewlet: SearchViewlet, @IWorkspaceContextService private contextService: IWorkspaceContextService,
-											@IInstantiationService private instantiationService: IInstantiationService) {
+		@IInstantiationService private instantiationService: IInstantiationService) {
 		super({
 			actionProvider: instantiationService.createInstance(SearchActionProvider, viewlet),
 			actionRunner: actionRunner
@@ -162,15 +162,15 @@ export class SearchRenderer extends ActionsRenderer {
 		// Match
 		else if (element instanceof Match) {
 			dom.addClass(domElement, 'linematch');
-			let match= <Match>element;
+			let match = <Match>element;
 			let elements: string[] = [];
 			let preview = match.preview();
 
 			elements.push('<span>');
 			elements.push(strings.escape(preview.before));
-			let searchModel: SearchModel= (<SearchResult>tree.getInput()).searchModel;
+			let searchModel: SearchModel = (<SearchResult>tree.getInput()).searchModel;
 
-			let showReplaceText= searchModel.isReplaceActive() && !!searchModel.replaceString;
+			let showReplaceText = searchModel.isReplaceActive() && !!searchModel.replaceString;
 			elements.push('</span><span class="' + (showReplaceText ? 'replace ' : '') + 'findInFileMatch">');
 			elements.push(strings.escape(preview.inside));
 			if (showReplaceText) {
@@ -204,8 +204,8 @@ export class SearchAccessibilityProvider implements IAccessibilityProvider {
 		}
 
 		if (element instanceof Match) {
-			let match= <Match> element;
-			let input= <SearchResult>tree.getInput();
+			let match = <Match>element;
+			let input = <SearchResult>tree.getInput();
 			if (input.searchModel.isReplaceActive()) {
 				let preview = match.preview();
 				return nls.localize('replacePreviewResultAria', "Replace preview result, {0}", preview.before + match.replaceString + preview.after);
@@ -242,11 +242,11 @@ export class SearchController extends DefaultController {
 	}
 
 	private onDelete(tree: ITree, event: IKeyboardEvent): boolean {
-		let input= <SearchResult>tree.getInput();
+		let input = <SearchResult>tree.getInput();
 		let result = false;
 		let element = tree.getFocus();
 		if (element instanceof FileMatch ||
-				(element instanceof Match && input.searchModel.isReplaceActive())) {
+			(element instanceof Match && input.searchModel.isReplaceActive())) {
 			new RemoveAction(tree, element).run().done(null, errors.onUnexpectedError);
 			result = true;
 		}
@@ -255,7 +255,7 @@ export class SearchController extends DefaultController {
 	}
 
 	private onReplace(tree: ITree, event: IKeyboardEvent): boolean {
-		let input= <SearchResult>tree.getInput();
+		let input = <SearchResult>tree.getInput();
 		let result = false;
 		let element = tree.getFocus();
 		if (element instanceof Match && input.searchModel.isReplaceActive()) {
@@ -285,7 +285,7 @@ export class SearchController extends DefaultController {
 		return super.onUp(tree, event);
 	}
 
-	protected onSpace(tree:ITree, event:IKeyboardEvent):boolean {
+	protected onSpace(tree: ITree, event: IKeyboardEvent): boolean {
 		let element = tree.getFocus();
 		if (element instanceof Match) {
 			return this.onEnter(tree, event);
diff --git a/src/vs/workbench/parts/search/browser/searchViewlet.ts b/src/vs/workbench/parts/search/browser/searchViewlet.ts
index 63e14845a740b..665b2dfda26c7 100644
--- a/src/vs/workbench/parts/search/browser/searchViewlet.ts
+++ b/src/vs/workbench/parts/search/browser/searchViewlet.ts
@@ -7,53 +7,53 @@
 
 import 'vs/css!./media/searchviewlet';
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {EditorType} from 'vs/editor/common/editorCommon';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { EditorType } from 'vs/editor/common/editorCommon';
 import lifecycle = require('vs/base/common/lifecycle');
 import errors = require('vs/base/common/errors');
 import aria = require('vs/base/browser/ui/aria/aria');
 import { IExpression } from 'vs/base/common/glob';
-import {isFunction} from 'vs/base/common/types';
+import { isFunction } from 'vs/base/common/types';
 import URI from 'vs/base/common/uri';
 import strings = require('vs/base/common/strings');
 import dom = require('vs/base/browser/dom');
-import {IAction, Action} from 'vs/base/common/actions';
-import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {Dimension, Builder, $} from 'vs/base/browser/builder';
+import { IAction, Action } from 'vs/base/common/actions';
+import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { Dimension, Builder, $ } from 'vs/base/browser/builder';
 import { FindInput } from 'vs/base/browser/ui/findinput/findInput';
-import {ITree} from 'vs/base/parts/tree/browser/tree';
-import {Tree} from 'vs/base/parts/tree/browser/treeImpl';
-import {Scope} from 'vs/workbench/common/memento';
-import {OpenGlobalSettingsAction} from 'vs/workbench/browser/actions/openSettings';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {getOutOfWorkspaceEditorResources} from 'vs/workbench/common/editor';
-import {FileChangeType, FileChangesEvent, EventType as FileEventType} from 'vs/platform/files/common/files';
-import {Viewlet} from 'vs/workbench/browser/viewlet';
-import {Match, FileMatch, SearchModel, FileMatchOrMatch, IChangeEvent} from 'vs/workbench/parts/search/common/searchModel';
-import {getExcludes, QueryBuilder} from 'vs/workbench/parts/search/common/searchQuery';
-import {MessageType, InputBox } from 'vs/base/browser/ui/inputbox/inputBox';
-import {ISearchProgressItem, ISearchComplete, ISearchQuery, IQueryOptions, ISearchConfiguration} from 'vs/platform/search/common/search';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {ISearchService} from 'vs/platform/search/common/search';
-import {IProgressService} from 'vs/platform/progress/common/progress';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKeyService, IContextKey} from 'vs/platform/contextkey/common/contextkey';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {KeyCode} from 'vs/base/common/keyCodes';
+import { ITree } from 'vs/base/parts/tree/browser/tree';
+import { Tree } from 'vs/base/parts/tree/browser/treeImpl';
+import { Scope } from 'vs/workbench/common/memento';
+import { OpenGlobalSettingsAction } from 'vs/workbench/browser/actions/openSettings';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { getOutOfWorkspaceEditorResources } from 'vs/workbench/common/editor';
+import { FileChangeType, FileChangesEvent, EventType as FileEventType } from 'vs/platform/files/common/files';
+import { Viewlet } from 'vs/workbench/browser/viewlet';
+import { Match, FileMatch, SearchModel, FileMatchOrMatch, IChangeEvent } from 'vs/workbench/parts/search/common/searchModel';
+import { getExcludes, QueryBuilder } from 'vs/workbench/parts/search/common/searchQuery';
+import { MessageType, InputBox } from 'vs/base/browser/ui/inputbox/inputBox';
+import { ISearchProgressItem, ISearchComplete, ISearchQuery, IQueryOptions, ISearchConfiguration } from 'vs/platform/search/common/search';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { ISearchService } from 'vs/platform/search/common/search';
+import { IProgressService } from 'vs/platform/progress/common/progress';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { KeyCode } from 'vs/base/common/keyCodes';
 import { PatternInputWidget } from 'vs/workbench/parts/search/browser/patternInputWidget';
 import { SearchRenderer, SearchDataSource, SearchSorter, SearchController, SearchAccessibilityProvider, SearchFilter } from 'vs/workbench/parts/search/browser/searchResultsView';
 import { SearchWidget } from 'vs/workbench/parts/search/browser/searchWidget';
 import { RefreshAction, CollapseAllAction, ClearSearchResultsAction, ConfigureGlobalExclusionsAction } from 'vs/workbench/parts/search/browser/searchActions';
 import { IReplaceService } from 'vs/workbench/parts/search/common/replace';
 import Severity from 'vs/base/common/severity';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
 import * as Constants from 'vs/workbench/parts/search/common/constants';
 
 export class SearchViewlet extends Viewlet {
@@ -129,7 +129,7 @@ export class SearchViewlet extends Viewlet {
 	public create(parent: Builder): TPromise<void> {
 		super.create(parent);
 
-		this.viewModel= this.instantiationService.createInstance(SearchModel);
+		this.viewModel = this.instantiationService.createInstance(SearchModel);
 		let builder: Builder;
 		this.domNode = parent.div({
 			'class': 'search-viewlet'
@@ -137,8 +137,8 @@ export class SearchViewlet extends Viewlet {
 			builder = div;
 		});
 
-		builder.div({'class': ['search-widgets-container']}, (div) => {
-			this.searchWidgetsContainer= div;
+		builder.div({ 'class': ['search-widgets-container'] }, (div) => {
+			this.searchWidgetsContainer = div;
 		});
 		this.createSearchWidget(this.searchWidgetsContainer);
 
@@ -240,7 +240,7 @@ export class SearchViewlet extends Viewlet {
 		return TPromise.as(null);
 	}
 
-	public get searchAndReplaceWidget():SearchWidget {
+	public get searchAndReplaceWidget(): SearchWidget {
 		return this.searchWidget;
 	}
 
@@ -250,7 +250,7 @@ export class SearchViewlet extends Viewlet {
 		let isWholeWords = this.viewletSettings['query.wholeWords'] === true;
 		let isCaseSensitive = this.viewletSettings['query.caseSensitive'] === true;
 
-		this.searchWidget= new SearchWidget(builder, this.contextViewService, {
+		this.searchWidget = new SearchWidget(builder, this.contextViewService, {
 			value: contentPattern,
 			isRegex: isRegex,
 			isCaseSensitive: isCaseSensitive,
@@ -269,11 +269,11 @@ export class SearchViewlet extends Viewlet {
 
 		this.toUnbind.push(this.searchWidget.onReplaceToggled(() => this.onReplaceToggled()));
 		this.toUnbind.push(this.searchWidget.onReplaceStateChange((state) => {
-			this.viewModel.replaceActive= state;
+			this.viewModel.replaceActive = state;
 			this.tree.refresh();
 		}));
 		this.toUnbind.push(this.searchWidget.onReplaceValueChanged((value) => {
-			this.viewModel.replaceString= this.searchWidget.getReplaceValue();
+			this.viewModel.replaceString = this.searchWidget.getReplaceValue();
 			this.refreshInputs();
 			this.tree.refresh();
 		}));
@@ -339,18 +339,18 @@ export class SearchViewlet extends Viewlet {
 			return;
 		}
 
-		let progressRunner= this.progressService.show(100);
+		let progressRunner = this.progressService.show(100);
 
-		let occurrences= this.viewModel.searchResult.count();
-		let fileCount= this.viewModel.searchResult.fileCount();
-		let replaceValue= this.searchWidget.getReplaceValue() || '';
-		let afterReplaceAllMessage= replaceValue ? nls.localize('replaceAll.message', "Replaced {0} occurrences across {1} files with {2}.", occurrences, fileCount, replaceValue)
-													: nls.localize('removeAll.message', "Removed {0} occurrences across {1} files.", occurrences, fileCount);
+		let occurrences = this.viewModel.searchResult.count();
+		let fileCount = this.viewModel.searchResult.fileCount();
+		let replaceValue = this.searchWidget.getReplaceValue() || '';
+		let afterReplaceAllMessage = replaceValue ? nls.localize('replaceAll.message', "Replaced {0} occurrences across {1} files with {2}.", occurrences, fileCount, replaceValue)
+			: nls.localize('removeAll.message', "Removed {0} occurrences across {1} files.", occurrences, fileCount);
 
-		let confirmation= {
+		let confirmation = {
 			title: nls.localize('replaceAll.confirmation.title', "Replace All"),
 			message: replaceValue ? nls.localize('replaceAll.confirmation.message', "Replace {0} occurrences across {1} files with '{2}'?", occurrences, fileCount, replaceValue)
-									: nls.localize('removeAll.confirmation.message', "Remove {0} occurrences across {1} files?", occurrences, fileCount),
+				: nls.localize('removeAll.confirmation.message', "Remove {0} occurrences across {1} files?", occurrences, fileCount),
 			primaryButton: nls.localize('replaceAll.confirm.button', "Replace")
 		};
 
@@ -413,7 +413,7 @@ export class SearchViewlet extends Viewlet {
 				let focusEditor = (keyboard && (<KeyboardEvent>originalEvent).keyCode === KeyCode.Enter) || doubleClick;
 
 				if (element instanceof Match) {
-					let selectedMatch:Match = element;
+					let selectedMatch: Match = element;
 					if (this.currentSelectedFileMatch) {
 						this.currentSelectedFileMatch.setSelectedMatch(null);
 					}
@@ -808,7 +808,7 @@ export class SearchViewlet extends Viewlet {
 			}
 
 			this.onSearchResultsChanged().then(() => autoExpand(true));
-			this.viewModel.replaceString= this.searchWidget.getReplaceValue();
+			this.viewModel.replaceString = this.searchWidget.getReplaceValue();
 
 			let hasResults = !this.viewModel.searchResult.isEmpty();
 			this.loading = false;
@@ -938,9 +938,9 @@ export class SearchViewlet extends Viewlet {
 				progressRunner.worked(1);
 			}
 			// Search result tree update
-			let count= this.viewModel.searchResult.fileCount();
+			let count = this.viewModel.searchResult.fileCount();
 			if (visibleMatches !== count) {
-				visibleMatches= count;
+				visibleMatches = count;
 				this.tree.refresh().then(() => {
 					autoExpand(false);
 				}).done(null, errors.onUnexpectedError);
@@ -985,8 +985,8 @@ export class SearchViewlet extends Viewlet {
 	}
 
 	public open(element: FileMatchOrMatch, preserveFocus?: boolean, sideBySide?: boolean, pinned?: boolean): TPromise<any> {
-		let selection= this.getSelectionFrom(element);
-		let resource= element instanceof Match ? element.parent().resource() : (<FileMatch>element).resource();
+		let selection = this.getSelectionFrom(element);
+		let resource = element instanceof Match ? element.parent().resource() : (<FileMatch>element).resource();
 		return this.editorService.openEditor({
 			resource: resource,
 			options: {
@@ -1008,17 +1008,17 @@ export class SearchViewlet extends Viewlet {
 	}
 
 	private getSelectionFrom(element: FileMatchOrMatch): any {
-		let match: Match= null;
+		let match: Match = null;
 		if (element instanceof Match) {
-			match= element;
+			match = element;
 		}
 		if (element instanceof FileMatch && element.count() > 0) {
-			match= element.matches()[element.matches().length - 1];
+			match = element.matches()[element.matches().length - 1];
 		}
 		if (match) {
-			let range= match.range();
+			let range = match.range();
 			if (this.viewModel.isReplaceActive() && !!this.viewModel.replaceString) {
-				let replaceString= match.replaceString;
+				let replaceString = match.replaceString;
 				return {
 					startLineNumber: range.startLineNumber,
 					startColumn: range.startColumn,
diff --git a/src/vs/workbench/parts/search/browser/searchWidget.ts b/src/vs/workbench/parts/search/browser/searchWidget.ts
index 5e6ec175aaa91..46be84c5906c9 100644
--- a/src/vs/workbench/parts/search/browser/searchWidget.ts
+++ b/src/vs/workbench/parts/search/browser/searchWidget.ts
@@ -29,35 +29,35 @@ import { HistoryNavigator } from 'vs/base/common/history';
 import * as Constants from 'vs/workbench/parts/search/common/constants';
 
 export interface ISearchWidgetOptions {
-	value?:string;
-	isRegex?:boolean;
-	isCaseSensitive?:boolean;
-	isWholeWords?:boolean;
+	value?: string;
+	isRegex?: boolean;
+	isCaseSensitive?: boolean;
+	isWholeWords?: boolean;
 }
 
 class ReplaceAllAction extends Action {
 
-	private static fgInstance:ReplaceAllAction= null;
-	public static ID:string= 'search.action.replaceAll';
+	private static fgInstance: ReplaceAllAction = null;
+	public static ID: string = 'search.action.replaceAll';
 
-	static get INSTANCE():ReplaceAllAction {
+	static get INSTANCE(): ReplaceAllAction {
 		if (ReplaceAllAction.fgInstance === null) {
-			ReplaceAllAction.fgInstance= new ReplaceAllAction();
+			ReplaceAllAction.fgInstance = new ReplaceAllAction();
 		}
 		return ReplaceAllAction.fgInstance;
 	}
 
-	private _searchWidget: SearchWidget= null;
+	private _searchWidget: SearchWidget = null;
 
 	constructor() {
 		super(ReplaceAllAction.ID, '', 'action-replace-all', false);
 	}
 
 	set searchWidget(searchWidget: SearchWidget) {
-		this._searchWidget= searchWidget;
+		this._searchWidget = searchWidget;
 	}
 
-	run():TPromise<any> {
+	run(): TPromise<any> {
 		if (this._searchWidget) {
 			return this._searchWidget.triggerReplaceAll();
 		}
@@ -67,8 +67,8 @@ class ReplaceAllAction extends Action {
 
 export class SearchWidget extends Widget {
 
-	private static REPLACE_ALL_DISABLED_LABEL= nls.localize('search.action.replaceAll.disabled.label', "Replace All (Submit Search to Enable)");
-	private static REPLACE_ALL_ENABLED_LABEL=(keyBindingService2: IKeybindingService):string=>{
+	private static REPLACE_ALL_DISABLED_LABEL = nls.localize('search.action.replaceAll.disabled.label', "Replace All (Submit Search to Enable)");
+	private static REPLACE_ALL_ENABLED_LABEL = (keyBindingService2: IKeybindingService): string => {
 		let keybindings = keyBindingService2.lookupKeybindings(ReplaceAllAction.ID);
 		return appendKeyBindingLabel(nls.localize('search.action.replaceAll.enabled.label', "Replace All"), keybindings[0], keyBindingService2);
 	};
@@ -108,8 +108,8 @@ export class SearchWidget extends Widget {
 	private _onReplaceAll = this._register(new Emitter<void>());
 	public onReplaceAll: Event<void> = this._onReplaceAll.event;
 
-	constructor(container: Builder, private contextViewService: IContextViewService, options: ISearchWidgetOptions= Object.create(null),
-					private keyBindingService: IContextKeyService, private keyBindingService2: IKeybindingService, private instantiationService: IInstantiationService) {
+	constructor(container: Builder, private contextViewService: IContextViewService, options: ISearchWidgetOptions = Object.create(null),
+		private keyBindingService: IContextKeyService, private keyBindingService2: IKeybindingService, private instantiationService: IInstantiationService) {
 		super();
 		this.searchHistory = new HistoryNavigator<string>();
 		this.replaceActive = Constants.ReplaceActiveKey.bindTo(this.keyBindingService);
@@ -118,9 +118,9 @@ export class SearchWidget extends Widget {
 		this.render(container, options);
 	}
 
-	public focus(select:boolean= true, focusReplace: boolean= false):void {
+	public focus(select: boolean = true, focusReplace: boolean = false): void {
 		if ((!focusReplace && this.searchInput.inputBox.hasFocus())
-					|| (focusReplace && this.replaceInput.hasFocus())) {
+			|| (focusReplace && this.replaceInput.hasFocus())) {
 			return;
 		}
 
@@ -139,12 +139,12 @@ export class SearchWidget extends Widget {
 
 	public setWidth(width: number) {
 		this.searchInput.setWidth(width - 2);
-		this.replaceInput.width= width - 28;
+		this.replaceInput.width = width - 28;
 	}
 
 	public clear() {
 		this.searchInput.clear();
-		this.replaceInput.value= '';
+		this.replaceInput.value = '';
 		this.setReplaceAllActionState(false);
 	}
 
@@ -152,11 +152,11 @@ export class SearchWidget extends Widget {
 		return !dom.hasClass(this.replaceContainer, 'disabled');
 	}
 
-	public getReplaceValue():string {
+	public getReplaceValue(): string {
 		return this.replaceInput.value;
 	}
 
-	public toggleReplace(show?:boolean): void {
+	public toggleReplace(show?: boolean): void {
 		if (show === void 0 || show !== this.isReplaceShown()) {
 			this.onToggleReplaceButton();
 		}
@@ -193,10 +193,10 @@ export class SearchWidget extends Widget {
 	}
 
 	private renderToggleReplaceButton(parent: HTMLElement): void {
-		this.toggleReplaceButton= this._register(new Button(parent));
-		this.toggleReplaceButton.icon= 'toggle-replace-button collapse';
+		this.toggleReplaceButton = this._register(new Button(parent));
+		this.toggleReplaceButton.icon = 'toggle-replace-button collapse';
 		this.toggleReplaceButton.addListener2('click', () => this.onToggleReplaceButton());
-		this.toggleReplaceButton.getElement().title= nls.localize('search.replace.toggle.button.title', "Toggle Replace");
+		this.toggleReplaceButton.getElement().title = nls.localize('search.replace.toggle.button.title', "Toggle Replace");
 	}
 
 	private renderSearchInput(parent: HTMLElement, options: ISearchWidgetOptions): void {
@@ -209,7 +209,7 @@ export class SearchWidget extends Widget {
 			appendRegexLabel: appendKeyBindingLabel('', this.keyBindingService2.lookupKeybindings(Constants.ToggleRegexActionId)[0], this.keyBindingService2)
 		};
 
-		let searchInputContainer= dom.append(parent, dom.$('.search-container.input-box'));
+		let searchInputContainer = dom.append(parent, dom.$('.search-container.input-box'));
 		this.searchInput = this._register(new FindInput(searchInputContainer, this.contextViewService, inputOptions));
 		this.searchInput.onKeyUp((keyboardEvent: IKeyboardEvent) => this.onSearchInputKeyUp(keyboardEvent));
 		this.searchInput.setValue(options.value || '');
@@ -231,7 +231,7 @@ export class SearchWidget extends Widget {
 
 	private renderReplaceInput(parent: HTMLElement): void {
 		this.replaceContainer = dom.append(parent, dom.$('.replace-container.disabled'));
-		let replaceBox= dom.append(this.replaceContainer, dom.$('.input-box'));
+		let replaceBox = dom.append(this.replaceContainer, dom.$('.input-box'));
 		this.replaceInput = this._register(new InputBox(replaceBox, this.contextViewService, {
 			ariaLabel: nls.localize('label.Replace', 'Replace: Type replace term and press Enter to preview or Escape to cancel'),
 			placeholder: nls.localize('search.replace.placeHolder', "Replace")
@@ -241,7 +241,7 @@ export class SearchWidget extends Widget {
 		this.searchInput.inputBox.onDidChange(() => this.onSearchInputChanged());
 
 		this.replaceAllAction = ReplaceAllAction.INSTANCE;
-		this.replaceAllAction.searchWidget= this;
+		this.replaceAllAction.searchWidget = this;
 		this.replaceAllAction.label = SearchWidget.REPLACE_ALL_DISABLED_LABEL;
 		this.replaceActionBar = this._register(new ActionBar(this.replaceContainer));
 		this.replaceActionBar.push([this.replaceAllAction], { icon: true, label: false });
@@ -260,7 +260,7 @@ export class SearchWidget extends Widget {
 		return TPromise.as(null);
 	}
 
-	private onToggleReplaceButton():void {
+	private onToggleReplaceButton(): void {
 		dom.toggleClass(this.replaceContainer, 'disabled');
 		dom.toggleClass(this.toggleReplaceButton.getElement(), 'collapse');
 		dom.toggleClass(this.toggleReplaceButton.getElement(), 'expand');
@@ -268,10 +268,10 @@ export class SearchWidget extends Widget {
 		this._onReplaceToggled.fire();
 	}
 
-	public setReplaceAllActionState(enabled:boolean):void {
+	public setReplaceAllActionState(enabled: boolean): void {
 		if (this.replaceAllAction.enabled !== enabled) {
-			this.replaceAllAction.enabled= enabled;
-			this.replaceAllAction.label= enabled ? SearchWidget.REPLACE_ALL_ENABLED_LABEL(this.keyBindingService2) : SearchWidget.REPLACE_ALL_DISABLED_LABEL;
+			this.replaceAllAction.enabled = enabled;
+			this.replaceAllAction.label = enabled ? SearchWidget.REPLACE_ALL_ENABLED_LABEL(this.keyBindingService2) : SearchWidget.REPLACE_ALL_DISABLED_LABEL;
 			this.updateReplaceActiveState();
 		}
 	}
@@ -281,8 +281,8 @@ export class SearchWidget extends Widget {
 	}
 
 	private updateReplaceActiveState(): void {
-		let currentState= this.isReplaceActive();
-		let newState= this.isReplaceShown() && this.replaceAllAction.enabled;
+		let currentState = this.isReplaceActive();
+		let newState = this.isReplaceShown() && this.replaceAllAction.enabled;
 		if (currentState !== newState) {
 			this.replaceActive.set(newState);
 			this._onReplaceStateChange.fire(newState);
@@ -334,7 +334,7 @@ export class SearchWidget extends Widget {
 		}
 	}
 
-	private submitSearch(refresh: boolean= true): void {
+	private submitSearch(refresh: boolean = true): void {
 		if (this.searchInput.getValue()) {
 			this._onSearchSubmit.fire(refresh);
 		}
@@ -342,14 +342,15 @@ export class SearchWidget extends Widget {
 
 	public dispose(): void {
 		this.setReplaceAllActionState(false);
-		this.replaceAllAction.searchWidget= null;
+		this.replaceAllAction.searchWidget = null;
 		this.replaceActionBar = null;
 		super.dispose();
 	}
 }
 
 export function registerContributions() {
-	KeybindingsRegistry.registerCommandAndKeybindingRule({id: ReplaceAllAction.ID,
+	KeybindingsRegistry.registerCommandAndKeybindingRule({
+		id: ReplaceAllAction.ID,
 		weight: KeybindingsRegistry.WEIGHT.workbenchContrib(),
 		when: ContextKeyExpr.and(Constants.SearchViewletVisibleKey, Constants.ReplaceActiveKey, CONTEXT_FIND_WIDGET_NOT_VISIBLE),
 		primary: KeyMod.Alt | KeyMod.CtrlCmd | KeyCode.Enter,
diff --git a/src/vs/workbench/parts/search/common/constants.ts b/src/vs/workbench/parts/search/common/constants.ts
index a569abc60dcbc..8b3a46f966d41 100644
--- a/src/vs/workbench/parts/search/common/constants.ts
+++ b/src/vs/workbench/parts/search/common/constants.ts
@@ -3,7 +3,7 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {RawContextKey} from 'vs/platform/contextkey/common/contextkey';
+import { RawContextKey } from 'vs/platform/contextkey/common/contextkey';
 
 export const VIEWLET_ID = 'workbench.view.search';
 
@@ -19,4 +19,4 @@ export const SearchViewletVisibleKey = new RawContextKey<boolean>('searchViewlet
 export const InputBoxFocussedKey = new RawContextKey<boolean>('inputBoxFocus', false);
 export const SearchInputBoxFocussedKey = new RawContextKey<boolean>('searchInputBoxFocus', false);
 export const ReplaceInputBoxFocussedKey = new RawContextKey<boolean>('replaceInputBoxFocus', false);
-export const ReplaceActiveKey= new RawContextKey<boolean>('replaceActive', false);
\ No newline at end of file
+export const ReplaceActiveKey = new RawContextKey<boolean>('replaceActive', false);
\ No newline at end of file
diff --git a/src/vs/workbench/parts/search/common/search.ts b/src/vs/workbench/parts/search/common/search.ts
index 54a57865fbce5..156663740132a 100644
--- a/src/vs/workbench/parts/search/common/search.ts
+++ b/src/vs/workbench/parts/search/common/search.ts
@@ -5,13 +5,13 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {onUnexpectedError, illegalArgument} from 'vs/base/common/errors';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
-import {IRange} from 'vs/editor/common/editorCommon';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { onUnexpectedError, illegalArgument } from 'vs/base/common/errors';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { CommonEditorRegistry } from 'vs/editor/common/editorCommonExtensions';
+import { IRange } from 'vs/editor/common/editorCommon';
 import URI from 'vs/base/common/uri';
-import {ISearchConfiguration} from 'vs/platform/search/common/search';
+import { ISearchConfiguration } from 'vs/platform/search/common/search';
 import glob = require('vs/base/common/glob');
 
 /**
diff --git a/src/vs/workbench/parts/search/common/searchModel.ts b/src/vs/workbench/parts/search/common/searchModel.ts
index a617df1ec08ac..b1524004e321b 100644
--- a/src/vs/workbench/parts/search/common/searchModel.ts
+++ b/src/vs/workbench/parts/search/common/searchModel.ts
@@ -402,7 +402,7 @@ export class SearchResult extends Disposable {
 			return;
 		}
 		this._showHighlights = value;
-		let selectedMatch:Match = null;
+		let selectedMatch: Match = null;
 		this.matches().forEach((fileMatch: FileMatch) => {
 			fileMatch.updateHighlights();
 			if (!selectedMatch) {
diff --git a/src/vs/workbench/parts/search/common/searchQuery.ts b/src/vs/workbench/parts/search/common/searchQuery.ts
index 55e2b45ea8529..d11a61ed62ccb 100644
--- a/src/vs/workbench/parts/search/common/searchQuery.ts
+++ b/src/vs/workbench/parts/search/common/searchQuery.ts
@@ -7,7 +7,7 @@
 import glob = require('vs/base/common/glob');
 import objects = require('vs/base/common/objects');
 import search = require('vs/platform/search/common/search');
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
 
 export function getExcludes(configuration: search.ISearchConfiguration): glob.IExpression {
 	let fileExcludes = configuration && configuration.files && configuration.files.exclude;
diff --git a/src/vs/workbench/parts/search/test/browser/openFileHandler.test.ts b/src/vs/workbench/parts/search/test/browser/openFileHandler.test.ts
index af9970bd3d2d4..a700d886294a8 100644
--- a/src/vs/workbench/parts/search/test/browser/openFileHandler.test.ts
+++ b/src/vs/workbench/parts/search/test/browser/openFileHandler.test.ts
@@ -7,10 +7,10 @@
 import * as assert from 'assert';
 import * as errors from 'vs/base/common/errors';
 import * as objects from 'vs/base/common/objects';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {CacheState} from 'vs/workbench/parts/search/browser/openFileHandler';
-import {DeferredTPromise} from 'vs/test/utils/promiseTestUtils';
-import {QueryType, ISearchQuery} from 'vs/platform/search/common/search';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { CacheState } from 'vs/workbench/parts/search/browser/openFileHandler';
+import { DeferredTPromise } from 'vs/test/utils/promiseTestUtils';
+import { QueryType, ISearchQuery } from 'vs/platform/search/common/search';
 
 suite('CacheState', () => {
 
@@ -176,8 +176,8 @@ suite('CacheState', () => {
 	class MockCache {
 
 		public cacheKeys: string[] = [];
-		public loading: {[cacheKey: string]: DeferredTPromise<any>} = {};
-		public disposing: {[cacheKey: string]: DeferredTPromise<void>} = {};
+		public loading: { [cacheKey: string]: DeferredTPromise<any> } = {};
+		public disposing: { [cacheKey: string]: DeferredTPromise<void> } = {};
 
 		public baseQuery: ISearchQuery = {
 			type: QueryType.File
diff --git a/src/vs/workbench/parts/search/test/browser/searchViewlet.test.ts b/src/vs/workbench/parts/search/test/browser/searchViewlet.test.ts
index 3a890848e86b7..f86eb7672794e 100644
--- a/src/vs/workbench/parts/search/test/browser/searchViewlet.test.ts
+++ b/src/vs/workbench/parts/search/test/browser/searchViewlet.test.ts
@@ -6,10 +6,10 @@
 
 import * as assert from 'assert';
 import uri from 'vs/base/common/uri';
-import {Match, FileMatch, SearchResult} from 'vs/workbench/parts/search/common/searchModel';
+import { Match, FileMatch, SearchResult } from 'vs/workbench/parts/search/common/searchModel';
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
-import {SearchSorter, SearchDataSource} from 'vs/workbench/parts/search/browser/searchResultsView';
-import {IFileMatch, ILineMatch} from 'vs/platform/search/common/search';
+import { SearchSorter, SearchDataSource } from 'vs/workbench/parts/search/browser/searchResultsView';
+import { IFileMatch, ILineMatch } from 'vs/platform/search/common/search';
 import { createMockModelService } from 'vs/test/utils/servicesTestUtils';
 import { IModelService } from 'vs/editor/common/services/modelService';
 
@@ -63,7 +63,7 @@ suite('Search - Viewlet', () => {
 	});
 
 	function aFileMatch(path: string, searchResult?: SearchResult, ...lineMatches: ILineMatch[]): FileMatch {
-		let rawMatch: IFileMatch= {
+		let rawMatch: IFileMatch = {
 			resource: uri.file('C:\\' + path),
 			lineMatches: lineMatches
 		};
diff --git a/src/vs/workbench/parts/search/test/common/searchModel.test.ts b/src/vs/workbench/parts/search/test/common/searchModel.test.ts
index 821275d225d8d..9b1d0c90c6928 100644
--- a/src/vs/workbench/parts/search/test/common/searchModel.test.ts
+++ b/src/vs/workbench/parts/search/test/common/searchModel.test.ts
@@ -12,7 +12,7 @@ import { PPromise } from 'vs/base/common/winjs.base';
 import { nullEvent } from 'vs/base/common/timer';
 import { SearchModel } from 'vs/workbench/parts/search/common/searchModel';
 import URI from 'vs/base/common/uri';
-import {IFileMatch, ILineMatch} from 'vs/platform/search/common/search';
+import { IFileMatch, ILineMatch } from 'vs/platform/search/common/search';
 import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 import { ISearchService, ISearchComplete, ISearchProgressItem, IUncachedSearchStats } from 'vs/platform/search/common/search';
 import { Range } from 'vs/editor/common/core/range';
@@ -36,8 +36,8 @@ suite('SearchModel', () => {
 	};
 
 	setup(() => {
-		restoreStubs= [];
-		instantiationService= new TestInstantiationService();
+		restoreStubs = [];
+		instantiationService = new TestInstantiationService();
 		instantiationService.stub(ITelemetryService);
 		instantiationService.stub(IModelService, createMockModelService(instantiationService));
 	});
@@ -49,56 +49,56 @@ suite('SearchModel', () => {
 	});
 
 	test('Search Model: Search adds to results', function () {
-		let results= [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
-		instantiationService.stub(ISearchService, 'search',  PPromise.as({results: results}));
+		let results = [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
+		instantiationService.stub(ISearchService, 'search', PPromise.as({ results: results }));
 
-		let testObject= instantiationService.createInstance(SearchModel);
-		testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
+		let testObject = instantiationService.createInstance(SearchModel);
+		testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
 
-		let actual= testObject.searchResult.matches();
+		let actual = testObject.searchResult.matches();
 
 		assert.equal(2, actual.length);
 		assert.equal('file://c:/1', actual[0].resource().toString());
 
-		let actuaMatches= actual[0].matches();
+		let actuaMatches = actual[0].matches();
 		assert.equal(2, actuaMatches.length);
 		assert.equal('preview 1', actuaMatches[0].text());
 		assert.ok(new Range(2, 2, 2, 5).equalsRange(actuaMatches[0].range()));
 		assert.equal('preview 1', actuaMatches[1].text());
 		assert.ok(new Range(2, 5, 2, 12).equalsRange(actuaMatches[1].range()));
 
-		actuaMatches= actual[1].matches();
+		actuaMatches = actual[1].matches();
 		assert.equal(1, actuaMatches.length);
 		assert.equal('preview 2', actuaMatches[0].text());
 		assert.ok(new Range(2, 1, 2, 2).equalsRange(actuaMatches[0].range()));
 	});
 
 	test('Search Model: Search adds to results during progress', function (done) {
-		let results= [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
-		let promise= new DeferredPPromise<ISearchComplete, ISearchProgressItem>();
-		instantiationService.stub(ISearchService, 'search',  promise);
+		let results = [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
+		let promise = new DeferredPPromise<ISearchComplete, ISearchProgressItem>();
+		instantiationService.stub(ISearchService, 'search', promise);
 
-		let testObject= instantiationService.createInstance(SearchModel);
-		let result= testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
+		let testObject = instantiationService.createInstance(SearchModel);
+		let result = testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
 
 		promise.progress(results[0]);
 		promise.progress(results[1]);
-		promise.complete({results: [], stats: testSearchStats});
+		promise.complete({ results: [], stats: testSearchStats });
 
 		result.done(() => {
-			let actual= testObject.searchResult.matches();
+			let actual = testObject.searchResult.matches();
 
 			assert.equal(2, actual.length);
 			assert.equal('file://c:/1', actual[0].resource().toString());
 
-			let actuaMatches= actual[0].matches();
+			let actuaMatches = actual[0].matches();
 			assert.equal(2, actuaMatches.length);
 			assert.equal('preview 1', actuaMatches[0].text());
 			assert.ok(new Range(2, 2, 2, 5).equalsRange(actuaMatches[0].range()));
 			assert.equal('preview 1', actuaMatches[1].text());
 			assert.ok(new Range(2, 5, 2, 12).equalsRange(actuaMatches[1].range()));
 
-			actuaMatches= actual[1].matches();
+			actuaMatches = actual[1].matches();
 			assert.equal(1, actuaMatches.length);
 			assert.equal('preview 2', actuaMatches[0].text());
 			assert.ok(new Range(2, 1, 2, 2).equalsRange(actuaMatches[0].range()));
@@ -108,27 +108,27 @@ suite('SearchModel', () => {
 	});
 
 	test('Search Model: Search reports telemetry on search completed', function () {
-		let target= instantiationService.spy(ITelemetryService, 'publicLog');
-		let results= [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
-		instantiationService.stub(ISearchService, 'search',  PPromise.as({results: results}));
+		let target = instantiationService.spy(ITelemetryService, 'publicLog');
+		let results = [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
+		instantiationService.stub(ISearchService, 'search', PPromise.as({ results: results }));
 
-		let testObject= instantiationService.createInstance(SearchModel);
-		testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
+		let testObject = instantiationService.createInstance(SearchModel);
+		testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
 
 		assert.ok(target.calledOnce);
-		assert.deepEqual(['searchResultsShown', {count: 3, fileCount: 2}], target.args[0]);
+		assert.deepEqual(['searchResultsShown', { count: 3, fileCount: 2 }], target.args[0]);
 	});
 
 	test('Search Model: Search reports timed telemetry on search when progress is not called', function (done) {
-		let target2= sinon.spy();
+		let target2 = sinon.spy();
 		stub(nullEvent, 'stop', target2);
-		let target1= sinon.stub().returns(nullEvent);
+		let target1 = sinon.stub().returns(nullEvent);
 		instantiationService.stub(ITelemetryService, 'publicLog', target1);
 
-		instantiationService.stub(ISearchService, 'search',  PPromise.as({results: []}));
+		instantiationService.stub(ISearchService, 'search', PPromise.as({ results: [] }));
 
-		let testObject= instantiationService.createInstance(SearchModel);
-		const result = testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
+		let testObject = instantiationService.createInstance(SearchModel);
+		const result = testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
 
 		setTimeout(() => {
 			result.done(() => {
@@ -141,19 +141,19 @@ suite('SearchModel', () => {
 	});
 
 	test('Search Model: Search reports timed telemetry on search when progress is called', function (done) {
-		let target2= sinon.spy();
+		let target2 = sinon.spy();
 		stub(nullEvent, 'stop', target2);
-		let target1= sinon.stub().returns(nullEvent);
+		let target1 = sinon.stub().returns(nullEvent);
 		instantiationService.stub(ITelemetryService, 'publicLog', target1);
 
-		let promise= new DeferredPPromise<ISearchComplete, ISearchProgressItem>();
-		instantiationService.stub(ISearchService, 'search',  promise);
+		let promise = new DeferredPPromise<ISearchComplete, ISearchProgressItem>();
+		instantiationService.stub(ISearchService, 'search', promise);
 
-		let testObject= instantiationService.createInstance(SearchModel);
-		let result= testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
+		let testObject = instantiationService.createInstance(SearchModel);
+		let result = testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
 
 		promise.progress(aRawMatch('file://c:/1', aLineMatch('some preview')));
-		promise.complete({results: [], stats: testSearchStats});
+		promise.complete({ results: [], stats: testSearchStats });
 
 		setTimeout(() => {
 			result.done(() => {
@@ -167,21 +167,21 @@ suite('SearchModel', () => {
 	});
 
 	test('Search Model: Search reports timed telemetry on search when error is called', function (done) {
-		let target2= sinon.spy();
+		let target2 = sinon.spy();
 		stub(nullEvent, 'stop', target2);
-		let target1= sinon.stub().returns(nullEvent);
+		let target1 = sinon.stub().returns(nullEvent);
 		instantiationService.stub(ITelemetryService, 'publicLog', target1);
 
-		let promise= new DeferredPPromise<ISearchComplete, ISearchProgressItem>();
-		instantiationService.stub(ISearchService, 'search',  promise);
+		let promise = new DeferredPPromise<ISearchComplete, ISearchProgressItem>();
+		instantiationService.stub(ISearchService, 'search', promise);
 
-		let testObject= instantiationService.createInstance(SearchModel);
-		let result= testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
+		let testObject = instantiationService.createInstance(SearchModel);
+		let result = testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
 
 		promise.error('error');
 
 		setTimeout(() => {
-			result.done(() => {}, () => {
+			result.done(() => { }, () => {
 				assert.ok(target1.calledWith('searchResultsFirstRender'));
 				assert.ok(target1.calledWith('searchResultsFinished'));
 				// assert.ok(target2.calledOnce);
@@ -192,21 +192,21 @@ suite('SearchModel', () => {
 	});
 
 	test('Search Model: Search reports timed telemetry on search when error is cancelled error', function (done) {
-		let target2= sinon.spy();
+		let target2 = sinon.spy();
 		stub(nullEvent, 'stop', target2);
-		let target1= sinon.stub().returns(nullEvent);
+		let target1 = sinon.stub().returns(nullEvent);
 		instantiationService.stub(ITelemetryService, 'publicLog', target1);
 
-		let promise= new DeferredPPromise<ISearchComplete, ISearchProgressItem>();
-		instantiationService.stub(ISearchService, 'search',  promise);
+		let promise = new DeferredPPromise<ISearchComplete, ISearchProgressItem>();
+		instantiationService.stub(ISearchService, 'search', promise);
 
-		let testObject= instantiationService.createInstance(SearchModel);
-		let result= testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
+		let testObject = instantiationService.createInstance(SearchModel);
+		let result = testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
 
 		promise.cancel();
 
 		setTimeout(() => {
-			result.done(() => {}, () => {
+			result.done(() => { }, () => {
 				assert.ok(target1.calledWith('searchResultsFirstRender'));
 				assert.ok(target1.calledWith('searchResultsFinished'));
 				// assert.ok(target2.calledOnce);
@@ -216,35 +216,35 @@ suite('SearchModel', () => {
 	});
 
 	test('Search Model: Search results are cleared during search', function () {
-		let results= [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
-		instantiationService.stub(ISearchService, 'search',  PPromise.as({results: results}));
-		let testObject:SearchModel= instantiationService.createInstance(SearchModel);
-		testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
+		let results = [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
+		instantiationService.stub(ISearchService, 'search', PPromise.as({ results: results }));
+		let testObject: SearchModel = instantiationService.createInstance(SearchModel);
+		testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
 		assert.ok(!testObject.searchResult.isEmpty());
 
-		instantiationService.stub(ISearchService, 'search',  new DeferredPPromise<ISearchComplete, ISearchProgressItem>());
+		instantiationService.stub(ISearchService, 'search', new DeferredPPromise<ISearchComplete, ISearchProgressItem>());
 
-		testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
+		testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
 		assert.ok(testObject.searchResult.isEmpty());
 	});
 
 	test('Search Model: Previous search is cancelled when new search is called', function () {
-		let target= sinon.spy();
-		instantiationService.stub(ISearchService, 'search',  new DeferredPPromise((c, e, p) => {}, target));
-		let testObject:SearchModel= instantiationService.createInstance(SearchModel);
+		let target = sinon.spy();
+		instantiationService.stub(ISearchService, 'search', new DeferredPPromise((c, e, p) => { }, target));
+		let testObject: SearchModel = instantiationService.createInstance(SearchModel);
 
-		testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
-		instantiationService.stub(ISearchService, 'search',  new DeferredPPromise<ISearchComplete, ISearchProgressItem>());
-		testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
+		testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
+		instantiationService.stub(ISearchService, 'search', new DeferredPPromise<ISearchComplete, ISearchProgressItem>());
+		testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1 });
 
 		assert.ok(target.calledOnce);
 	});
 
 	test('getReplaceString returns proper replace string for regExpressions', function () {
-		let results= [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]]))];
-		instantiationService.stub(ISearchService, 'search',  PPromise.as({results: results}));
+		let results = [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]]))];
+		instantiationService.stub(ISearchService, 'search', PPromise.as({ results: results }));
 
-		let testObject: SearchModel= instantiationService.createInstance(SearchModel);
+		let testObject: SearchModel = instantiationService.createInstance(SearchModel);
 		testObject.search({ contentPattern: { pattern: 're' }, type: 1 });
 		testObject.replaceString = 'hello';
 		let match = testObject.searchResult.matches()[0].matches()[0];
@@ -276,8 +276,8 @@ suite('SearchModel', () => {
 		return { preview, lineNumber, offsetAndLengths };
 	}
 
-	function stub(arg1, arg2, arg3) : sinon.SinonStub {
-		const stub= sinon.stub(arg1, arg2, arg3);
+	function stub(arg1, arg2, arg3): sinon.SinonStub {
+		const stub = sinon.stub(arg1, arg2, arg3);
 		restoreStubs.push(stub);
 		return stub;
 	}
diff --git a/src/vs/workbench/parts/search/test/common/searchResult.test.ts b/src/vs/workbench/parts/search/test/common/searchResult.test.ts
index 39fef7c301936..606436e96bd7d 100644
--- a/src/vs/workbench/parts/search/test/common/searchResult.test.ts
+++ b/src/vs/workbench/parts/search/test/common/searchResult.test.ts
@@ -9,7 +9,7 @@ import * as sinon from 'sinon';
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
 import { Match, FileMatch, SearchResult, SearchModel } from 'vs/workbench/parts/search/common/searchModel';
 import URI from 'vs/base/common/uri';
-import {IFileMatch, ILineMatch} from 'vs/platform/search/common/search';
+import { IFileMatch, ILineMatch } from 'vs/platform/search/common/search';
 import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 import { Range } from 'vs/editor/common/core/range';
 import { createMockModelService } from 'vs/test/utils/servicesTestUtils';
@@ -21,7 +21,7 @@ suite('SearchResult', () => {
 	let instantiationService: TestInstantiationService;
 
 	setup(() => {
-		instantiationService= new TestInstantiationService();
+		instantiationService = new TestInstantiationService();
 		instantiationService.stub(ITelemetryService);
 		instantiationService.stub(IModelService, createMockModelService(instantiationService));
 	});
@@ -39,9 +39,9 @@ suite('SearchResult', () => {
 
 	test('Line Match - Remove', function () {
 		let fileMatch = aFileMatch('folder\\file.txt', aSearchResult(), ...[{
-					preview: 'foo bar',
-					lineNumber: 1,
-					offsetAndLengths: [[0, 3]]
+			preview: 'foo bar',
+			lineNumber: 1,
+			offsetAndLengths: [[0, 3]]
 		}]);
 		let lineMatch = fileMatch.matches()[0];
 		fileMatch.remove(lineMatch);
@@ -66,10 +66,10 @@ suite('SearchResult', () => {
 			lineNumber: 1,
 			offsetAndLengths: [[0, 3]]
 		}, {
-				preview: 'bar',
-				lineNumber: 1,
-				offsetAndLengths: [[5, 3]]
-			}]);
+			preview: 'bar',
+			lineNumber: 1,
+			offsetAndLengths: [[5, 3]]
+		}]);
 
 		testObject.setSelectedMatch(testObject.matches()[0]);
 
@@ -82,10 +82,10 @@ suite('SearchResult', () => {
 			lineNumber: 1,
 			offsetAndLengths: [[0, 3]]
 		}, {
-				preview: 'bar',
-				lineNumber: 1,
-				offsetAndLengths: [[5, 3]]
-			}]);
+			preview: 'bar',
+			lineNumber: 1,
+			offsetAndLengths: [[5, 3]]
+		}]);
 		let target = testObject.matches()[0];
 		testObject.remove(target);
 
@@ -100,10 +100,10 @@ suite('SearchResult', () => {
 			lineNumber: 1,
 			offsetAndLengths: [[0, 3]]
 		}, {
-				preview: 'bar',
-				lineNumber: 1,
-				offsetAndLengths: [[5, 3]]
-			}]);
+			preview: 'bar',
+			lineNumber: 1,
+			offsetAndLengths: [[5, 3]]
+		}]);
 		let target = testObject.matches()[0];
 		testObject.setSelectedMatch(target);
 
@@ -116,10 +116,10 @@ suite('SearchResult', () => {
 			lineNumber: 1,
 			offsetAndLengths: [[0, 3]]
 		}, {
-				preview: 'bar',
-				lineNumber: 1,
-				offsetAndLengths: [[5, 3]]
-			}]);
+			preview: 'bar',
+			lineNumber: 1,
+			offsetAndLengths: [[5, 3]]
+		}]);
 
 		testObject.setSelectedMatch(testObject.matches()[0]);
 
@@ -132,10 +132,10 @@ suite('SearchResult', () => {
 			lineNumber: 1,
 			offsetAndLengths: [[0, 3]]
 		}, {
-				preview: 'bar',
-				lineNumber: 1,
-				offsetAndLengths: [[5, 3]]
-			}]);
+			preview: 'bar',
+			lineNumber: 1,
+			offsetAndLengths: [[5, 3]]
+		}]);
 
 		testObject.setSelectedMatch(testObject.matches()[0]);
 		testObject.setSelectedMatch(null);
@@ -149,10 +149,10 @@ suite('SearchResult', () => {
 			lineNumber: 1,
 			offsetAndLengths: [[0, 3]]
 		}, {
-				preview: 'bar',
-				lineNumber: 1,
-				offsetAndLengths: [[5, 3]]
-			}]);
+			preview: 'bar',
+			lineNumber: 1,
+			offsetAndLengths: [[5, 3]]
+		}]);
 
 		testObject.setSelectedMatch(null);
 
@@ -170,17 +170,17 @@ suite('SearchResult', () => {
 
 	test('Adding a raw match will add a file match with line matches', function () {
 		let testObject = aSearchResult();
-		let target= [aRawMatch('file://c:/', aLineMatch('preview 1', 1, [[1, 3], [4, 7]]), aLineMatch('preview 2'))];
+		let target = [aRawMatch('file://c:/', aLineMatch('preview 1', 1, [[1, 3], [4, 7]]), aLineMatch('preview 2'))];
 
 		testObject.add(target);
 
 		assert.equal(3, testObject.count());
 
-		let actual= testObject.matches();
+		let actual = testObject.matches();
 		assert.equal(1, actual.length);
 		assert.equal('file://c:/', actual[0].resource().toString());
 
-		let actuaMatches= actual[0].matches();
+		let actuaMatches = actual[0].matches();
 		assert.equal(3, actuaMatches.length);
 
 		assert.equal('preview 1', actuaMatches[0].text());
@@ -195,32 +195,32 @@ suite('SearchResult', () => {
 
 	test('Adding multiple raw matches', function () {
 		let testObject = aSearchResult();
-		let target= [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
+		let target = [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
 
 		testObject.add(target);
 
 		assert.equal(3, testObject.count());
 
-		let actual= testObject.matches();
+		let actual = testObject.matches();
 		assert.equal(2, actual.length);
 		assert.equal('file://c:/1', actual[0].resource().toString());
 
-		let actuaMatches= actual[0].matches();
+		let actuaMatches = actual[0].matches();
 		assert.equal(2, actuaMatches.length);
 		assert.equal('preview 1', actuaMatches[0].text());
 		assert.ok(new Range(2, 2, 2, 5).equalsRange(actuaMatches[0].range()));
 		assert.equal('preview 1', actuaMatches[1].text());
 		assert.ok(new Range(2, 5, 2, 12).equalsRange(actuaMatches[1].range()));
 
-		actuaMatches= actual[1].matches();
+		actuaMatches = actual[1].matches();
 		assert.equal(1, actuaMatches.length);
 		assert.equal('preview 2', actuaMatches[0].text());
 		assert.ok(new Range(2, 1, 2, 2).equalsRange(actuaMatches[0].range()));
 	});
 
 	test('Dispose disposes matches', function () {
-		let target1= sinon.spy();
-		let target2= sinon.spy();
+		let target1 = sinon.spy();
+		let target2 = sinon.spy();
 
 		let testObject = aSearchResult();
 		testObject.add([aRawMatch('file://c:/1', aLineMatch('preview 1')), aRawMatch('file://c:/2', aLineMatch('preview 2'))]);
@@ -236,36 +236,36 @@ suite('SearchResult', () => {
 	});
 
 	test('remove triggers change event', function () {
-		let target= sinon.spy();
+		let target = sinon.spy();
 		let testObject = aSearchResult();
 		testObject.add([aRawMatch('file://c:/1', aLineMatch('preview 1'))]);
-		let objectRoRemove= testObject.matches()[0];
+		let objectRoRemove = testObject.matches()[0];
 		testObject.onChange(target);
 
 		testObject.remove(objectRoRemove);
 
 		assert.ok(target.calledOnce);
-		assert.deepEqual([{elements: [objectRoRemove], removed: true}], target.args[0]);
+		assert.deepEqual([{ elements: [objectRoRemove], removed: true }], target.args[0]);
 	});
 
 	test('remove triggers change event', function () {
-		let target= sinon.spy();
+		let target = sinon.spy();
 		let testObject = aSearchResult();
 		testObject.add([aRawMatch('file://c:/1', aLineMatch('preview 1'))]);
-		let objectRoRemove= testObject.matches()[0];
+		let objectRoRemove = testObject.matches()[0];
 		testObject.onChange(target);
 
 		testObject.remove(objectRoRemove);
 
 		assert.ok(target.calledOnce);
-		assert.deepEqual([{elements: [objectRoRemove], removed: true}], target.args[0]);
+		assert.deepEqual([{ elements: [objectRoRemove], removed: true }], target.args[0]);
 	});
 
 	test('Removing all line matches and adding back will add file back to result', function () {
 		let testObject = aSearchResult();
 		testObject.add([aRawMatch('file://c:/1', aLineMatch('preview 1'))]);
-		let target= testObject.matches()[0];
-		let matchToRemove= target.matches()[0];
+		let target = testObject.matches()[0];
+		let matchToRemove = target.matches()[0];
 		target.remove(matchToRemove);
 
 		assert.ok(testObject.isEmpty());
@@ -286,17 +286,17 @@ suite('SearchResult', () => {
 	});
 
 	test('replace should trigger the change event', function () {
-		let target= sinon.spy();
+		let target = sinon.spy();
 		instantiationService.stubPromise(IReplaceService, 'replace', null);
 		let testObject = aSearchResult();
 		testObject.add([aRawMatch('file://c:/1', aLineMatch('preview 1'))]);
 		testObject.onChange(target);
-		let objectRoRemove= testObject.matches()[0];
+		let objectRoRemove = testObject.matches()[0];
 
 		testObject.replace(objectRoRemove);
 
 		assert.ok(target.calledOnce);
-		assert.deepEqual([{elements: [objectRoRemove], removed: true}], target.args[0]);
+		assert.deepEqual([{ elements: [objectRoRemove], removed: true }], target.args[0]);
 	});
 
 	test('replaceAll should remove all file matches', function () {
diff --git a/src/vs/workbench/parts/snippets/electron-browser/snippets.contribution.ts b/src/vs/workbench/parts/snippets/electron-browser/snippets.contribution.ts
index b6f974cd62ac8..7d1d3cedd3514 100644
--- a/src/vs/workbench/parts/snippets/electron-browser/snippets.contribution.ts
+++ b/src/vs/workbench/parts/snippets/electron-browser/snippets.contribution.ts
@@ -8,19 +8,19 @@ import nls = require('vs/nls');
 import winjs = require('vs/base/common/winjs.base');
 import paths = require('vs/base/common/paths');
 import actions = require('vs/base/common/actions');
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
 import platform = require('vs/platform/platform');
 import workbenchActionRegistry = require('vs/workbench/common/actionRegistry');
 import workbenchContributions = require('vs/workbench/common/contributions');
 import snippetsTracker = require('./snippetsTracker');
 import errors = require('vs/base/common/errors');
-import {IQuickOpenService, IPickOpenEntry} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
+import { IQuickOpenService, IPickOpenEntry } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
 import * as JSONContributionRegistry from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
-import {IJSONSchema} from 'vs/base/common/jsonSchema';
-import {IModeService} from 'vs/editor/common/services/modeService';
+import { IJSONSchema } from 'vs/base/common/jsonSchema';
+import { IModeService } from 'vs/editor/common/services/modeService';
 
-import {ipcRenderer as ipc} from 'electron';
+import { ipcRenderer as ipc } from 'electron';
 import fs = require('fs');
 
 class OpenSnippetsAction extends actions.Action {
@@ -30,10 +30,10 @@ class OpenSnippetsAction extends actions.Action {
 
 	constructor(
 		id: string,
-		label:string,
+		label: string,
 		@IEnvironmentService private environmentService: IEnvironmentService,
-		@IQuickOpenService private quickOpenService:IQuickOpenService,
-		@IModeService private modeService:IModeService
+		@IQuickOpenService private quickOpenService: IQuickOpenService,
+		@IModeService private modeService: IModeService
 	) {
 		super(id, label);
 	}
@@ -95,7 +95,7 @@ class OpenSnippetsAction extends actions.Action {
 
 function fileExists(path: string): winjs.TPromise<boolean> {
 	return new winjs.TPromise<boolean>((c, e, p) => {
-		fs.stat(path,(err, stats) => {
+		fs.stat(path, (err, stats) => {
 			if (err) {
 				return c(false);
 			}
@@ -111,8 +111,8 @@ function fileExists(path: string): winjs.TPromise<boolean> {
 
 function createFile(path: string, content: string): winjs.Promise {
 	return new winjs.Promise((c, e, p) => {
-		fs.writeFile(path, content, function(err) {
-			if(err) {
+		fs.writeFile(path, content, function (err) {
+			if (err) {
 				e(err);
 			}
 			c(true);
@@ -121,7 +121,7 @@ function createFile(path: string, content: string): winjs.Promise {
 }
 
 var preferencesCategory = nls.localize('preferences', "Preferences");
-var workbenchActionsRegistry = <workbenchActionRegistry.IWorkbenchActionRegistry> platform.Registry.as(workbenchActionRegistry.Extensions.WorkbenchActions);
+var workbenchActionsRegistry = <workbenchActionRegistry.IWorkbenchActionRegistry>platform.Registry.as(workbenchActionRegistry.Extensions.WorkbenchActions);
 
 workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(OpenSnippetsAction, OpenSnippetsAction.ID, OpenSnippetsAction.LABEL), 'Preferences: Snippets', preferencesCategory);
 
@@ -130,7 +130,7 @@ workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(OpenSn
 );
 
 let schemaId = 'vscode://schemas/snippets';
-let schema : IJSONSchema = {
+let schema: IJSONSchema = {
 	'id': schemaId,
 	'defaultSnippets': [{
 		'label': nls.localize('snippetSchema.json.default', "Empty snippet"),
diff --git a/src/vs/workbench/parts/snippets/electron-browser/snippetsTracker.ts b/src/vs/workbench/parts/snippets/electron-browser/snippetsTracker.ts
index 1a75262251682..1f130e7d3e039 100644
--- a/src/vs/workbench/parts/snippets/electron-browser/snippetsTracker.ts
+++ b/src/vs/workbench/parts/snippets/electron-browser/snippetsTracker.ts
@@ -5,17 +5,17 @@
 
 'use strict';
 
-import {localize} from 'vs/nls';
+import { localize } from 'vs/nls';
 import workbenchExt = require('vs/workbench/common/contributions');
 import paths = require('vs/base/common/paths');
 import async = require('vs/base/common/async');
 import winjs = require('vs/base/common/winjs.base');
 import extfs = require('vs/base/node/extfs');
 import lifecycle = require('vs/base/common/lifecycle');
-import {readAndRegisterSnippets} from 'vs/editor/node/textMate/TMSnippets';
-import {IFileService} from 'vs/platform/files/common/files';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
+import { readAndRegisterSnippets } from 'vs/editor/node/textMate/TMSnippets';
+import { IFileService } from 'vs/platform/files/common/files';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
 
 import fs = require('fs');
 
@@ -25,7 +25,7 @@ export class SnippetsTracker implements workbenchExt.IWorkbenchContribution {
 	private snippetFolder: string;
 	private toDispose: lifecycle.IDisposable[];
 	private watcher: fs.FSWatcher;
-	private fileWatchDelayer:async.ThrottledDelayer<void>;
+	private fileWatchDelayer: async.ThrottledDelayer<void>;
 
 	constructor(
 		@IFileService private fileService: IFileService,
@@ -61,14 +61,14 @@ export class SnippetsTracker implements workbenchExt.IWorkbenchContribution {
 				}
 				scheduler.schedule();
 			});
-	} catch (error) {
+		} catch (error) {
 			// the path might not exist anymore, ignore this error and return
 		}
 
 		this.lifecycleService.onShutdown(this.dispose, this);
 	}
 
-	private scanUserSnippets() : winjs.Promise {
+	private scanUserSnippets(): winjs.Promise {
 		return readFilesInDir(this.snippetFolder, /\.json$/).then(snippetFiles => {
 			return winjs.TPromise.join(snippetFiles.map(snippetFile => {
 				var modeId = snippetFile.replace(/\.json$/, '').toLowerCase();
@@ -97,7 +97,7 @@ export class SnippetsTracker implements workbenchExt.IWorkbenchContribution {
 
 function readDir(path: string): winjs.TPromise<string[]> {
 	return new winjs.TPromise<string[]>((c, e, p) => {
-		extfs.readdir(path,(err, files) => {
+		extfs.readdir(path, (err, files) => {
 			if (err) {
 				return e(err);
 			}
@@ -108,7 +108,7 @@ function readDir(path: string): winjs.TPromise<string[]> {
 
 function fileExists(path: string): winjs.TPromise<boolean> {
 	return new winjs.TPromise<boolean>((c, e, p) => {
-		fs.stat(path,(err, stats) => {
+		fs.stat(path, (err, stats) => {
 			if (err) {
 				return c(false);
 			}
@@ -122,7 +122,7 @@ function fileExists(path: string): winjs.TPromise<boolean> {
 	});
 }
 
-function readFilesInDir(dirPath: string, namePattern:RegExp = null): winjs.TPromise<string[]> {
+function readFilesInDir(dirPath: string, namePattern: RegExp = null): winjs.TPromise<string[]> {
 	return readDir(dirPath).then((children) => {
 		return winjs.TPromise.join(
 			children.map((child) => {
diff --git a/src/vs/workbench/parts/tasks/browser/taskQuickOpen.ts b/src/vs/workbench/parts/tasks/browser/taskQuickOpen.ts
index b93c15eec3516..e735f7ba4b1c4 100644
--- a/src/vs/workbench/parts/tasks/browser/taskQuickOpen.ts
+++ b/src/vs/workbench/parts/tasks/browser/taskQuickOpen.ts
@@ -10,7 +10,7 @@ import { TPromise } from 'vs/base/common/winjs.base';
 import Quickopen = require('vs/workbench/browser/quickopen');
 import QuickOpen = require('vs/base/parts/quickopen/common/quickOpen');
 import Model = require('vs/base/parts/quickopen/browser/quickOpenModel');
-import {IQuickOpenService} from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
 
 import { ITaskService, TaskDescription } from 'vs/workbench/parts/tasks/common/taskService';
 
@@ -19,7 +19,7 @@ class TaskEntry extends Model.QuickOpenEntry {
 	private taskService: ITaskService;
 	private task: TaskDescription;
 
-	constructor(taskService: ITaskService, task: TaskDescription, highlights:Model.IHighlight[] = []) {
+	constructor(taskService: ITaskService, task: TaskDescription, highlights: Model.IHighlight[] = []) {
 		super(highlights);
 		this.taskService = taskService;
 		this.task = task;
@@ -33,7 +33,7 @@ class TaskEntry extends Model.QuickOpenEntry {
 		return nls.localize('entryAriaLabel', "{0}, tasks", this.getLabel());
 	}
 
-	public run(mode:QuickOpen.Mode, context:Model.IContext):boolean {
+	public run(mode: QuickOpen.Mode, context: Model.IContext): boolean {
 		if (mode === QuickOpen.Mode.PREVIEW) {
 			return false;
 		}
@@ -67,7 +67,7 @@ export class QuickOpenHandler extends Quickopen.QuickOpenHandler {
 			.map(task => ({ task: task, highlights: Filters.matchesContiguousSubString(input, task.name) }))
 			.filter(({ highlights }) => !!highlights)
 			.map(({ task, highlights }) => new TaskEntry(this.taskService, task, highlights))
-		, _ => []).then(e => new Model.QuickOpenModel(e));
+			, _ => []).then(e => new Model.QuickOpenModel(e));
 	}
 
 	public getClass(): string {
@@ -78,13 +78,13 @@ export class QuickOpenHandler extends Quickopen.QuickOpenHandler {
 		return true;
 	}
 
-	public getAutoFocus(input:string): QuickOpen.IAutoFocus {
+	public getAutoFocus(input: string): QuickOpen.IAutoFocus {
 		return {
 			autoFocusFirstEntry: !!input
 		};
 	}
 
-	public onClose(canceled:boolean): void {
+	public onClose(canceled: boolean): void {
 		return;
 	}
 
diff --git a/src/vs/workbench/parts/tasks/common/languageServiceTaskSystem.ts b/src/vs/workbench/parts/tasks/common/languageServiceTaskSystem.ts
index 75448ff21b693..3fb0a2240dfc6 100644
--- a/src/vs/workbench/parts/tasks/common/languageServiceTaskSystem.ts
+++ b/src/vs/workbench/parts/tasks/common/languageServiceTaskSystem.ts
@@ -4,18 +4,18 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import { TPromise, Promise }  from 'vs/base/common/winjs.base';
-import { TerminateResponse} from 'vs/base/common/processes';
+import { TPromise, Promise } from 'vs/base/common/winjs.base';
+import { TerminateResponse } from 'vs/base/common/processes';
 
 import { IMode } from 'vs/editor/common/modes';
 import { EventEmitter } from 'vs/base/common/eventEmitter';
 
-import { ITaskSystem, ITaskSummary, TaskDescription, TelemetryEvent, Triggers, TaskConfiguration, ITaskExecuteResult, TaskExecuteKind }  from 'vs/workbench/parts/tasks/common/taskSystem';
+import { ITaskSystem, ITaskSummary, TaskDescription, TelemetryEvent, Triggers, TaskConfiguration, ITaskExecuteResult, TaskExecuteKind } from 'vs/workbench/parts/tasks/common/taskSystem';
 import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 import { IModeService } from 'vs/editor/common/services/modeService';
 
 export interface LanguageServiceTaskConfiguration extends TaskConfiguration {
-	modes:string[];
+	modes: string[];
 }
 
 export class LanguageServiceTaskSystem extends EventEmitter implements ITaskSystem {
@@ -55,7 +55,7 @@ export class LanguageServiceTaskSystem extends EventEmitter implements ITaskSyst
 		return { kind: TaskExecuteKind.Started, promise: TPromise.wrapError<ITaskSummary>('Not implemented yet.') };
 	}
 
-	public run(taskIdentifier:string): ITaskExecuteResult {
+	public run(taskIdentifier: string): ITaskExecuteResult {
 		return { kind: TaskExecuteKind.Started, promise: TPromise.wrapError<ITaskSummary>('Not implemented yet.') };
 	}
 
@@ -90,24 +90,26 @@ export class LanguageServiceTaskSystem extends EventEmitter implements ITaskSyst
 			command: 'languageService',
 			success: true
 		};
-		return { kind: TaskExecuteKind.Started, started: {}, promise: Promise.join(this.configuration.modes.map((mode) => {
-			return this.modeService.getOrCreateMode(mode);
-		})).then((modes: IMode[]) => {
-			let promises: Promise[] = [];
-			modes.forEach((mode) => {
-				let promise = fn(mode);
-				if (promise) {
-					promises.push(promise);
-				}
-			});
-			return Promise.join(promises);
-		}).then((value) => {
+		return {
+			kind: TaskExecuteKind.Started, started: {}, promise: Promise.join(this.configuration.modes.map((mode) => {
+				return this.modeService.getOrCreateMode(mode);
+			})).then((modes: IMode[]) => {
+				let promises: Promise[] = [];
+				modes.forEach((mode) => {
+					let promise = fn(mode);
+					if (promise) {
+						promises.push(promise);
+					}
+				});
+				return Promise.join(promises);
+			}).then((value) => {
 				this.telemetryService.publicLog(LanguageServiceTaskSystem.TelemetryEventName, telemetryEvent);
 				return value;
 			}, (err) => {
 				telemetryEvent.success = false;
 				this.telemetryService.publicLog(LanguageServiceTaskSystem.TelemetryEventName, telemetryEvent);
 				return Promise.wrapError(err);
-		})};
+			})
+		};
 	}
 }
diff --git a/src/vs/workbench/parts/tasks/common/problemCollectors.ts b/src/vs/workbench/parts/tasks/common/problemCollectors.ts
index 1c375c0c64838..4fe34349918bf 100644
--- a/src/vs/workbench/parts/tasks/common/problemCollectors.ts
+++ b/src/vs/workbench/parts/tasks/common/problemCollectors.ts
@@ -20,13 +20,13 @@ export namespace ProblemCollectorEvents {
 }
 
 export interface IProblemMatcher {
-	processLine(line:string):void;
+	processLine(line: string): void;
 }
 
 export class AbstractProblemCollector extends EventEmitter implements IDisposable {
 
 	private matchers: INumberDictionary<ILineMatcher[]>;
-	private activeMatcher : ILineMatcher;
+	private activeMatcher: ILineMatcher;
 	private _numberOfMatches: number;
 	private buffer: string[];
 	private bufferLength: number;
@@ -103,7 +103,7 @@ export class AbstractProblemCollector extends EventEmitter implements IDisposabl
 	}
 
 	protected shouldApplyMatch(result: ProblemMatch): boolean {
-		switch(result.description.applyTo) {
+		switch (result.description.applyTo) {
 			case ApplyToKind.allDocuments:
 				return true;
 			case ApplyToKind.openDocuments:
@@ -164,9 +164,9 @@ export class StartStopProblemCollector extends AbstractProblemCollector implemen
 	private markers: IStringDictionary<IMarkerData[]> = Object.create(null);
 
 
-	constructor(problemMatchers: ProblemMatcher[], markerService:IMarkerService, modelService: IModelService, strategy: ProblemHandlingStrategy = ProblemHandlingStrategy.Clean) {
+	constructor(problemMatchers: ProblemMatcher[], markerService: IMarkerService, modelService: IModelService, strategy: ProblemHandlingStrategy = ProblemHandlingStrategy.Clean) {
 		super(problemMatchers, modelService);
-		let ownerSet:{ [key:string]:boolean; } = Object.create(null);
+		let ownerSet: { [key: string]: boolean; } = Object.create(null);
 		problemMatchers.forEach(description => ownerSet[description.owner] = true);
 		this.owners = Object.keys(ownerSet);
 		this.markerService = markerService;
@@ -174,7 +174,7 @@ export class StartStopProblemCollector extends AbstractProblemCollector implemen
 		this.currentResourcesWithMarkers = Object.create(null);
 		this.reportedResourcesWithMarkers = Object.create(null);
 		this.owners.forEach((owner) => {
-			this.currentResourcesWithMarkers[owner] = this.markerService.read({owner: owner}).map(m => m.resource);
+			this.currentResourcesWithMarkers[owner] = this.markerService.read({ owner: owner }).map(m => m.resource);
 			this.reportedResourcesWithMarkers[owner] = Object.create(null);
 		});
 		this.currentResource = null;
@@ -182,7 +182,7 @@ export class StartStopProblemCollector extends AbstractProblemCollector implemen
 		this.markers = Object.create(null);
 	}
 
-	public processLine(line:string):void {
+	public processLine(line: string): void {
 		let markerMatch = this.tryFindMarker(line);
 		if (!markerMatch) {
 			return;
@@ -223,7 +223,7 @@ export class StartStopProblemCollector extends AbstractProblemCollector implemen
 		}
 		if (this.strategy === ProblemHandlingStrategy.Clean) {
 			Object.keys(this.currentResourcesWithMarkers).forEach((owner) => {
-				let toRemove:URI[] = [];
+				let toRemove: URI[] = [];
 				let withMarkers = this.reportedResourcesWithMarkers[owner];
 				this.currentResourcesWithMarkers[owner].forEach((resource) => {
 					if (!withMarkers[resource.toString()]) {
diff --git a/src/vs/workbench/parts/tasks/common/taskSystem.ts b/src/vs/workbench/parts/tasks/common/taskSystem.ts
index 1656dd2d68115..420f753685c55 100644
--- a/src/vs/workbench/parts/tasks/common/taskSystem.ts
+++ b/src/vs/workbench/parts/tasks/common/taskSystem.ts
@@ -121,7 +121,7 @@ export interface TaskDescription {
 	/**
 	 * The problem watchers to use for this task
 	 */
-	problemMatchers?:ProblemMatcher[];
+	problemMatchers?: ProblemMatcher[];
 }
 
 export interface CommandOptions {
@@ -135,7 +135,7 @@ export interface CommandOptions {
 	 * The environment of the executed program or shell. If omitted
 	 * the parent process' environment is used.
 	 */
-	env?: { [key:string]: string; };
+	env?: { [key: string]: string; };
 }
 
 
@@ -147,12 +147,12 @@ export interface BaseTaskRunnerConfiguration {
 	/**
 	 * The command to execute
 	 */
-	command?:string;
+	command?: string;
 
 	/**
 	 * Whether the task is a shell command or not
 	 */
-	isShellCommand?:boolean;
+	isShellCommand?: boolean;
 
 	/**
 	 * Additional command options
@@ -162,12 +162,12 @@ export interface BaseTaskRunnerConfiguration {
 	/**
 	 * General args
 	 */
-	args?:string[];
+	args?: string[];
 
 	/**
 	 * The configured tasks
 	 */
-	tasks?: { [id:string]: TaskDescription; };
+	tasks?: { [id: string]: TaskDescription; };
 }
 
 /**
@@ -178,7 +178,7 @@ export interface TaskRunnerConfiguration extends BaseTaskRunnerConfiguration {
 	/**
 	 * The command to execute. Not optional.
 	 */
-	command:string;
+	command: string;
 }
 
 export interface ITaskSummary {
@@ -242,5 +242,5 @@ export interface TaskConfiguration {
 	/**
 	 * The build system to use. If omitted program is used.
 	 */
-	buildSystem?:string;
+	buildSystem?: string;
 }
\ No newline at end of file
diff --git a/src/vs/workbench/parts/tasks/common/tasks.ts b/src/vs/workbench/parts/tasks/common/tasks.ts
index a576e4b24aacb..94024e187256b 100644
--- a/src/vs/workbench/parts/tasks/common/tasks.ts
+++ b/src/vs/workbench/parts/tasks/common/tasks.ts
@@ -11,7 +11,7 @@ import * as Types from 'vs/base/common/types';
 import * as UUID from 'vs/base/common/uuid';
 
 import { ValidationStatus, ValidationState, ILogger, Parser } from 'vs/base/common/parsers';
-import { Executable, ExecutableParser, Config  as ProcessConfig} from 'vs/base/common/processes';
+import { Executable, ExecutableParser, Config as ProcessConfig } from 'vs/base/common/processes';
 
 import { ProblemMatcher, Config as ProblemMatcherConfig, ProblemMatcherParser } from 'vs/platform/markers/common/problemMatcher';
 
@@ -157,7 +157,7 @@ export interface ParserSettings {
 	emptyCommand?: boolean;
 }
 
-export class TaskParser  extends Parser {
+export class TaskParser extends Parser {
 
 	private resolver: { get(name: string): ProblemMatcher; };
 
@@ -245,7 +245,7 @@ export class TaskParser  extends Parser {
 }
 
 // let tasksExtPoint = ExtensionsRegistry.registerExtensionPoint<Config.Task | Config.Task[]>('tasks', {
-	// TODO@Dirk: provide JSON schema here
+// TODO@Dirk: provide JSON schema here
 // });
 
 // const extensionPoint: string = 'tasks';
diff --git a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts
index 5ff78e9a6c22e..da4669df741ad 100644
--- a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts
+++ b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts
@@ -46,7 +46,7 @@ import jsonContributionRegistry = require('vs/platform/jsonschemas/common/jsonCo
 import { IJSONSchema } from 'vs/base/common/jsonSchema';
 
 import { IWorkbenchActionRegistry, Extensions as WorkbenchActionExtensions } from 'vs/workbench/common/actionRegistry';
-import { IStatusbarItem, IStatusbarRegistry, Extensions as StatusbarExtensions, StatusbarItemDescriptor, StatusbarAlignment }  from 'vs/workbench/browser/parts/statusbar/statusbar';
+import { IStatusbarItem, IStatusbarRegistry, Extensions as StatusbarExtensions, StatusbarItemDescriptor, StatusbarAlignment } from 'vs/workbench/browser/parts/statusbar/statusbar';
 import { IQuickOpenRegistry, Extensions as QuickOpenExtensions, QuickOpenHandlerDescriptor } from 'vs/workbench/browser/quickopen';
 
 import { IQuickOpenService } from 'vs/workbench/services/quickopen/common/quickOpenService';
@@ -64,12 +64,12 @@ import { ITaskSystem, ITaskSummary, ITaskExecuteResult, TaskExecuteKind, TaskErr
 import { ITaskService, TaskServiceEvents } from 'vs/workbench/parts/tasks/common/taskService';
 import { templates as taskTemplates } from 'vs/workbench/parts/tasks/common/taskTemplates';
 
-import { LanguageServiceTaskSystem, LanguageServiceTaskConfiguration }  from 'vs/workbench/parts/tasks/common/languageServiceTaskSystem';
-import * as FileConfig  from 'vs/workbench/parts/tasks/node/processRunnerConfiguration';
+import { LanguageServiceTaskSystem, LanguageServiceTaskConfiguration } from 'vs/workbench/parts/tasks/common/languageServiceTaskSystem';
+import * as FileConfig from 'vs/workbench/parts/tasks/node/processRunnerConfiguration';
 import { ProcessRunnerSystem } from 'vs/workbench/parts/tasks/node/processRunnerSystem';
-import { ProcessRunnerDetector }  from 'vs/workbench/parts/tasks/node/processRunnerDetector';
+import { ProcessRunnerDetector } from 'vs/workbench/parts/tasks/node/processRunnerDetector';
 
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
 
 let $ = Builder.$;
 
@@ -80,9 +80,9 @@ class AbstractTaskAction extends Action {
 	protected messageService: IMessageService;
 	protected contextService: IWorkspaceContextService;
 
-	constructor(id:string, label:string, @ITaskService taskService:ITaskService,
+	constructor(id: string, label: string, @ITaskService taskService: ITaskService,
 		@ITelemetryService telemetryService: ITelemetryService,
-		@IMessageService messageService:IMessageService,
+		@IMessageService messageService: IMessageService,
 		@IWorkspaceContextService contextService: IWorkspaceContextService) {
 
 		super(id, label);
@@ -105,8 +105,8 @@ class BuildAction extends AbstractTaskAction {
 	public static ID = 'workbench.action.tasks.build';
 	public static TEXT = nls.localize('BuildAction.label', "Run Build Task");
 
-	constructor(id: string, label: string, @ITaskService taskService:ITaskService, @ITelemetryService telemetryService: ITelemetryService,
-		@IMessageService messageService:IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
+	constructor(id: string, label: string, @ITaskService taskService: ITaskService, @ITelemetryService telemetryService: ITelemetryService,
+		@IMessageService messageService: IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super(id, label, taskService, telemetryService, messageService, contextService);
 	}
 
@@ -122,8 +122,8 @@ class TestAction extends AbstractTaskAction {
 	public static ID = 'workbench.action.tasks.test';
 	public static TEXT = nls.localize('TestAction.label', "Run Test Task");
 
-	constructor(id: string, label: string, @ITaskService taskService:ITaskService, @ITelemetryService telemetryService: ITelemetryService,
-		@IMessageService messageService:IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
+	constructor(id: string, label: string, @ITaskService taskService: ITaskService, @ITelemetryService telemetryService: ITelemetryService,
+		@IMessageService messageService: IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super(id, label, taskService, telemetryService, messageService, contextService);
 	}
 
@@ -139,8 +139,8 @@ class RebuildAction extends AbstractTaskAction {
 	public static ID = 'workbench.action.tasks.rebuild';
 	public static TEXT = nls.localize('RebuildAction.label', 'Run Rebuild Task');
 
-	constructor(id: string, label: string, @ITaskService taskService:ITaskService, @ITelemetryService telemetryService: ITelemetryService,
-		@IMessageService messageService:IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
+	constructor(id: string, label: string, @ITaskService taskService: ITaskService, @ITelemetryService telemetryService: ITelemetryService,
+		@IMessageService messageService: IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super(id, label, taskService, telemetryService, messageService, contextService);
 	}
 
@@ -156,8 +156,8 @@ class CleanAction extends AbstractTaskAction {
 	public static ID = 'workbench.action.tasks.clean';
 	public static TEXT = nls.localize('CleanAction.label', 'Run Clean Task');
 
-	constructor(id: string, label: string, @ITaskService taskService:ITaskService, @ITelemetryService telemetryService: ITelemetryService,
-		@IMessageService messageService:IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
+	constructor(id: string, label: string, @ITaskService taskService: ITaskService, @ITelemetryService telemetryService: ITelemetryService,
+		@IMessageService messageService: IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super(id, label, taskService, telemetryService, messageService, contextService);
 	}
 
@@ -197,7 +197,7 @@ abstract class OpenTaskConfigurationAction extends Action {
 		this.quickOpenService = quickOpenService;
 	}
 
-	public run(event?:any): TPromise<IEditor> {
+	public run(event?: any): TPromise<IEditor> {
 		if (!this.contextService.getWorkspace()) {
 			this.messageService.show(Severity.Info, nls.localize('ConfigureTaskRunnerAction.noWorkspace', 'Tasks are only available on a workspace folder.'));
 			return TPromise.as(undefined);
@@ -206,9 +206,9 @@ abstract class OpenTaskConfigurationAction extends Action {
 		let configFileCreated = false;
 		return this.fileService.resolveFile(this.contextService.toResource('.vscode/tasks.json')).then((success) => {
 			return success;
-		}, (err:any) => {
+		}, (err: any) => {
 			;
-			return this.quickOpenService.pick(taskTemplates, { placeHolder: nls.localize('ConfigureTaskRunnerAction.quickPick.template', 'Select a Task Runner')}).then(selection => {
+			return this.quickOpenService.pick(taskTemplates, { placeHolder: nls.localize('ConfigureTaskRunnerAction.quickPick.template', 'Select a Task Runner') }).then(selection => {
 				if (!selection) {
 					return undefined;
 				}
@@ -233,8 +233,8 @@ abstract class OpenTaskConfigurationAction extends Action {
 							let content = JSON.stringify(config, null, '\t');
 							content = [
 								'{',
-									'\t// See https://go.microsoft.com/fwlink/?LinkId=733558',
-									'\t// for the documentation about the tasks.json format',
+								'\t// See https://go.microsoft.com/fwlink/?LinkId=733558',
+								'\t// for the documentation about the tasks.json format',
 							].join('\n') + content.substr(1);
 							return content;
 						} else {
@@ -281,9 +281,9 @@ class ConfigureTaskRunnerAction extends OpenTaskConfigurationAction {
 		@IMessageService messageService: IMessageService, @IQuickOpenService quickOpenService: IQuickOpenService,
 		@IEnvironmentService environmentService: IEnvironmentService,
 		@IConfigurationResolverService configurationResolverService: IConfigurationResolverService) {
-			super(id, label, configurationService, editorService, fileService, contextService,
+		super(id, label, configurationService, editorService, fileService, contextService,
 			outputService, messageService, quickOpenService, environmentService, configurationResolverService);
-		}
+	}
 
 }
 
@@ -297,9 +297,9 @@ class ConfigureBuildTaskAction extends OpenTaskConfigurationAction {
 		@IMessageService messageService: IMessageService, @IQuickOpenService quickOpenService: IQuickOpenService,
 		@IEnvironmentService environmentService: IEnvironmentService,
 		@IConfigurationResolverService configurationResolverService: IConfigurationResolverService) {
-			super(id, label, configurationService, editorService, fileService, contextService,
+		super(id, label, configurationService, editorService, fileService, contextService,
 			outputService, messageService, quickOpenService, environmentService, configurationResolverService);
-		}
+	}
 }
 
 class CloseMessageAction extends Action {
@@ -324,8 +324,8 @@ class TerminateAction extends AbstractTaskAction {
 	public static ID = 'workbench.action.tasks.terminate';
 	public static TEXT = nls.localize('TerminateAction.label', "Terminate Running Task");
 
-	constructor(id: string, label: string, @ITaskService taskService:ITaskService, @ITelemetryService telemetryService: ITelemetryService,
-		@IMessageService messageService:IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
+	constructor(id: string, label: string, @ITaskService taskService: ITaskService, @ITelemetryService telemetryService: ITelemetryService,
+		@IMessageService messageService: IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super(id, label, taskService, telemetryService, messageService, contextService);
 	}
 
@@ -355,9 +355,9 @@ class ShowLogAction extends AbstractTaskAction {
 
 	private outputService: IOutputService;
 
-	constructor(id: string, label: string, @ITaskService taskService:ITaskService, @ITelemetryService telemetryService: ITelemetryService,
-		@IMessageService messageService:IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService,
-		@IOutputService outputService:IOutputService) {
+	constructor(id: string, label: string, @ITaskService taskService: ITaskService, @ITelemetryService telemetryService: ITelemetryService,
+		@IMessageService messageService: IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService,
+		@IOutputService outputService: IOutputService) {
 
 		super(id, label, taskService, telemetryService, messageService, contextService);
 		this.outputService = outputService;
@@ -377,14 +377,14 @@ class RunTaskAction extends AbstractTaskAction {
 	public static TEXT = nls.localize('RunTaskAction.label', "Run Task");
 	private quickOpenService: IQuickOpenService;
 
-	constructor(id: string, label: string, @IQuickOpenService quickOpenService:IQuickOpenService,
+	constructor(id: string, label: string, @IQuickOpenService quickOpenService: IQuickOpenService,
 		@ITaskService taskService: ITaskService, @ITelemetryService telemetryService: ITelemetryService,
-		@IMessageService messageService:IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
+		@IMessageService messageService: IMessageService, @IWorkspaceContextService contextService: IWorkspaceContextService) {
 		super(id, label, taskService, telemetryService, messageService, contextService);
 		this.quickOpenService = quickOpenService;
 	}
 
-	public run(event?:any): Promise {
+	public run(event?: any): Promise {
 		if (!this.canRun()) {
 			return TPromise.as(undefined);
 		}
@@ -398,16 +398,16 @@ class StatusBarItem implements IStatusbarItem {
 
 	private panelService: IPanelService;
 	private markerService: IMarkerService;
-	private taskService:ITaskService;
+	private taskService: ITaskService;
 	private outputService: IOutputService;
 
 	private intervalToken: any;
 	private activeCount: number;
-	private static progressChars:string = '|/-\\';
+	private static progressChars: string = '|/-\\';
 
-	constructor(@IPanelService panelService:IPanelService,
-		@IMarkerService markerService:IMarkerService, @IOutputService outputService:IOutputService,
-		@ITaskService taskService:ITaskService,
+	constructor( @IPanelService panelService: IPanelService,
+		@IMarkerService markerService: IMarkerService, @IOutputService outputService: IOutputService,
+		@ITaskService taskService: ITaskService,
 		@IPartService private partService: IPartService) {
 
 		this.panelService = panelService;
@@ -454,20 +454,20 @@ class StatusBarItem implements IStatusbarItem {
 		label.appendChild(info);
 		$(info).hide();
 
-//		callOnDispose.push(dom.addListener(icon, 'click', (e:MouseEvent) => {
-//			this.outputService.showOutput(TaskService.OutputChannel, e.ctrlKey || e.metaKey, true);
-//		}));
+		//		callOnDispose.push(dom.addListener(icon, 'click', (e:MouseEvent) => {
+		//			this.outputService.showOutput(TaskService.OutputChannel, e.ctrlKey || e.metaKey, true);
+		//		}));
 
-		callOnDispose.push(Dom.addDisposableListener(label, 'click', (e:MouseEvent) => {
-			const panel= this.panelService.getActivePanel();
+		callOnDispose.push(Dom.addDisposableListener(label, 'click', (e: MouseEvent) => {
+			const panel = this.panelService.getActivePanel();
 			if (panel && panel.getId() === Constants.MARKERS_PANEL_ID) {
 				this.partService.setPanelHidden(true);
 			} else {
 				this.panelService.openPanel(Constants.MARKERS_PANEL_ID, true);
 			}
-			}));
+		}));
 
-		let updateStatus = (element:HTMLDivElement, stats:number): boolean => {
+		let updateStatus = (element: HTMLDivElement, stats: number): boolean => {
 			if (stats > 0) {
 				element.innerHTML = stats.toString();
 				$(element).show();
@@ -507,7 +507,7 @@ class StatusBarItem implements IStatusbarItem {
 			}
 		}));
 
-		callOnDispose.push(this.taskService.addListener2(TaskServiceEvents.Inactive, (data:TaskServiceEventData) => {
+		callOnDispose.push(this.taskService.addListener2(TaskServiceEvents.Inactive, (data: TaskServiceEventData) => {
 			// Since the exiting of the sub process is communicated async we can't order inactive and terminate events.
 			// So try to treat them accordingly.
 			if (this.activeCount > 0) {
@@ -598,8 +598,8 @@ class NullTaskSystem extends EventEmitter implements ITaskSystem {
 class TaskService extends EventEmitter implements ITaskService {
 	public _serviceBrand: any;
 	public static SERVICE_ID: string = 'taskService';
-	public static OutputChannelId:string = 'tasks';
-	public static OutputChannelLabel:string = nls.localize('tasks', "Tasks");
+	public static OutputChannelId: string = 'tasks';
+	public static OutputChannelLabel: string = nls.localize('tasks', "Tasks");
 
 	private modeService: IModeService;
 	private configurationService: IConfigurationService;
@@ -624,11 +624,11 @@ class TaskService extends EventEmitter implements ITaskService {
 
 	private fileChangesListener: IDisposable;
 
-	constructor(@IModeService modeService: IModeService, @IConfigurationService configurationService: IConfigurationService,
+	constructor( @IModeService modeService: IModeService, @IConfigurationService configurationService: IConfigurationService,
 		@IMarkerService markerService: IMarkerService, @IOutputService outputService: IOutputService,
-		@IMessageService messageService: IMessageService, @IWorkbenchEditorService editorService:IWorkbenchEditorService,
-		@IFileService fileService:IFileService, @IWorkspaceContextService contextService: IWorkspaceContextService,
-		@ITelemetryService telemetryService: ITelemetryService, @ITextFileService textFileService:ITextFileService,
+		@IMessageService messageService: IMessageService, @IWorkbenchEditorService editorService: IWorkbenchEditorService,
+		@IFileService fileService: IFileService, @IWorkspaceContextService contextService: IWorkspaceContextService,
+		@ITelemetryService telemetryService: ITelemetryService, @ITextFileService textFileService: ITextFileService,
 		@ILifecycleService lifecycleService: ILifecycleService, @IEventService eventService: IEventService,
 		@IModelService modelService: IModelService, @IExtensionService extensionService: IExtensionService,
 		@IQuickOpenService quickOpenService: IQuickOpenService,
@@ -654,7 +654,7 @@ class TaskService extends EventEmitter implements ITaskService {
 		this.taskSystemListeners = [];
 		this.clearTaskSystemPromise = false;
 		this.outputChannel = this.outputService.getChannel(TaskService.OutputChannelId);
-	this.configurationService.onDidUpdateConfiguration(() => {
+		this.configurationService.onDidUpdateConfiguration(() => {
 			this.emit(TaskServiceEvents.ConfigChanged);
 			if (this._taskSystem && this._taskSystem.isActiveSync()) {
 				this.clearTaskSystemPromise = true;
@@ -882,20 +882,20 @@ class TaskService extends EventEmitter implements ITaskService {
 	public terminate(): TPromise<TerminateResponse> {
 		if (this._taskSystemPromise) {
 			return this.taskSystemPromise.then(taskSystem => {
-					return taskSystem.terminate();
-				}).then(response => {
-					if (response.success) {
-						if (this.clearTaskSystemPromise) {
-							this._taskSystemPromise = null;
-							this.clearTaskSystemPromise = false;
-						}
-						this.emit(TaskServiceEvents.Terminated, {});
-						this.disposeFileChangesListener();
+				return taskSystem.terminate();
+			}).then(response => {
+				if (response.success) {
+					if (this.clearTaskSystemPromise) {
+						this._taskSystemPromise = null;
+						this.clearTaskSystemPromise = false;
 					}
-					return response;
-				});
+					this.emit(TaskServiceEvents.Terminated, {});
+					this.disposeFileChangesListener();
+				}
+				return response;
+			});
 		}
-		return TPromise.as( { success: true} );
+		return TPromise.as({ success: true });
 	}
 
 	public tasks(): TPromise<TaskDescription[]> {
@@ -933,14 +933,14 @@ class TaskService extends EventEmitter implements ITaskService {
 	}
 
 	private getConfigureAction(code: TaskErrors): Action {
-		switch(code) {
+		switch (code) {
 			case TaskErrors.NoBuildTask:
 				return this.configureBuildTask();
 			default:
 				return this.configureAction();
 		}
 	}
-	private handleError(err:any):void {
+	private handleError(err: any): void {
 		let showOutput = true;
 		if (err instanceof TaskError) {
 			let buildError = <TaskError>err;
@@ -952,7 +952,7 @@ class TaskService extends EventEmitter implements ITaskService {
 					? this.getConfigureAction(buildError.code)
 					: new TerminateAction(TerminateAction.ID, TerminateAction.TEXT, this, this.telemetryService, this.messageService, this.contextService);
 
-				closeAction.closeFunction = this.messageService.show(buildError.severity, { message: buildError.message, actions: [action, closeAction ] });
+				closeAction.closeFunction = this.messageService.show(buildError.severity, { message: buildError.message, actions: [action, closeAction] });
 			} else {
 				this.messageService.show(buildError.severity, buildError.message);
 			}
@@ -1006,7 +1006,7 @@ outputChannelRegistry.registerChannel(TaskService.OutputChannelId, TaskService.O
 
 // tasks.json validation
 let schemaId = 'vscode://schemas/tasks';
-let schema : IJSONSchema =
+let schema: IJSONSchema =
 	{
 		'id': schemaId,
 		'description': 'Task definition file',
@@ -1035,7 +1035,7 @@ let schema : IJSONSchema =
 				'anyOf': [
 					{
 						'type': 'string',
-						'enum': ['$tsc', '$tsc-watch' ,'$msCompile', '$lessCompile', '$gulp-tsc', '$cpp', '$csc', '$vb', '$jshint', '$jshint-stylish', '$eslint-compact', '$eslint-stylish', '$go']
+						'enum': ['$tsc', '$tsc-watch', '$msCompile', '$lessCompile', '$gulp-tsc', '$cpp', '$csc', '$vb', '$jshint', '$jshint-stylish', '$eslint-compact', '$eslint-stylish', '$go']
 					},
 					{
 						'$ref': '#/definitions/pattern'
diff --git a/src/vs/workbench/parts/tasks/node/processRunnerConfiguration.ts b/src/vs/workbench/parts/tasks/node/processRunnerConfiguration.ts
index 591b7d9356293..54ed1f79ee52d 100644
--- a/src/vs/workbench/parts/tasks/node/processRunnerConfiguration.ts
+++ b/src/vs/workbench/parts/tasks/node/processRunnerConfiguration.ts
@@ -53,7 +53,7 @@ export interface TaskDescription {
 	/**
 	 * Whether the executed command is kept alive and is watching the file system.
 	 */
-	isWatching?:boolean;
+	isWatching?: boolean;
 
 	/**
 	 * Whether the task should prompt on close for confirmation if running.
@@ -63,7 +63,7 @@ export interface TaskDescription {
 	/**
 	 * Whether this task maps to the default build command.
 	 */
-	isBuildCommand?:boolean;
+	isBuildCommand?: boolean;
 
 	/**
 	 * Whether this task maps to the default test command.
@@ -150,7 +150,7 @@ export interface BaseTaskRunnerConfiguration extends TaskSystem.TaskConfiguratio
 	 * prefix (e.g. /t: for msbuild). This property can be used to control such
 	 * a prefix.
 	 */
-	taskSelector?:string;
+	taskSelector?: string;
 
 	/**
 	 * The problem matcher(s) to used if a global command is exucuted (e.g. no tasks
@@ -239,7 +239,7 @@ export interface ParseResult {
 }
 
 export interface ILogger {
-	log(value:string):void;
+	log(value: string): void;
 }
 
 class ConfigurationParser {
@@ -248,7 +248,7 @@ class ConfigurationParser {
 	private defaultBuildTaskIdentifier: string;
 	private defaultTestTaskIdentifier: string;
 
-	private logger:ILogger;
+	private logger: ILogger;
 	private namedProblemMatchers: IStringDictionary<NamedProblemMatcher>;
 
 	constructor(logger: ILogger) {
@@ -300,7 +300,7 @@ class ConfigurationParser {
 		return <TaskSystem.TaskRunnerConfiguration>result;
 	}
 
-	private createGlobals(fileConfig: ExternalTaskRunnerConfiguration) : Globals {
+	private createGlobals(fileConfig: ExternalTaskRunnerConfiguration): Globals {
 		let result = this.parseGlobals(fileConfig);
 		let osGlobals: Globals = null;
 		if (fileConfig.windows && Platform.platform === Platform.Platform.Windows) {
@@ -414,7 +414,7 @@ class ConfigurationParser {
 		if (!Types.isUndefined(fileConfig.isShellCommand)) {
 			result.isShellCommand = fileConfig.isShellCommand;
 		}
-		let argsIsValid:boolean = Types.isUndefined(fileConfig.args);
+		let argsIsValid: boolean = Types.isUndefined(fileConfig.args);
 		if (Types.isStringArray(fileConfig.args)) {
 			argsIsValid = true;
 			result.args = fileConfig.args.slice();
@@ -495,7 +495,7 @@ class ConfigurationParser {
 	}
 
 	private createNamedProblemMatchers(fileConfig: BaseTaskRunnerConfiguration): IStringDictionary<NamedProblemMatcher> {
-		let result:IStringDictionary<NamedProblemMatcher> = Object.create(null);
+		let result: IStringDictionary<NamedProblemMatcher> = Object.create(null);
 		if (!Types.isArray(fileConfig.declares)) {
 			return result;
 		}
@@ -525,8 +525,8 @@ class ConfigurationParser {
 		if (!tasks) {
 			return result;
 		}
-		let defaultBuildTask: {id:string; exact:number;} = { id: null, exact: -1};
-		let defaultTestTask: {id:string; exact:number;} = { id: null, exact: -1};
+		let defaultBuildTask: { id: string; exact: number; } = { id: null, exact: -1 };
+		let defaultTestTask: { id: string; exact: number; } = { id: null, exact: -1 };
 		tasks.forEach((externalTask) => {
 			let taskName = externalTask.taskName;
 			if (!taskName) {
diff --git a/src/vs/workbench/parts/tasks/node/processRunnerDetector.ts b/src/vs/workbench/parts/tasks/node/processRunnerDetector.ts
index 14a4f1f56befb..1e61ccc1d2be7 100644
--- a/src/vs/workbench/parts/tasks/node/processRunnerDetector.ts
+++ b/src/vs/workbench/parts/tasks/node/processRunnerDetector.ts
@@ -38,7 +38,7 @@ interface TaskInfos {
 
 interface TaskDetectorMatcher {
 	init();
-	match(tasks: string[], line:string);
+	match(tasks: string[], line: string);
 }
 
 interface DetectorConfig {
@@ -49,7 +49,7 @@ interface DetectorConfig {
 class RegexpTaskMatcher implements TaskDetectorMatcher {
 	private regexp: RegExp;
 
-	constructor(regExp:RegExp) {
+	constructor(regExp: RegExp) {
 		this.regexp = regExp;
 	}
 
@@ -76,35 +76,35 @@ class GruntTaskMatcher implements TaskDetectorMatcher {
 	}
 
 	match(tasks: string[], line: string) {
-			// grunt lists tasks as follows (description is wrapped into a new line if too long):
-			// ...
-			// Available tasks
-			//         uglify  Minify files with UglifyJS. *
-			//         jshint  Validate files with JSHint. *
-			//           test  Alias for "jshint", "qunit" tasks.
-			//        default  Alias for "jshint", "qunit", "concat", "uglify" tasks.
-			//           long  Alias for "eslint", "qunit", "browserify", "sass",
-			//                 "autoprefixer", "uglify", tasks.
-			//
-			// Tasks run in the order specified
-			if (!this.tasksStart && !this.tasksEnd) {
-				if (line.indexOf('Available tasks') === 0) {
-					this.tasksStart = true;
-				}
+		// grunt lists tasks as follows (description is wrapped into a new line if too long):
+		// ...
+		// Available tasks
+		//         uglify  Minify files with UglifyJS. *
+		//         jshint  Validate files with JSHint. *
+		//           test  Alias for "jshint", "qunit" tasks.
+		//        default  Alias for "jshint", "qunit", "concat", "uglify" tasks.
+		//           long  Alias for "eslint", "qunit", "browserify", "sass",
+		//                 "autoprefixer", "uglify", tasks.
+		//
+		// Tasks run in the order specified
+		if (!this.tasksStart && !this.tasksEnd) {
+			if (line.indexOf('Available tasks') === 0) {
+				this.tasksStart = true;
 			}
-			else if (this.tasksStart && !this.tasksEnd) {
-				if (line.indexOf('Tasks run in the order specified') === 0) {
-					this.tasksEnd = true;
-				} else {
-					if (this.descriptionOffset === null) {
-						this.descriptionOffset = line.match(/\S  \S/).index + 1;
-					}
-					let taskName = line.substr(0,this.descriptionOffset).trim();
-					if (taskName.length > 0) {
-						tasks.push(taskName);
-					}
+		}
+		else if (this.tasksStart && !this.tasksEnd) {
+			if (line.indexOf('Tasks run in the order specified') === 0) {
+				this.tasksEnd = true;
+			} else {
+				if (this.descriptionOffset === null) {
+					this.descriptionOffset = line.match(/\S  \S/).index + 1;
+				}
+				let taskName = line.substr(0, this.descriptionOffset).trim();
+				if (taskName.length > 0) {
+					tasks.push(taskName);
 				}
 			}
+		}
 	}
 }
 
@@ -134,7 +134,7 @@ export class ProcessRunnerDetector {
 		return ProcessRunnerDetector.SupportedRunners[runner];
 	}
 
-	private static detectorConfig(runner:string): DetectorConfig {
+	private static detectorConfig(runner: string): DetectorConfig {
 		return ProcessRunnerDetector.TaskMatchers[runner];
 	}
 
@@ -225,30 +225,30 @@ export class ProcessRunnerDetector {
 		return result;
 	}
 
-	private tryDetectGulp(list:boolean): TPromise<{ config: FileConfig.ExternalTaskRunnerConfiguration; stderr: string[]; }> {
+	private tryDetectGulp(list: boolean): TPromise<{ config: FileConfig.ExternalTaskRunnerConfiguration; stderr: string[]; }> {
 		return this.fileService.resolveFile(this.contextService.toResource('gulpfile.js')).then((stat) => {
 			let config = ProcessRunnerDetector.detectorConfig('gulp');
-			let process = new LineProcess('gulp', [config.arg, '--no-color'], true, {cwd: this._cwd});
+			let process = new LineProcess('gulp', [config.arg, '--no-color'], true, { cwd: this._cwd });
 			return this.runDetection(process, 'gulp', true, config.matcher, ProcessRunnerDetector.DefaultProblemMatchers, list);
 		}, (err: any): FileConfig.ExternalTaskRunnerConfiguration => {
 			return null;
 		});
 	}
 
-	private tryDetectGrunt(list:boolean): TPromise<{ config: FileConfig.ExternalTaskRunnerConfiguration; stderr: string[]; }> {
+	private tryDetectGrunt(list: boolean): TPromise<{ config: FileConfig.ExternalTaskRunnerConfiguration; stderr: string[]; }> {
 		return this.fileService.resolveFile(this.contextService.toResource('Gruntfile.js')).then((stat) => {
 			let config = ProcessRunnerDetector.detectorConfig('grunt');
-			let process = new LineProcess('grunt', [config.arg, '--no-color'], true, {cwd: this._cwd});
+			let process = new LineProcess('grunt', [config.arg, '--no-color'], true, { cwd: this._cwd });
 			return this.runDetection(process, 'grunt', true, config.matcher, ProcessRunnerDetector.DefaultProblemMatchers, list);
 		}, (err: any): FileConfig.ExternalTaskRunnerConfiguration => {
 			return null;
 		});
 	}
 
-	private tryDetectJake(list:boolean): TPromise<{ config: FileConfig.ExternalTaskRunnerConfiguration; stderr: string[]; }> {
+	private tryDetectJake(list: boolean): TPromise<{ config: FileConfig.ExternalTaskRunnerConfiguration; stderr: string[]; }> {
 		let run = () => {
 			let config = ProcessRunnerDetector.detectorConfig('jake');
-			let process = new LineProcess('jake', [config.arg], true, {cwd: this._cwd});
+			let process = new LineProcess('jake', [config.arg], true, { cwd: this._cwd });
 			return this.runDetection(process, 'jake', true, config.matcher, ProcessRunnerDetector.DefaultProblemMatchers, list);
 		};
 		return this.fileService.resolveFile(this.contextService.toResource('Jakefile')).then((stat) => {
@@ -263,7 +263,7 @@ export class ProcessRunnerDetector {
 	}
 
 	private runDetection(process: LineProcess, command: string, isShellCommand: boolean, matcher: TaskDetectorMatcher, problemMatchers: string[], list: boolean): TPromise<DetectorResult> {
-		let tasks:string[] = [];
+		let tasks: string[] = [];
 		matcher.init();
 		return process.start().then((success) => {
 			if (tasks.length === 0) {
@@ -314,7 +314,7 @@ export class ProcessRunnerDetector {
 		});
 	}
 
-	private createTaskDescriptions(tasks: string[], problemMatchers: string[], list: boolean):FileConfig.TaskDescription[] {
+	private createTaskDescriptions(tasks: string[], problemMatchers: string[], list: boolean): FileConfig.TaskDescription[] {
 		let taskConfigs: FileConfig.TaskDescription[] = [];
 		if (list) {
 			tasks.forEach((task) => {
@@ -335,7 +335,7 @@ export class ProcessRunnerDetector {
 			});
 			if (taskInfos.build.index !== -1) {
 				let name = tasks[taskInfos.build.index];
-				this._stdout.push(nls.localize('TaskSystemDetector.buildTaskDetected','Build task named \'{0}\' detected.', name));
+				this._stdout.push(nls.localize('TaskSystemDetector.buildTaskDetected', 'Build task named \'{0}\' detected.', name));
 				taskConfigs.push({
 					taskName: name,
 					args: [],
@@ -346,7 +346,7 @@ export class ProcessRunnerDetector {
 			}
 			if (taskInfos.test.index !== -1) {
 				let name = tasks[taskInfos.test.index];
-				this._stdout.push(nls.localize('TaskSystemDetector.testTaskDetected','Test task named \'{0}\' detected.', name));
+				this._stdout.push(nls.localize('TaskSystemDetector.testTaskDetected', 'Test task named \'{0}\' detected.', name));
 				taskConfigs.push({
 					taskName: name,
 					args: [],
@@ -357,7 +357,7 @@ export class ProcessRunnerDetector {
 		return taskConfigs;
 	}
 
-	private testBuild(taskInfo: TaskInfo, taskName: string, index: number):void {
+	private testBuild(taskInfo: TaskInfo, taskName: string, index: number): void {
 		if (taskName === build) {
 			taskInfo.index = index;
 			taskInfo.exact = 4;
@@ -373,7 +373,7 @@ export class ProcessRunnerDetector {
 		}
 	}
 
-	private testTest(taskInfo: TaskInfo, taskName: string, index: number):void {
+	private testTest(taskInfo: TaskInfo, taskName: string, index: number): void {
 		if (taskName === test) {
 			taskInfo.index = index;
 			taskInfo.exact = 3;
diff --git a/src/vs/workbench/parts/tasks/node/processRunnerSystem.ts b/src/vs/workbench/parts/tasks/node/processRunnerSystem.ts
index fc25031b93652..9a90c03d84255 100644
--- a/src/vs/workbench/parts/tasks/node/processRunnerSystem.ts
+++ b/src/vs/workbench/parts/tasks/node/processRunnerSystem.ts
@@ -30,7 +30,7 @@ import { StartStopProblemCollector, WatchingProblemCollector, ProblemCollectorEv
 import { ITaskSystem, ITaskSummary, ITaskExecuteResult, TaskExecuteKind, TaskError, TaskErrors, TaskRunnerConfiguration, TaskDescription, CommandOptions, ShowOutput, TelemetryEvent, Triggers, TaskSystemEvents, TaskEvent, TaskType } from 'vs/workbench/parts/tasks/common/taskSystem';
 import * as FileConfig from './processRunnerConfiguration';
 
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 
 export class ProcessRunnerSystem extends EventEmitter implements ITaskSystem {
 
@@ -153,7 +153,7 @@ export class ProcessRunnerSystem extends EventEmitter implements ITaskSystem {
 		return TPromise.as({ success: true });
 	}
 
-	public tasks():TPromise<TaskDescription[]> {
+	public tasks(): TPromise<TaskDescription[]> {
 		let result: TaskDescription[];
 		if (!this.configuration || !this.configuration.tasks) {
 			result = [];
@@ -253,7 +253,7 @@ export class ProcessRunnerSystem extends EventEmitter implements ITaskSystem {
 				this.emit(TaskSystemEvents.Inactive, event);
 			}));
 			watchingProblemMatcher.aboutToStart();
-			let delayer:Async.Delayer<any> = null;
+			let delayer: Async.Delayer<any> = null;
 			this.activeTaskIdentifier = task.id;
 			this.activeTaskPromise = this.childProcess.start().then((success): ITaskSummary => {
 				this.childProcessEnded();
@@ -297,12 +297,12 @@ export class ProcessRunnerSystem extends EventEmitter implements ITaskSystem {
 				});
 			});
 			let result: ITaskExecuteResult = (<any>task).tscWatch
-				? { kind: TaskExecuteKind.Started, started: { restartOnFileChanges: '**/*.ts'} , promise: this.activeTaskPromise }
+				? { kind: TaskExecuteKind.Started, started: { restartOnFileChanges: '**/*.ts' }, promise: this.activeTaskPromise }
 				: { kind: TaskExecuteKind.Started, started: {}, promise: this.activeTaskPromise };
 			return result;
 		} else {
 			let event: TaskEvent = { taskId: task.id, taskName: task.name, type: TaskType.SingleRun };
-			this.emit(TaskSystemEvents.Active, event );
+			this.emit(TaskSystemEvents.Active, event);
 			let startStopProblemMatcher = new StartStopProblemCollector(this.resolveMatchers(task.problemMatchers), this.markerService, this.modelService);
 			this.activeTaskIdentifier = task.id;
 			this.activeTaskPromise = this.childProcess.start().then((success): ITaskSummary => {
@@ -339,7 +339,7 @@ export class ProcessRunnerSystem extends EventEmitter implements ITaskSystem {
 	private handleError(task: TaskDescription, error: ErrorData): Promise {
 		let makeVisible = false;
 		if (error.error && !error.terminated) {
-			let args:string = this.configuration.args ? this.configuration.args.join(' ') : '';
+			let args: string = this.configuration.args ? this.configuration.args.join(' ') : '';
 			this.log(nls.localize('TaskRunnerSystem.childProcessError', 'Failed to launch external program {0} {1}.', this.configuration.command, args));
 			this.outputChannel.append(error.error.message);
 			makeVisible = true;
@@ -384,7 +384,7 @@ export class ProcessRunnerSystem extends EventEmitter implements ITaskSystem {
 		return result;
 	}
 
-	private resolveVariables(value:string[]): string[] {
+	private resolveVariables(value: string[]): string[] {
 		return value.map(s => this.resolveVariable(s));
 	}
 
@@ -392,7 +392,7 @@ export class ProcessRunnerSystem extends EventEmitter implements ITaskSystem {
 		if (values.length === 0) {
 			return values;
 		}
-		let result:T[] = [];
+		let result: T[] = [];
 		values.forEach((matcher) => {
 			if (!matcher.filePrefix) {
 				result.push(matcher);
@@ -409,7 +409,7 @@ export class ProcessRunnerSystem extends EventEmitter implements ITaskSystem {
 		return this.configurationResolverService.resolve(value);
 	}
 
-	public log(value: string): void  {
+	public log(value: string): void {
 		this.outputChannel.append(value + '\n');
 	}
 
diff --git a/src/vs/workbench/parts/tasks/test/node/configuration.test.ts b/src/vs/workbench/parts/tasks/test/node/configuration.test.ts
index b618cf3403bde..90ec0957c87c2 100644
--- a/src/vs/workbench/parts/tasks/test/node/configuration.test.ts
+++ b/src/vs/workbench/parts/tasks/test/node/configuration.test.ts
@@ -41,7 +41,7 @@ class ConfiguationBuilder {
 	}
 
 	public shell(value: boolean): ConfiguationBuilder {
-		this.result.isShellCommand= value;
+		this.result.isShellCommand = value;
 		return this;
 	}
 
@@ -176,7 +176,7 @@ class PatternBuilder {
 			file: 1,
 			message: 0,
 			line: 2,
-			column : 3
+			column: 3
 		};
 	}
 
@@ -253,7 +253,7 @@ suite('Tasks Configuration parsing tests', () => {
 		let builder = new ConfiguationBuilder('tsc');
 		builder.shell(true).
 			task('tsc').
-				suppressTaskName(true);
+			suppressTaskName(true);
 		testGobalCommand(
 			{
 				version: '0.1.0',
@@ -267,8 +267,8 @@ suite('Tasks Configuration parsing tests', () => {
 		let builder = new ConfiguationBuilder('tsc');
 		builder.
 			task('tsc').
-				suppressTaskName(true).
-				showOutput(TaskSystem.ShowOutput.Silent);
+			suppressTaskName(true).
+			showOutput(TaskSystem.ShowOutput.Silent);
 		testGobalCommand(
 			{
 				version: '0.1.0',
@@ -328,8 +328,8 @@ suite('Tasks Configuration parsing tests', () => {
 		let builder = new ConfiguationBuilder('tsc');
 		builder.
 			task('tsc').
-				suppressTaskName(true).
-				showOutput(TaskSystem.ShowOutput.Never);
+			suppressTaskName(true).
+			showOutput(TaskSystem.ShowOutput.Never);
 		testGobalCommand(
 			{
 				version: '0.1.0',
@@ -344,8 +344,8 @@ suite('Tasks Configuration parsing tests', () => {
 		let builder = new ConfiguationBuilder('tsc');
 		builder.
 			task('tsc').
-				suppressTaskName(true).
-				echoCommand(true);
+			suppressTaskName(true).
+			echoCommand(true);
 		testGobalCommand(
 			{
 				version: '0.1.0',
@@ -361,7 +361,7 @@ suite('Tasks Configuration parsing tests', () => {
 		builder.
 			args(['--p']).
 			task('tsc').
-				suppressTaskName(true);
+			suppressTaskName(true);
 		testGobalCommand(
 			{
 				version: '0.1.0',
@@ -378,10 +378,10 @@ suite('Tasks Configuration parsing tests', () => {
 		let builder = new ConfiguationBuilder('tsc');
 		builder.
 			options({
-					cwd: 'myPath'
-				}).
+				cwd: 'myPath'
+			}).
 			task('tsc').
-				suppressTaskName(true);
+			suppressTaskName(true);
 		testGobalCommand(
 			{
 				version: '0.1.0',
@@ -399,7 +399,7 @@ suite('Tasks Configuration parsing tests', () => {
 		builder.
 			options({ cwd: '${workspaceRoot}', env: { key: 'value' } }).
 			task('tsc').
-				suppressTaskName(true);
+			suppressTaskName(true);
 		testGobalCommand(
 			{
 				version: '0.1.0',
@@ -419,7 +419,7 @@ suite('Tasks Configuration parsing tests', () => {
 		let builder = new ConfiguationBuilder(name);
 		builder.
 			task(name).
-				suppressTaskName(true);
+			suppressTaskName(true);
 		let external: ExternalTaskRunnerConfiguration = {
 			version: '0.1.0',
 			command: 'tsc',
@@ -436,7 +436,7 @@ suite('Tasks Configuration parsing tests', () => {
 		builder.
 			shell(true).
 			task(name).
-				suppressTaskName(true);
+			suppressTaskName(true);
 		let external: ExternalTaskRunnerConfiguration = {
 			version: '0.1.0',
 			command: 'tsc',
@@ -453,7 +453,7 @@ suite('Tasks Configuration parsing tests', () => {
 		let builder = new ConfiguationBuilder(name);
 		builder.
 			task(name).
-				suppressTaskName(true);
+			suppressTaskName(true);
 		let external: ExternalTaskRunnerConfiguration = {
 			version: '0.1.0',
 			command: 'tsc',
@@ -469,7 +469,7 @@ suite('Tasks Configuration parsing tests', () => {
 		let builder = new ConfiguationBuilder(name);
 		builder.
 			task(name).
-				suppressTaskName(true);
+			suppressTaskName(true);
 		let external: ExternalTaskRunnerConfiguration = {
 			version: '0.1.0',
 			command: 'tsc',
@@ -484,8 +484,8 @@ suite('Tasks Configuration parsing tests', () => {
 		let builder = new ConfiguationBuilder('tsc');
 		builder.
 			task('tsc').
-				showOutput(Platform.isWindows ? TaskSystem.ShowOutput.Always : TaskSystem.ShowOutput.Never).
-				suppressTaskName(true);
+			showOutput(Platform.isWindows ? TaskSystem.ShowOutput.Always : TaskSystem.ShowOutput.Never).
+			suppressTaskName(true);
 		let external: ExternalTaskRunnerConfiguration = {
 			version: '0.1.0',
 			command: 'tsc',
@@ -501,8 +501,8 @@ suite('Tasks Configuration parsing tests', () => {
 		let builder = new ConfiguationBuilder('tsc');
 		builder.
 			task('tsc').
-				echoCommand(Platform.isWindows ? false : true).
-				suppressTaskName(true);
+			echoCommand(Platform.isWindows ? false : true).
+			suppressTaskName(true);
 		let external: ExternalTaskRunnerConfiguration = {
 			version: '0.1.0',
 			command: 'tsc',
diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminal.ts b/src/vs/workbench/parts/terminal/electron-browser/terminal.ts
index 5c80abaf3e85d..fd1e97f256cc0 100644
--- a/src/vs/workbench/parts/terminal/electron-browser/terminal.ts
+++ b/src/vs/workbench/parts/terminal/electron-browser/terminal.ts
@@ -25,7 +25,7 @@ export const TERMINAL_DEFAULT_SHELL_WINDOWS = processes.getWindowsShell();
  * A context key that is set when the integrated terminal has focus.
  */
 export const KEYBINDING_CONTEXT_TERMINAL_FOCUS = new RawContextKey<boolean>('terminalFocus', undefined);
-export const KEYBINDING_CONTEXT_TERMINAL_NOT_FOCUSED:ContextKeyExpr = KEYBINDING_CONTEXT_TERMINAL_FOCUS.toNegated();
+export const KEYBINDING_CONTEXT_TERMINAL_NOT_FOCUSED: ContextKeyExpr = KEYBINDING_CONTEXT_TERMINAL_FOCUS.toNegated();
 
 export const ITerminalService = createDecorator<ITerminalService>(TERMINAL_SERVICE_ID);
 
diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
index c1ce716520c0d..a27c1630e7fea 100644
--- a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
+++ b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 
 import DOM = require('vs/base/browser/dom');
-import Event, {Emitter} from 'vs/base/common/event';
+import Event, { Emitter } from 'vs/base/common/event';
 import URI from 'vs/base/common/uri';
 import cp = require('child_process');
 import lifecycle = require('vs/base/common/lifecycle');
diff --git a/src/vs/workbench/parts/terminal/test/terminalConfigHelper.test.ts b/src/vs/workbench/parts/terminal/test/terminalConfigHelper.test.ts
index 8d8af00f389d3..79e26ff261686 100644
--- a/src/vs/workbench/parts/terminal/test/terminalConfigHelper.test.ts
+++ b/src/vs/workbench/parts/terminal/test/terminalConfigHelper.test.ts
@@ -6,17 +6,17 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Builder} from 'vs/base/browser/builder';
-import {IConfigurationService, getConfigurationValue} from 'vs/platform/configuration/common/configuration';
-import {Platform} from 'vs/base/common/platform';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {TerminalConfigHelper} from 'vs/workbench/parts/terminal/electron-browser/terminalConfigHelper';
-import {DefaultConfig} from 'vs/editor/common/config/defaultConfig';
+import { Builder } from 'vs/base/browser/builder';
+import { IConfigurationService, getConfigurationValue } from 'vs/platform/configuration/common/configuration';
+import { Platform } from 'vs/base/common/platform';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { TerminalConfigHelper } from 'vs/workbench/parts/terminal/electron-browser/terminalConfigHelper';
+import { DefaultConfig } from 'vs/editor/common/config/defaultConfig';
 
 
 class MockConfigurationService implements IConfigurationService {
 	public _serviceBrand: any;
-	public constructor(private configuration: any = {}) {}
+	public constructor(private configuration: any = {}) { }
 	public reloadConfiguration<T>(section?: string): TPromise<T> { return TPromise.as(this.getConfiguration()); }
 	public lookup(key: string) { return { value: getConfigurationValue(this.getConfiguration(), key), default: getConfigurationValue(this.getConfiguration(), key), user: getConfigurationValue(this.getConfiguration(), key) }; }
 	public getConfiguration(): any { return this.configuration; }
diff --git a/src/vs/workbench/parts/terminal/test/terminalInstance.test.ts b/src/vs/workbench/parts/terminal/test/terminalInstance.test.ts
index a7d7614c76ca8..f1a408a3f75ca 100644
--- a/src/vs/workbench/parts/terminal/test/terminalInstance.test.ts
+++ b/src/vs/workbench/parts/terminal/test/terminalInstance.test.ts
@@ -83,7 +83,7 @@ function createTerminalInstance(instantiationService: TestInstantiationService,
 	let terminalConfigHelper = new TerminalConfigHelper(platform.platform, configService);
 	return <TerminalInstance>instantiationService.createInstance(TerminalInstance,
 		/*terminalFocusContextKey*/null,
-		/*onExitCallback*/() => {},
+		/*onExitCallback*/() => { },
 		/*configHelper*/terminalConfigHelper,
 		/*container*/null,
 		/*workspace*/null,
diff --git a/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts b/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts
index aeecd81430476..b082945c28b2e 100644
--- a/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts
+++ b/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts
@@ -5,20 +5,20 @@
 
 'use strict';
 
-import {localize} from 'vs/nls';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Action} from 'vs/base/common/actions';
-import {firstIndex} from 'vs/base/common/arrays';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {Registry} from 'vs/platform/platform';
-import {IWorkbenchActionRegistry, Extensions} from 'vs/workbench/common/actionRegistry';
-import {IQuickOpenService, IPickOpenEntry} from 'vs/workbench/services/quickopen/common/quickOpenService';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
-import {VIEWLET_ID, IExtensionsViewlet} from 'vs/workbench/parts/extensions/electron-browser/extensions';
-import {IExtensionGalleryService} from 'vs/platform/extensionManagement/common/extensionManagement';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {Delayer} from 'vs/base/common/async';
+import { localize } from 'vs/nls';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Action } from 'vs/base/common/actions';
+import { firstIndex } from 'vs/base/common/arrays';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { Registry } from 'vs/platform/platform';
+import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actionRegistry';
+import { IQuickOpenService, IPickOpenEntry } from 'vs/workbench/services/quickopen/common/quickOpenService';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
+import { VIEWLET_ID, IExtensionsViewlet } from 'vs/workbench/parts/extensions/electron-browser/extensions';
+import { IExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionManagement';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { Delayer } from 'vs/base/common/async';
 
 class SelectColorThemeAction extends Action {
 
@@ -69,7 +69,7 @@ class SelectColorThemeAction extends Action {
 				theme => delayer.trigger(() => selectTheme(theme || currentTheme, true), 0),
 				null,
 				theme => delayer.trigger(() => selectTheme(theme, false))
-			);
+				);
 		});
 	}
 }
diff --git a/src/vs/workbench/parts/themes/test/electron-browser/themes.test.contribution.ts b/src/vs/workbench/parts/themes/test/electron-browser/themes.test.contribution.ts
index e414aee135bc7..0a936ef6a862f 100644
--- a/src/vs/workbench/parts/themes/test/electron-browser/themes.test.contribution.ts
+++ b/src/vs/workbench/parts/themes/test/electron-browser/themes.test.contribution.ts
@@ -5,18 +5,18 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import paths = require('vs/base/common/paths');
 import URI from 'vs/base/common/uri';
-import {TextModelWithTokens} from 'vs/editor/common/model/textModelWithTokens';
-import {TextModel} from 'vs/editor/common/model/textModel';
-import {IModeService} from 'vs/editor/common/services/modeService';
+import { TextModelWithTokens } from 'vs/editor/common/model/textModelWithTokens';
+import { TextModel } from 'vs/editor/common/model/textModel';
+import { IModeService } from 'vs/editor/common/services/modeService';
 import pfs = require('vs/base/node/pfs');
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {IInstantiationService, ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
-import {IThemeService} from 'vs/workbench/services/themes/common/themeService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {asFileEditorInput} from 'vs/workbench/common/editor';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
+import { IThemeService } from 'vs/workbench/services/themes/common/themeService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { asFileEditorInput } from 'vs/workbench/common/editor';
 
 
 interface Data {
@@ -33,7 +33,7 @@ class Snapper {
 	) {
 	}
 
-	private getTestNode(themeId: string) : Element {
+	private getTestNode(themeId: string): Element {
 		let editorNode = document.createElement('div');
 		editorNode.className = 'monaco-editor ' + themeId;
 		document.body.appendChild(editorNode);
@@ -45,11 +45,11 @@ class Snapper {
 		return element;
 	}
 
-	private normalizeType(type: string) : string {
+	private normalizeType(type: string): string {
 		return type.split('.').sort().join('.');
 	}
 
-	private getStyle(testNode: Element, scope: string) : string {
+	private getStyle(testNode: Element, scope: string): string {
 
 		testNode.className = 'token ' + scope.replace(/\./g, ' ');
 
@@ -60,16 +60,16 @@ class Snapper {
 		return '';
 	}
 
-	private getMatchedCSSRule(testNode: Element, scope: string) : string {
+	private getMatchedCSSRule(testNode: Element, scope: string): string {
 
 		testNode.className = 'token ' + scope.replace(/\./g, ' ');
 
 		let rulesList = window.getMatchedCSSRules(testNode);
 
 		if (rulesList) {
-			for (let i = rulesList.length - 1; i >= 0 ; i--) {
-				let selectorText = <string> rulesList.item(i)['selectorText'];
-				if (selectorText && selectorText.match(/\.monaco-editor\..+token/) ) {
+			for (let i = rulesList.length - 1; i >= 0; i--) {
+				let selectorText = <string>rulesList.item(i)['selectorText'];
+				if (selectorText && selectorText.match(/\.monaco-editor\..+token/)) {
 					return selectorText.substr(14);
 				}
 			}
@@ -81,7 +81,7 @@ class Snapper {
 	}
 
 
-	public appendThemeInformation(data: Data[]) : TPromise<Data[]> {
+	public appendThemeInformation(data: Data[]): TPromise<Data[]> {
 		let currentTheme = this.themeService.getColorTheme();
 
 		let getThemeName = (id: string) => {
@@ -114,15 +114,15 @@ class Snapper {
 		});
 	}
 
-	public captureSyntaxTokens(fileName: string, content: string) : TPromise<Data[]> {
+	public captureSyntaxTokens(fileName: string, content: string): TPromise<Data[]> {
 		return this.modeService.getOrCreateModeByFilenameOrFirstLine(fileName).then(mode => {
-			let result : Data[] = [];
+			let result: Data[] = [];
 			let model = new TextModelWithTokens([], TextModel.toRawText(content, TextModel.DEFAULT_CREATION_OPTIONS), mode.getId());
-			model.tokenIterator({lineNumber: 1, column: 1}, iterator => {
+			model.tokenIterator({ lineNumber: 1, column: 1 }, iterator => {
 				while (iterator.hasNext()) {
 					let tokenInfo = iterator.next();
 					let lineNumber = tokenInfo.lineNumber;
-					let content = model.getValueInRange({ startLineNumber: lineNumber, endLineNumber: lineNumber, startColumn: tokenInfo.startColumn, endColumn: tokenInfo.endColumn});
+					let content = model.getValueInRange({ startLineNumber: lineNumber, endLineNumber: lineNumber, startColumn: tokenInfo.startColumn, endColumn: tokenInfo.endColumn });
 					result.push({
 						c: content,
 						t: this.normalizeType(tokenInfo.type),
diff --git a/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts b/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts
index 4ee582ad2d958..7d3b29ae6e168 100644
--- a/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts
+++ b/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts
@@ -28,9 +28,9 @@ function renderBody(body: string): string {
 		<html>
 			<head>
 				<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
-				<link rel="stylesheet" type="text/css" href="${ require.toUrl('./media/markdown.css') }" >
+				<link rel="stylesheet" type="text/css" href="${ require.toUrl('./media/markdown.css')}" >
 			</head>
-			<body>${ body }</body>
+			<body>${ body}</body>
 		</html>`;
 }
 
diff --git a/src/vs/workbench/parts/update/electron-browser/releaseNotesInput.ts b/src/vs/workbench/parts/update/electron-browser/releaseNotesInput.ts
index b447d81231ff7..83f6636b8773f 100644
--- a/src/vs/workbench/parts/update/electron-browser/releaseNotesInput.ts
+++ b/src/vs/workbench/parts/update/electron-browser/releaseNotesInput.ts
@@ -11,7 +11,7 @@ import { EditorInput } from 'vs/workbench/common/editor';
 
 export class ReleaseNotesInput extends EditorInput {
 
-	static get ID()  { return 'workbench.releaseNotes.input'; }
+	static get ID() { return 'workbench.releaseNotes.input'; }
 
 	get version(): string { return this._version; }
 	get text(): string { return this._text; }
diff --git a/src/vs/workbench/parts/update/electron-browser/update.contribution.ts b/src/vs/workbench/parts/update/electron-browser/update.contribution.ts
index 9158c619b85c5..64e7dc43bb949 100644
--- a/src/vs/workbench/parts/update/electron-browser/update.contribution.ts
+++ b/src/vs/workbench/parts/update/electron-browser/update.contribution.ts
@@ -11,7 +11,7 @@ import product from 'vs/platform/product';
 import pkg from 'vs/platform/package';
 import { TPromise } from 'vs/base/common/winjs.base';
 import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
-import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
+import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
 import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
 import { IMessageService, CloseAction } from 'vs/platform/message/common/message';
 import Severity from 'vs/base/common/severity';
@@ -26,8 +26,8 @@ import * as semver from 'semver';
 import { EditorDescriptor } from 'vs/workbench/browser/parts/editor/baseEditor';
 import { IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/common/editor';
 import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
-import {IWorkbenchActionRegistry, Extensions as ActionExtensions} from 'vs/workbench/common/actionRegistry';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
+import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
 
 const LinkAction = (id: string, message: string, licenseUrl: string) => new Action(
 	id, message, null, true,
@@ -53,15 +53,15 @@ export class UpdateContribution implements IWorkbenchContribution {
 			setTimeout(() => {
 				this.instantiationService.invokeFunction(loadReleaseNotes, pkg.version)
 					.then(
-						text => this.editorService.openEditor(this.instantiationService.createInstance(ReleaseNotesInput, pkg.version, text)),
-						() => {
-							messageService.show(Severity.Info, {
-								message: nls.localize('read the release notes', "Welcome to {0} v{1}! Would you like to read the Release Notes?", product.nameLong, pkg.version),
-								actions: [
-									this.instantiationService.createInstance(OpenLatestReleaseNotesInBrowserAction),
-									CloseAction
-								]
-							});
+					text => this.editorService.openEditor(this.instantiationService.createInstance(ReleaseNotesInput, pkg.version, text)),
+					() => {
+						messageService.show(Severity.Info, {
+							message: nls.localize('read the release notes', "Welcome to {0} v{1}! Would you like to read the Release Notes?", product.nameLong, pkg.version),
+							actions: [
+								this.instantiationService.createInstance(OpenLatestReleaseNotesInBrowserAction),
+								CloseAction
+							]
+						});
 					});
 			}, 0);
 		}
diff --git a/src/vs/workbench/parts/welcome/common/abstractGettingStarted.ts b/src/vs/workbench/parts/welcome/common/abstractGettingStarted.ts
index 65930977d6834..c6ba3bdcdc6e4 100644
--- a/src/vs/workbench/parts/welcome/common/abstractGettingStarted.ts
+++ b/src/vs/workbench/parts/welcome/common/abstractGettingStarted.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IWorkbenchContribution} from 'vs/workbench/common/contributions';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {ITelemetryService, ITelemetryInfo} from 'vs/platform/telemetry/common/telemetry';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
+import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { ITelemetryService, ITelemetryInfo } from 'vs/platform/telemetry/common/telemetry';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
 import product from 'vs/platform/product';
 
 /**
diff --git a/src/vs/workbench/parts/welcome/electron-browser/electronGettingStarted.contribution.ts b/src/vs/workbench/parts/welcome/electron-browser/electronGettingStarted.contribution.ts
index 62234222c0eff..b042d9b68ed6e 100644
--- a/src/vs/workbench/parts/welcome/electron-browser/electronGettingStarted.contribution.ts
+++ b/src/vs/workbench/parts/welcome/electron-browser/electronGettingStarted.contribution.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {Registry} from 'vs/platform/platform';
-import {ElectronGettingStarted} from 'vs/workbench/parts/welcome/electron-browser/electronGettingStarted';
-import {IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions} from 'vs/workbench/common/contributions';
+import { Registry } from 'vs/platform/platform';
+import { ElectronGettingStarted } from 'vs/workbench/parts/welcome/electron-browser/electronGettingStarted';
+import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
 
 (<IWorkbenchContributionsRegistry>Registry.as(WorkbenchExtensions.Workbench)).registerWorkbenchContribution(
 	ElectronGettingStarted
diff --git a/src/vs/workbench/parts/welcome/electron-browser/electronGettingStarted.ts b/src/vs/workbench/parts/welcome/electron-browser/electronGettingStarted.ts
index 265c486e30695..b3181b82cede8 100644
--- a/src/vs/workbench/parts/welcome/electron-browser/electronGettingStarted.ts
+++ b/src/vs/workbench/parts/welcome/electron-browser/electronGettingStarted.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IWorkbenchContribution} from 'vs/workbench/common/contributions';
-import {AbstractGettingStarted} from 'vs/workbench/parts/welcome/common/abstractGettingStarted';
+import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
+import { AbstractGettingStarted } from 'vs/workbench/parts/welcome/common/abstractGettingStarted';
 import * as platform from 'vs/base/common/platform';
 
 import { shell } from 'electron';
@@ -23,7 +23,7 @@ export class ElectronGettingStarted extends AbstractGettingStarted implements IW
 
 	protected handleWelcome(): void {
 		//make sure the user is online, otherwise refer to the next run to show the welcome page
-		if(navigator.onLine) {
+		if (navigator.onLine) {
 			super.handleWelcome();
 		}
 	}
diff --git a/src/vs/workbench/parts/welcome/test/common/gettingStarted.test.ts b/src/vs/workbench/parts/welcome/test/common/gettingStarted.test.ts
index 60a737b43c644..e80c24da3623c 100644
--- a/src/vs/workbench/parts/welcome/test/common/gettingStarted.test.ts
+++ b/src/vs/workbench/parts/welcome/test/common/gettingStarted.test.ts
@@ -7,8 +7,8 @@
 
 // import * as assert from 'assert';
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IStorageService} from 'vs/platform/storage/common/storage';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IStorageService } from 'vs/platform/storage/common/storage';
 
 suite('Workbench - GettingStarted', () => {
 	let instantiation: TestInstantiationService = null;
diff --git a/src/vs/workbench/services/activity/common/activityService.ts b/src/vs/workbench/services/activity/common/activityService.ts
index dafed7f09050e..bdc5638ac0ae8 100644
--- a/src/vs/workbench/services/activity/common/activityService.ts
+++ b/src/vs/workbench/services/activity/common/activityService.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export interface IBadge {
 	getDescription(): string;
diff --git a/src/vs/workbench/services/configuration/common/configuration.ts b/src/vs/workbench/services/configuration/common/configuration.ts
index 196059dc78bcc..ff8a218a15d68 100644
--- a/src/vs/workbench/services/configuration/common/configuration.ts
+++ b/src/vs/workbench/services/configuration/common/configuration.ts
@@ -3,8 +3,8 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {IConfigurationService, IConfigurationValue}  from 'vs/platform/configuration/common/configuration';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { IConfigurationService, IConfigurationValue } from 'vs/platform/configuration/common/configuration';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const CONFIG_DEFAULT_NAME = 'settings';
 export const WORKSPACE_CONFIG_FOLDER_DEFAULT_NAME = '.vscode';
diff --git a/src/vs/workbench/services/configuration/common/configurationEditing.ts b/src/vs/workbench/services/configuration/common/configurationEditing.ts
index 001cf2a7fb298..3d84ea3b34cf0 100644
--- a/src/vs/workbench/services/configuration/common/configurationEditing.ts
+++ b/src/vs/workbench/services/configuration/common/configurationEditing.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator, ServiceIdentifier} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator, ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
 
 export const IConfigurationEditingService = createDecorator<IConfigurationEditingService>('configurationEditingService');
 
diff --git a/src/vs/workbench/services/configuration/common/model.ts b/src/vs/workbench/services/configuration/common/model.ts
index c54301757cf9a..f3f897928b9ee 100644
--- a/src/vs/workbench/services/configuration/common/model.ts
+++ b/src/vs/workbench/services/configuration/common/model.ts
@@ -8,7 +8,7 @@ import objects = require('vs/base/common/objects');
 import types = require('vs/base/common/types');
 import json = require('vs/base/common/json');
 import model = require('vs/platform/configuration/common/model');
-import {CONFIG_DEFAULT_NAME, WORKSPACE_CONFIG_DEFAULT_PATH} from 'vs/workbench/services/configuration/common/configuration';
+import { CONFIG_DEFAULT_NAME, WORKSPACE_CONFIG_DEFAULT_PATH } from 'vs/workbench/services/configuration/common/configuration';
 
 export interface IConfigFile {
 	contents: any;
diff --git a/src/vs/workbench/services/configuration/node/configurationEditingService.ts b/src/vs/workbench/services/configuration/node/configurationEditingService.ts
index 7f715f7379693..6765e56dcb2b8 100644
--- a/src/vs/workbench/services/configuration/node/configurationEditingService.ts
+++ b/src/vs/workbench/services/configuration/node/configurationEditingService.ts
@@ -6,21 +6,21 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import URI from 'vs/base/common/uri';
 import * as json from 'vs/base/common/json';
 import * as encoding from 'vs/base/node/encoding';
 import strings = require('vs/base/common/strings');
-import {getConfigurationKeys} from 'vs/platform/configuration/common/model';
-import {setProperty} from 'vs/base/common/jsonEdit';
-import {applyEdits} from 'vs/base/common/jsonFormatter';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {WORKSPACE_CONFIG_DEFAULT_PATH} from 'vs/workbench/services/configuration/common/configuration';
-import {IFileService} from 'vs/platform/files/common/files';
-import {IConfigurationEditingService, ConfigurationEditingErrorCode, IConfigurationEditingError, ConfigurationTarget, IConfigurationValue} from 'vs/workbench/services/configuration/common/configurationEditing';
+import { getConfigurationKeys } from 'vs/platform/configuration/common/model';
+import { setProperty } from 'vs/base/common/jsonEdit';
+import { applyEdits } from 'vs/base/common/jsonFormatter';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { WORKSPACE_CONFIG_DEFAULT_PATH } from 'vs/workbench/services/configuration/common/configuration';
+import { IFileService } from 'vs/platform/files/common/files';
+import { IConfigurationEditingService, ConfigurationEditingErrorCode, IConfigurationEditingError, ConfigurationTarget, IConfigurationValue } from 'vs/workbench/services/configuration/common/configurationEditing';
 
 export const WORKSPACE_STANDALONE_CONFIGURATIONS = {
 	'tasks': '.vscode/tasks.json',
diff --git a/src/vs/workbench/services/configuration/node/configurationService.ts b/src/vs/workbench/services/configuration/node/configurationService.ts
index b93e51b340cf9..47b11bd934490 100644
--- a/src/vs/workbench/services/configuration/node/configurationService.ts
+++ b/src/vs/workbench/services/configuration/node/configurationService.ts
@@ -5,26 +5,26 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import uri from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
 import extfs = require('vs/base/node/extfs');
 import objects = require('vs/base/common/objects');
-import {RunOnceScheduler} from 'vs/base/common/async';
+import { RunOnceScheduler } from 'vs/base/common/async';
 import collections = require('vs/base/common/collections');
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {readFile} from 'vs/base/node/pfs';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { readFile } from 'vs/base/node/pfs';
 import errors = require('vs/base/common/errors');
-import {IConfigFile, consolidate, newConfigFile} from 'vs/workbench/services/configuration/common/model';
-import {IConfigurationServiceEvent, getConfigurationValue}  from 'vs/platform/configuration/common/configuration';
-import {ConfigurationService as BaseConfigurationService}  from 'vs/platform/configuration/node/configurationService';
-import {IWorkspaceConfigurationService, IWorkspaceConfigurationValue, CONFIG_DEFAULT_NAME, WORKSPACE_CONFIG_FOLDER_DEFAULT_NAME} from 'vs/workbench/services/configuration/common/configuration';
-import {EventType as FileEventType, FileChangeType, FileChangesEvent} from 'vs/platform/files/common/files';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import Event, {Emitter} from 'vs/base/common/event';
+import { IConfigFile, consolidate, newConfigFile } from 'vs/workbench/services/configuration/common/model';
+import { IConfigurationServiceEvent, getConfigurationValue } from 'vs/platform/configuration/common/configuration';
+import { ConfigurationService as BaseConfigurationService } from 'vs/platform/configuration/node/configurationService';
+import { IWorkspaceConfigurationService, IWorkspaceConfigurationValue, CONFIG_DEFAULT_NAME, WORKSPACE_CONFIG_FOLDER_DEFAULT_NAME } from 'vs/workbench/services/configuration/common/configuration';
+import { EventType as FileEventType, FileChangeType, FileChangesEvent } from 'vs/platform/files/common/files';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import Event, { Emitter } from 'vs/base/common/event';
 
 interface IStat {
 	resource: uri;
diff --git a/src/vs/workbench/services/configuration/test/node/configurationEditingService.test.ts b/src/vs/workbench/services/configuration/test/node/configurationEditingService.test.ts
index 6eb2c2e326d4e..219ef322dd3ca 100644
--- a/src/vs/workbench/services/configuration/test/node/configurationEditingService.test.ts
+++ b/src/vs/workbench/services/configuration/test/node/configurationEditingService.test.ts
@@ -10,29 +10,29 @@ import os = require('os');
 import path = require('path');
 import fs = require('fs');
 import * as json from 'vs/base/common/json';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Registry} from 'vs/platform/platform';
-import {ParsedArgs, parseArgs} from 'vs/platform/environment/node/argv';
-import {WorkspaceContextService, IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {EnvironmentService} from 'vs/platform/environment/node/environmentService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Registry } from 'vs/platform/platform';
+import { ParsedArgs, parseArgs } from 'vs/platform/environment/node/argv';
+import { WorkspaceContextService, IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
 import extfs = require('vs/base/node/extfs');
-import {TestEventService, workbenchInstantiationService, TestTextFileService} from 'vs/test/utils/servicesTestUtils';
+import { TestEventService, workbenchInstantiationService, TestTextFileService } from 'vs/test/utils/servicesTestUtils';
 import uuid = require('vs/base/common/uuid');
-import {IConfigurationRegistry, Extensions as ConfigurationExtensions} from 'vs/platform/configuration/common/configurationRegistry';
-import {WorkspaceConfigurationService} from 'vs/workbench/services/configuration/node/configurationService';
+import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry';
+import { WorkspaceConfigurationService } from 'vs/workbench/services/configuration/node/configurationService';
 import URI from 'vs/base/common/uri';
 import utils = require('vs/workbench/services/files/test/node/utils');
-import {FileService} from 'vs/workbench/services/files/node/fileService';
-import {ConfigurationEditingService, WORKSPACE_STANDALONE_CONFIGURATIONS} from 'vs/workbench/services/configuration/node/configurationEditingService';
-import {ConfigurationTarget, IConfigurationEditingError, ConfigurationEditingErrorCode} from 'vs/workbench/services/configuration/common/configurationEditing';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IFileService} from 'vs/platform/files/common/files';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
+import { FileService } from 'vs/workbench/services/files/node/fileService';
+import { ConfigurationEditingService, WORKSPACE_STANDALONE_CONFIGURATIONS } from 'vs/workbench/services/configuration/node/configurationEditingService';
+import { ConfigurationTarget, IConfigurationEditingError, ConfigurationEditingErrorCode } from 'vs/workbench/services/configuration/common/configurationEditing';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IFileService } from 'vs/platform/files/common/files';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 
 class SettingsTestEnvironmentService extends EnvironmentService {
 
diff --git a/src/vs/workbench/services/configuration/test/node/configurationService.test.ts b/src/vs/workbench/services/configuration/test/node/configurationService.test.ts
index d07158814f724..153042e7ee284 100644
--- a/src/vs/workbench/services/configuration/test/node/configurationService.test.ts
+++ b/src/vs/workbench/services/configuration/test/node/configurationService.test.ts
@@ -9,19 +9,19 @@ import assert = require('assert');
 import os = require('os');
 import path = require('path');
 import fs = require('fs');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Registry} from 'vs/platform/platform';
-import {ParsedArgs} from 'vs/platform/environment/node/argv';
-import {WorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {EnvironmentService} from 'vs/platform/environment/node/environmentService';
-import {parseArgs} from 'vs/platform/environment/node/argv';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Registry } from 'vs/platform/platform';
+import { ParsedArgs } from 'vs/platform/environment/node/argv';
+import { WorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
+import { parseArgs } from 'vs/platform/environment/node/argv';
 import extfs = require('vs/base/node/extfs');
-import {TestEventService} from 'vs/test/utils/servicesTestUtils';
+import { TestEventService } from 'vs/test/utils/servicesTestUtils';
 import uuid = require('vs/base/common/uuid');
-import {IConfigurationRegistry, Extensions as ConfigurationExtensions} from 'vs/platform/configuration/common/configurationRegistry';
-import {WorkspaceConfigurationService} from 'vs/workbench/services/configuration/node/configurationService';
+import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry';
+import { WorkspaceConfigurationService } from 'vs/workbench/services/configuration/node/configurationService';
 import URI from 'vs/base/common/uri';
-import {EventType as FileEventType, FileChangeType, FileChangesEvent} from 'vs/platform/files/common/files';
+import { EventType as FileEventType, FileChangeType, FileChangesEvent } from 'vs/platform/files/common/files';
 
 class SettingsTestEnvironmentService extends EnvironmentService {
 
diff --git a/src/vs/workbench/services/configurationResolver/common/configurationResolver.ts b/src/vs/workbench/services/configurationResolver/common/configurationResolver.ts
index 2ff0f72abd348..90080c38cd917 100644
--- a/src/vs/workbench/services/configurationResolver/common/configurationResolver.ts
+++ b/src/vs/workbench/services/configurationResolver/common/configurationResolver.ts
@@ -3,9 +3,9 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IStringDictionary} from 'vs/base/common/collections';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IStringDictionary } from 'vs/base/common/collections';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const IConfigurationResolverService = createDecorator<IConfigurationResolverService>('configurationResolverService');
 
diff --git a/src/vs/workbench/services/configurationResolver/node/configurationResolverService.ts b/src/vs/workbench/services/configurationResolver/node/configurationResolverService.ts
index 1a160545d6644..bf4f1e7a98346 100644
--- a/src/vs/workbench/services/configurationResolver/node/configurationResolverService.ts
+++ b/src/vs/workbench/services/configurationResolver/node/configurationResolverService.ts
@@ -7,15 +7,15 @@ import nls = require('vs/nls');
 import * as paths from 'vs/base/common/paths';
 import * as types from 'vs/base/common/types';
 import uri from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {sequence} from 'vs/base/common/async';
-import {IStringDictionary} from 'vs/base/common/collections';
-import {IConfigurationResolverService} from 'vs/workbench/services/configurationResolver/common/configurationResolver';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {asFileEditorInput} from 'vs/workbench/common/editor';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { sequence } from 'vs/base/common/async';
+import { IStringDictionary } from 'vs/base/common/collections';
+import { IConfigurationResolverService } from 'vs/workbench/services/configurationResolver/common/configurationResolver';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { asFileEditorInput } from 'vs/workbench/common/editor';
 
 export class ConfigurationResolverService implements IConfigurationResolverService {
 	_serviceBrand: any;
@@ -190,7 +190,7 @@ export class ConfigurationResolverService implements IConfigurationResolverServi
 	/**
 	 * Resolve all interactive variables in configuration #6569
 	 */
-	public resolveInteractiveVariables(configuration: any, interactiveVariablesMap: { [key: string]: string }): TPromise<any>  {
+	public resolveInteractiveVariables(configuration: any, interactiveVariablesMap: { [key: string]: string }): TPromise<any> {
 		if (!configuration) {
 			return TPromise.as(null);
 		}
diff --git a/src/vs/workbench/services/configurationResolver/test/node/configurationResolverService.test.ts b/src/vs/workbench/services/configurationResolver/test/node/configurationResolverService.test.ts
index 943a7eb3ef577..2fe25b2fa7fe1 100644
--- a/src/vs/workbench/services/configurationResolver/test/node/configurationResolverService.test.ts
+++ b/src/vs/workbench/services/configurationResolver/test/node/configurationResolverService.test.ts
@@ -6,12 +6,12 @@
 import assert = require('assert');
 import uri from 'vs/base/common/uri';
 import platform = require('vs/base/common/platform');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IConfigurationService, getConfigurationValue} from 'vs/platform/configuration/common/configuration';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IConfigurationResolverService} from 'vs/workbench/services/configurationResolver/common/configurationResolver';
-import {ConfigurationResolverService} from 'vs/workbench/services/configurationResolver/node/configurationResolverService';
-import {TestEnvironmentService, TestConfigurationService, TestEditorService, } from 'vs/test/utils/servicesTestUtils';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IConfigurationService, getConfigurationValue } from 'vs/platform/configuration/common/configuration';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IConfigurationResolverService } from 'vs/workbench/services/configurationResolver/common/configurationResolver';
+import { ConfigurationResolverService } from 'vs/workbench/services/configurationResolver/node/configurationResolverService';
+import { TestEnvironmentService, TestConfigurationService, TestEditorService, } from 'vs/test/utils/servicesTestUtils';
 
 suite('Configuration Resolver Service', () => {
 	let configurationResolverService: IConfigurationResolverService;
diff --git a/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts b/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts
index 97f8cfa4a7931..4f982c393c652 100644
--- a/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts
+++ b/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts
@@ -5,17 +5,17 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import severity from 'vs/base/common/severity';
-import {IAction} from 'vs/base/common/actions';
-import {Separator} from 'vs/base/browser/ui/actionbar/actionbar';
+import { IAction } from 'vs/base/common/actions';
+import { Separator } from 'vs/base/browser/ui/actionbar/actionbar';
 import dom = require('vs/base/browser/dom');
-import {IContextMenuService, IContextMenuDelegate, ContextSubMenu, IEvent} from 'vs/platform/contextview/browser/contextView';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
+import { IContextMenuService, IContextMenuDelegate, ContextSubMenu, IEvent } from 'vs/platform/contextview/browser/contextView';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
 
-import {remote, webFrame} from 'electron';
+import { remote, webFrame } from 'electron';
 
 export class ContextMenuService implements IContextMenuService {
 
@@ -62,7 +62,7 @@ export class ContextMenuService implements IContextMenuService {
 		});
 	}
 
-	private createMenu(delegate: IContextMenuDelegate, entries: (IAction|ContextSubMenu)[]): Electron.Menu {
+	private createMenu(delegate: IContextMenuDelegate, entries: (IAction | ContextSubMenu)[]): Electron.Menu {
 		const menu = new remote.Menu();
 
 		entries.forEach(e => {
diff --git a/src/vs/workbench/services/editor/browser/editorService.ts b/src/vs/workbench/services/editor/browser/editorService.ts
index 37021f28a3d9d..589ec7f00d0f0 100644
--- a/src/vs/workbench/services/editor/browser/editorService.ts
+++ b/src/vs/workbench/services/editor/browser/editorService.ts
@@ -4,30 +4,30 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import URI from 'vs/base/common/uri';
 import network = require('vs/base/common/network');
-import {Registry} from 'vs/platform/platform';
-import {basename, dirname} from 'vs/base/common/paths';
+import { Registry } from 'vs/platform/platform';
+import { basename, dirname } from 'vs/base/common/paths';
 import types = require('vs/base/common/types');
-import {IDiffEditor, ICodeEditor} from 'vs/editor/browser/editorBrowser';
-import {ICommonCodeEditor, IModel, EditorType, IEditor as ICommonEditor} from 'vs/editor/common/editorCommon';
-import {BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {EditorInput, EditorOptions, IFileEditorInput, TextEditorOptions, IEditorRegistry, Extensions} from 'vs/workbench/common/editor';
-import {ResourceEditorInput} from 'vs/workbench/common/editor/resourceEditorInput';
-import {UntitledEditorInput} from 'vs/workbench/common/editor/untitledEditorInput';
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IEditorInput, IEditorModel, IEditorOptions, ITextEditorOptions, Position, Direction, IEditor, IResourceInput, ITextEditorModel} from 'vs/platform/editor/common/editor';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {AsyncDescriptor0} from 'vs/platform/instantiation/common/descriptors';
+import { IDiffEditor, ICodeEditor } from 'vs/editor/browser/editorBrowser';
+import { ICommonCodeEditor, IModel, EditorType, IEditor as ICommonEditor } from 'vs/editor/common/editorCommon';
+import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { EditorInput, EditorOptions, IFileEditorInput, TextEditorOptions, IEditorRegistry, Extensions } from 'vs/workbench/common/editor';
+import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput';
+import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IEditorInput, IEditorModel, IEditorOptions, ITextEditorOptions, Position, Direction, IEditor, IResourceInput, ITextEditorModel } from 'vs/platform/editor/common/editor';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { AsyncDescriptor0 } from 'vs/platform/instantiation/common/descriptors';
 
 export interface IEditorPart {
-	openEditor(input?: IEditorInput, options?: IEditorOptions|ITextEditorOptions, sideBySide?: boolean): TPromise<BaseEditor>;
-	openEditor(input?: IEditorInput, options?: IEditorOptions|ITextEditorOptions, position?: Position): TPromise<BaseEditor>;
-	openEditors(editors: { input: IEditorInput, position: Position, options?: IEditorOptions|ITextEditorOptions }[]): TPromise<BaseEditor[]>;
-	replaceEditors(editors: { toReplace: IEditorInput, replaceWith: IEditorInput, options?: IEditorOptions|ITextEditorOptions }[]): TPromise<BaseEditor[]>;
+	openEditor(input?: IEditorInput, options?: IEditorOptions | ITextEditorOptions, sideBySide?: boolean): TPromise<BaseEditor>;
+	openEditor(input?: IEditorInput, options?: IEditorOptions | ITextEditorOptions, position?: Position): TPromise<BaseEditor>;
+	openEditors(editors: { input: IEditorInput, position: Position, options?: IEditorOptions | ITextEditorOptions }[]): TPromise<BaseEditor[]>;
+	replaceEditors(editors: { toReplace: IEditorInput, replaceWith: IEditorInput, options?: IEditorOptions | ITextEditorOptions }[]): TPromise<BaseEditor[]>;
 	closeEditor(position: Position, input: IEditorInput): TPromise<void>;
 	closeEditors(position: Position, except?: IEditorInput, direction?: Direction): TPromise<void>;
 	closeAllEditors(except?: Position): TPromise<void>;
@@ -107,7 +107,7 @@ export class WorkbenchEditorService implements IWorkbenchEditorService {
 			const schema = resourceInput.resource.scheme;
 			if (schema === network.Schemas.http || schema === network.Schemas.https) {
 				window.open(resourceInput.resource.toString(true));
-				
+
 				return TPromise.as<IEditor>(null);
 			}
 		}
diff --git a/src/vs/workbench/services/editor/common/editorService.ts b/src/vs/workbench/services/editor/common/editorService.ts
index fa60e57e46857..b5e6f08de8156 100644
--- a/src/vs/workbench/services/editor/common/editorService.ts
+++ b/src/vs/workbench/services/editor/common/editorService.ts
@@ -5,10 +5,10 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator, ServiceIdentifier} from 'vs/platform/instantiation/common/instantiation';
-import {IEditorService, IEditor, IEditorInput, IEditorOptions, ITextEditorOptions, Position, Direction, IResourceInput, IEditorModel} from 'vs/platform/editor/common/editor';
-import {ITextEditorModel} from 'vs/workbench/common/editor';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator, ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
+import { IEditorService, IEditor, IEditorInput, IEditorOptions, ITextEditorOptions, Position, Direction, IResourceInput, IEditorModel } from 'vs/platform/editor/common/editor';
+import { ITextEditorModel } from 'vs/workbench/common/editor';
 
 export const IWorkbenchEditorService = createDecorator<IWorkbenchEditorService>('editorService');
 
@@ -46,8 +46,8 @@ export interface IWorkbenchEditorService extends IEditorService {
 	 * Opens an Editor on the given input with the provided options at the given position. If sideBySide parameter
 	 * is provided, causes the editor service to decide in what position to open the input.
 	 */
-	openEditor(input: IEditorInput, options?: IEditorOptions|ITextEditorOptions, position?: Position): TPromise<IEditor>;
-	openEditor(input: IEditorInput, options?: IEditorOptions|ITextEditorOptions, sideBySide?: boolean): TPromise<IEditor>;
+	openEditor(input: IEditorInput, options?: IEditorOptions | ITextEditorOptions, position?: Position): TPromise<IEditor>;
+	openEditor(input: IEditorInput, options?: IEditorOptions | ITextEditorOptions, sideBySide?: boolean): TPromise<IEditor>;
 
 	/**
 	 * Specific overload to open an instance of IResourceInput.
@@ -60,14 +60,14 @@ export interface IWorkbenchEditorService extends IEditorService {
 	 * more than one editor per position, only the first one will be active and the others stacked behind inactive.
 	 */
 	openEditors(editors: { input: IResourceInput, position: Position }[]): TPromise<IEditor[]>;
-	openEditors(editors: { input: IEditorInput, position: Position, options?: IEditorOptions|ITextEditorOptions }[]): TPromise<IEditor[]>;
+	openEditors(editors: { input: IEditorInput, position: Position, options?: IEditorOptions | ITextEditorOptions }[]): TPromise<IEditor[]>;
 
 	/**
 	 * Given a list of editors to replace, will look across all groups where this editor is open (active or hidden)
 	 * and replace it with the new editor and the provied options.
 	 */
 	replaceEditors(editors: { toReplace: IResourceInput, replaceWith: IResourceInput }[]): TPromise<IEditor[]>;
-	replaceEditors(editors: { toReplace: IEditorInput, replaceWith: IEditorInput, options?: IEditorOptions|ITextEditorOptions }[]): TPromise<IEditor[]>;
+	replaceEditors(editors: { toReplace: IEditorInput, replaceWith: IEditorInput, options?: IEditorOptions | ITextEditorOptions }[]): TPromise<IEditor[]>;
 
 	/**
 	 * Closes the editor at the provided position.
diff --git a/src/vs/workbench/services/files/electron-browser/fileService.ts b/src/vs/workbench/services/files/electron-browser/fileService.ts
index bc27105db278c..a291b13bb69c2 100644
--- a/src/vs/workbench/services/files/electron-browser/fileService.ts
+++ b/src/vs/workbench/services/files/electron-browser/fileService.ts
@@ -5,29 +5,29 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import paths = require('vs/base/common/paths');
 import encoding = require('vs/base/node/encoding');
 import errors = require('vs/base/common/errors');
 import strings = require('vs/base/common/strings');
 import uri from 'vs/base/common/uri';
 import timer = require('vs/base/common/timer');
-import {asFileEditorInput} from 'vs/workbench/common/editor';
-import {IFileService, IFilesConfiguration, IResolveFileOptions, IFileStat, IContent, IStreamContent, IImportResult, IResolveContentOptions, IUpdateContentOptions} from 'vs/platform/files/common/files';
-import {FileService as NodeFileService, IFileServiceOptions, IEncodingOverride} from 'vs/workbench/services/files/node/fileService';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {Action} from 'vs/base/common/actions';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IMessageService, IMessageWithAction, Severity, CloseAction} from 'vs/platform/message/common/message';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-
-import {shell} from 'electron';
+import { asFileEditorInput } from 'vs/workbench/common/editor';
+import { IFileService, IFilesConfiguration, IResolveFileOptions, IFileStat, IContent, IStreamContent, IImportResult, IResolveContentOptions, IUpdateContentOptions } from 'vs/platform/files/common/files';
+import { FileService as NodeFileService, IFileServiceOptions, IEncodingOverride } from 'vs/workbench/services/files/node/fileService';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { Action } from 'vs/base/common/actions';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IMessageService, IMessageWithAction, Severity, CloseAction } from 'vs/platform/message/common/message';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+
+import { shell } from 'electron';
 
 export class FileService implements IFileService {
 
diff --git a/src/vs/workbench/services/files/node/fileService.ts b/src/vs/workbench/services/files/node/fileService.ts
index 11f5b5f3c74ec..738ce04a72c59 100644
--- a/src/vs/workbench/services/files/node/fileService.ts
+++ b/src/vs/workbench/services/files/node/fileService.ts
@@ -11,16 +11,16 @@ import os = require('os');
 import crypto = require('crypto');
 import assert = require('assert');
 
-import {IContent, IFileService, IResolveFileOptions, IResolveContentOptions, IFileStat, IStreamContent, IFileOperationResult, FileOperationResult, IBaseStat, IUpdateContentOptions, FileChangeType, EventType, IImportResult, MAX_FILE_SIZE} from 'vs/platform/files/common/files';
+import { IContent, IFileService, IResolveFileOptions, IResolveContentOptions, IFileStat, IStreamContent, IFileOperationResult, FileOperationResult, IBaseStat, IUpdateContentOptions, FileChangeType, EventType, IImportResult, MAX_FILE_SIZE } from 'vs/platform/files/common/files';
 import strings = require('vs/base/common/strings');
 import arrays = require('vs/base/common/arrays');
 import baseMime = require('vs/base/common/mime');
 import basePaths = require('vs/base/common/paths');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import types = require('vs/base/common/types');
 import objects = require('vs/base/common/objects');
 import extfs = require('vs/base/node/extfs');
-import {nfcall, Limiter, ThrottledDelayer} from 'vs/base/common/async';
+import { nfcall, Limiter, ThrottledDelayer } from 'vs/base/common/async';
 import uri from 'vs/base/common/uri';
 import nls = require('vs/nls');
 
@@ -28,10 +28,10 @@ import pfs = require('vs/base/node/pfs');
 import encoding = require('vs/base/node/encoding');
 import mime = require('vs/base/node/mime');
 import flow = require('vs/base/node/flow');
-import {FileWatcher as UnixWatcherService} from 'vs/workbench/services/files/node/watcher/unix/watcherService';
-import {FileWatcher as WindowsWatcherService} from 'vs/workbench/services/files/node/watcher/win32/watcherService';
-import {toFileChangesEvent, normalize, IRawFileChange} from 'vs/workbench/services/files/node/watcher/common';
-import {IEventService} from 'vs/platform/event/common/event';
+import { FileWatcher as UnixWatcherService } from 'vs/workbench/services/files/node/watcher/unix/watcherService';
+import { FileWatcher as WindowsWatcherService } from 'vs/workbench/services/files/node/watcher/win32/watcherService';
+import { toFileChangesEvent, normalize, IRawFileChange } from 'vs/workbench/services/files/node/watcher/common';
+import { IEventService } from 'vs/platform/event/common/event';
 
 export interface IEncodingOverride {
 	resource: uri;
diff --git a/src/vs/workbench/services/files/node/watcher/common.ts b/src/vs/workbench/services/files/node/watcher/common.ts
index cf38d94f1af40..41bbd7f0a97dd 100644
--- a/src/vs/workbench/services/files/node/watcher/common.ts
+++ b/src/vs/workbench/services/files/node/watcher/common.ts
@@ -7,7 +7,7 @@
 
 import uri from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
-import {FileChangeType, FileChangesEvent} from 'vs/platform/files/common/files';
+import { FileChangeType, FileChangesEvent } from 'vs/platform/files/common/files';
 
 export interface IRawFileChange {
 	type: FileChangeType;
@@ -86,8 +86,8 @@ class EventNormalizer {
 	}
 
 	public normalize(): IRawFileChange[] {
-		let addedChangeEvents:IRawFileChange[] = [];
-		let deletedPaths:string[] = [];
+		let addedChangeEvents: IRawFileChange[] = [];
+		let deletedPaths: string[] = [];
 
 		// This algorithm will remove all DELETE events up to the root folder
 		// that got deleted if any. This ensures that we are not producing
@@ -117,7 +117,7 @@ class EventNormalizer {
 		}).concat(addedChangeEvents);
 	}
 
-	private isParent(p:string, candidate:string): boolean {
+	private isParent(p: string, candidate: string): boolean {
 		return p.indexOf(candidate + paths.nativeSep) === 0;
 	}
 }
\ No newline at end of file
diff --git a/src/vs/workbench/services/files/node/watcher/typings/chokidar.d.ts b/src/vs/workbench/services/files/node/watcher/typings/chokidar.d.ts
index ad3ae8bdb15f6..719eae1ea0659 100644
--- a/src/vs/workbench/services/files/node/watcher/typings/chokidar.d.ts
+++ b/src/vs/workbench/services/files/node/watcher/typings/chokidar.d.ts
@@ -8,7 +8,7 @@ declare module 'chokidar' {
 	/**
 	 *  takes paths to be watched recursively and options
 	 */
-	export function watch(paths:string, options:IOptions):FSWatcher;
+	export function watch(paths: string, options: IOptions): FSWatcher;
 
 	export interface IOptions {
 
@@ -16,42 +16,42 @@ declare module 'chokidar' {
 		 * (regexp or function) files to be ignored. This function or regexp is tested against the whole path, not just filename.
 		 * If it is a function with two arguments, it gets called twice per path - once with a single argument (the path), second time with two arguments (the path and the fs.Stats object of that path).
 		 */
-		ignored?:any;
+		ignored?: any;
 
 		/**
 		 * (default: false). Indicates whether the process should continue to run as long as files are being watched.
 		 */
-		persistent?:boolean;
+		persistent?: boolean;
 
 		/**
 		 * (default: false). Indicates whether to watch files that don't have read permissions.
 		 */
-		ignorePermissionErrors?:boolean;
+		ignorePermissionErrors?: boolean;
 
 		/**
 		 * (default: false). Indicates whether chokidar should ignore the initial add events or not.
 		 */
-		ignoreInitial?:boolean;
+		ignoreInitial?: boolean;
 
 		/**
 		 * (default: 100). Interval of file system polling.
 		 */
-		interval?:number;
+		interval?: number;
 
 		/**
 		 * (default: 300). Interval of file system polling for binary files (see extensions in src/is-binary).
 		 */
-		binaryInterval?:number;
+		binaryInterval?: number;
 
 		/**
 		 * (default: false on Windows, true on Linux and OS X). Whether to use fs.watchFile (backed by polling), or fs.watch. If polling leads to high CPU utilization, consider setting this to false.
 		 */
-		usePolling?:boolean;
+		usePolling?: boolean;
 
 		/**
 		 * (default: true on OS X). Whether to use the fsevents watching interface if available. When set to true explicitly and fsevents is available this supercedes the usePolling setting. When set to false on OS X, usePolling: true becomes the default.
 		 */
-		useFsEvents?:boolean;
+		useFsEvents?: boolean;
 
 		/**
 		 * (default: true). When false, only the symlinks themselves will be watched for changes instead of following the link references and bubbling events through the link's path.
@@ -61,17 +61,17 @@ declare module 'chokidar' {
 
 	export interface FSWatcher {
 
-		add(fileDirOrGlob:string):void;
-		add(filesDirsOrGlobs:Array<string>):void;
+		add(fileDirOrGlob: string): void;
+		add(filesDirsOrGlobs: Array<string>): void;
 
-		unwatch(fileDirOrGlob:string):void;
-		unwatch(filesDirsOrGlobs:Array<string>):void;
+		unwatch(fileDirOrGlob: string): void;
+		unwatch(filesDirsOrGlobs: Array<string>): void;
 
 		/**
 		 * Listen for an FS event. Available events: add, addDir, change, unlink, unlinkDir, error. Additionally all is available which gets emitted for every non-error event.
 		 */
-		on(event:string, clb:(type:string, path:string) => void): void;
-		on(event:string, clb:(error:Error) => void): void;
+		on(event: string, clb: (type: string, path: string) => void): void;
+		on(event: string, clb: (error: Error) => void): void;
 
 		/**
 		 * Removes all listeners from watched files.
diff --git a/src/vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts b/src/vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts
index 55fc34a00011a..27c93f4e80b4f 100644
--- a/src/vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts
+++ b/src/vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts
@@ -11,9 +11,9 @@ import fs = require('fs');
 import gracefulFs = require('graceful-fs');
 gracefulFs.gracefulify(fs);
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {FileChangeType} from 'vs/platform/files/common/files';
-import {ThrottledDelayer} from 'vs/base/common/async';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { FileChangeType } from 'vs/platform/files/common/files';
+import { ThrottledDelayer } from 'vs/base/common/async';
 import strings = require('vs/base/common/strings');
 import watcher = require('vs/workbench/services/files/node/watcher/common');
 import { IWatcherRequest, IWatcherService } from './watcher';
@@ -23,8 +23,8 @@ export class ChokidarWatcherService implements IWatcherService {
 	private static FS_EVENT_DELAY = 50; // aggregate and only emit events when changes have stopped for this duration (in ms)
 	private static EVENT_SPAM_WARNING_THRESHOLD = 60 * 1000; // warn after certain time span of event spam
 
-	private spamCheckStartTime:number;
-	private spamWarningLogged:boolean;
+	private spamCheckStartTime: number;
+	private spamWarningLogged: boolean;
 
 	public watch(request: IWatcherRequest): TPromise<void> {
 		const watcherOpts: chokidar.IOptions = {
diff --git a/src/vs/workbench/services/files/node/watcher/unix/watcher.ts b/src/vs/workbench/services/files/node/watcher/unix/watcher.ts
index a30323e1a980a..6961b77f6a23b 100644
--- a/src/vs/workbench/services/files/node/watcher/unix/watcher.ts
+++ b/src/vs/workbench/services/files/node/watcher/unix/watcher.ts
@@ -5,7 +5,7 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 
 export interface IWatcherRequest {
 	basePath: string;
diff --git a/src/vs/workbench/services/files/node/watcher/unix/watcherService.ts b/src/vs/workbench/services/files/node/watcher/unix/watcherService.ts
index 722fe5de4c888..f092b62b671cb 100644
--- a/src/vs/workbench/services/files/node/watcher/unix/watcherService.ts
+++ b/src/vs/workbench/services/files/node/watcher/unix/watcherService.ts
@@ -5,13 +5,13 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {getNextTickChannel} from 'vs/base/parts/ipc/common/ipc';
-import {Client} from 'vs/base/parts/ipc/node/ipc.cp';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { getNextTickChannel } from 'vs/base/parts/ipc/common/ipc';
+import { Client } from 'vs/base/parts/ipc/node/ipc.cp';
 import uri from 'vs/base/common/uri';
-import {EventType} from 'vs/platform/files/common/files';
-import {toFileChangesEvent, IRawFileChange} from 'vs/workbench/services/files/node/watcher/common';
-import {IEventService} from 'vs/platform/event/common/event';
+import { EventType } from 'vs/platform/files/common/files';
+import { toFileChangesEvent, IRawFileChange } from 'vs/workbench/services/files/node/watcher/common';
+import { IEventService } from 'vs/platform/event/common/event';
 import { IWatcherChannel, WatcherChannelClient } from 'vs/workbench/services/files/node/watcher/unix/watcherIpc';
 
 export class FileWatcher {
diff --git a/src/vs/workbench/services/files/node/watcher/win32/csharpWatcherService.ts b/src/vs/workbench/services/files/node/watcher/win32/csharpWatcherService.ts
index e0c7b3cce700b..afd86a19ee42f 100644
--- a/src/vs/workbench/services/files/node/watcher/win32/csharpWatcherService.ts
+++ b/src/vs/workbench/services/files/node/watcher/win32/csharpWatcherService.ts
@@ -7,12 +7,12 @@
 
 import cp = require('child_process');
 
-import {FileChangeType} from 'vs/platform/files/common/files';
+import { FileChangeType } from 'vs/platform/files/common/files';
 import decoder = require('vs/base/node/decoder');
 import glob = require('vs/base/common/glob');
 import uri from 'vs/base/common/uri';
 
-import {IRawFileChange} from 'vs/workbench/services/files/node/watcher/common';
+import { IRawFileChange } from 'vs/workbench/services/files/node/watcher/common';
 
 export class OutOfProcessWin32FolderWatcher {
 
diff --git a/src/vs/workbench/services/files/node/watcher/win32/watcherService.ts b/src/vs/workbench/services/files/node/watcher/win32/watcherService.ts
index 6e81a9d49b42a..e53d414b28a5c 100644
--- a/src/vs/workbench/services/files/node/watcher/win32/watcherService.ts
+++ b/src/vs/workbench/services/files/node/watcher/win32/watcherService.ts
@@ -5,10 +5,10 @@
 
 'use strict';
 
-import {EventType} from 'vs/platform/files/common/files';
+import { EventType } from 'vs/platform/files/common/files';
 import watcher = require('vs/workbench/services/files/node/watcher/common');
-import {OutOfProcessWin32FolderWatcher} from 'vs/workbench/services/files/node/watcher/win32/csharpWatcherService';
-import {IEventService} from 'vs/platform/event/common/event';
+import { OutOfProcessWin32FolderWatcher } from 'vs/workbench/services/files/node/watcher/win32/csharpWatcherService';
+import { IEventService } from 'vs/platform/event/common/event';
 
 export class FileWatcher {
 
diff --git a/src/vs/workbench/services/files/test/node/fileService.test.ts b/src/vs/workbench/services/files/test/node/fileService.test.ts
index 8117b359be570..69bc17f5f9056 100644
--- a/src/vs/workbench/services/files/test/node/fileService.test.ts
+++ b/src/vs/workbench/services/files/test/node/fileService.test.ts
@@ -10,10 +10,10 @@ import path = require('path');
 import os = require('os');
 import assert = require('assert');
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {FileService, IEncodingOverride} from 'vs/workbench/services/files/node/fileService';
-import {EventType, FileChangesEvent, FileOperationResult, IFileOperationResult} from 'vs/platform/files/common/files';
-import {nfcall} from 'vs/base/common/async';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { FileService, IEncodingOverride } from 'vs/workbench/services/files/node/fileService';
+import { EventType, FileChangesEvent, FileOperationResult, IFileOperationResult } from 'vs/platform/files/common/files';
+import { nfcall } from 'vs/base/common/async';
 import uri from 'vs/base/common/uri';
 import uuid = require('vs/base/common/uuid');
 import extfs = require('vs/base/node/extfs');
diff --git a/src/vs/workbench/services/files/test/node/resolver.test.ts b/src/vs/workbench/services/files/test/node/resolver.test.ts
index 56a6729adc7f3..7bbc269b7140b 100644
--- a/src/vs/workbench/services/files/test/node/resolver.test.ts
+++ b/src/vs/workbench/services/files/test/node/resolver.test.ts
@@ -9,9 +9,9 @@ import fs = require('fs');
 import path = require('path');
 import assert = require('assert');
 
-import {StatResolver} from 'vs/workbench/services/files/node/fileService';
+import { StatResolver } from 'vs/workbench/services/files/node/fileService';
 import uri from 'vs/base/common/uri';
-import {isLinux} from 'vs/base/common/platform';
+import { isLinux } from 'vs/base/common/platform';
 import utils = require('vs/workbench/services/files/test/node/utils');
 
 function create(relativePath: string): StatResolver {
diff --git a/src/vs/workbench/services/files/test/node/utils.ts b/src/vs/workbench/services/files/test/node/utils.ts
index a1b65cbccd786..579bd9a4621ad 100644
--- a/src/vs/workbench/services/files/test/node/utils.ts
+++ b/src/vs/workbench/services/files/test/node/utils.ts
@@ -5,8 +5,8 @@
 
 'use strict';
 
-import {IFileStat} from 'vs/platform/files/common/files';
-import {EventEmitter} from 'vs/base/common/eventEmitter';
+import { IFileStat } from 'vs/platform/files/common/files';
+import { EventEmitter } from 'vs/base/common/eventEmitter';
 
 export class TestEventService extends EventEmitter {
 	_serviceBrand: any;
diff --git a/src/vs/workbench/services/files/test/node/watcher.test.ts b/src/vs/workbench/services/files/test/node/watcher.test.ts
index 72c86e82c0591..4e62769cfe5f1 100644
--- a/src/vs/workbench/services/files/test/node/watcher.test.ts
+++ b/src/vs/workbench/services/files/test/node/watcher.test.ts
@@ -8,11 +8,11 @@
 import assert = require('assert');
 
 import platform = require('vs/base/common/platform');
-import {FileChangeType, EventType, FileChangesEvent} from 'vs/platform/files/common/files';
+import { FileChangeType, EventType, FileChangesEvent } from 'vs/platform/files/common/files';
 import uri from 'vs/base/common/uri';
 import utils = require('vs/workbench/services/files/test/node/utils');
-import {IRawFileChange, toFileChangesEvent, normalize} from 'vs/workbench/services/files/node/watcher/common';
-import {IEventService} from 'vs/platform/event/common/event';
+import { IRawFileChange, toFileChangesEvent, normalize } from 'vs/workbench/services/files/node/watcher/common';
+import { IEventService } from 'vs/platform/event/common/event';
 
 class TestFileWatcher {
 	private eventEmitter: IEventService;
diff --git a/src/vs/workbench/services/group/common/groupService.ts b/src/vs/workbench/services/group/common/groupService.ts
index 728a103a7318b..67dd31d0b646f 100644
--- a/src/vs/workbench/services/group/common/groupService.ts
+++ b/src/vs/workbench/services/group/common/groupService.ts
@@ -5,11 +5,11 @@
 
 'use strict';
 
-import {createDecorator, ServiceIdentifier} from 'vs/platform/instantiation/common/instantiation';
-import {Position, IEditorInput} from 'vs/platform/editor/common/editor';
-import {IEditorStacksModel, IEditorGroup} from 'vs/workbench/common/editor';
+import { createDecorator, ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
+import { Position, IEditorInput } from 'vs/platform/editor/common/editor';
+import { IEditorStacksModel, IEditorGroup } from 'vs/workbench/common/editor';
 import Event from 'vs/base/common/event';
-import {EditorInputEvent} from 'vs/workbench/common/editor';
+import { EditorInputEvent } from 'vs/workbench/common/editor';
 
 export enum GroupArrangement {
 	MINIMIZE_OTHERS,
diff --git a/src/vs/workbench/services/history/browser/history.ts b/src/vs/workbench/services/history/browser/history.ts
index d21eae90c8a8c..2b08fa7a5536c 100644
--- a/src/vs/workbench/services/history/browser/history.ts
+++ b/src/vs/workbench/services/history/browser/history.ts
@@ -5,29 +5,29 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import errors = require('vs/base/common/errors');
 import platform = require('vs/base/common/platform');
 import nls = require('vs/nls');
 import URI from 'vs/base/common/uri';
 import product from 'vs/platform/product';
-import {IEditor as IBaseEditor} from 'vs/platform/editor/common/editor';
-import {EditorInput, IGroupEvent, IEditorRegistry, Extensions, asFileEditorInput, IEditorGroup} from 'vs/workbench/common/editor';
-import {BaseTextEditor} from 'vs/workbench/browser/parts/editor/textEditor';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IHistoryService} from 'vs/workbench/services/history/common/history';
-import {Selection} from 'vs/editor/common/core/selection';
-import {IEditorInput, ITextEditorOptions, IResourceInput} from 'vs/platform/editor/common/editor';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {Registry} from 'vs/platform/platform';
-import {once} from 'vs/base/common/event';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {IIntegrityService} from 'vs/platform/integrity/common/integrity';
+import { IEditor as IBaseEditor } from 'vs/platform/editor/common/editor';
+import { EditorInput, IGroupEvent, IEditorRegistry, Extensions, asFileEditorInput, IEditorGroup } from 'vs/workbench/common/editor';
+import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IHistoryService } from 'vs/workbench/services/history/common/history';
+import { Selection } from 'vs/editor/common/core/selection';
+import { IEditorInput, ITextEditorOptions, IResourceInput } from 'vs/platform/editor/common/editor';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { Registry } from 'vs/platform/platform';
+import { once } from 'vs/base/common/event';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { IIntegrityService } from 'vs/platform/integrity/common/integrity';
 
 /**
  * Stores the selection & view state of an editor and allows to compare it to other selection states.
@@ -227,7 +227,7 @@ export abstract class BaseHistoryService {
 }
 
 interface IStackEntry {
-	input: IEditorInput|IResourceInput;
+	input: IEditorInput | IResourceInput;
 	options?: ITextEditorOptions;
 }
 
@@ -250,7 +250,7 @@ export class HistoryService extends BaseHistoryService implements IHistoryServic
 	private blockStackChanges: boolean;
 	private currentFileEditorState: EditorState;
 
-	private history: (IEditorInput|IResourceInput)[];
+	private history: (IEditorInput | IResourceInput)[];
 	private recentlyClosedFiles: IRecentlyClosedFile[];
 	private loaded: boolean;
 	private registry: IEditorRegistry;
@@ -535,7 +535,7 @@ export class HistoryService extends BaseHistoryService implements IHistoryServic
 		}
 	}
 
-	private preferResourceInput(input: IEditorInput): IEditorInput|IResourceInput {
+	private preferResourceInput(input: IEditorInput): IEditorInput | IResourceInput {
 		const fileInput = asFileEditorInput(input);
 		if (fileInput) {
 			return { resource: fileInput.getResource() };
@@ -598,7 +598,7 @@ export class HistoryService extends BaseHistoryService implements IHistoryServic
 		return group.getEditors().some(e => this.matchesFile(resource, e));
 	}
 
-	private matches(typedInput: IEditorInput, input: IEditorInput|IResourceInput): boolean {
+	private matches(typedInput: IEditorInput, input: IEditorInput | IResourceInput): boolean {
 		if (input instanceof EditorInput) {
 			return input.matches(typedInput);
 		}
@@ -612,7 +612,7 @@ export class HistoryService extends BaseHistoryService implements IHistoryServic
 		return fileInput && fileInput.getResource().toString() === resource.toString();
 	}
 
-	public getHistory(): (IEditorInput|IResourceInput)[] {
+	public getHistory(): (IEditorInput | IResourceInput)[] {
 		this.ensureLoaded();
 
 		return this.history.slice(0);
@@ -643,7 +643,7 @@ export class HistoryService extends BaseHistoryService implements IHistoryServic
 	}
 
 	private load(): void {
-		let entries: (ILegacySerializedEditorInput|ISerializedFileEditorInput)[] = [];
+		let entries: (ILegacySerializedEditorInput | ISerializedFileEditorInput)[] = [];
 
 		const entriesRaw = this.storageService.get(HistoryService.STORAGE_KEY, StorageScope.WORKSPACE);
 		if (entriesRaw) {
diff --git a/src/vs/workbench/services/history/common/history.ts b/src/vs/workbench/services/history/common/history.ts
index 968445aab09be..7b4ae3f07ea8c 100644
--- a/src/vs/workbench/services/history/common/history.ts
+++ b/src/vs/workbench/services/history/common/history.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {createDecorator, ServiceIdentifier} from 'vs/platform/instantiation/common/instantiation';
-import {IEditorInput, ITextEditorOptions, IResourceInput} from 'vs/platform/editor/common/editor';
+import { createDecorator, ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
+import { IEditorInput, ITextEditorOptions, IResourceInput } from 'vs/platform/editor/common/editor';
 
 export const IHistoryService = createDecorator<IHistoryService>('historyService');
 
@@ -46,5 +46,5 @@ export interface IHistoryService {
 	/**
 	 * Get the entire history of opened editors.
 	 */
-	getHistory(): (IEditorInput|IResourceInput)[];
+	getHistory(): (IEditorInput | IResourceInput)[];
 }
\ No newline at end of file
diff --git a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts
index e4e24bdbedf43..f539a78db1106 100644
--- a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts
+++ b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts
@@ -5,26 +5,26 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {IHTMLContentElement} from 'vs/base/common/htmlContent';
-import {IJSONSchema} from 'vs/base/common/jsonSchema';
-import {Keybinding} from 'vs/base/common/keybinding';
+import { IHTMLContentElement } from 'vs/base/common/htmlContent';
+import { IJSONSchema } from 'vs/base/common/jsonSchema';
+import { Keybinding } from 'vs/base/common/keybinding';
 import * as platform from 'vs/base/common/platform';
-import {toDisposable} from 'vs/base/common/lifecycle';
-import {IExtensionMessageCollector, ExtensionsRegistry} from 'vs/platform/extensions/common/extensionsRegistry';
-import {Extensions, IJSONContributionRegistry} from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
-import {KeybindingService} from 'vs/platform/keybinding/browser/keybindingServiceImpl';
-import {IStatusbarService} from 'vs/platform/statusbar/common/statusbar';
-import {IOSupport} from 'vs/platform/keybinding/common/keybindingResolver';
-import {ICommandService} from 'vs/platform/commands/common/commands';
-import {IKeybindingItem, IUserFriendlyKeybinding} from 'vs/platform/keybinding/common/keybinding';
-import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
-import {IKeybindingRule, KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry';
-import {Registry} from 'vs/platform/platform';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {getNativeLabelProvider, getNativeAriaLabelProvider} from 'vs/workbench/services/keybinding/electron-browser/nativeKeymap';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {ConfigWatcher} from 'vs/base/node/config';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
+import { toDisposable } from 'vs/base/common/lifecycle';
+import { IExtensionMessageCollector, ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry';
+import { Extensions, IJSONContributionRegistry } from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
+import { KeybindingService } from 'vs/platform/keybinding/browser/keybindingServiceImpl';
+import { IStatusbarService } from 'vs/platform/statusbar/common/statusbar';
+import { IOSupport } from 'vs/platform/keybinding/common/keybindingResolver';
+import { ICommandService } from 'vs/platform/commands/common/commands';
+import { IKeybindingItem, IUserFriendlyKeybinding } from 'vs/platform/keybinding/common/keybinding';
+import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
+import { IKeybindingRule, KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
+import { Registry } from 'vs/platform/platform';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { getNativeLabelProvider, getNativeAriaLabelProvider } from 'vs/workbench/services/keybinding/electron-browser/nativeKeymap';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { ConfigWatcher } from 'vs/base/node/config';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
 
 interface ContributedKeyBinding {
 	command: string;
diff --git a/src/vs/workbench/services/keybinding/electron-browser/nativeKeymap.ts b/src/vs/workbench/services/keybinding/electron-browser/nativeKeymap.ts
index db94379bd73c8..3c120f4577244 100644
--- a/src/vs/workbench/services/keybinding/electron-browser/nativeKeymap.ts
+++ b/src/vs/workbench/services/keybinding/electron-browser/nativeKeymap.ts
@@ -5,12 +5,12 @@
 'use strict';
 
 import * as nativeKeymap from 'native-keymap';
-import {KeyCode, KeyCodeUtils} from 'vs/base/common/keyCodes';
-import {IKeyBindingLabelProvider, MacUIKeyLabelProvider, ClassicUIKeyLabelProvider, AriaKeyLabelProvider} from 'vs/base/common/keybinding';
-import {lookupKeyCode, setExtractKeyCode} from 'vs/base/browser/keyboardEvent';
+import { KeyCode, KeyCodeUtils } from 'vs/base/common/keyCodes';
+import { IKeyBindingLabelProvider, MacUIKeyLabelProvider, ClassicUIKeyLabelProvider, AriaKeyLabelProvider } from 'vs/base/common/keybinding';
+import { lookupKeyCode, setExtractKeyCode } from 'vs/base/browser/keyboardEvent';
 import Platform = require('vs/base/common/platform');
 
-let getNativeKeymap = (function() {
+let getNativeKeymap = (function () {
 	let called = false;
 	let result: nativeKeymap.INativeKeyMap[];
 
@@ -25,7 +25,7 @@ let getNativeKeymap = (function() {
 
 // See https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
 // See https://github.com/Microsoft/node-native-keymap/blob/master/deps/chromium/keyboard_codes_win.h
-const NATIVE_KEY_CODE_TO_KEY_CODE: {[nativeKeyCode:string]:KeyCode;} = {
+const NATIVE_KEY_CODE_TO_KEY_CODE: { [nativeKeyCode: string]: KeyCode; } = {
 	VKEY_BACK: KeyCode.Backspace,
 	VKEY_TAB: KeyCode.Tab,
 	VKEY_CLEAR: KeyCode.Unknown, // MISSING
@@ -232,46 +232,46 @@ const NATIVE_KEY_CODE_TO_KEY_CODE: {[nativeKeyCode:string]:KeyCode;} = {
 // Double quote              '"'                      222
 
 interface IFixedVirtualKeyCodeElement {
-	char:string;
-	virtualKeyCode:number;
+	char: string;
+	virtualKeyCode: number;
 }
 
 let _b24_fixedVirtualKeyCodes: IFixedVirtualKeyCodeElement[] = [
-	{ char: ';',	virtualKeyCode: 186 },
-	{ char: ':',	virtualKeyCode: 186 },
-	{ char: '=',	virtualKeyCode: 187 },
-	{ char: '+',	virtualKeyCode: 187 },
-	{ char: ',',	virtualKeyCode: 188 },
-	{ char: '<',	virtualKeyCode: 188 },
-	{ char: '-',	virtualKeyCode: 189 },
-	{ char: '_',	virtualKeyCode: 189 },
-	{ char: '.',	virtualKeyCode: 190 },
-	{ char: '>',	virtualKeyCode: 190 },
-	{ char: '/',	virtualKeyCode: 191 },
-	{ char: '?',	virtualKeyCode: 191 },
-	{ char: '`',	virtualKeyCode: 192 },
-	{ char: '~',	virtualKeyCode: 192 },
-	{ char: '[',	virtualKeyCode: 219 },
-	{ char: '{',	virtualKeyCode: 219 },
-	{ char: '\\',	virtualKeyCode: 220 },
-	{ char: '|',	virtualKeyCode: 220 },
-	{ char: ']',	virtualKeyCode: 221 },
-	{ char: '}',	virtualKeyCode: 221 },
-	{ char: '\'',	virtualKeyCode: 222 },
-	{ char: '"',	virtualKeyCode: 222 },
+	{ char: ';', virtualKeyCode: 186 },
+	{ char: ':', virtualKeyCode: 186 },
+	{ char: '=', virtualKeyCode: 187 },
+	{ char: '+', virtualKeyCode: 187 },
+	{ char: ',', virtualKeyCode: 188 },
+	{ char: '<', virtualKeyCode: 188 },
+	{ char: '-', virtualKeyCode: 189 },
+	{ char: '_', virtualKeyCode: 189 },
+	{ char: '.', virtualKeyCode: 190 },
+	{ char: '>', virtualKeyCode: 190 },
+	{ char: '/', virtualKeyCode: 191 },
+	{ char: '?', virtualKeyCode: 191 },
+	{ char: '`', virtualKeyCode: 192 },
+	{ char: '~', virtualKeyCode: 192 },
+	{ char: '[', virtualKeyCode: 219 },
+	{ char: '{', virtualKeyCode: 219 },
+	{ char: '\\', virtualKeyCode: 220 },
+	{ char: '|', virtualKeyCode: 220 },
+	{ char: ']', virtualKeyCode: 221 },
+	{ char: '}', virtualKeyCode: 221 },
+	{ char: '\'', virtualKeyCode: 222 },
+	{ char: '"', virtualKeyCode: 222 },
 ];
-let _b24_interestingChars: {[char:string]:boolean;} = Object.create(null);
+let _b24_interestingChars: { [char: string]: boolean; } = Object.create(null);
 _b24_fixedVirtualKeyCodes.forEach(el => _b24_interestingChars[el.char] = true);
 
-let _b24_interestingVirtualKeyCodes: {[virtualKeyCode:number]:boolean;} = Object.create(null);
+let _b24_interestingVirtualKeyCodes: { [virtualKeyCode: number]: boolean; } = Object.create(null);
 _b24_fixedVirtualKeyCodes.forEach(el => _b24_interestingVirtualKeyCodes[el.virtualKeyCode] = true);
 
 interface IUnfixedVirtualKeyCodeMap {
-	[char:string]: KeyCode;
+	[char: string]: KeyCode;
 }
-let _b24_getActualKeyCodeMap = (function() {
+let _b24_getActualKeyCodeMap = (function () {
 	let result: IUnfixedVirtualKeyCodeMap = null;
-	return function() {
+	return function () {
 		if (!result) {
 			result = Object.create(null);
 
@@ -305,7 +305,7 @@ let _b24_getActualKeyCodeMap = (function() {
 	};
 })();
 
-setExtractKeyCode((e:KeyboardEvent) => {
+setExtractKeyCode((e: KeyboardEvent) => {
 	if (e.charCode) {
 		// "keypress" events mostly
 		let char = String.fromCharCode(e.charCode).toUpperCase();
@@ -313,7 +313,7 @@ setExtractKeyCode((e:KeyboardEvent) => {
 	}
 
 	if (Platform.isMacintosh && _b24_interestingVirtualKeyCodes[e.keyCode] && typeof (<any>e).keyIdentifier === 'string') {
-		let keyIdentifier:string = (<any>e).keyIdentifier;
+		let keyIdentifier: string = (<any>e).keyIdentifier;
 		let strCharCode = keyIdentifier.substr(2);
 		try {
 			let charCode = parseInt(strCharCode, 16);
@@ -323,7 +323,7 @@ setExtractKeyCode((e:KeyboardEvent) => {
 				return unfixMap[char];
 			}
 			// console.log(keyIdentifier + ' => ' + char);
-		} catch(err) {
+		} catch (err) {
 		}
 	}
 	// _b24_getActualKeyCodeMap();
@@ -332,7 +332,7 @@ setExtractKeyCode((e:KeyboardEvent) => {
 	return lookupKeyCode(e);
 });
 
-let nativeAriaLabelProvider:IKeyBindingLabelProvider = null;
+let nativeAriaLabelProvider: IKeyBindingLabelProvider = null;
 export function getNativeAriaLabelProvider(): IKeyBindingLabelProvider {
 	if (!nativeAriaLabelProvider) {
 		let remaps = getNativeLabelProviderRemaps();
@@ -341,7 +341,7 @@ export function getNativeAriaLabelProvider(): IKeyBindingLabelProvider {
 	return nativeAriaLabelProvider;
 }
 
-let nativeLabelProvider:IKeyBindingLabelProvider = null;
+let nativeLabelProvider: IKeyBindingLabelProvider = null;
 export function getNativeLabelProvider(): IKeyBindingLabelProvider {
 	if (!nativeLabelProvider) {
 		let remaps = getNativeLabelProviderRemaps();
@@ -360,7 +360,7 @@ function getNativeLabelProviderRemaps(): string[] {
 	if (!nativeLabelRemaps) {
 		// See https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
 		// See https://github.com/Microsoft/node-native-keymap/blob/master/deps/chromium/keyboard_codes_win.h
-		let interestingKeyCodes:{[vkeyCode:string]:boolean;} = {
+		let interestingKeyCodes: { [vkeyCode: string]: boolean; } = {
 			VKEY_OEM_1: true,
 			VKEY_OEM_PLUS: true,
 			VKEY_OEM_COMMA: true,
@@ -411,11 +411,11 @@ function getNativeLabelProviderRemaps(): string[] {
 }
 
 class NativeMacUIKeyLabelProvider extends MacUIKeyLabelProvider {
-	constructor(private remaps:string[]) {
+	constructor(private remaps: string[]) {
 		super();
 	}
 
-	public getLabelForKey(keyCode:KeyCode): string {
+	public getLabelForKey(keyCode: KeyCode): string {
 		if (this.remaps[keyCode] !== null) {
 			return this.remaps[keyCode];
 		}
@@ -424,11 +424,11 @@ class NativeMacUIKeyLabelProvider extends MacUIKeyLabelProvider {
 }
 
 class NativeClassicUIKeyLabelProvider extends ClassicUIKeyLabelProvider {
-	constructor(private remaps:string[]) {
+	constructor(private remaps: string[]) {
 		super();
 	}
 
-	public getLabelForKey(keyCode:KeyCode): string {
+	public getLabelForKey(keyCode: KeyCode): string {
 		if (this.remaps[keyCode] !== null) {
 			return this.remaps[keyCode];
 		}
@@ -437,11 +437,11 @@ class NativeClassicUIKeyLabelProvider extends ClassicUIKeyLabelProvider {
 }
 
 class NativeAriaKeyLabelProvider extends AriaKeyLabelProvider {
-	constructor(private remaps:string[]) {
+	constructor(private remaps: string[]) {
 		super();
 	}
 
-	public getLabelForKey(keyCode:KeyCode): string {
+	public getLabelForKey(keyCode: KeyCode): string {
 		if (this.remaps[keyCode] !== null) {
 			return this.remaps[keyCode];
 		}
diff --git a/src/vs/workbench/services/lifecycle/electron-browser/lifecycleService.ts b/src/vs/workbench/services/lifecycle/electron-browser/lifecycleService.ts
index f9902a3bf76d6..21bceef3d2544 100644
--- a/src/vs/workbench/services/lifecycle/electron-browser/lifecycleService.ts
+++ b/src/vs/workbench/services/lifecycle/electron-browser/lifecycleService.ts
@@ -4,14 +4,14 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import Severity from 'vs/base/common/severity';
-import {toErrorMessage} from 'vs/base/common/errorMessage';
-import {ILifecycleService, ShutdownEvent} from 'vs/platform/lifecycle/common/lifecycle';
-import {IMessageService} from 'vs/platform/message/common/message';
-import {IWindowService} from 'vs/workbench/services/window/electron-browser/windowService';
-import {ipcRenderer as ipc} from 'electron';
-import Event, {Emitter} from 'vs/base/common/event';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
+import { ILifecycleService, ShutdownEvent } from 'vs/platform/lifecycle/common/lifecycle';
+import { IMessageService } from 'vs/platform/message/common/message';
+import { IWindowService } from 'vs/workbench/services/window/electron-browser/windowService';
+import { ipcRenderer as ipc } from 'electron';
+import Event, { Emitter } from 'vs/base/common/event';
 
 export class LifecycleService implements ILifecycleService {
 
diff --git a/src/vs/workbench/services/message/browser/messageService.ts b/src/vs/workbench/services/message/browser/messageService.ts
index fa16482a428d5..341bfb1e81416 100644
--- a/src/vs/workbench/services/message/browser/messageService.ts
+++ b/src/vs/workbench/services/message/browser/messageService.ts
@@ -5,15 +5,15 @@
 'use strict';
 
 import errors = require('vs/base/common/errors');
-import {toErrorMessage} from 'vs/base/common/errorMessage';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
+import { TPromise } from 'vs/base/common/winjs.base';
 import types = require('vs/base/common/types');
-import {MessageList, Severity as BaseSeverity} from 'vs/workbench/services/message/browser/messagelist/messageList';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {IMessageService, IChoiceService, IMessageWithAction, IConfirmation, Severity} from 'vs/platform/message/common/message';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
+import { MessageList, Severity as BaseSeverity } from 'vs/workbench/services/message/browser/messagelist/messageList';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { IMessageService, IChoiceService, IMessageWithAction, IConfirmation, Severity } from 'vs/platform/message/common/message';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 import Event from 'vs/base/common/event';
-import {Action} from 'vs/base/common/actions';
+import { Action } from 'vs/base/common/actions';
 
 interface IBufferedMessage {
 	severity: Severity;
diff --git a/src/vs/workbench/services/message/browser/messagelist/messageList.ts b/src/vs/workbench/services/message/browser/messagelist/messageList.ts
index d6ec6af89bc05..75a6408d3047f 100644
--- a/src/vs/workbench/services/message/browser/messagelist/messageList.ts
+++ b/src/vs/workbench/services/message/browser/messagelist/messageList.ts
@@ -7,17 +7,17 @@
 
 import 'vs/css!./messageList';
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
-import {Builder, $} from 'vs/base/browser/builder';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { Builder, $ } from 'vs/base/browser/builder';
 import DOM = require('vs/base/browser/dom');
-import {toErrorMessage} from 'vs/base/common/errorMessage';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
 import aria = require('vs/base/browser/ui/aria/aria');
 import types = require('vs/base/common/types');
-import Event, {Emitter} from 'vs/base/common/event';
-import {Action} from 'vs/base/common/actions';
+import Event, { Emitter } from 'vs/base/common/event';
+import { Action } from 'vs/base/common/actions';
 import htmlRenderer = require('vs/base/browser/htmlContentRenderer');
-import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
-import {KeyCode} from 'vs/base/common/keyCodes';
+import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
+import { KeyCode } from 'vs/base/common/keyCodes';
 
 export enum Severity {
 	Info,
@@ -86,12 +86,12 @@ export class MessageList {
 		return this._onMessagesCleared.event;
 	}
 
-	public showMessage(severity: Severity, message: string, onHide?: ()=>void): () => void;
-	public showMessage(severity: Severity, message: Error, onHide?: ()=>void): () => void;
-	public showMessage(severity: Severity, message: string[], onHide?: ()=>void): () => void;
-	public showMessage(severity: Severity, message: Error[], onHide?: ()=>void): () => void;
-	public showMessage(severity: Severity, message: IMessageWithAction, onHide?: ()=>void): () => void;
-	public showMessage(severity: Severity, message: any, onHide?: ()=>void): () => void {
+	public showMessage(severity: Severity, message: string, onHide?: () => void): () => void;
+	public showMessage(severity: Severity, message: Error, onHide?: () => void): () => void;
+	public showMessage(severity: Severity, message: string[], onHide?: () => void): () => void;
+	public showMessage(severity: Severity, message: Error[], onHide?: () => void): () => void;
+	public showMessage(severity: Severity, message: IMessageWithAction, onHide?: () => void): () => void;
+	public showMessage(severity: Severity, message: any, onHide?: () => void): () => void {
 		if (Array.isArray(message)) {
 			const closeFns: Function[] = [];
 			message.forEach((msg: any) => closeFns.push(this.showMessage(severity, msg, onHide)));
@@ -125,10 +125,10 @@ export class MessageList {
 		return null;
 	}
 
-	private doShowMessage(id: string, message: string, severity: Severity, onHide: ()=>void): () => void;
-	private doShowMessage(id: Error, message: string, severity: Severity, onHide: ()=>void): () => void;
-	private doShowMessage(id: IMessageWithAction, message: string, severity: Severity, onHide: ()=>void): () => void;
-	private doShowMessage(id: any, message: string, severity: Severity, onHide: ()=>void): () => void {
+	private doShowMessage(id: string, message: string, severity: Severity, onHide: () => void): () => void;
+	private doShowMessage(id: Error, message: string, severity: Severity, onHide: () => void): () => void;
+	private doShowMessage(id: IMessageWithAction, message: string, severity: Severity, onHide: () => void): () => void;
+	private doShowMessage(id: any, message: string, severity: Severity, onHide: () => void): () => void {
 
 		// Trigger Auto-Purge of messages to keep list small
 		this.purgeMessages();
diff --git a/src/vs/workbench/services/message/electron-browser/messageService.ts b/src/vs/workbench/services/message/electron-browser/messageService.ts
index 63475c4089d2c..4074e9815125c 100644
--- a/src/vs/workbench/services/message/electron-browser/messageService.ts
+++ b/src/vs/workbench/services/message/electron-browser/messageService.ts
@@ -5,13 +5,13 @@
 
 'use strict';
 
-import {IWindowService} from 'vs/workbench/services/window/electron-browser/windowService';
+import { IWindowService } from 'vs/workbench/services/window/electron-browser/windowService';
 import nls = require('vs/nls');
 import product from 'vs/platform/product';
-import {WorkbenchMessageService} from 'vs/workbench/services/message/browser/messageService';
-import {IConfirmation} from 'vs/platform/message/common/message';
-import {isWindows, isLinux} from 'vs/base/common/platform';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
+import { WorkbenchMessageService } from 'vs/workbench/services/message/browser/messageService';
+import { IConfirmation } from 'vs/platform/message/common/message';
+import { isWindows, isLinux } from 'vs/base/common/platform';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
 
 export class MessageService extends WorkbenchMessageService {
 
diff --git a/src/vs/workbench/services/panel/common/panelService.ts b/src/vs/workbench/services/panel/common/panelService.ts
index 1879b2e53702b..8ca5115f8a53a 100644
--- a/src/vs/workbench/services/panel/common/panelService.ts
+++ b/src/vs/workbench/services/panel/common/panelService.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 
 import Event from 'vs/base/common/event';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IPanel} from 'vs/workbench/common/panel';
-import {createDecorator, ServiceIdentifier} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IPanel } from 'vs/workbench/common/panel';
+import { createDecorator, ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
 
 export const IPanelService = createDecorator<IPanelService>('panelService');
 
diff --git a/src/vs/workbench/services/part/common/partService.ts b/src/vs/workbench/services/part/common/partService.ts
index be54d9fa15cb5..6386c70b748ed 100644
--- a/src/vs/workbench/services/part/common/partService.ts
+++ b/src/vs/workbench/services/part/common/partService.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {createDecorator, ServiceIdentifier} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { createDecorator, ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
 
 export enum Parts {
 	ACTIVITYBAR_PART,
@@ -23,7 +23,7 @@ export enum Position {
 export const IPartService = createDecorator<IPartService>('partService');
 
 export interface IPartService {
-	_serviceBrand : ServiceIdentifier<any>;
+	_serviceBrand: ServiceIdentifier<any>;
 
 	/**
 	 * Asks the part service to layout all parts.
diff --git a/src/vs/workbench/services/progress/browser/progressService.ts b/src/vs/workbench/services/progress/browser/progressService.ts
index 53d067019f36a..72eb05ad22fa7 100644
--- a/src/vs/workbench/services/progress/browser/progressService.ts
+++ b/src/vs/workbench/services/progress/browser/progressService.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 
 import lifecycle = require('vs/base/common/lifecycle');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import types = require('vs/base/common/types');
-import {ProgressBar} from 'vs/base/browser/ui/progressbar/progressbar';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
-import {IProgressService, IProgressRunner} from 'vs/platform/progress/common/progress';
+import { ProgressBar } from 'vs/base/browser/ui/progressbar/progressbar';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
+import { IProgressService, IProgressRunner } from 'vs/platform/progress/common/progress';
 
 interface ProgressState {
 	infinite?: boolean;
diff --git a/src/vs/workbench/services/quickopen/common/quickOpenService.ts b/src/vs/workbench/services/quickopen/common/quickOpenService.ts
index 63521a59baea1..9acd5e7a1cd56 100644
--- a/src/vs/workbench/services/quickopen/common/quickOpenService.ts
+++ b/src/vs/workbench/services/quickopen/common/quickOpenService.ts
@@ -4,12 +4,12 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import uri from 'vs/base/common/uri';
 import Event from 'vs/base/common/event';
-import {CancellationToken} from 'vs/base/common/cancellation';
-import {IQuickNavigateConfiguration, IAutoFocus, IEntryRunContext} from 'vs/base/parts/quickopen/common/quickOpen';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { CancellationToken } from 'vs/base/common/cancellation';
+import { IQuickNavigateConfiguration, IAutoFocus, IEntryRunContext } from 'vs/base/parts/quickopen/common/quickOpen';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export interface IFilePickOpenEntry extends IPickOpenEntry {
 	resource: uri;
diff --git a/src/vs/workbench/services/search/node/fileSearch.ts b/src/vs/workbench/services/search/node/fileSearch.ts
index 6b4934ca0b142..485896d1e874c 100644
--- a/src/vs/workbench/services/search/node/fileSearch.ts
+++ b/src/vs/workbench/services/search/node/fileSearch.ts
@@ -6,11 +6,11 @@
 'use strict';
 
 import * as childProcess from 'child_process';
-import {StringDecoder, NodeStringDecoder} from 'string_decoder';
-import {toErrorMessage} from 'vs/base/common/errorMessage';
+import { StringDecoder, NodeStringDecoder } from 'string_decoder';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
 import fs = require('fs');
 import paths = require('path');
-import {Readable} from "stream";
+import { Readable } from "stream";
 
 import scorer = require('vs/base/common/scorer');
 import arrays = require('vs/base/common/arrays');
@@ -18,11 +18,11 @@ import platform = require('vs/base/common/platform');
 import strings = require('vs/base/common/strings');
 import types = require('vs/base/common/types');
 import glob = require('vs/base/common/glob');
-import {IProgress, IUncachedSearchStats} from 'vs/platform/search/common/search';
+import { IProgress, IUncachedSearchStats } from 'vs/platform/search/common/search';
 
 import extfs = require('vs/base/node/extfs');
 import flow = require('vs/base/node/flow');
-import {IRawFileMatch, ISerializedSearchComplete, IRawSearch, ISearchEngine} from './search';
+import { IRawFileMatch, ISerializedSearchComplete, IRawSearch, ISearchEngine } from './search';
 
 enum Traversal {
 	Node = 1,
@@ -130,7 +130,7 @@ export class FileWalker {
 				if (platform.isMacintosh) {
 					this.traversal = Traversal.MacFind;
 					traverse = this.findTraversal;
-				// Disable 'dir' for now (#11181, #11179, #11183, #11182).
+					// Disable 'dir' for now (#11181, #11179, #11183, #11182).
 				} /* else if (platform.isWindows) {
 					this.traversal = Traversal.WindowsDir;
 					traverse = this.windowsDirTraversal;
@@ -171,7 +171,7 @@ export class FileWalker {
 	private findTraversal(rootFolder: string, onResult: (result: IRawFileMatch) => void, cb: (err?: Error) => void): void {
 		const isMac = platform.isMacintosh;
 		let done = (err?: Error) => {
-			done = () => {};
+			done = () => { };
 			cb(err);
 		};
 		let leftover = '';
@@ -288,7 +288,7 @@ export class FileWalker {
 	private collectStdout(cmd: childProcess.ChildProcess, encoding: string, cb: (err: Error, stdout?: string, last?: boolean) => void): void {
 		let done = (err: Error, stdout?: string, last?: boolean) => {
 			if (err || last) {
-				done = () => {};
+				done = () => { };
 				this.cmdForkResultTime = Date.now();
 			}
 			cb(err, stdout, last);
diff --git a/src/vs/workbench/services/search/node/rawSearchService.ts b/src/vs/workbench/services/search/node/rawSearchService.ts
index ab5eb0ffd3e98..7226224936bf3 100644
--- a/src/vs/workbench/services/search/node/rawSearchService.ts
+++ b/src/vs/workbench/services/search/node/rawSearchService.ts
@@ -11,17 +11,17 @@ import gracefulFs = require('graceful-fs');
 gracefulFs.gracefulify(fs);
 
 import arrays = require('vs/base/common/arrays');
-import {compareByScore} from 'vs/base/common/comparers';
+import { compareByScore } from 'vs/base/common/comparers';
 import objects = require('vs/base/common/objects');
 import paths = require('vs/base/common/paths');
 import scorer = require('vs/base/common/scorer');
 import strings = require('vs/base/common/strings');
-import {PPromise, TPromise} from 'vs/base/common/winjs.base';
-import {MAX_FILE_SIZE} from 'vs/platform/files/common/files';
-import {FileWalker, Engine as FileSearchEngine} from 'vs/workbench/services/search/node/fileSearch';
-import {Engine as TextSearchEngine} from 'vs/workbench/services/search/node/textSearch';
-import {IRawSearchService, IRawSearch, IRawFileMatch, ISerializedFileMatch, ISerializedSearchProgressItem, ISerializedSearchComplete, ISearchEngine} from './search';
-import {ICachedSearchStats, IProgress} from 'vs/platform/search/common/search';
+import { PPromise, TPromise } from 'vs/base/common/winjs.base';
+import { MAX_FILE_SIZE } from 'vs/platform/files/common/files';
+import { FileWalker, Engine as FileSearchEngine } from 'vs/workbench/services/search/node/fileSearch';
+import { Engine as TextSearchEngine } from 'vs/workbench/services/search/node/textSearch';
+import { IRawSearchService, IRawSearch, IRawFileMatch, ISerializedFileMatch, ISerializedSearchProgressItem, ISerializedSearchComplete, ISearchEngine } from './search';
+import { ICachedSearchStats, IProgress } from 'vs/platform/search/common/search';
 
 export type IRawProgressItem<T> = T | T[] | IProgress;
 
diff --git a/src/vs/workbench/services/search/node/searchApp.ts b/src/vs/workbench/services/search/node/searchApp.ts
index 3a729bf682c99..293705f38b014 100644
--- a/src/vs/workbench/services/search/node/searchApp.ts
+++ b/src/vs/workbench/services/search/node/searchApp.ts
@@ -5,9 +5,9 @@
 
 'use strict';
 
-import {Server} from 'vs/base/parts/ipc/node/ipc.cp';
-import {SearchChannel} from './searchIpc';
-import {SearchService} from './rawSearchService';
+import { Server } from 'vs/base/parts/ipc/node/ipc.cp';
+import { SearchChannel } from './searchIpc';
+import { SearchService } from './rawSearchService';
 
 const server = new Server();
 const service = new SearchService();
diff --git a/src/vs/workbench/services/search/node/searchService.ts b/src/vs/workbench/services/search/node/searchService.ts
index 5c2446e3a0869..123d2bc5497b8 100644
--- a/src/vs/workbench/services/search/node/searchService.ts
+++ b/src/vs/workbench/services/search/node/searchService.ts
@@ -4,22 +4,22 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {PPromise, TPromise} from 'vs/base/common/winjs.base';
+import { PPromise, TPromise } from 'vs/base/common/winjs.base';
 import uri from 'vs/base/common/uri';
 import glob = require('vs/base/common/glob');
 import objects = require('vs/base/common/objects');
 import scorer = require('vs/base/common/scorer');
 import strings = require('vs/base/common/strings');
-import {getNextTickChannel} from 'vs/base/parts/ipc/common/ipc';
-import {Client} from 'vs/base/parts/ipc/node/ipc.cp';
-import {IProgress, LineMatch, FileMatch, ISearchComplete, ISearchProgressItem, QueryType, IFileMatch, ISearchQuery, ISearchConfiguration, ISearchService} from 'vs/platform/search/common/search';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IRawSearch, ISerializedSearchComplete, ISerializedSearchProgressItem, ISerializedFileMatch, IRawSearchService} from './search';
-import {ISearchChannel, SearchChannelClient} from './searchIpc';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
+import { getNextTickChannel } from 'vs/base/parts/ipc/common/ipc';
+import { Client } from 'vs/base/parts/ipc/node/ipc.cp';
+import { IProgress, LineMatch, FileMatch, ISearchComplete, ISearchProgressItem, QueryType, IFileMatch, ISearchQuery, ISearchConfiguration, ISearchService } from 'vs/platform/search/common/search';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IRawSearch, ISerializedSearchComplete, ISerializedSearchProgressItem, ISerializedFileMatch, IRawSearchService } from './search';
+import { ISearchChannel, SearchChannelClient } from './searchIpc';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
 
 export class SearchService implements ISearchService {
 	public _serviceBrand: any;
diff --git a/src/vs/workbench/services/search/node/textSearch.ts b/src/vs/workbench/services/search/node/textSearch.ts
index b1901ab44f5cb..873cad46a94cf 100644
--- a/src/vs/workbench/services/search/node/textSearch.ts
+++ b/src/vs/workbench/services/search/node/textSearch.ts
@@ -11,11 +11,11 @@ import * as fs from 'fs';
 import * as path from 'path';
 
 import * as baseMime from 'vs/base/common/mime';
-import {ILineMatch, IProgress} from 'vs/platform/search/common/search';
-import {detectMimeAndEncodingFromBuffer} from 'vs/base/node/mime';
-import {FileWalker} from 'vs/workbench/services/search/node/fileSearch';
-import {UTF16le, UTF16be, UTF8, UTF8_with_bom, encodingExists, decode} from 'vs/base/node/encoding';
-import {ISerializedFileMatch, ISerializedSearchComplete, IRawSearch, ISearchEngine} from './search';
+import { ILineMatch, IProgress } from 'vs/platform/search/common/search';
+import { detectMimeAndEncodingFromBuffer } from 'vs/base/node/mime';
+import { FileWalker } from 'vs/workbench/services/search/node/fileSearch';
+import { UTF16le, UTF16be, UTF8, UTF8_with_bom, encodingExists, decode } from 'vs/base/node/encoding';
+import { ISerializedFileMatch, ISerializedSearchComplete, IRawSearch, ISearchEngine } from './search';
 
 interface ReadLinesOptions {
 	bufferLength: number;
@@ -45,7 +45,7 @@ export class Engine implements ISearchEngine<ISerializedFileMatch> {
 		this.rootFolders = config.rootFolders;
 		this.extraFiles = config.extraFiles;
 		this.walker = walker;
-		this.contentPattern = strings.createRegExp(config.contentPattern.pattern, config.contentPattern.isRegExp, {matchCase: config.contentPattern.isCaseSensitive, wholeWord: config.contentPattern.isWordMatch, multiline: false, global: true});
+		this.contentPattern = strings.createRegExp(config.contentPattern.pattern, config.contentPattern.isRegExp, { matchCase: config.contentPattern.isCaseSensitive, wholeWord: config.contentPattern.isWordMatch, multiline: false, global: true });
 		this.isCanceled = false;
 		this.limitReached = false;
 		this.maxResults = config.maxResults;
@@ -90,7 +90,7 @@ export class Engine implements ISearchEngine<ISerializedFileMatch> {
 
 		// Walk over the file system
 		this.walker.walk(this.rootFolders, this.extraFiles, result => {
-			const size = result.size ||  1;
+			const size = result.size || 1;
 			this.total += size;
 
 			// If the result is empty or we have reached the limit or we are canceled, ignore it
diff --git a/src/vs/workbench/services/search/test/node/search.test.ts b/src/vs/workbench/services/search/test/node/search.test.ts
index f3a60d1c78d3c..32fc2882eec11 100644
--- a/src/vs/workbench/services/search/test/node/search.test.ts
+++ b/src/vs/workbench/services/search/test/node/search.test.ts
@@ -9,13 +9,13 @@ import path = require('path');
 import assert = require('assert');
 
 import * as glob from 'vs/base/common/glob';
-import {join, normalize} from 'vs/base/common/paths';
+import { join, normalize } from 'vs/base/common/paths';
 import * as platform from 'vs/base/common/platform';
-import {LineMatch} from 'vs/platform/search/common/search';
+import { LineMatch } from 'vs/platform/search/common/search';
 
-import {FileWalker, Engine as FileSearchEngine} from 'vs/workbench/services/search/node/fileSearch';
-import {IRawFileMatch} from 'vs/workbench/services/search/node/search';
-import {Engine as TextSearchEngine} from 'vs/workbench/services/search/node/textSearch';
+import { FileWalker, Engine as FileSearchEngine } from 'vs/workbench/services/search/node/fileSearch';
+import { IRawFileMatch } from 'vs/workbench/services/search/node/search';
+import { Engine as TextSearchEngine } from 'vs/workbench/services/search/node/textSearch';
 
 function count(lineMatches: LineMatch[]): number {
 	let count = 0;
diff --git a/src/vs/workbench/services/search/test/node/searchService.test.ts b/src/vs/workbench/services/search/test/node/searchService.test.ts
index caa4d1e45489e..d2aef7f670e2e 100644
--- a/src/vs/workbench/services/search/test/node/searchService.test.ts
+++ b/src/vs/workbench/services/search/test/node/searchService.test.ts
@@ -6,12 +6,12 @@
 'use strict';
 
 import * as assert from 'assert';
-import {normalize} from 'path';
+import { normalize } from 'path';
 
-import {IProgress, IUncachedSearchStats} from 'vs/platform/search/common/search';
-import {ISearchEngine, IRawSearch, IRawFileMatch, ISerializedFileMatch, ISerializedSearchComplete} from 'vs/workbench/services/search/node/search';
-import {SearchService as RawSearchService} from 'vs/workbench/services/search/node/rawSearchService';
-import {DiskSearch} from 'vs/workbench/services/search/node/searchService';
+import { IProgress, IUncachedSearchStats } from 'vs/platform/search/common/search';
+import { ISearchEngine, IRawSearch, IRawFileMatch, ISerializedFileMatch, ISerializedSearchComplete } from 'vs/workbench/services/search/node/search';
+import { SearchService as RawSearchService } from 'vs/workbench/services/search/node/rawSearchService';
+import { DiskSearch } from 'vs/workbench/services/search/node/searchService';
 
 
 const stats: IUncachedSearchStats = {
@@ -90,16 +90,16 @@ suite('SearchService', () => {
 
 		let results = 0;
 		return service.doFileSearch(Engine, rawSearch)
-		.then(() => {
-			assert.strictEqual(results, 5);
-		}, null, value => {
-			if (!Array.isArray(value)) {
-				assert.deepStrictEqual(value, match);
-				results++;
-			} else {
-				assert.fail(value);
-			}
-		});
+			.then(() => {
+				assert.strictEqual(results, 5);
+			}, null, value => {
+				if (!Array.isArray(value)) {
+					assert.deepStrictEqual(value, match);
+					results++;
+				} else {
+					assert.fail(value);
+				}
+			});
 	});
 
 	test('Batch results', function () {
@@ -109,18 +109,18 @@ suite('SearchService', () => {
 
 		const results = [];
 		return service.doFileSearch(Engine, rawSearch, 10)
-		.then(() => {
-			assert.deepStrictEqual(results, [10, 10, 5]);
-		}, null, value => {
-			if (Array.isArray(value)) {
-				value.forEach(m => {
-					assert.deepStrictEqual(m, match);
-				});
-				results.push(value.length);
-			} else {
-				assert.fail(value);
-			}
-		});
+			.then(() => {
+				assert.deepStrictEqual(results, [10, 10, 5]);
+			}, null, value => {
+				if (Array.isArray(value)) {
+					value.forEach(m => {
+						assert.deepStrictEqual(m, match);
+					});
+					results.push(value.length);
+				} else {
+					assert.fail(value);
+				}
+			});
 	});
 
 	test('Collect batched results', function () {
@@ -131,13 +131,13 @@ suite('SearchService', () => {
 
 		const progressResults = [];
 		return DiskSearch.collectResults(service.doFileSearch(Engine, rawSearch, 10))
-		.then(result => {
-			assert.strictEqual(result.results.length, 25, 'Result');
-			assert.strictEqual(progressResults.length, 25, 'Progress');
-		}, null, match => {
-			assert.strictEqual(match.resource.path, uriPath);
-			progressResults.push(match);
-		});
+			.then(result => {
+				assert.strictEqual(result.results.length, 25, 'Result');
+				assert.strictEqual(progressResults.length, 25, 'Progress');
+			}, null, match => {
+				assert.strictEqual(match.resource.path, uriPath);
+				progressResults.push(match);
+			});
 	});
 
 	test('Sorted results', function () {
@@ -181,18 +181,18 @@ suite('SearchService', () => {
 			sortByScore: true,
 			maxResults: 23
 		}, 10)
-		.then(() => {
-			assert.deepStrictEqual(results, [10, 10, 3]);
-		}, null, value => {
-			if (Array.isArray(value)) {
-				value.forEach(m => {
-					assert.deepStrictEqual(m, match);
-				});
-				results.push(value.length);
-			} else {
-				assert.fail(value);
-			}
-		});
+			.then(() => {
+				assert.deepStrictEqual(results, [10, 10, 3]);
+			}, null, value => {
+				if (Array.isArray(value)) {
+					value.forEach(m => {
+						assert.deepStrictEqual(m, match);
+					});
+					results.push(value.length);
+				} else {
+					assert.fail(value);
+				}
+			});
 	});
 
 	test('Cached results', function () {
diff --git a/src/vs/workbench/services/telemetry/common/workspaceStats.ts b/src/vs/workbench/services/telemetry/common/workspaceStats.ts
index aa74b33a86080..1c5612cf424bc 100644
--- a/src/vs/workbench/services/telemetry/common/workspaceStats.ts
+++ b/src/vs/workbench/services/telemetry/common/workspaceStats.ts
@@ -7,9 +7,9 @@
 
 import winjs = require('vs/base/common/winjs.base');
 import errors = require('vs/base/common/errors');
-import {IFileService} from 'vs/platform/files/common/files';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
+import { IFileService } from 'vs/platform/files/common/files';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
 
 export class WorkspaceStats {
 	constructor(
diff --git a/src/vs/workbench/services/textfile/browser/textFileService.ts b/src/vs/workbench/services/textfile/browser/textFileService.ts
index 5ba8665a653bb..f1737f8d6d698 100644
--- a/src/vs/workbench/services/textfile/browser/textFileService.ts
+++ b/src/vs/workbench/services/textfile/browser/textFileService.ts
@@ -4,28 +4,28 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import URI from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
 import DOM = require('vs/base/browser/dom');
 import errors = require('vs/base/common/errors');
 import objects = require('vs/base/common/objects');
-import Event, {Emitter} from 'vs/base/common/event';
-import {IResult, ITextFileOperationResult, ITextFileService, IRawTextContent, IAutoSaveConfiguration, AutoSaveMode, SaveReason, ITextFileEditorModelManager, ITextFileEditorModel, ISaveOptions} from 'vs/workbench/services/textfile/common/textfiles';
-import {ConfirmResult} from 'vs/workbench/common/editor';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IFileService, IResolveContentOptions, IFilesConfiguration, IFileOperationResult, FileOperationResult, AutoSaveConfiguration} from 'vs/platform/files/common/files';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {UntitledEditorModel} from 'vs/workbench/common/editor/untitledEditorModel';
-import {BinaryEditorModel} from 'vs/workbench/common/editor/binaryEditorModel';
-import {TextFileEditorModelManager} from 'vs/workbench/services/textfile/common/textFileEditorModelManager';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import Event, { Emitter } from 'vs/base/common/event';
+import { IResult, ITextFileOperationResult, ITextFileService, IRawTextContent, IAutoSaveConfiguration, AutoSaveMode, SaveReason, ITextFileEditorModelManager, ITextFileEditorModel, ISaveOptions } from 'vs/workbench/services/textfile/common/textfiles';
+import { ConfirmResult } from 'vs/workbench/common/editor';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IFileService, IResolveContentOptions, IFilesConfiguration, IFileOperationResult, FileOperationResult, AutoSaveConfiguration } from 'vs/platform/files/common/files';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { UntitledEditorModel } from 'vs/workbench/common/editor/untitledEditorModel';
+import { BinaryEditorModel } from 'vs/workbench/common/editor/binaryEditorModel';
+import { TextFileEditorModelManager } from 'vs/workbench/services/textfile/common/textFileEditorModelManager';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 
 /**
  * The workbench file service implementation implements the raw file service spec and adds additional methods on top.
diff --git a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts
index 29d66b65e93af..2a30db14498b3 100644
--- a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts
+++ b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts
@@ -5,29 +5,29 @@
 'use strict';
 
 import nls = require('vs/nls');
-import Event, {Emitter} from 'vs/base/common/event';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {onUnexpectedError} from 'vs/base/common/errors';
-import {guessMimeTypes} from 'vs/base/common/mime';
-import {toErrorMessage} from 'vs/base/common/errorMessage';
+import Event, { Emitter } from 'vs/base/common/event';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { onUnexpectedError } from 'vs/base/common/errors';
+import { guessMimeTypes } from 'vs/base/common/mime';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
 import URI from 'vs/base/common/uri';
 import * as assert from 'vs/base/common/assert';
-import {IDisposable, dispose} from 'vs/base/common/lifecycle';
+import { IDisposable, dispose } from 'vs/base/common/lifecycle';
 import paths = require('vs/base/common/paths');
 import diagnostics = require('vs/base/common/diagnostics');
 import types = require('vs/base/common/types');
-import {IModelContentChangedEvent} from 'vs/editor/common/editorCommon';
-import {IMode} from 'vs/editor/common/modes';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {ITextFileService, IAutoSaveConfiguration, ModelState, ITextFileEditorModel, IModelSaveOptions, ISaveErrorHandler, ISaveParticipant, StateChange, SaveReason} from 'vs/workbench/services/textfile/common/textfiles';
-import {EncodingMode, EditorModel} from 'vs/workbench/common/editor';
-import {BaseTextEditorModel} from 'vs/workbench/common/editor/textEditorModel';
-import {IFileService, IFileStat, IFileOperationResult, FileOperationResult} from 'vs/platform/files/common/files';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {ITelemetryService, anonymize} from 'vs/platform/telemetry/common/telemetry';
+import { IModelContentChangedEvent } from 'vs/editor/common/editorCommon';
+import { IMode } from 'vs/editor/common/modes';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { ITextFileService, IAutoSaveConfiguration, ModelState, ITextFileEditorModel, IModelSaveOptions, ISaveErrorHandler, ISaveParticipant, StateChange, SaveReason } from 'vs/workbench/services/textfile/common/textfiles';
+import { EncodingMode, EditorModel } from 'vs/workbench/common/editor';
+import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel';
+import { IFileService, IFileStat, IFileOperationResult, FileOperationResult } from 'vs/platform/files/common/files';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { ITelemetryService, anonymize } from 'vs/platform/telemetry/common/telemetry';
 
 /**
  * The text file editor model listens to changes to its underlying code editor model and saves these changes through the file service back to the disk.
@@ -729,7 +729,7 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil
 
 class DefaultSaveErrorHandler implements ISaveErrorHandler {
 
-	constructor(@IMessageService private messageService: IMessageService) { }
+	constructor( @IMessageService private messageService: IMessageService) { }
 
 	public onSaveError(error: any, model: TextFileEditorModel): void {
 		this.messageService.show(Severity.Error, nls.localize('genericSaveError', "Failed to save '{0}': {1}", paths.basename(model.getResource().fsPath), toErrorMessage(error, false)));
diff --git a/src/vs/workbench/services/textfile/common/textFileEditorModelManager.ts b/src/vs/workbench/services/textfile/common/textFileEditorModelManager.ts
index 5f126eaf103cc..a1d2ed6fc607d 100644
--- a/src/vs/workbench/services/textfile/common/textFileEditorModelManager.ts
+++ b/src/vs/workbench/services/textfile/common/textFileEditorModelManager.ts
@@ -4,17 +4,17 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import Event, {Emitter} from 'vs/base/common/event';
-import {TPromise} from 'vs/base/common/winjs.base';
+import Event, { Emitter } from 'vs/base/common/event';
+import { TPromise } from 'vs/base/common/winjs.base';
 import URI from 'vs/base/common/uri';
-import {TextFileEditorModel} from 'vs/workbench/services/textfile/common/textFileEditorModel';
-import {dispose, IDisposable} from 'vs/base/common/lifecycle';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {ModelState, ITextFileEditorModel, LocalFileChangeEvent, ITextFileEditorModelManager, TextFileModelChangeEvent, StateChange} from 'vs/workbench/services/textfile/common/textfiles';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {IEventService} from 'vs/platform/event/common/event';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {FileChangesEvent, EventType as CommonFileEventType} from 'vs/platform/files/common/files';
+import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel';
+import { dispose, IDisposable } from 'vs/base/common/lifecycle';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { ModelState, ITextFileEditorModel, LocalFileChangeEvent, ITextFileEditorModelManager, TextFileModelChangeEvent, StateChange } from 'vs/workbench/services/textfile/common/textfiles';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { IEventService } from 'vs/platform/event/common/event';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { FileChangesEvent, EventType as CommonFileEventType } from 'vs/platform/files/common/files';
 
 export class TextFileEditorModelManager implements ITextFileEditorModelManager {
 
diff --git a/src/vs/workbench/services/textfile/common/textfiles.ts b/src/vs/workbench/services/textfile/common/textfiles.ts
index 185ee86c30c26..52389b16b68a6 100644
--- a/src/vs/workbench/services/textfile/common/textfiles.ts
+++ b/src/vs/workbench/services/textfile/common/textfiles.ts
@@ -4,16 +4,16 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import URI from 'vs/base/common/uri';
 import Event from 'vs/base/common/event';
-import {IRawText} from 'vs/editor/common/editorCommon';
-import {IDisposable} from 'vs/base/common/lifecycle';
-import {IEncodingSupport, ConfirmResult} from 'vs/workbench/common/editor';
-import {IFileStat, IBaseStat, IResolveContentOptions} from 'vs/platform/files/common/files';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {ITextEditorModel} from 'vs/platform/editor/common/editor';
-import {Event as BaseEvent, PropertyChangeEvent} from 'vs/base/common/events';
+import { IRawText } from 'vs/editor/common/editorCommon';
+import { IDisposable } from 'vs/base/common/lifecycle';
+import { IEncodingSupport, ConfirmResult } from 'vs/workbench/common/editor';
+import { IFileStat, IBaseStat, IResolveContentOptions } from 'vs/platform/files/common/files';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { ITextEditorModel } from 'vs/platform/editor/common/editor';
+import { Event as BaseEvent, PropertyChangeEvent } from 'vs/base/common/events';
 
 
 /**
diff --git a/src/vs/workbench/services/textfile/electron-browser/textFileService.ts b/src/vs/workbench/services/textfile/electron-browser/textFileService.ts
index 5464b18da75a6..f71a2929e061d 100644
--- a/src/vs/workbench/services/textfile/electron-browser/textFileService.ts
+++ b/src/vs/workbench/services/textfile/electron-browser/textFileService.ts
@@ -6,29 +6,29 @@
 'use strict';
 
 import nls = require('vs/nls');
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import paths = require('vs/base/common/paths');
 import strings = require('vs/base/common/strings');
-import {isWindows, isLinux} from 'vs/base/common/platform';
+import { isWindows, isLinux } from 'vs/base/common/platform';
 import URI from 'vs/base/common/uri';
-import {ConfirmResult} from 'vs/workbench/common/editor';
-import {TextFileService as AbstractTextFileService} from 'vs/workbench/services/textfile/browser/textFileService';
-import {IRawTextContent} from 'vs/workbench/services/textfile/common/textfiles';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {IFileService, IResolveContentOptions} from 'vs/platform/files/common/files';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
-import {IWindowService} from 'vs/workbench/services/window/electron-browser/windowService';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {ModelBuilder} from 'vs/editor/node/model/modelBuilder';
+import { ConfirmResult } from 'vs/workbench/common/editor';
+import { TextFileService as AbstractTextFileService } from 'vs/workbench/services/textfile/browser/textFileService';
+import { IRawTextContent } from 'vs/workbench/services/textfile/common/textfiles';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { IFileService, IResolveContentOptions } from 'vs/platform/files/common/files';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
+import { IWindowService } from 'vs/workbench/services/window/electron-browser/windowService';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { ModelBuilder } from 'vs/editor/node/model/modelBuilder';
 import product from 'vs/platform/product';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 
 export class TextFileService extends AbstractTextFileService {
 
diff --git a/src/vs/workbench/services/textfile/test/textFileEditorModel.test.ts b/src/vs/workbench/services/textfile/test/textFileEditorModel.test.ts
index 7bef48631c70d..ae52b218a63b1 100644
--- a/src/vs/workbench/services/textfile/test/textFileEditorModel.test.ts
+++ b/src/vs/workbench/services/textfile/test/textFileEditorModel.test.ts
@@ -6,18 +6,18 @@
 'use strict';
 
 import * as assert from 'assert';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import URI from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
-import {EncodingMode} from 'vs/workbench/common/editor';
-import {TextFileEditorModel} from 'vs/workbench/services/textfile/common/textFileEditorModel';
-import {IEventService} from 'vs/platform/event/common/event';
-import {ITextFileService, ModelState, StateChange} from 'vs/workbench/services/textfile/common/textfiles';
-import {workbenchInstantiationService, TestTextFileService, createFileInput} from 'vs/test/utils/servicesTestUtils';
-import {TextFileEditorModelManager} from 'vs/workbench/services/textfile/common/textFileEditorModelManager';
-import {FileOperationResult, IFileOperationResult} from 'vs/platform/files/common/files';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { EncodingMode } from 'vs/workbench/common/editor';
+import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel';
+import { IEventService } from 'vs/platform/event/common/event';
+import { ITextFileService, ModelState, StateChange } from 'vs/workbench/services/textfile/common/textfiles';
+import { workbenchInstantiationService, TestTextFileService, createFileInput } from 'vs/test/utils/servicesTestUtils';
+import { TextFileEditorModelManager } from 'vs/workbench/services/textfile/common/textFileEditorModelManager';
+import { FileOperationResult, IFileOperationResult } from 'vs/platform/files/common/files';
+import { IModelService } from 'vs/editor/common/services/modelService';
 
 function toResource(path) {
 	return URI.file(paths.join('C:\\', path));
diff --git a/src/vs/workbench/services/textfile/test/textFileEditorModelManager.test.ts b/src/vs/workbench/services/textfile/test/textFileEditorModelManager.test.ts
index 43ec9b89b6192..21dbcf7e91105 100644
--- a/src/vs/workbench/services/textfile/test/textFileEditorModelManager.test.ts
+++ b/src/vs/workbench/services/textfile/test/textFileEditorModelManager.test.ts
@@ -7,17 +7,17 @@
 
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {TextFileEditorModelManager} from 'vs/workbench/services/textfile/common/textFileEditorModelManager';
-import {EditorModel} from 'vs/workbench/common/editor';
-import {join, basename} from 'vs/base/common/paths';
-import {workbenchInstantiationService, TestEditorGroupService, createFileInput} from 'vs/test/utils/servicesTestUtils';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {TextFileEditorModel} from 'vs/workbench/services/textfile/common/textFileEditorModel';
-import {IEventService} from 'vs/platform/event/common/event';
-import {LocalFileChangeEvent} from 'vs/workbench/services/textfile/common/textfiles';
-import {FileChangesEvent, EventType as CommonFileEventType, FileChangeType} from 'vs/platform/files/common/files';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { TextFileEditorModelManager } from 'vs/workbench/services/textfile/common/textFileEditorModelManager';
+import { EditorModel } from 'vs/workbench/common/editor';
+import { join, basename } from 'vs/base/common/paths';
+import { workbenchInstantiationService, TestEditorGroupService, createFileInput } from 'vs/test/utils/servicesTestUtils';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel';
+import { IEventService } from 'vs/platform/event/common/event';
+import { LocalFileChangeEvent } from 'vs/workbench/services/textfile/common/textfiles';
+import { FileChangesEvent, EventType as CommonFileEventType, FileChangeType } from 'vs/platform/files/common/files';
+import { IModelService } from 'vs/editor/common/services/modelService';
 
 class ServiceAccessor {
 	constructor(
diff --git a/src/vs/workbench/services/textfile/test/textFileService.test.ts b/src/vs/workbench/services/textfile/test/textFileService.test.ts
index 21d0a3e35ae30..3b1a12f2b0328 100644
--- a/src/vs/workbench/services/textfile/test/textFileService.test.ts
+++ b/src/vs/workbench/services/textfile/test/textFileService.test.ts
@@ -4,19 +4,19 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
 import paths = require('vs/base/common/paths');
-import {ILifecycleService, ShutdownEvent} from 'vs/platform/lifecycle/common/lifecycle';
-import {workbenchInstantiationService, TestLifecycleService, TestTextFileService} from 'vs/test/utils/servicesTestUtils';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {TextFileEditorModel} from 'vs/workbench/services/textfile/common/textFileEditorModel';
-import {ITextFileService} from 'vs/workbench/services/textfile/common/textfiles';
-import {ConfirmResult} from 'vs/workbench/common/editor';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {UntitledEditorModel} from 'vs/workbench/common/editor/untitledEditorModel';
-import {TextFileEditorModelManager} from 'vs/workbench/services/textfile/common/textFileEditorModelManager';
+import { ILifecycleService, ShutdownEvent } from 'vs/platform/lifecycle/common/lifecycle';
+import { workbenchInstantiationService, TestLifecycleService, TestTextFileService } from 'vs/test/utils/servicesTestUtils';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel';
+import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
+import { ConfirmResult } from 'vs/workbench/common/editor';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { UntitledEditorModel } from 'vs/workbench/common/editor/untitledEditorModel';
+import { TextFileEditorModelManager } from 'vs/workbench/services/textfile/common/textFileEditorModelManager';
 
 function toResource(path) {
 	return URI.file(paths.join('C:\\', path));
diff --git a/src/vs/workbench/services/themes/common/themeService.ts b/src/vs/workbench/services/themes/common/themeService.ts
index a783b1433c3e2..01d78d2e87438 100644
--- a/src/vs/workbench/services/themes/common/themeService.ts
+++ b/src/vs/workbench/services/themes/common/themeService.ts
@@ -4,8 +4,8 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
 import Event from 'vs/base/common/event';
 
 export let IThemeService = createDecorator<IThemeService>('themeService');
diff --git a/src/vs/workbench/services/themes/electron-browser/stylesContributions.ts b/src/vs/workbench/services/themes/electron-browser/stylesContributions.ts
index a87b5910ead38..349236454266c 100644
--- a/src/vs/workbench/services/themes/electron-browser/stylesContributions.ts
+++ b/src/vs/workbench/services/themes/electron-browser/stylesContributions.ts
@@ -3,9 +3,9 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
-import {IThemeDocument, IThemeSetting, IThemeSettingStyle} from 'vs/workbench/services/themes/common/themeService';
-import {Color} from 'vs/base/common/color';
-import {getBaseThemeId, getSyntaxThemeId} from 'vs/platform/theme/common/themes';
+import { IThemeDocument, IThemeSetting, IThemeSettingStyle } from 'vs/workbench/services/themes/common/themeService';
+import { Color } from 'vs/base/common/color';
+import { getBaseThemeId, getSyntaxThemeId } from 'vs/platform/theme/common/themes';
 
 interface ThemeGlobalSettings {
 	background?: string;
diff --git a/src/vs/workbench/services/themes/electron-browser/themeService.ts b/src/vs/workbench/services/themes/electron-browser/themeService.ts
index e188e3d24e584..d7d19ed51f57c 100644
--- a/src/vs/workbench/services/themes/electron-browser/themeService.ts
+++ b/src/vs/workbench/services/themes/electron-browser/themeService.ts
@@ -4,25 +4,25 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise, Promise} from 'vs/base/common/winjs.base';
+import { TPromise, Promise } from 'vs/base/common/winjs.base';
 import nls = require('vs/nls');
 import Paths = require('vs/base/common/paths');
 import Json = require('vs/base/common/json');
-import {IThemeExtensionPoint} from 'vs/platform/theme/common/themeExtensionPoint';
-import {IExtensionService} from 'vs/platform/extensions/common/extensions';
-import {ExtensionsRegistry, IExtensionMessageCollector} from 'vs/platform/extensions/common/extensionsRegistry';
-import {IThemeService, IThemeData, IThemeSetting, IThemeDocument} from 'vs/workbench/services/themes/common/themeService';
-import {TokenStylesContribution, EditorStylesContribution, SearchViewStylesContribution} from 'vs/workbench/services/themes/electron-browser/stylesContributions';
-import {getBaseThemeId} from 'vs/platform/theme/common/themes';
-import {IWindowService} from 'vs/workbench/services/window/electron-browser/windowService';
-import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
-import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {Registry} from 'vs/platform/platform';
-import {Extensions as JSONExtensions, IJSONContributionRegistry} from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
-import {IJSONSchema} from 'vs/base/common/jsonSchema';
-
-import {$} from 'vs/base/browser/builder';
-import Event, {Emitter} from 'vs/base/common/event';
+import { IThemeExtensionPoint } from 'vs/platform/theme/common/themeExtensionPoint';
+import { IExtensionService } from 'vs/platform/extensions/common/extensions';
+import { ExtensionsRegistry, IExtensionMessageCollector } from 'vs/platform/extensions/common/extensionsRegistry';
+import { IThemeService, IThemeData, IThemeSetting, IThemeDocument } from 'vs/workbench/services/themes/common/themeService';
+import { TokenStylesContribution, EditorStylesContribution, SearchViewStylesContribution } from 'vs/workbench/services/themes/electron-browser/stylesContributions';
+import { getBaseThemeId } from 'vs/platform/theme/common/themes';
+import { IWindowService } from 'vs/workbench/services/window/electron-browser/windowService';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
+import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { Registry } from 'vs/platform/platform';
+import { Extensions as JSONExtensions, IJSONContributionRegistry } from 'vs/platform/jsonschemas/common/jsonContributionRegistry';
+import { IJSONSchema } from 'vs/base/common/jsonSchema';
+
+import { $ } from 'vs/base/browser/builder';
+import Event, { Emitter } from 'vs/base/common/event';
 
 import * as plist from 'fast-plist';
 import pfs = require('vs/base/node/pfs');
@@ -41,7 +41,7 @@ let defaultBaseTheme = getBaseThemeId(DEFAULT_THEME_ID);
 const defaultThemeExtensionId = 'vscode-theme-defaults';
 const oldDefaultThemeExtensionId = 'vscode-theme-colorful-defaults';
 
-function validateThemeId(theme: string) : string {
+function validateThemeId(theme: string): string {
 	// migrations
 	switch (theme) {
 		case 'vs': return `vs ${defaultThemeExtensionId}-themes-light_vs-json`;
@@ -119,22 +119,22 @@ interface FontDefinition {
 	weight: string;
 	style: string;
 	size: string;
-	src: { path:string; format:string; }[];
+	src: { path: string; format: string; }[];
 }
 
 interface IconsAssociation {
 	folder?: string;
 	file?: string;
 	folderExpanded?: string;
-	folderNames?: {[folderName:string]: string; };
-	folderNamesExpanded?: {[folderName:string]: string; };
-	fileExtensions?: {[extension:string]: string; };
-	fileNames?: {[fileName:string]: string; };
-	languageIds?: {[languageId:string]: string; };
+	folderNames?: { [folderName: string]: string; };
+	folderNamesExpanded?: { [folderName: string]: string; };
+	fileExtensions?: { [extension: string]: string; };
+	fileNames?: { [fileName: string]: string; };
+	languageIds?: { [languageId: string]: string; };
 }
 
 interface IconThemeDocument extends IconsAssociation {
-	iconDefinitions: { [key:string]: IconDefinition };
+	iconDefinitions: { [key: string]: IconDefinition };
 	fonts: FontDefinition[];
 	light?: IconsAssociation;
 	highContrast?: IconsAssociation;
@@ -152,10 +152,10 @@ export class ThemeService implements IThemeService {
 	private currentIconTheme: string;
 
 	constructor(
-			@IExtensionService private extensionService: IExtensionService,
-			@IWindowService private windowService: IWindowService,
-			@IStorageService private storageService: IStorageService,
-			@ITelemetryService private telemetryService: ITelemetryService) {
+		@IExtensionService private extensionService: IExtensionService,
+		@IWindowService private windowService: IWindowService,
+		@IStorageService private storageService: IStorageService,
+		@ITelemetryService private telemetryService: ITelemetryService) {
 
 		this.knownColorThemes = [];
 		this.onColorThemeChange = new Emitter<string>();
@@ -207,7 +207,7 @@ export class ThemeService implements IThemeService {
 
 	}
 
-	public setColorTheme(themeId: string, broadcastToAllWindows: boolean) : TPromise<boolean> {
+	public setColorTheme(themeId: string, broadcastToAllWindows: boolean): TPromise<boolean> {
 		if (!themeId) {
 			return TPromise.as(false);
 		}
@@ -250,19 +250,19 @@ export class ThemeService implements IThemeService {
 		return this.getColorThemes().then(allThemes => {
 			let themes = allThemes.filter(t => t.id === themeId);
 			if (themes.length > 0) {
-				return <IInternalThemeData> themes[0];
+				return <IInternalThemeData>themes[0];
 			}
 			if (defaultId) {
 				let themes = allThemes.filter(t => t.id === defaultId);
 				if (themes.length > 0) {
-					return <IInternalThemeData> themes[0];
+					return <IInternalThemeData>themes[0];
 				}
 			}
 			return null;
 		});
 	}
 
-	private applyThemeCSS(themeId: string, defaultId: string, onApply: (theme:IInternalThemeData) => void): TPromise<boolean> {
+	private applyThemeCSS(themeId: string, defaultId: string, onApply: (theme: IInternalThemeData) => void): TPromise<boolean> {
 		return this.findThemeData(themeId, defaultId).then(theme => {
 			if (theme) {
 				return applyTheme(theme, onApply);
@@ -384,7 +384,7 @@ export class ThemeService implements IThemeService {
 		return this.currentIconTheme || this.storageService.get(ICON_THEME_PREF, StorageScope.GLOBAL, '');
 	}
 
-	public setFileIconTheme(iconTheme: string, broadcastToAllWindows: boolean) : TPromise<boolean> {
+	public setFileIconTheme(iconTheme: string, broadcastToAllWindows: boolean): TPromise<boolean> {
 		iconTheme = iconTheme || '';
 		if (iconTheme === this.currentIconTheme) {
 			if (broadcastToAllWindows) {
@@ -407,12 +407,12 @@ export class ThemeService implements IThemeService {
 		return this._updateIconTheme(onApply);
 	}
 
-	private _updateIconTheme(onApply: (theme:IInternalThemeData) => void) : TPromise<boolean> {
+	private _updateIconTheme(onApply: (theme: IInternalThemeData) => void): TPromise<boolean> {
 		return this.getFileIconThemes().then(allIconSets => {
 			let iconSetData;
 			for (let iconSet of allIconSets) {
 				if (iconSet.id === this.currentIconTheme) {
-					iconSetData = <IInternalThemeData> iconSet;
+					iconSetData = <IInternalThemeData>iconSet;
 					break;
 				}
 			}
@@ -421,7 +421,7 @@ export class ThemeService implements IThemeService {
 	}
 }
 
-function _applyIconTheme(data: IInternalThemeData, onApply: (theme:IInternalThemeData) => void): TPromise<boolean> {
+function _applyIconTheme(data: IInternalThemeData, onApply: (theme: IInternalThemeData) => void): TPromise<boolean> {
 	if (!data) {
 		_applyRules('', iconThemeRulesClassName);
 		onApply(data);
@@ -444,10 +444,10 @@ function _applyIconTheme(data: IInternalThemeData, onApply: (theme:IInternalThem
 	});
 }
 
-function _loadIconThemeDocument(fileSetPath: string) : TPromise<IconThemeDocument> {
+function _loadIconThemeDocument(fileSetPath: string): TPromise<IconThemeDocument> {
 	return pfs.readFile(fileSetPath).then(content => {
 		let errors: Json.ParseError[] = [];
-		let contentValue = <IThemeDocument> Json.parse(content.toString(), errors);
+		let contentValue = <IThemeDocument>Json.parse(content.toString(), errors);
 		if (errors.length > 0) {
 			return TPromise.wrapError(new Error(nls.localize('error.cannotparseicontheme', "Problems parsing file icons file: {0}", errors.map(e => Json.getParseErrorMessage(e.error)).join(', '))));
 		}
@@ -455,11 +455,11 @@ function _loadIconThemeDocument(fileSetPath: string) : TPromise<IconThemeDocumen
 	});
 }
 
-function _processIconThemeDocument(id: string, iconThemeDocumentPath: string, iconThemeDocument: IconThemeDocument) : string {
+function _processIconThemeDocument(id: string, iconThemeDocumentPath: string, iconThemeDocument: IconThemeDocument): string {
 	if (!iconThemeDocument.iconDefinitions) {
 		return '';
 	}
-	let selectorByDefinitionId : {[def:string]:string[]} = {};
+	let selectorByDefinitionId: { [def: string]: string[] } = {};
 
 	function resolvePath(path: string) {
 		return Paths.join(Paths.dirname(iconThemeDocumentPath), path);
@@ -588,7 +588,7 @@ function toCSSSelector(str: string) {
 	return str;
 }
 
-function applyTheme(theme: IInternalThemeData, onApply: (theme:IInternalThemeData) => void): TPromise<boolean> {
+function applyTheme(theme: IInternalThemeData, onApply: (theme: IInternalThemeData) => void): TPromise<boolean> {
 	if (theme.styleSheetContent) {
 		_applyRules(theme.styleSheetContent, colorThemeRulesClassName);
 		onApply(theme);
@@ -605,11 +605,11 @@ function applyTheme(theme: IInternalThemeData, onApply: (theme:IInternalThemeDat
 	});
 }
 
-function _loadThemeDocument(themePath: string) : TPromise<IThemeDocument> {
+function _loadThemeDocument(themePath: string): TPromise<IThemeDocument> {
 	return pfs.readFile(themePath).then(content => {
 		if (Paths.extname(themePath) === '.json') {
 			let errors: Json.ParseError[] = [];
-			let contentValue = <IThemeDocument> Json.parse(content.toString(), errors);
+			let contentValue = <IThemeDocument>Json.parse(content.toString(), errors);
 			if (errors.length > 0) {
 				return TPromise.wrapError(new Error(nls.localize('error.cannotparsejson', "Problems parsing JSON theme file: {0}", errors.map(e => Json.getParseErrorMessage(e.error)).join(', '))));
 			}
@@ -631,7 +631,7 @@ function _loadThemeDocument(themePath: string) : TPromise<IThemeDocument> {
 
 function _processThemeObject(themeId: string, themeDocument: IThemeDocument): string {
 	let cssRules: string[] = [];
-	let themeSettings : IThemeSetting[] = themeDocument.settings;
+	let themeSettings: IThemeSetting[] = themeDocument.settings;
 
 	if (Array.isArray(themeSettings)) {
 		new TokenStylesContribution().contributeStyles(themeId, themeDocument, cssRules);
diff --git a/src/vs/workbench/services/thread/common/abstractThreadService.ts b/src/vs/workbench/services/thread/common/abstractThreadService.ts
index c4e1bdce1836b..b9ac577982c72 100644
--- a/src/vs/workbench/services/thread/common/abstractThreadService.ts
+++ b/src/vs/workbench/services/thread/common/abstractThreadService.ts
@@ -4,9 +4,9 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IManyHandler} from 'vs/base/common/remote';
-import {ProxyIdentifier} from 'vs/workbench/services/thread/common/threadService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IManyHandler } from 'vs/base/common/remote';
+import { ProxyIdentifier } from 'vs/workbench/services/thread/common/threadService';
 
 // declare var Proxy:any; // TODO@TypeScript
 
@@ -14,9 +14,9 @@ export abstract class AbstractThreadService implements IManyHandler {
 
 	private _isMain: boolean;
 	protected _locals: { [id: string]: any; };
-	private _proxies: {[id:string]:any;} = Object.create(null);
+	private _proxies: { [id: string]: any; } = Object.create(null);
 
-	constructor(isMain:boolean) {
+	constructor(isMain: boolean) {
 		this._isMain = isMain;
 		this._locals = Object.create(null);
 		this._proxies = Object.create(null);
@@ -34,16 +34,16 @@ export abstract class AbstractThreadService implements IManyHandler {
 		return method.apply(actor, args);
 	}
 
-	get<T>(identifier:ProxyIdentifier<T>): T {
+	get<T>(identifier: ProxyIdentifier<T>): T {
 		if (!this._proxies[identifier.id]) {
 			this._proxies[identifier.id] = this._createProxy(identifier.id, identifier.methodNames);
 		}
 		return this._proxies[identifier.id];
 	}
 
-	private _createProxy<T>(id:string, methodNames:string[]): T {
+	private _createProxy<T>(id: string, methodNames: string[]): T {
 		// Check below how to switch to native proxies
-		let result:any = {};
+		let result: any = {};
 		for (let i = 0; i < methodNames.length; i++) {
 			let methodName = methodNames[i];
 			result[methodName] = this.createMethodProxy(id, methodName);
@@ -66,12 +66,12 @@ export abstract class AbstractThreadService implements IManyHandler {
 		};
 	}
 
-	set<T>(identifier:ProxyIdentifier<T>, value:T): void {
+	set<T>(identifier: ProxyIdentifier<T>, value: T): void {
 		if (identifier.isMain !== this._isMain) {
 			throw new Error('Mismatch in object registration!');
 		}
 		this._locals[identifier.id] = value;
 	}
 
-	protected abstract _callOnRemote(proxyId: string, path: string, args:any[]): TPromise<any>;
+	protected abstract _callOnRemote(proxyId: string, path: string, args: any[]): TPromise<any>;
 }
diff --git a/src/vs/workbench/services/thread/common/extHostThreadService.ts b/src/vs/workbench/services/thread/common/extHostThreadService.ts
index faf6bc70f8ab0..e451b149cd2d6 100644
--- a/src/vs/workbench/services/thread/common/extHostThreadService.ts
+++ b/src/vs/workbench/services/thread/common/extHostThreadService.ts
@@ -4,10 +4,10 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {IRemoteCom} from 'vs/base/common/remote';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {AbstractThreadService} from 'vs/workbench/services/thread/common/abstractThreadService';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
+import { IRemoteCom } from 'vs/base/common/remote';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { AbstractThreadService } from 'vs/workbench/services/thread/common/abstractThreadService';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
 
 export class ExtHostThreadService extends AbstractThreadService implements IThreadService {
 	public _serviceBrand: any;
@@ -19,7 +19,7 @@ export class ExtHostThreadService extends AbstractThreadService implements IThre
 		this._remoteCom.setManyHandler(this);
 	}
 
-	protected _callOnRemote(proxyId: string, path: string, args:any[]): TPromise<any> {
+	protected _callOnRemote(proxyId: string, path: string, args: any[]): TPromise<any> {
 		return this._remoteCom.callOnRemote(proxyId, path, args);
 	}
 }
diff --git a/src/vs/workbench/services/thread/common/threadService.ts b/src/vs/workbench/services/thread/common/threadService.ts
index 81ea6b841ffbc..071359fd603e7 100644
--- a/src/vs/workbench/services/thread/common/threadService.ts
+++ b/src/vs/workbench/services/thread/common/threadService.ts
@@ -4,7 +4,7 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
 
 export const IThreadService = createDecorator<IThreadService>('threadService');
 
@@ -14,12 +14,12 @@ export interface IThreadService {
 	/**
 	 * Always returns a proxy.
 	 */
-	get<T>(identifier:ProxyIdentifier<T>): T;
+	get<T>(identifier: ProxyIdentifier<T>): T;
 
 	/**
 	 * Register instance.
 	 */
-	set<T>(identifier:ProxyIdentifier<T>, value:T): void;
+	set<T>(identifier: ProxyIdentifier<T>, value: T): void;
 }
 
 export class ProxyIdentifier<T> {
@@ -29,7 +29,7 @@ export class ProxyIdentifier<T> {
 	id: string;
 	methodNames: string[];
 
-	constructor(isMain: boolean, id: string, ctor:Function) {
+	constructor(isMain: boolean, id: string, ctor: Function) {
 		this.isMain = isMain;
 		this.id = id;
 
@@ -42,10 +42,10 @@ export class ProxyIdentifier<T> {
 	}
 }
 
-export function createMainContextProxyIdentifier<T>(identifier:string, ctor:Function): ProxyIdentifier<T> {
+export function createMainContextProxyIdentifier<T>(identifier: string, ctor: Function): ProxyIdentifier<T> {
 	return new ProxyIdentifier(true, 'm' + identifier, ctor);
 }
 
-export function createExtHostContextProxyIdentifier<T>(identifier:string, ctor:Function): ProxyIdentifier<T> {
+export function createExtHostContextProxyIdentifier<T>(identifier: string, ctor: Function): ProxyIdentifier<T> {
 	return new ProxyIdentifier(false, 'e' + identifier, ctor);
 }
diff --git a/src/vs/workbench/services/thread/electron-browser/threadService.ts b/src/vs/workbench/services/thread/electron-browser/threadService.ts
index c9125eeaa5432..03537d6d79717 100644
--- a/src/vs/workbench/services/thread/electron-browser/threadService.ts
+++ b/src/vs/workbench/services/thread/electron-browser/threadService.ts
@@ -6,26 +6,26 @@
 'use strict';
 
 import * as nls from 'vs/nls';
-import {toErrorMessage} from 'vs/base/common/errorMessage';
-import {stringify} from 'vs/base/common/marshalling';
+import { toErrorMessage } from 'vs/base/common/errorMessage';
+import { stringify } from 'vs/base/common/marshalling';
 import * as objects from 'vs/base/common/objects';
 import * as strings from 'vs/base/common/strings';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {isWindows} from 'vs/base/common/platform';
-import {findFreePort} from 'vs/base/node/ports';
-import {IMainProcessExtHostIPC, create} from 'vs/platform/extensions/common/ipcRemoteCom';
-import {IMessageService, Severity} from 'vs/platform/message/common/message';
-import {AbstractThreadService} from 'vs/workbench/services/thread/common/abstractThreadService';
-import {ILifecycleService, ShutdownEvent} from 'vs/platform/lifecycle/common/lifecycle';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IWindowService} from 'vs/workbench/services/window/electron-browser/windowService';
-import {ChildProcess, fork} from 'child_process';
-import {ipcRenderer as ipc} from 'electron';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
-import {ReloadWindowAction} from 'vs/workbench/electron-browser/actions';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { isWindows } from 'vs/base/common/platform';
+import { findFreePort } from 'vs/base/node/ports';
+import { IMainProcessExtHostIPC, create } from 'vs/platform/extensions/common/ipcRemoteCom';
+import { IMessageService, Severity } from 'vs/platform/message/common/message';
+import { AbstractThreadService } from 'vs/workbench/services/thread/common/abstractThreadService';
+import { ILifecycleService, ShutdownEvent } from 'vs/platform/lifecycle/common/lifecycle';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IWindowService } from 'vs/workbench/services/window/electron-browser/windowService';
+import { ChildProcess, fork } from 'child_process';
+import { ipcRenderer as ipc } from 'electron';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
+import { ReloadWindowAction } from 'vs/workbench/electron-browser/actions';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 
 export const EXTENSION_LOG_BROADCAST_CHANNEL = 'vscode:extensionLog';
 export const EXTENSION_ATTACH_BROADCAST_CHANNEL = 'vscode:extensionAttach';
@@ -213,7 +213,7 @@ class ExtensionHostProcessManager {
 	}
 
 	// @return `true` if ready
-	private onMessaage(msg : any, onExtensionHostMessage : (msg: any) => void): boolean {
+	private onMessaage(msg: any, onExtensionHostMessage: (msg: any) => void): boolean {
 		// 1) Host is ready to receive messages, initialize it
 		if (msg === 'ready') {
 			this.initializeExtensionHost();
@@ -228,7 +228,7 @@ class ExtensionHostProcessManager {
 			return true;
 		}
 
-			// Support logging from extension host
+		// Support logging from extension host
 		if (msg && (<ILogEntry>msg).type === '__$console') {
 			this.logExtensionHostMessage(<ILogEntry>msg);
 			return false;
diff --git a/src/vs/workbench/services/untitled/common/untitledEditorService.ts b/src/vs/workbench/services/untitled/common/untitledEditorService.ts
index 60057649a7dc7..e064aa9da5f56 100644
--- a/src/vs/workbench/services/untitled/common/untitledEditorService.ts
+++ b/src/vs/workbench/services/untitled/common/untitledEditorService.ts
@@ -5,10 +5,10 @@
 'use strict';
 
 import URI from 'vs/base/common/uri';
-import {createDecorator, IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { createDecorator, IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import arrays = require('vs/base/common/arrays');
-import {UntitledEditorInput} from 'vs/workbench/common/editor/untitledEditorInput';
-import Event, {Emitter, once} from 'vs/base/common/event';
+import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput';
+import Event, { Emitter, once } from 'vs/base/common/event';
 
 export const IUntitledEditorService = createDecorator<IUntitledEditorService>('untitledEditorService');
 
@@ -76,7 +76,7 @@ export class UntitledEditorService implements IUntitledEditorService {
 	private _onDidChangeDirty: Emitter<URI>;
 	private _onDidChangeEncoding: Emitter<URI>;
 
-	constructor(@IInstantiationService private instantiationService: IInstantiationService) {
+	constructor( @IInstantiationService private instantiationService: IInstantiationService) {
 		this._onDidChangeDirty = new Emitter<URI>();
 		this._onDidChangeEncoding = new Emitter<URI>();
 	}
diff --git a/src/vs/workbench/services/viewlet/common/viewletService.ts b/src/vs/workbench/services/viewlet/common/viewletService.ts
index c9b2f2a811017..dcc0621594a86 100644
--- a/src/vs/workbench/services/viewlet/common/viewletService.ts
+++ b/src/vs/workbench/services/viewlet/common/viewletService.ts
@@ -4,15 +4,15 @@
  *--------------------------------------------------------------------------------------------*/
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import Event from 'vs/base/common/event';
-import {IViewlet} from 'vs/workbench/common/viewlet';
-import {createDecorator, ServiceIdentifier} from 'vs/platform/instantiation/common/instantiation';
+import { IViewlet } from 'vs/workbench/common/viewlet';
+import { createDecorator, ServiceIdentifier } from 'vs/platform/instantiation/common/instantiation';
 
 export const IViewletService = createDecorator<IViewletService>('viewletService');
 
 export interface IViewletService {
-	_serviceBrand : ServiceIdentifier<any>;
+	_serviceBrand: ServiceIdentifier<any>;
 
 	onDidViewletOpen: Event<IViewlet>;
 
diff --git a/src/vs/workbench/services/window/electron-browser/windowService.ts b/src/vs/workbench/services/window/electron-browser/windowService.ts
index 81af0856ffa81..3eece9266867a 100644
--- a/src/vs/workbench/services/window/electron-browser/windowService.ts
+++ b/src/vs/workbench/services/window/electron-browser/windowService.ts
@@ -5,11 +5,11 @@
 
 'use strict';
 
-import {ElectronWindow} from 'vs/workbench/electron-browser/window';
-import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
-import Event, {Emitter} from 'vs/base/common/event';
+import { ElectronWindow } from 'vs/workbench/electron-browser/window';
+import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
+import Event, { Emitter } from 'vs/base/common/event';
 
-import {ipcRenderer as ipc, remote} from 'electron';
+import { ipcRenderer as ipc, remote } from 'electron';
 
 const windowId = remote.getCurrentWindow().id;
 
diff --git a/src/vs/workbench/test/browser/actionRegistry.test.ts b/src/vs/workbench/test/browser/actionRegistry.test.ts
index f979319c7f8f7..8fe4f7c8dd82d 100644
--- a/src/vs/workbench/test/browser/actionRegistry.test.ts
+++ b/src/vs/workbench/test/browser/actionRegistry.test.ts
@@ -7,11 +7,11 @@
 
 import * as assert from 'assert';
 import * as Platform from 'vs/platform/platform';
-import {SyncActionDescriptor} from 'vs/platform/actions/common/actions';
-import {Separator} from 'vs/base/browser/ui/actionbar/actionbar';
-import {Extensions, IWorkbenchActionRegistry} from 'vs/workbench/common/actionRegistry';
-import {prepareActions} from 'vs/workbench/browser/actionBarRegistry';
-import {Action} from 'vs/base/common/actions';
+import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
+import { Separator } from 'vs/base/browser/ui/actionbar/actionbar';
+import { Extensions, IWorkbenchActionRegistry } from 'vs/workbench/common/actionRegistry';
+import { prepareActions } from 'vs/workbench/browser/actionBarRegistry';
+import { Action } from 'vs/base/common/actions';
 
 
 class MyClass extends Action {
diff --git a/src/vs/workbench/test/browser/part.test.ts b/src/vs/workbench/test/browser/part.test.ts
index 26a87d173ad26..28178f6dfc32d 100644
--- a/src/vs/workbench/test/browser/part.test.ts
+++ b/src/vs/workbench/test/browser/part.test.ts
@@ -6,13 +6,13 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Build, Builder} from 'vs/base/browser/builder';
-import {Part} from 'vs/workbench/browser/part';
+import { Build, Builder } from 'vs/base/browser/builder';
+import { Part } from 'vs/workbench/browser/part';
 import * as Types from 'vs/base/common/types';
 import * as TestUtils from 'vs/test/utils/servicesTestUtils';
-import {IWorkspaceContextService, WorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {Storage, InMemoryLocalStorage} from 'vs/workbench/common/storage';
+import { IWorkspaceContextService, WorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { Storage, InMemoryLocalStorage } from 'vs/workbench/common/storage';
 
 class MyPart extends Part {
 
@@ -43,7 +43,7 @@ class MyPart2 extends Part {
 	}
 
 	public createTitleArea(parent: Builder): Builder {
-		return parent.div(function(div) {
+		return parent.div(function (div) {
 			div.span({
 				id: 'myPart.title',
 				innerHtml: 'Title'
@@ -52,7 +52,7 @@ class MyPart2 extends Part {
 	}
 
 	public createContentArea(parent: Builder): Builder {
-		return parent.div(function(div) {
+		return parent.div(function (div) {
 			div.span({
 				id: 'myPart.content',
 				innerHtml: 'Content'
@@ -61,7 +61,7 @@ class MyPart2 extends Part {
 	}
 
 	public createStatusArea(parent: Builder): Builder {
-		return parent.div(function(div) {
+		return parent.div(function (div) {
 			div.span({
 				id: 'myPart.status',
 				innerHtml: 'Status'
@@ -81,7 +81,7 @@ class MyPart3 extends Part {
 	}
 
 	public createContentArea(parent: Builder): Builder {
-		return parent.div(function(div) {
+		return parent.div(function (div) {
 			div.span({
 				id: 'myPart.content',
 				innerHtml: 'Content'
@@ -112,7 +112,7 @@ suite('Workbench Part', () => {
 		document.body.removeChild(fixture);
 	});
 
-	test('Creation', function() {
+	test('Creation', function () {
 		let b = Build.withElementById(fixtureId);
 		b.div().hide();
 
@@ -149,7 +149,7 @@ suite('Workbench Part', () => {
 		assert.strictEqual(Types.isEmptyObject(memento), true);
 	});
 
-	test('Part Layout with Title, Content and Status', function() {
+	test('Part Layout with Title, Content and Status', function () {
 		let b = Build.withElementById(fixtureId);
 		b.div().hide();
 
@@ -161,7 +161,7 @@ suite('Workbench Part', () => {
 		assert(Build.withElementById('myPart.status'));
 	});
 
-	test('Part Layout with Content only', function() {
+	test('Part Layout with Content only', function () {
 		let b = Build.withElementById(fixtureId);
 		b.div().hide();
 
diff --git a/src/vs/workbench/test/browser/parts/editor/baseEditor.test.ts b/src/vs/workbench/test/browser/parts/editor/baseEditor.test.ts
index c21a26a2d9e0f..bc772454065e7 100644
--- a/src/vs/workbench/test/browser/parts/editor/baseEditor.test.ts
+++ b/src/vs/workbench/test/browser/parts/editor/baseEditor.test.ts
@@ -6,15 +6,15 @@
 'use strict';
 
 import * as assert from 'assert';
-import {BaseEditor, EditorInputAction, EditorInputActionContributor, EditorDescriptor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {EditorInput, EditorOptions, Extensions, IEditorRegistry, IEditorInputFactory} from 'vs/workbench/common/editor';
+import { BaseEditor, EditorInputAction, EditorInputActionContributor, EditorDescriptor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { EditorInput, EditorOptions, Extensions, IEditorRegistry, IEditorInputFactory } from 'vs/workbench/common/editor';
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
 import * as Platform from 'vs/platform/platform';
-import {SyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {StringEditorInput} from 'vs/workbench/common/editor/stringEditorInput';
-import {ITelemetryService, NullTelemetryService} from 'vs/platform/telemetry/common/telemetry';
-import {PLAINTEXT_MODE_ID} from 'vs/editor/common/modes/modesRegistry';
+import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { StringEditorInput } from 'vs/workbench/common/editor/stringEditorInput';
+import { ITelemetryService, NullTelemetryService } from 'vs/platform/telemetry/common/telemetry';
+import { PLAINTEXT_MODE_ID } from 'vs/editor/common/modes/modesRegistry';
 
 let EditorRegistry: IEditorRegistry = Platform.Registry.as(Extensions.Editors);
 
diff --git a/src/vs/workbench/test/browser/parts/quickOpen/quickopen.perf.test.ts b/src/vs/workbench/test/browser/parts/quickOpen/quickopen.perf.test.ts
index 680f09ad82182..8f7ee0b679577 100644
--- a/src/vs/workbench/test/browser/parts/quickOpen/quickopen.perf.test.ts
+++ b/src/vs/workbench/test/browser/parts/quickOpen/quickopen.perf.test.ts
@@ -7,29 +7,29 @@
 
 import 'vs/workbench/parts/search/browser/search.contribution'; // load contributions
 import * as assert from 'assert';
-import {WorkspaceContextService, IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {createSyncDescriptor} from 'vs/platform/instantiation/common/descriptors';
-import {IEditorGroupService} from 'vs/workbench/services/group/common/groupService';
-import {ISearchService} from 'vs/platform/search/common/search';
-import {ITelemetryService, ITelemetryInfo, ITelemetryExperiments, defaultExperiments} from 'vs/platform/telemetry/common/telemetry';
-import {IUntitledEditorService, UntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService';
+import { WorkspaceContextService, IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { createSyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
+import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
+import { ISearchService } from 'vs/platform/search/common/search';
+import { ITelemetryService, ITelemetryInfo, ITelemetryExperiments, defaultExperiments } from 'vs/platform/telemetry/common/telemetry';
+import { IUntitledEditorService, UntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
 import * as minimist from 'minimist';
 import * as path from 'path';
-import {QuickOpenHandler, IQuickOpenRegistry, Extensions} from 'vs/workbench/browser/quickopen';
-import {Registry} from 'vs/platform/platform';
-import {SearchService} from 'vs/workbench/services/search/node/searchService';
-import {ServiceCollection} from 'vs/platform/instantiation/common/serviceCollection';
-import {TestEnvironmentService, TestEditorService, TestEditorGroupService} from 'vs/test/utils/servicesTestUtils';
-import {IEnvironmentService} from 'vs/platform/environment/common/environment';
+import { QuickOpenHandler, IQuickOpenRegistry, Extensions } from 'vs/workbench/browser/quickopen';
+import { Registry } from 'vs/platform/platform';
+import { SearchService } from 'vs/workbench/services/search/node/searchService';
+import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
+import { TestEnvironmentService, TestEditorService, TestEditorGroupService } from 'vs/test/utils/servicesTestUtils';
+import { IEnvironmentService } from 'vs/platform/environment/common/environment';
 import * as Timer from 'vs/base/common/timer';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import URI from 'vs/base/common/uri';
-import {InstantiationService} from 'vs/platform/instantiation/common/instantiationService';
-import {SimpleConfigurationService} from 'vs/editor/browser/standalone/simpleServices';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {ModelServiceImpl} from 'vs/editor/common/services/modelServiceImpl';
-import {IModelService} from 'vs/editor/common/services/modelService';
+import { InstantiationService } from 'vs/platform/instantiation/common/instantiationService';
+import { SimpleConfigurationService } from 'vs/editor/browser/standalone/simpleServices';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { ModelServiceImpl } from 'vs/editor/common/services/modelServiceImpl';
+import { IModelService } from 'vs/editor/common/services/modelService';
 
 declare var __dirname: string;
 
diff --git a/src/vs/workbench/test/browser/parts/quickOpen/quickopen.test.ts b/src/vs/workbench/test/browser/parts/quickOpen/quickopen.test.ts
index 052fd3ae6f89d..9b1cb9f1a2a7c 100644
--- a/src/vs/workbench/test/browser/parts/quickOpen/quickopen.test.ts
+++ b/src/vs/workbench/test/browser/parts/quickOpen/quickopen.test.ts
@@ -7,9 +7,9 @@
 
 import * as assert from 'assert';
 import 'vs/workbench/browser/parts/editor/editor.contribution'; // make sure to load all contributed editor things into tests
-import {TestQuickOpenService} from 'vs/test/utils/servicesTestUtils';
-import {Registry} from 'vs/platform/platform';
-import {QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions as QuickOpenExtensions, QuickOpenAction} from 'vs/workbench/browser/quickopen';
+import { TestQuickOpenService } from 'vs/test/utils/servicesTestUtils';
+import { Registry } from 'vs/platform/platform';
+import { QuickOpenHandlerDescriptor, IQuickOpenRegistry, Extensions as QuickOpenExtensions, QuickOpenAction } from 'vs/workbench/browser/quickopen';
 
 suite('Workbench QuickOpen', () => {
 
diff --git a/src/vs/workbench/test/browser/services.test.ts b/src/vs/workbench/test/browser/services.test.ts
index 4eebc8e09942f..01dc2a40b2626 100644
--- a/src/vs/workbench/test/browser/services.test.ts
+++ b/src/vs/workbench/test/browser/services.test.ts
@@ -6,27 +6,27 @@
 'use strict';
 
 import * as assert from 'assert';
-import {IAction, IActionItem} from 'vs/base/common/actions';
-import {Promise, TPromise} from 'vs/base/common/winjs.base';
+import { IAction, IActionItem } from 'vs/base/common/actions';
+import { Promise, TPromise } from 'vs/base/common/winjs.base';
 import paths = require('vs/base/common/paths');
-import {IEditorControl} from 'vs/platform/editor/common/editor';
+import { IEditorControl } from 'vs/platform/editor/common/editor';
 import URI from 'vs/base/common/uri';
-import {BaseEditor} from 'vs/workbench/browser/parts/editor/baseEditor';
-import {EditorInput, EditorOptions, TextEditorOptions} from 'vs/workbench/common/editor';
-import {StringEditorInput} from 'vs/workbench/common/editor/stringEditorInput';
-import {StringEditorModel} from 'vs/workbench/common/editor/stringEditorModel';
-import {FileEditorInput} from 'vs/workbench/parts/files/common/editors/fileEditorInput';
-import {TextFileEditorModel} from 'vs/workbench/services/textfile/common/textFileEditorModel';
-import {workbenchInstantiationService} from 'vs/test/utils/servicesTestUtils';
-import {Viewlet} from 'vs/workbench/browser/viewlet';
-import {IPanel} from 'vs/workbench/common/panel';
-import {WorkbenchProgressService, ScopedService} from 'vs/workbench/services/progress/browser/progressService';
-import {DelegatingWorkbenchEditorService, WorkbenchEditorService, IEditorPart} from 'vs/workbench/services/editor/browser/editorService';
-import {IViewletService} from 'vs/workbench/services/viewlet/common/viewletService';
-import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
-import {IViewlet} from 'vs/workbench/common/viewlet';
-import {Position, Direction, IEditor} from 'vs/platform/editor/common/editor';
-import {Emitter} from 'vs/base/common/event';
+import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor';
+import { EditorInput, EditorOptions, TextEditorOptions } from 'vs/workbench/common/editor';
+import { StringEditorInput } from 'vs/workbench/common/editor/stringEditorInput';
+import { StringEditorModel } from 'vs/workbench/common/editor/stringEditorModel';
+import { FileEditorInput } from 'vs/workbench/parts/files/common/editors/fileEditorInput';
+import { TextFileEditorModel } from 'vs/workbench/services/textfile/common/textFileEditorModel';
+import { workbenchInstantiationService } from 'vs/test/utils/servicesTestUtils';
+import { Viewlet } from 'vs/workbench/browser/viewlet';
+import { IPanel } from 'vs/workbench/common/panel';
+import { WorkbenchProgressService, ScopedService } from 'vs/workbench/services/progress/browser/progressService';
+import { DelegatingWorkbenchEditorService, WorkbenchEditorService, IEditorPart } from 'vs/workbench/services/editor/browser/editorService';
+import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService';
+import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
+import { IViewlet } from 'vs/workbench/common/viewlet';
+import { Position, Direction, IEditor } from 'vs/platform/editor/common/editor';
+import { Emitter } from 'vs/base/common/event';
 
 let activeViewlet: Viewlet = <any>{};
 let activeEditor: BaseEditor = <any>{
diff --git a/src/vs/workbench/test/browser/viewlet.test.ts b/src/vs/workbench/test/browser/viewlet.test.ts
index 7eebd5690b6ab..67e3a93d89fbf 100644
--- a/src/vs/workbench/test/browser/viewlet.test.ts
+++ b/src/vs/workbench/test/browser/viewlet.test.ts
@@ -7,7 +7,7 @@
 
 import * as assert from 'assert';
 import * as Platform from 'vs/platform/platform';
-import {ViewletDescriptor, Extensions} from 'vs/workbench/browser/viewlet';
+import { ViewletDescriptor, Extensions } from 'vs/workbench/browser/viewlet';
 import * as Types from 'vs/base/common/types';
 
 suite('Workbench Viewlet', () => {
diff --git a/src/vs/workbench/test/common/editor/editorInput.test.ts b/src/vs/workbench/test/common/editor/editorInput.test.ts
index be9922707af10..7faa39f677de2 100644
--- a/src/vs/workbench/test/common/editor/editorInput.test.ts
+++ b/src/vs/workbench/test/common/editor/editorInput.test.ts
@@ -6,8 +6,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {EditorInput} from 'vs/workbench/common/editor';
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
+import { EditorInput } from 'vs/workbench/common/editor';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
 
 class MyEditorInput extends EditorInput {
 	public getTypeId(): string {
diff --git a/src/vs/workbench/test/common/editor/editorModel.test.ts b/src/vs/workbench/test/common/editor/editorModel.test.ts
index a0e6bd27e874a..73024ccd0c382 100644
--- a/src/vs/workbench/test/common/editor/editorModel.test.ts
+++ b/src/vs/workbench/test/common/editor/editorModel.test.ts
@@ -7,13 +7,13 @@
 
 import * as assert from 'assert';
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
-import {EditorModel} from 'vs/workbench/common/editor';
-import {BaseTextEditorModel} from 'vs/workbench/common/editor/textEditorModel';
-import {TextDiffEditorModel} from 'vs/workbench/common/editor/textDiffEditorModel';
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
-import {StringEditorInput} from 'vs/workbench/common/editor/stringEditorInput';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IModeService} from 'vs/editor/common/services/modeService';
+import { EditorModel } from 'vs/workbench/common/editor';
+import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel';
+import { TextDiffEditorModel } from 'vs/workbench/common/editor/textDiffEditorModel';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
+import { StringEditorInput } from 'vs/workbench/common/editor/stringEditorInput';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IModeService } from 'vs/editor/common/services/modeService';
 import { createMockModelService } from 'vs/test/utils/servicesTestUtils';
 
 class MyEditorModel extends EditorModel { }
@@ -25,8 +25,8 @@ suite('Workbench - EditorModel', () => {
 	let modeService: IModeService;
 
 	setup(() => {
-		instantiationService= new TestInstantiationService();
-		modeService= instantiationService.stub(IModeService);
+		instantiationService = new TestInstantiationService();
+		modeService = instantiationService.stub(IModeService);
 	});
 
 	test('EditorModel', function (done) {
@@ -51,7 +51,7 @@ suite('Workbench - EditorModel', () => {
 		let modelService = createMockModelService(instantiationService);
 
 		let m = new MyTextEditorModel(modelService, modeService);
-		m.load().then((model:any) => {
+		m.load().then((model: any) => {
 			assert(model === m);
 			return model.createTextEditorModel('foo', null, 'text/plain').then(() => {
 				assert.strictEqual(m.isResolved(), true);
diff --git a/src/vs/workbench/test/common/editor/editorOptions.test.ts b/src/vs/workbench/test/common/editor/editorOptions.test.ts
index d5d6d8415f8f6..b7cd651893783 100644
--- a/src/vs/workbench/test/common/editor/editorOptions.test.ts
+++ b/src/vs/workbench/test/common/editor/editorOptions.test.ts
@@ -6,7 +6,7 @@
 'use strict';
 
 import * as assert from 'assert';
-import {EditorOptions, TextEditorOptions} from 'vs/workbench/common/editor';
+import { EditorOptions, TextEditorOptions } from 'vs/workbench/common/editor';
 
 suite('Workbench - EditorOptions', () => {
 
diff --git a/src/vs/workbench/test/common/editor/editorStacksModel.test.ts b/src/vs/workbench/test/common/editor/editorStacksModel.test.ts
index 94c3822ec4608..75f713806baf7 100644
--- a/src/vs/workbench/test/common/editor/editorStacksModel.test.ts
+++ b/src/vs/workbench/test/common/editor/editorStacksModel.test.ts
@@ -6,19 +6,19 @@
 'use strict';
 
 import * as assert from 'assert';
-import {EditorStacksModel, EditorGroup, GroupEvent} from 'vs/workbench/common/editor/editorStacksModel';
-import {EditorInput, IFileEditorInput, IEditorIdentifier, IEditorGroup, IStacksModelChangeEvent, IEditorRegistry, Extensions as EditorExtensions, IEditorInputFactory} from 'vs/workbench/common/editor';
+import { EditorStacksModel, EditorGroup, GroupEvent } from 'vs/workbench/common/editor/editorStacksModel';
+import { EditorInput, IFileEditorInput, IEditorIdentifier, IEditorGroup, IStacksModelChangeEvent, IEditorRegistry, Extensions as EditorExtensions, IEditorInputFactory } from 'vs/workbench/common/editor';
 import URI from 'vs/base/common/uri';
-import {TestStorageService, TestConfigurationService, TestLifecycleService, TestContextService} from 'vs/test/utils/servicesTestUtils';
-import {TestInstantiationService} from 'vs/test/utils/instantiationTestUtils';
-import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
-import {IStorageService} from 'vs/platform/storage/common/storage';
-import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
-import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {Registry} from 'vs/platform/platform';
-import {Position, Direction} from 'vs/platform/editor/common/editor';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {DiffEditorInput} from 'vs/workbench/common/editor/diffEditorInput';
+import { TestStorageService, TestConfigurationService, TestLifecycleService, TestContextService } from 'vs/test/utils/servicesTestUtils';
+import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
+import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
+import { IStorageService } from 'vs/platform/storage/common/storage';
+import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
+import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { Registry } from 'vs/platform/platform';
+import { Position, Direction } from 'vs/platform/editor/common/editor';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
 import 'vs/workbench/browser/parts/editor/baseEditor';
 
 function create(): EditorStacksModel {
diff --git a/src/vs/workbench/test/common/editor/stringEditorInput.test.ts b/src/vs/workbench/test/common/editor/stringEditorInput.test.ts
index e0090fd3f5d68..0b784fef1d313 100644
--- a/src/vs/workbench/test/common/editor/stringEditorInput.test.ts
+++ b/src/vs/workbench/test/common/editor/stringEditorInput.test.ts
@@ -8,12 +8,12 @@
 import * as assert from 'assert';
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
 import URI from 'vs/base/common/uri';
-import {StringEditorInput} from 'vs/workbench/common/editor/stringEditorInput';
-import {ResourceEditorInput} from 'vs/workbench/common/editor/resourceEditorInput';
-import {ResourceEditorModel} from 'vs/workbench/common/editor/resourceEditorModel';
-import {createMockModelService, TestEditorService} from 'vs/test/utils/servicesTestUtils';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IModeService} from 'vs/editor/common/services/modeService';
+import { StringEditorInput } from 'vs/workbench/common/editor/stringEditorInput';
+import { ResourceEditorInput } from 'vs/workbench/common/editor/resourceEditorInput';
+import { ResourceEditorModel } from 'vs/workbench/common/editor/resourceEditorModel';
+import { createMockModelService, TestEditorService } from 'vs/test/utils/servicesTestUtils';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IModeService } from 'vs/editor/common/services/modeService';
 import WorkbenchEditorService = require('vs/workbench/services/editor/common/editorService');
 
 suite('Workbench - StringEditorInput', () => {
@@ -24,10 +24,10 @@ suite('Workbench - StringEditorInput', () => {
 	let modeService: IModeService;
 
 	setup(() => {
-		instantiationService= new TestInstantiationService();
-		editorService= <WorkbenchEditorService.IWorkbenchEditorService>instantiationService.stub(WorkbenchEditorService.IWorkbenchEditorService, new TestEditorService(function () { }));
-		modeService= instantiationService.stub(IModeService);
-		modelService= <IModelService> instantiationService.stub(IModelService, createMockModelService(instantiationService));
+		instantiationService = new TestInstantiationService();
+		editorService = <WorkbenchEditorService.IWorkbenchEditorService>instantiationService.stub(WorkbenchEditorService.IWorkbenchEditorService, new TestEditorService(function () { }));
+		modeService = instantiationService.stub(IModeService);
+		modelService = <IModelService>instantiationService.stub(IModelService, createMockModelService(instantiationService));
 	});
 
 	test('StringEditorInput', function (done) {
diff --git a/src/vs/workbench/test/common/editor/stringEditorModel.test.ts b/src/vs/workbench/test/common/editor/stringEditorModel.test.ts
index d36f66ca699ae..4142096f30aa3 100644
--- a/src/vs/workbench/test/common/editor/stringEditorModel.test.ts
+++ b/src/vs/workbench/test/common/editor/stringEditorModel.test.ts
@@ -7,17 +7,17 @@
 
 import * as assert from 'assert';
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
-import {StringEditorModel} from 'vs/workbench/common/editor/stringEditorModel';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {IModeService} from 'vs/editor/common/services/modeService';
-import {createMockModelService} from 'vs/test/utils/servicesTestUtils';
+import { StringEditorModel } from 'vs/workbench/common/editor/stringEditorModel';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { IModeService } from 'vs/editor/common/services/modeService';
+import { createMockModelService } from 'vs/test/utils/servicesTestUtils';
 
 suite('Workbench - StringEditorModel', () => {
 
 	let instantiationService: TestInstantiationService;
 
 	setup(() => {
-		instantiationService= new TestInstantiationService();
+		instantiationService = new TestInstantiationService();
 		instantiationService.stub(IModeService);
 	});
 
diff --git a/src/vs/workbench/test/common/editor/untitledEditor.test.ts b/src/vs/workbench/test/common/editor/untitledEditor.test.ts
index ab76007dd75eb..79318810459e1 100644
--- a/src/vs/workbench/test/common/editor/untitledEditor.test.ts
+++ b/src/vs/workbench/test/common/editor/untitledEditor.test.ts
@@ -6,15 +6,15 @@
 
 import URI from 'vs/base/common/uri';
 import * as assert from 'assert';
-import {join} from 'vs/base/common/paths';
-import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
-import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
-import {workbenchInstantiationService} from 'vs/test/utils/servicesTestUtils';
-import {UntitledEditorModel} from 'vs/workbench/common/editor/untitledEditorModel';
-import {UntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { join } from 'vs/base/common/paths';
+import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
+import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
+import { workbenchInstantiationService } from 'vs/test/utils/servicesTestUtils';
+import { UntitledEditorModel } from 'vs/workbench/common/editor/untitledEditorModel';
+import { UntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
 
 class ServiceAccessor {
-	constructor(@IUntitledEditorService public untitledEditorService: UntitledEditorService) {
+	constructor( @IUntitledEditorService public untitledEditorService: UntitledEditorService) {
 	}
 }
 
diff --git a/src/vs/workbench/test/common/memento.test.ts b/src/vs/workbench/test/common/memento.test.ts
index ec828e011b4f1..9f763d1758fd7 100644
--- a/src/vs/workbench/test/common/memento.test.ts
+++ b/src/vs/workbench/test/common/memento.test.ts
@@ -6,11 +6,11 @@
 'use strict';
 
 import * as assert from 'assert';
-import {WorkspaceContextService} from 'vs/platform/workspace/common/workspace';
-import {StorageScope} from 'vs/platform/storage/common/storage';
+import { WorkspaceContextService } from 'vs/platform/workspace/common/workspace';
+import { StorageScope } from 'vs/platform/storage/common/storage';
 import * as TestUtils from 'vs/test/utils/servicesTestUtils';
-import {Memento, Scope} from 'vs/workbench/common/memento';
-import {Storage, InMemoryLocalStorage} from 'vs/workbench/common/storage';
+import { Memento, Scope } from 'vs/workbench/common/memento';
+import { Storage, InMemoryLocalStorage } from 'vs/workbench/common/storage';
 
 suite('Workbench Memento', () => {
 	let context;
diff --git a/src/vs/workbench/test/common/storage.test.ts b/src/vs/workbench/test/common/storage.test.ts
index 185393de3a8b5..9c5784bf18eb0 100644
--- a/src/vs/workbench/test/common/storage.test.ts
+++ b/src/vs/workbench/test/common/storage.test.ts
@@ -6,10 +6,10 @@
 'use strict';
 
 import * as assert from 'assert';
-import {clone} from 'vs/base/common/objects';
-import {StorageScope} from 'vs/platform/storage/common/storage';
-import {TestContextService, TestWorkspace} from 'vs/test/utils/servicesTestUtils';
-import {Storage, InMemoryLocalStorage} from 'vs/workbench/common/storage';
+import { clone } from 'vs/base/common/objects';
+import { StorageScope } from 'vs/platform/storage/common/storage';
+import { TestContextService, TestWorkspace } from 'vs/test/utils/servicesTestUtils';
+import { Storage, InMemoryLocalStorage } from 'vs/workbench/common/storage';
 
 suite('Workbench Storage', () => {
 
diff --git a/src/vs/workbench/test/node/api/extHostApiCommands.test.ts b/src/vs/workbench/test/node/api/extHostApiCommands.test.ts
index de1f24ae48e75..c2a011b93c0e6 100644
--- a/src/vs/workbench/test/node/api/extHostApiCommands.test.ts
+++ b/src/vs/workbench/test/node/api/extHostApiCommands.test.ts
@@ -6,29 +6,29 @@
 'use strict';
 
 import * as assert from 'assert';
-import {setUnexpectedErrorHandler, errorHandler} from 'vs/base/common/errors';
+import { setUnexpectedErrorHandler, errorHandler } from 'vs/base/common/errors';
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
 import URI from 'vs/base/common/uri';
-import {TPromise} from 'vs/base/common/winjs.base';
+import { TPromise } from 'vs/base/common/winjs.base';
 import * as types from 'vs/workbench/api/node/extHostTypes';
 import * as EditorCommon from 'vs/editor/common/editorCommon';
-import {Model as EditorModel} from 'vs/editor/common/model/model';
-import {TestThreadService} from 'vs/workbench/test/node/api/testThreadService';
-import {MarkerService} from 'vs/platform/markers/common/markerService';
-import {IMarkerService} from 'vs/platform/markers/common/markers';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {ICommandService, CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {IModelService} from 'vs/editor/common/services/modelService';
-import {ExtHostLanguageFeatures} from 'vs/workbench/api/node/extHostLanguageFeatures';
-import {MainThreadLanguageFeatures} from 'vs/workbench/api/node/mainThreadLanguageFeatures';
-import {registerApiCommands} from 'vs/workbench/api/node/extHostApiCommands';
-import {ExtHostCommands} from 'vs/workbench/api/node/extHostCommands';
-import {ExtHostHeapService} from 'vs/workbench/api/node/extHostHeapService';
-import {MainThreadCommands} from 'vs/workbench/api/node/mainThreadCommands';
-import {ExtHostDocuments} from 'vs/workbench/api/node/extHostDocuments';
+import { Model as EditorModel } from 'vs/editor/common/model/model';
+import { TestThreadService } from 'vs/workbench/test/node/api/testThreadService';
+import { MarkerService } from 'vs/platform/markers/common/markerService';
+import { IMarkerService } from 'vs/platform/markers/common/markers';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { ICommandService, CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { IModelService } from 'vs/editor/common/services/modelService';
+import { ExtHostLanguageFeatures } from 'vs/workbench/api/node/extHostLanguageFeatures';
+import { MainThreadLanguageFeatures } from 'vs/workbench/api/node/mainThreadLanguageFeatures';
+import { registerApiCommands } from 'vs/workbench/api/node/extHostApiCommands';
+import { ExtHostCommands } from 'vs/workbench/api/node/extHostCommands';
+import { ExtHostHeapService } from 'vs/workbench/api/node/extHostHeapService';
+import { MainThreadCommands } from 'vs/workbench/api/node/mainThreadCommands';
+import { ExtHostDocuments } from 'vs/workbench/api/node/extHostDocuments';
 import * as ExtHostTypeConverters from 'vs/workbench/api/node/extHostTypeConverters';
-import {MainContext, ExtHostContext} from 'vs/workbench/api/node/extHost.protocol';
-import {ExtHostDiagnostics} from 'vs/workbench/api/node/extHostDiagnostics';
+import { MainContext, ExtHostContext } from 'vs/workbench/api/node/extHost.protocol';
+import { ExtHostDiagnostics } from 'vs/workbench/api/node/extHostDiagnostics';
 
 const defaultSelector = { scheme: 'far' };
 const model: EditorCommon.IModel = EditorModel.createFromString(
@@ -48,7 +48,7 @@ let commands: ExtHostCommands;
 let disposables: vscode.Disposable[] = [];
 let originalErrorHandler: (e: any) => any;
 
-suite('ExtHostLanguageFeatureCommands', function() {
+suite('ExtHostLanguageFeatureCommands', function () {
 
 	suiteSetup((done) => {
 
@@ -123,7 +123,7 @@ suite('ExtHostLanguageFeatureCommands', function() {
 		model.dispose();
 	});
 
-	teardown(function(done) {
+	teardown(function (done) {
 		while (disposables.length) {
 			disposables.pop().dispose();
 		}
@@ -133,7 +133,7 @@ suite('ExtHostLanguageFeatureCommands', function() {
 
 	// --- workspace symbols
 
-	test('WorkspaceSymbols, invalid arguments', function(done) {
+	test('WorkspaceSymbols, invalid arguments', function (done) {
 		let promises = [
 			commands.executeCommand('vscode.executeWorkspaceSymbolProvider'),
 			commands.executeCommand('vscode.executeWorkspaceSymbolProvider', null),
@@ -150,7 +150,7 @@ suite('ExtHostLanguageFeatureCommands', function() {
 		// });
 	});
 
-	test('WorkspaceSymbols, back and forth', function(done) {
+	test('WorkspaceSymbols, back and forth', function (done) {
 
 		disposables.push(extHost.registerWorkspaceSymbolProvider(<vscode.WorkspaceSymbolProvider>{
 			provideWorkspaceSymbols(query): any {
@@ -186,7 +186,7 @@ suite('ExtHostLanguageFeatureCommands', function() {
 
 	// --- definition
 
-	test('Definition, invalid arguments', function(done) {
+	test('Definition, invalid arguments', function (done) {
 		let promises = [
 			commands.executeCommand('vscode.executeDefinitionProvider'),
 			commands.executeCommand('vscode.executeDefinitionProvider', null),
@@ -203,7 +203,7 @@ suite('ExtHostLanguageFeatureCommands', function() {
 		// });
 	});
 
-	test('Definition, back and forth', function() {
+	test('Definition, back and forth', function () {
 
 		disposables.push(extHost.registerDefinitionProvider(defaultSelector, <vscode.DefinitionProvider>{
 			provideDefinition(doc: any): any {
@@ -256,7 +256,7 @@ suite('ExtHostLanguageFeatureCommands', function() {
 
 	// --- outline
 
-	test('Outline, back and forth', function(done) {
+	test('Outline, back and forth', function (done) {
 		disposables.push(extHost.registerDocumentSymbolProvider(defaultSelector, <vscode.DocumentSymbolProvider>{
 			provideDocumentSymbols(): any {
 				return [
@@ -279,7 +279,7 @@ suite('ExtHostLanguageFeatureCommands', function() {
 
 	// --- suggest
 
-	test('Suggest, back and forth', function(done) {
+	test('Suggest, back and forth', function (done) {
 		disposables.push(extHost.registerCompletionItemProvider(defaultSelector, <vscode.CompletionItemProvider>{
 			provideCompletionItems(doc, pos): any {
 				let a = new types.CompletionItem('item1');
@@ -336,12 +336,12 @@ suite('ExtHostLanguageFeatureCommands', function() {
 		}, done);
 	});
 
-	test('Suggest, return CompletionList !array', function(done) {
+	test('Suggest, return CompletionList !array', function (done) {
 		disposables.push(extHost.registerCompletionItemProvider(defaultSelector, <vscode.CompletionItemProvider>{
 			provideCompletionItems(): any {
 				let a = new types.CompletionItem('item1');
 				let b = new types.CompletionItem('item2');
-				return new types.CompletionList(<any> [a,b], true);
+				return new types.CompletionList(<any>[a, b], true);
 			}
 		}, []));
 
@@ -356,7 +356,7 @@ suite('ExtHostLanguageFeatureCommands', function() {
 
 	// --- quickfix
 
-	test('QuickFix, back and forth', function() {
+	test('QuickFix, back and forth', function () {
 		disposables.push(extHost.registerCodeActionProvider(defaultSelector, <vscode.CodeActionProvider>{
 			provideCodeActions(): any {
 				return [{ command: 'testing', title: 'Title', arguments: [1, 2, true] }];
@@ -376,7 +376,7 @@ suite('ExtHostLanguageFeatureCommands', function() {
 
 	// --- code lens
 
-	test('CodeLens, back and forth', function() {
+	test('CodeLens, back and forth', function () {
 
 		const complexArg = {
 			foo() { },
@@ -404,7 +404,7 @@ suite('ExtHostLanguageFeatureCommands', function() {
 		});
 	});
 
-	test('Links, back and forth', function() {
+	test('Links, back and forth', function () {
 
 		disposables.push(extHost.registerDocumentLinkProvider(defaultSelector, <vscode.DocumentLinkProvider>{
 			provideDocumentLinks(): any {
diff --git a/src/vs/workbench/test/node/api/extHostCommands.test.ts b/src/vs/workbench/test/node/api/extHostCommands.test.ts
index ddc9918178771..efd619cbc17fe 100644
--- a/src/vs/workbench/test/node/api/extHostCommands.test.ts
+++ b/src/vs/workbench/test/node/api/extHostCommands.test.ts
@@ -6,11 +6,11 @@
 'use strict';
 
 import * as assert from 'assert';
-import {ExtHostCommands} from 'vs/workbench/api/node/extHostCommands';
-import {MainThreadCommandsShape} from 'vs/workbench/api/node/extHost.protocol';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {OneGetThreadService} from './testThreadService';
+import { ExtHostCommands } from 'vs/workbench/api/node/extHostCommands';
+import { MainThreadCommandsShape } from 'vs/workbench/api/node/extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { OneGetThreadService } from './testThreadService';
 
 suite('ExtHostCommands', function () {
 
diff --git a/src/vs/workbench/test/node/api/extHostConfiguration.test.ts b/src/vs/workbench/test/node/api/extHostConfiguration.test.ts
index f0dbfd633c339..4eb053a2380c8 100644
--- a/src/vs/workbench/test/node/api/extHostConfiguration.test.ts
+++ b/src/vs/workbench/test/node/api/extHostConfiguration.test.ts
@@ -6,10 +6,10 @@
 'use strict';
 
 import * as assert from 'assert';
-import {ExtHostConfiguration} from 'vs/workbench/api/node/extHostConfiguration';
-import {MainThreadConfigurationShape} from 'vs/workbench/api/node/extHost.protocol';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {ConfigurationTarget, ConfigurationEditingErrorCode, IConfigurationEditingError} from 'vs/workbench/services/configuration/common/configurationEditing';
+import { ExtHostConfiguration } from 'vs/workbench/api/node/extHostConfiguration';
+import { MainThreadConfigurationShape } from 'vs/workbench/api/node/extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { ConfigurationTarget, ConfigurationEditingErrorCode, IConfigurationEditingError } from 'vs/workbench/services/configuration/common/configurationEditing';
 
 suite('ExtHostConfiguration', function () {
 
@@ -64,6 +64,6 @@ suite('ExtHostConfiguration', function () {
 		return createExtHostConfiguration({}, shape)
 			.getConfiguration('')
 			.update('', true, false)
-			.then(() => assert.ok(false), err => { /* expecting rejection */});
+			.then(() => assert.ok(false), err => { /* expecting rejection */ });
 	});
 });
diff --git a/src/vs/workbench/test/node/api/extHostDiagnostics.test.ts b/src/vs/workbench/test/node/api/extHostDiagnostics.test.ts
index ec1c67b84abde..e85d023a23bde 100644
--- a/src/vs/workbench/test/node/api/extHostDiagnostics.test.ts
+++ b/src/vs/workbench/test/node/api/extHostDiagnostics.test.ts
@@ -8,11 +8,11 @@
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
 import Severity from 'vs/base/common/severity';
-import {DiagnosticCollection} from 'vs/workbench/api/node/extHostDiagnostics';
-import {Diagnostic, DiagnosticSeverity, Range} from 'vs/workbench/api/node/extHostTypes';
-import {MainThreadDiagnosticsShape} from 'vs/workbench/api/node/extHost.protocol';
-import {TPromise} from 'vs/base/common/winjs.base';
-import {IMarkerData} from 'vs/platform/markers/common/markers';
+import { DiagnosticCollection } from 'vs/workbench/api/node/extHostDiagnostics';
+import { Diagnostic, DiagnosticSeverity, Range } from 'vs/workbench/api/node/extHostTypes';
+import { MainThreadDiagnosticsShape } from 'vs/workbench/api/node/extHost.protocol';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { IMarkerData } from 'vs/platform/markers/common/markers';
 
 suite('ExtHostDiagnostics', () => {
 
diff --git a/src/vs/workbench/test/node/api/extHostDocuments.test.ts b/src/vs/workbench/test/node/api/extHostDocuments.test.ts
index 401b3b497b735..93c11669a1869 100644
--- a/src/vs/workbench/test/node/api/extHostDocuments.test.ts
+++ b/src/vs/workbench/test/node/api/extHostDocuments.test.ts
@@ -7,9 +7,9 @@
 
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
-import {ExtHostDocumentData} from 'vs/workbench/api/node/extHostDocuments';
-import {Position} from 'vs/workbench/api/node/extHostTypes';
-import {Range as CodeEditorRange} from 'vs/editor/common/core/range';
+import { ExtHostDocumentData } from 'vs/workbench/api/node/extHostDocuments';
+import { Position } from 'vs/workbench/api/node/extHostTypes';
+import { Range as CodeEditorRange } from 'vs/editor/common/core/range';
 import * as EditorCommon from 'vs/editor/common/editorCommon';
 
 
@@ -29,7 +29,7 @@ suite('ExtHostDocument', () => {
 		assert.equal(actual, offset);
 	}
 
-	setup(function() {
+	setup(function () {
 		data = new ExtHostDocumentData(undefined, URI.file(''), [
 			'This is line one', //16
 			'and this is line number two', //27
@@ -38,7 +38,7 @@ suite('ExtHostDocument', () => {
 		], '\n', 'text', 1, false);
 	});
 
-	test('readonly-ness', function() {
+	test('readonly-ness', function () {
 
 		assert.throws(() => data.document.uri = null);
 		assert.throws(() => data.document.fileName = 'foofile');
@@ -48,7 +48,7 @@ suite('ExtHostDocument', () => {
 		assert.throws(() => data.document.lineCount = 9);
 	});
 
-	test('lines', function() {
+	test('lines', function () {
 
 		assert.equal(data.document.lineCount, 4);
 		assert.throws(() => data.document.lineCount = 9);
@@ -105,7 +105,7 @@ suite('ExtHostDocument', () => {
 
 	});
 
-	test('offsetAt', function() {
+	test('offsetAt', function () {
 		assertOffsetAt(0, 0, 0);
 		assertOffsetAt(0, 1, 1);
 		assertOffsetAt(0, 16, 16);
@@ -120,7 +120,7 @@ suite('ExtHostDocument', () => {
 		assertOffsetAt(Number.MAX_VALUE, Number.MAX_VALUE, 95);
 	});
 
-	test('offsetAt, after remove', function() {
+	test('offsetAt, after remove', function () {
 
 		data.onEvents([{
 			range: { startLineNumber: 1, startColumn: 3, endLineNumber: 1, endColumn: 6 },
@@ -137,7 +137,7 @@ suite('ExtHostDocument', () => {
 		assertOffsetAt(1, 0, 14);
 	});
 
-	test('offsetAt, after replace', function() {
+	test('offsetAt, after replace', function () {
 
 		data.onEvents([{
 			range: { startLineNumber: 1, startColumn: 3, endLineNumber: 1, endColumn: 6 },
@@ -154,7 +154,7 @@ suite('ExtHostDocument', () => {
 		assertOffsetAt(1, 0, 25);
 	});
 
-	test('offsetAt, after insert line', function() {
+	test('offsetAt, after insert line', function () {
 
 		data.onEvents([{
 			range: { startLineNumber: 1, startColumn: 3, endLineNumber: 1, endColumn: 6 },
@@ -174,7 +174,7 @@ suite('ExtHostDocument', () => {
 		assertOffsetAt(2, 0, 13 + 1 + 29 + 1);
 	});
 
-	test('offsetAt, after remove line', function() {
+	test('offsetAt, after remove line', function () {
 
 		data.onEvents([{
 			range: { startLineNumber: 1, startColumn: 3, endLineNumber: 2, endColumn: 6 },
@@ -191,7 +191,7 @@ suite('ExtHostDocument', () => {
 		assertOffsetAt(1, 0, 25);
 	});
 
-	test('positionAt', function() {
+	test('positionAt', function () {
 		assertPositionAt(0, 0, 0);
 		assertPositionAt(Number.MIN_VALUE, 0, 0);
 		assertPositionAt(1, 0, 1);
@@ -213,17 +213,17 @@ enum AssertDocumentLineMappingDirection {
 
 suite('ExtHostDocument updates line mapping', () => {
 
-	function positionToStr(position: { line: number; character: number;}): string {
+	function positionToStr(position: { line: number; character: number; }): string {
 		return '(' + position.line + ',' + position.character + ')';
 	}
 
-	function assertDocumentLineMapping(doc:ExtHostDocumentData, direction:AssertDocumentLineMappingDirection): void {
+	function assertDocumentLineMapping(doc: ExtHostDocumentData, direction: AssertDocumentLineMappingDirection): void {
 		let allText = doc.getText();
 
 		let line = 0, character = 0, previousIsCarriageReturn = false;
 		for (let offset = 0; offset <= allText.length; offset++) {
 			// The position coordinate system cannot express the position between \r and \n
-			let	position = new Position(line, character + (previousIsCarriageReturn ? -1 : 0));
+			let position = new Position(line, character + (previousIsCarriageReturn ? -1 : 0));
 
 			if (direction === AssertDocumentLineMappingDirection.OffsetToPosition) {
 				let actualPosition = doc.positionAt(offset);
@@ -246,7 +246,7 @@ suite('ExtHostDocument updates line mapping', () => {
 		}
 	}
 
-	function createChangeEvent(range:CodeEditorRange, text:string, eol?:string): EditorCommon.IModelContentChangedEvent2 {
+	function createChangeEvent(range: CodeEditorRange, text: string, eol?: string): EditorCommon.IModelContentChangedEvent2 {
 		return {
 			range: range,
 			text: text,
@@ -258,7 +258,7 @@ suite('ExtHostDocument updates line mapping', () => {
 		};
 	}
 
-	function testLineMappingDirectionAfterEvents(lines:string[], eol: string, direction:AssertDocumentLineMappingDirection, events:EditorCommon.IModelContentChangedEvent2[]): void {
+	function testLineMappingDirectionAfterEvents(lines: string[], eol: string, direction: AssertDocumentLineMappingDirection, events: EditorCommon.IModelContentChangedEvent2[]): void {
 		let myDocument = new ExtHostDocumentData(undefined, URI.file(''), lines.slice(0), eol, 'text', 1, false);
 		assertDocumentLineMapping(myDocument, direction);
 
@@ -266,7 +266,7 @@ suite('ExtHostDocument updates line mapping', () => {
 		assertDocumentLineMapping(myDocument, direction);
 	}
 
-	function testLineMappingAfterEvents(lines:string[], events:EditorCommon.IModelContentChangedEvent2[]): void {
+	function testLineMappingAfterEvents(lines: string[], events: EditorCommon.IModelContentChangedEvent2[]): void {
 		testLineMappingDirectionAfterEvents(lines, '\n', AssertDocumentLineMappingDirection.PositionToOffset, events);
 		testLineMappingDirectionAfterEvents(lines, '\n', AssertDocumentLineMappingDirection.OffsetToPosition, events);
 
diff --git a/src/vs/workbench/test/node/api/extHostLanguageFeatures.test.ts b/src/vs/workbench/test/node/api/extHostLanguageFeatures.test.ts
index e22a94358752f..a54097ee8e73a 100644
--- a/src/vs/workbench/test/node/api/extHostLanguageFeatures.test.ts
+++ b/src/vs/workbench/test/node/api/extHostLanguageFeatures.test.ts
@@ -7,39 +7,39 @@
 
 import * as assert from 'assert';
 import { TestInstantiationService } from 'vs/test/utils/instantiationTestUtils';
-import {setUnexpectedErrorHandler, errorHandler} from 'vs/base/common/errors';
+import { setUnexpectedErrorHandler, errorHandler } from 'vs/base/common/errors';
 import URI from 'vs/base/common/uri';
 import * as types from 'vs/workbench/api/node/extHostTypes';
 import * as EditorCommon from 'vs/editor/common/editorCommon';
-import {Model as EditorModel} from 'vs/editor/common/model/model';
-import {Position as EditorPosition} from 'vs/editor/common/core/position';
-import {Range as EditorRange} from 'vs/editor/common/core/range';
-import {TestThreadService} from './testThreadService';
-import {IMarkerService} from 'vs/platform/markers/common/markers';
-import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
-import {ExtHostLanguageFeatures} from 'vs/workbench/api/node/extHostLanguageFeatures';
-import {MainThreadLanguageFeatures} from 'vs/workbench/api/node/mainThreadLanguageFeatures';
-import {ExtHostCommands} from 'vs/workbench/api/node/extHostCommands';
-import {MainThreadCommands} from 'vs/workbench/api/node/mainThreadCommands';
-import {ExtHostDocuments} from 'vs/workbench/api/node/extHostDocuments';
-import {getDocumentSymbols} from 'vs/editor/contrib/quickOpen/common/quickOpen';
-import {DocumentSymbolProviderRegistry, DocumentHighlightKind} from 'vs/editor/common/modes';
-import {getCodeLensData} from 'vs/editor/contrib/codelens/common/codelens';
-import {getDeclarationsAtPosition} from 'vs/editor/contrib/goToDeclaration/common/goToDeclaration';
-import {getHover} from 'vs/editor/contrib/hover/common/hover';
-import {getOccurrencesAtPosition} from 'vs/editor/contrib/wordHighlighter/common/wordHighlighter';
-import {provideReferences} from 'vs/editor/contrib/referenceSearch/common/referenceSearch';
-import {getCodeActions} from 'vs/editor/contrib/quickFix/common/quickFix';
-import {getWorkspaceSymbols} from 'vs/workbench/parts/search/common/search';
-import {rename} from 'vs/editor/contrib/rename/common/rename';
-import {provideSignatureHelp} from 'vs/editor/contrib/parameterHints/common/parameterHints';
-import {provideSuggestionItems} from 'vs/editor/contrib/suggest/common/suggest';
-import {getDocumentFormattingEdits, getDocumentRangeFormattingEdits, getOnTypeFormattingEdits} from 'vs/editor/contrib/format/common/format';
-import {getLinks} from 'vs/editor/contrib/links/common/links';
-import {asWinJsPromise} from 'vs/base/common/async';
-import {MainContext, ExtHostContext} from 'vs/workbench/api/node/extHost.protocol';
-import {ExtHostDiagnostics} from 'vs/workbench/api/node/extHostDiagnostics';
-import {ExtHostHeapService} from 'vs/workbench/api/node/extHostHeapService';
+import { Model as EditorModel } from 'vs/editor/common/model/model';
+import { Position as EditorPosition } from 'vs/editor/common/core/position';
+import { Range as EditorRange } from 'vs/editor/common/core/range';
+import { TestThreadService } from './testThreadService';
+import { IMarkerService } from 'vs/platform/markers/common/markers';
+import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
+import { ExtHostLanguageFeatures } from 'vs/workbench/api/node/extHostLanguageFeatures';
+import { MainThreadLanguageFeatures } from 'vs/workbench/api/node/mainThreadLanguageFeatures';
+import { ExtHostCommands } from 'vs/workbench/api/node/extHostCommands';
+import { MainThreadCommands } from 'vs/workbench/api/node/mainThreadCommands';
+import { ExtHostDocuments } from 'vs/workbench/api/node/extHostDocuments';
+import { getDocumentSymbols } from 'vs/editor/contrib/quickOpen/common/quickOpen';
+import { DocumentSymbolProviderRegistry, DocumentHighlightKind } from 'vs/editor/common/modes';
+import { getCodeLensData } from 'vs/editor/contrib/codelens/common/codelens';
+import { getDeclarationsAtPosition } from 'vs/editor/contrib/goToDeclaration/common/goToDeclaration';
+import { getHover } from 'vs/editor/contrib/hover/common/hover';
+import { getOccurrencesAtPosition } from 'vs/editor/contrib/wordHighlighter/common/wordHighlighter';
+import { provideReferences } from 'vs/editor/contrib/referenceSearch/common/referenceSearch';
+import { getCodeActions } from 'vs/editor/contrib/quickFix/common/quickFix';
+import { getWorkspaceSymbols } from 'vs/workbench/parts/search/common/search';
+import { rename } from 'vs/editor/contrib/rename/common/rename';
+import { provideSignatureHelp } from 'vs/editor/contrib/parameterHints/common/parameterHints';
+import { provideSuggestionItems } from 'vs/editor/contrib/suggest/common/suggest';
+import { getDocumentFormattingEdits, getDocumentRangeFormattingEdits, getOnTypeFormattingEdits } from 'vs/editor/contrib/format/common/format';
+import { getLinks } from 'vs/editor/contrib/links/common/links';
+import { asWinJsPromise } from 'vs/base/common/async';
+import { MainContext, ExtHostContext } from 'vs/workbench/api/node/extHost.protocol';
+import { ExtHostDiagnostics } from 'vs/workbench/api/node/extHostDiagnostics';
+import { ExtHostHeapService } from 'vs/workbench/api/node/extHostHeapService';
 
 const defaultSelector = { scheme: 'far' };
 const model: EditorCommon.IModel = EditorModel.createFromString(
@@ -58,12 +58,12 @@ let disposables: vscode.Disposable[] = [];
 let threadService: TestThreadService;
 let originalErrorHandler: (e: any) => any;
 
-suite('ExtHostLanguageFeatures', function() {
+suite('ExtHostLanguageFeatures', function () {
 
 	suiteSetup(() => {
 
 		threadService = new TestThreadService();
-		let instantiationService= new TestInstantiationService();
+		let instantiationService = new TestInstantiationService();
 		instantiationService.stub(IThreadService, threadService);
 		instantiationService.stub(IMarkerService);
 
@@ -109,7 +109,7 @@ suite('ExtHostLanguageFeatures', function() {
 		model.dispose();
 	});
 
-	teardown(function() {
+	teardown(function () {
 		while (disposables.length) {
 			disposables.pop().dispose();
 		}
@@ -118,7 +118,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- outline
 
-	test('DocumentSymbols, register/deregister', function() {
+	test('DocumentSymbols, register/deregister', function () {
 		assert.equal(DocumentSymbolProviderRegistry.all(model).length, 0);
 		let d1 = extHost.registerDocumentSymbolProvider(defaultSelector, <vscode.DocumentSymbolProvider>{
 			provideDocumentSymbols() {
@@ -134,7 +134,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	});
 
-	test('DocumentSymbols, evil provider', function() {
+	test('DocumentSymbols, evil provider', function () {
 		disposables.push(extHost.registerDocumentSymbolProvider(defaultSelector, <vscode.DocumentSymbolProvider>{
 			provideDocumentSymbols(): any {
 				throw new Error('evil document symbol provider');
@@ -154,7 +154,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('DocumentSymbols, data conversion', function() {
+	test('DocumentSymbols, data conversion', function () {
 		disposables.push(extHost.registerDocumentSymbolProvider(defaultSelector, <vscode.DocumentSymbolProvider>{
 			provideDocumentSymbols(): any {
 				return [new types.SymbolInformation('test', types.SymbolKind.Field, new types.Range(0, 0, 0, 0))];
@@ -175,7 +175,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- code lens
 
-	test('CodeLens, evil provider', function() {
+	test('CodeLens, evil provider', function () {
 
 		disposables.push(extHost.registerCodeLensProvider(defaultSelector, <vscode.CodeLensProvider>{
 			provideCodeLenses(): any {
@@ -195,7 +195,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('CodeLens, do not resolve a resolved lens', function() {
+	test('CodeLens, do not resolve a resolved lens', function () {
 
 		disposables.push(extHost.registerCodeLensProvider(defaultSelector, <vscode.CodeLensProvider>{
 			provideCodeLenses(): any {
@@ -224,7 +224,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('CodeLens, missing command', function() {
+	test('CodeLens, missing command', function () {
 
 		disposables.push(extHost.registerCodeLensProvider(defaultSelector, <vscode.CodeLensProvider>{
 			provideCodeLenses() {
@@ -251,7 +251,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- definition
 
-	test('Definition, data conversion', function() {
+	test('Definition, data conversion', function () {
 
 		disposables.push(extHost.registerDefinitionProvider(defaultSelector, <vscode.DefinitionProvider>{
 			provideDefinition(): any {
@@ -270,7 +270,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Definition, one or many', function() {
+	test('Definition, one or many', function () {
 
 		disposables.push(extHost.registerDefinitionProvider(defaultSelector, <vscode.DefinitionProvider>{
 			provideDefinition(): any {
@@ -317,7 +317,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Definition, evil provider', function() {
+	test('Definition, evil provider', function () {
 
 		disposables.push(extHost.registerDefinitionProvider(defaultSelector, <vscode.DefinitionProvider>{
 			provideDefinition(): any {
@@ -340,7 +340,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- extra info
 
-	test('HoverProvider, word range at pos', function() {
+	test('HoverProvider, word range at pos', function () {
 
 		disposables.push(extHost.registerHoverProvider(defaultSelector, <vscode.HoverProvider>{
 			provideHover(): any {
@@ -358,7 +358,7 @@ suite('ExtHostLanguageFeatures', function() {
 	});
 
 
-	test('HoverProvider, given range', function() {
+	test('HoverProvider, given range', function () {
 
 		disposables.push(extHost.registerHoverProvider(defaultSelector, <vscode.HoverProvider>{
 			provideHover(): any {
@@ -402,7 +402,7 @@ suite('ExtHostLanguageFeatures', function() {
 	});
 
 
-	test('HoverProvider, evil provider', function() {
+	test('HoverProvider, evil provider', function () {
 
 		disposables.push(extHost.registerHoverProvider(defaultSelector, <vscode.HoverProvider>{
 			provideHover(): any {
@@ -426,7 +426,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- occurrences
 
-	test('Occurrences, data conversion', function() {
+	test('Occurrences, data conversion', function () {
 
 		disposables.push(extHost.registerDocumentHighlightProvider(defaultSelector, <vscode.DocumentHighlightProvider>{
 			provideDocumentHighlights(): any {
@@ -445,7 +445,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Occurrences, order 1/2', function() {
+	test('Occurrences, order 1/2', function () {
 
 		disposables.push(extHost.registerDocumentHighlightProvider(defaultSelector, <vscode.DocumentHighlightProvider>{
 			provideDocumentHighlights(): any {
@@ -469,7 +469,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Occurrences, order 2/2', function() {
+	test('Occurrences, order 2/2', function () {
 
 		disposables.push(extHost.registerDocumentHighlightProvider(defaultSelector, <vscode.DocumentHighlightProvider>{
 			provideDocumentHighlights(): any {
@@ -493,7 +493,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Occurrences, evil provider', function() {
+	test('Occurrences, evil provider', function () {
 
 		disposables.push(extHost.registerDocumentHighlightProvider(defaultSelector, <vscode.DocumentHighlightProvider>{
 			provideDocumentHighlights(): any {
@@ -543,7 +543,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('References, data conversion', function() {
+	test('References, data conversion', function () {
 
 		disposables.push(extHost.registerReferenceProvider(defaultSelector, <vscode.ReferenceProvider>{
 			provideReferences(): any {
@@ -564,7 +564,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('References, evil provider', function() {
+	test('References, evil provider', function () {
 
 		disposables.push(extHost.registerReferenceProvider(defaultSelector, <vscode.ReferenceProvider>{
 			provideReferences(): any {
@@ -588,7 +588,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- quick fix
 
-	test('Quick Fix, data conversion', function() {
+	test('Quick Fix, data conversion', function () {
 
 		disposables.push(extHost.registerCodeActionProvider(defaultSelector, <vscode.CodeActionProvider>{
 			provideCodeActions(): any {
@@ -612,7 +612,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Quick Fix, evil provider', function() {
+	test('Quick Fix, evil provider', function () {
 
 		disposables.push(extHost.registerCodeActionProvider(defaultSelector, <vscode.CodeActionProvider>{
 			provideCodeActions(): any {
@@ -634,7 +634,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- navigate types
 
-	test('Navigate types, evil provider', function() {
+	test('Navigate types, evil provider', function () {
 
 		disposables.push(extHost.registerWorkspaceSymbolProvider(<vscode.WorkspaceSymbolProvider>{
 			provideWorkspaceSymbols(): any {
@@ -662,7 +662,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- rename
 
-	test('Rename, evil provider 1/2', function() {
+	test('Rename, evil provider 1/2', function () {
 
 		disposables.push(extHost.registerRenameProvider(defaultSelector, <vscode.RenameProvider>{
 			provideRenameEdits(): any {
@@ -680,7 +680,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Rename, evil provider 2/2', function() {
+	test('Rename, evil provider 2/2', function () {
 
 		disposables.push(extHost.registerRenameProvider('*', <vscode.RenameProvider>{
 			provideRenameEdits(): any {
@@ -704,7 +704,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Rename, ordering', function() {
+	test('Rename, ordering', function () {
 
 		disposables.push(extHost.registerRenameProvider('*', <vscode.RenameProvider>{
 			provideRenameEdits(): any {
@@ -731,7 +731,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- parameter hints
 
-	test('Parameter Hints, evil provider', function() {
+	test('Parameter Hints, evil provider', function () {
 
 		disposables.push(extHost.registerSignatureHelpProvider(defaultSelector, <vscode.SignatureHelpProvider>{
 			provideSignatureHelp(): any {
@@ -751,7 +751,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- suggestions
 
-	test('Suggest, order 1/3', function() {
+	test('Suggest, order 1/3', function () {
 
 		disposables.push(extHost.registerCompletionItemProvider('*', <vscode.CompletionItemProvider>{
 			provideCompletionItems(): any {
@@ -773,7 +773,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Suggest, order 2/3', function() {
+	test('Suggest, order 2/3', function () {
 
 		disposables.push(extHost.registerCompletionItemProvider('*', <vscode.CompletionItemProvider>{
 			provideCompletionItems(): any {
@@ -818,7 +818,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Suggest, evil provider', function() {
+	test('Suggest, evil provider', function () {
 
 		disposables.push(extHost.registerCompletionItemProvider(defaultSelector, <vscode.CompletionItemProvider>{
 			provideCompletionItems(): any {
@@ -841,11 +841,11 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Suggest, CompletionList', function() {
+	test('Suggest, CompletionList', function () {
 
 		disposables.push(extHost.registerCompletionItemProvider(defaultSelector, <vscode.CompletionItemProvider>{
 			provideCompletionItems(): any {
-				return new types.CompletionList([<any> new types.CompletionItem('hello')], true);
+				return new types.CompletionList([<any>new types.CompletionItem('hello')], true);
 			}
 		}, []));
 
@@ -859,7 +859,7 @@ suite('ExtHostLanguageFeatures', function() {
 
 	// --- format
 
-	test('Format Doc, data conversion', function() {
+	test('Format Doc, data conversion', function () {
 		disposables.push(extHost.registerDocumentFormattingEditProvider(defaultSelector, <vscode.DocumentFormattingEditProvider>{
 			provideDocumentFormattingEdits(): any {
 				return [new types.TextEdit(new types.Range(0, 0, 0, 0), 'testing')];
@@ -876,7 +876,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Format Doc, evil provider', function() {
+	test('Format Doc, evil provider', function () {
 		disposables.push(extHost.registerDocumentFormattingEditProvider(defaultSelector, <vscode.DocumentFormattingEditProvider>{
 			provideDocumentFormattingEdits(): any {
 				throw new Error('evil');
@@ -884,11 +884,11 @@ suite('ExtHostLanguageFeatures', function() {
 		}));
 
 		return threadService.sync().then(() => {
-			return getDocumentFormattingEdits(model, { insertSpaces: true, tabSize: 4 }).then(_ => { throw new Error();}, err => {  });
+			return getDocumentFormattingEdits(model, { insertSpaces: true, tabSize: 4 }).then(_ => { throw new Error(); }, err => { });
 		});
 	});
 
-	test('Format Range, data conversion', function() {
+	test('Format Range, data conversion', function () {
 		disposables.push(extHost.registerDocumentRangeFormattingEditProvider(defaultSelector, <vscode.DocumentRangeFormattingEditProvider>{
 			provideDocumentRangeFormattingEdits(): any {
 				return [new types.TextEdit(new types.Range(0, 0, 0, 0), 'testing')];
@@ -905,7 +905,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Format Range, + format_doc', function() {
+	test('Format Range, + format_doc', function () {
 		disposables.push(extHost.registerDocumentRangeFormattingEditProvider(defaultSelector, <vscode.DocumentRangeFormattingEditProvider>{
 			provideDocumentRangeFormattingEdits(): any {
 				return [new types.TextEdit(new types.Range(0, 0, 0, 0), 'range')];
@@ -925,7 +925,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Format Range, evil provider', function() {
+	test('Format Range, evil provider', function () {
 		disposables.push(extHost.registerDocumentRangeFormattingEditProvider(defaultSelector, <vscode.DocumentRangeFormattingEditProvider>{
 			provideDocumentRangeFormattingEdits(): any {
 				throw new Error('evil');
@@ -937,7 +937,7 @@ suite('ExtHostLanguageFeatures', function() {
 		});
 	});
 
-	test('Format on Type, data conversion', function() {
+	test('Format on Type, data conversion', function () {
 
 		disposables.push(extHost.registerOnTypeFormattingEditProvider(defaultSelector, <vscode.OnTypeFormattingEditProvider>{
 			provideOnTypeFormattingEdits(): any {
diff --git a/src/vs/workbench/test/node/api/extHostMessagerService.test.ts b/src/vs/workbench/test/node/api/extHostMessagerService.test.ts
index 70865650586fe..d25a5e08e5727 100644
--- a/src/vs/workbench/test/node/api/extHostMessagerService.test.ts
+++ b/src/vs/workbench/test/node/api/extHostMessagerService.test.ts
@@ -6,8 +6,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {Action} from 'vs/base/common/actions';
-import {MainThreadMessageService} from 'vs/workbench/api/node/mainThreadMessageService';
+import { Action } from 'vs/base/common/actions';
+import { MainThreadMessageService } from 'vs/workbench/api/node/mainThreadMessageService';
 
 suite('ExtHostMessageService', function () {
 
diff --git a/src/vs/workbench/test/node/api/extHostTypes.test.ts b/src/vs/workbench/test/node/api/extHostTypes.test.ts
index de424ba6fe8cd..3603459f8319e 100644
--- a/src/vs/workbench/test/node/api/extHostTypes.test.ts
+++ b/src/vs/workbench/test/node/api/extHostTypes.test.ts
@@ -8,7 +8,7 @@
 import * as assert from 'assert';
 import URI from 'vs/base/common/uri';
 import * as types from 'vs/workbench/api/node/extHostTypes';
-import {isWindows} from 'vs/base/common/platform';
+import { isWindows } from 'vs/base/common/platform';
 
 function assertToJSON(a: any, expected: any) {
 	const raw = JSON.stringify(a);
@@ -185,7 +185,7 @@ suite('ExtHostTypes', function () {
 		assert.throws(() => new types.Range(null, new types.Position(0, 0)));
 
 		let range = new types.Range(1, 0, 0, 0);
-		assert.throws(() => (range as any).start= null);
+		assert.throws(() => (range as any).start = null);
 		assert.throws(() => (range as any).start = new types.Position(0, 3));
 	});
 
@@ -373,7 +373,7 @@ suite('ExtHostTypes', function () {
 		assert.throws(() => new types.DocumentLink(new types.Range(1, 1, 1, 1), null));
 	});
 
-	test('toJSON & stringify', function() {
+	test('toJSON & stringify', function () {
 
 		assertToJSON(new types.Selection(3, 4, 2, 1), { start: { line: 2, character: 1 }, end: { line: 3, character: 4 }, anchor: { line: 3, character: 4 }, active: { line: 2, character: 1 } });
 
diff --git a/src/vs/workbench/test/node/api/extHostWorkspace.test.ts b/src/vs/workbench/test/node/api/extHostWorkspace.test.ts
index 1c146117c18a4..d52192473d105 100644
--- a/src/vs/workbench/test/node/api/extHostWorkspace.test.ts
+++ b/src/vs/workbench/test/node/api/extHostWorkspace.test.ts
@@ -6,8 +6,8 @@
 'use strict';
 
 import * as assert from 'assert';
-import {ExtHostWorkspace} from 'vs/workbench/api/node/extHostWorkspace';
-import {TestThreadService} from './testThreadService';
+import { ExtHostWorkspace } from 'vs/workbench/api/node/extHostWorkspace';
+import { TestThreadService } from './testThreadService';
 
 suite('ExtHostWorkspace', function () {
 
diff --git a/src/vs/workbench/test/node/api/mainThreadCommands.test.ts b/src/vs/workbench/test/node/api/mainThreadCommands.test.ts
index 1e3bb45f7cd6e..259d55117ad3a 100644
--- a/src/vs/workbench/test/node/api/mainThreadCommands.test.ts
+++ b/src/vs/workbench/test/node/api/mainThreadCommands.test.ts
@@ -6,9 +6,9 @@
 'use strict';
 
 import * as assert from 'assert';
-import {MainThreadCommands} from 'vs/workbench/api/node/mainThreadCommands';
-import {CommandsRegistry} from 'vs/platform/commands/common/commands';
-import {OneGetThreadService} from './testThreadService';
+import { MainThreadCommands } from 'vs/workbench/api/node/mainThreadCommands';
+import { CommandsRegistry } from 'vs/platform/commands/common/commands';
+import { OneGetThreadService } from './testThreadService';
 
 suite('MainThreadCommands', function () {
 
diff --git a/src/vs/workbench/test/node/api/testThreadService.ts b/src/vs/workbench/test/node/api/testThreadService.ts
index eaf36482df84f..8c148309791dc 100644
--- a/src/vs/workbench/test/node/api/testThreadService.ts
+++ b/src/vs/workbench/test/node/api/testThreadService.ts
@@ -5,9 +5,9 @@
 
 'use strict';
 
-import {TPromise} from 'vs/base/common/winjs.base';
-import {AbstractThreadService} from 'vs/workbench/services/thread/common/abstractThreadService';
-import {IThreadService, ProxyIdentifier} from 'vs/workbench/services/thread/common/threadService';
+import { TPromise } from 'vs/base/common/winjs.base';
+import { AbstractThreadService } from 'vs/workbench/services/thread/common/abstractThreadService';
+import { IThreadService, ProxyIdentifier } from 'vs/workbench/services/thread/common/threadService';
 
 export function OneGetThreadService(thing: any): IThreadService {
 	return {
@@ -56,7 +56,7 @@ export class TestThreadService extends AbstractThreadService implements IThreadS
 			if (!this._idle) {
 				this._idle = new TPromise<any>((c, e) => {
 					this._completeIdle = c;
-				}, function() {
+				}, function () {
 					// no cancel
 				});
 			}
@@ -64,13 +64,13 @@ export class TestThreadService extends AbstractThreadService implements IThreadS
 		});
 	}
 
-	private _testInstances: {[id:string]:any;} = Object.create(null);
-	setTestInstance<T>(identifier:ProxyIdentifier<T>, value:T): T {
+	private _testInstances: { [id: string]: any; } = Object.create(null);
+	setTestInstance<T>(identifier: ProxyIdentifier<T>, value: T): T {
 		this._testInstances[identifier.id] = value;
 		return value;
 	}
 
-	get<T>(identifier:ProxyIdentifier<T>): T {
+	get<T>(identifier: ProxyIdentifier<T>): T {
 		let id = identifier.id;
 		if (this._locals[id]) {
 			return this._locals[id];
@@ -78,7 +78,7 @@ export class TestThreadService extends AbstractThreadService implements IThreadS
 		return super.get(identifier);
 	}
 
-	protected _callOnRemote(proxyId: string, path: string, args:any[]): TPromise<any> {
+	protected _callOnRemote(proxyId: string, path: string, args: any[]): TPromise<any> {
 		this._callCount++;
 
 		return new TPromise<any>((c) => {
diff --git a/tsfmt.json b/tsfmt.json
new file mode 100644
index 0000000000000..2259dd3ff393c
--- /dev/null
+++ b/tsfmt.json
@@ -0,0 +1,16 @@
+{
+	"tabSize": 4,
+	"indentSize": 4,
+	"newLineCharacter": "\n",
+	"convertTabsToSpaces": false,
+	"insertSpaceAfterCommaDelimiter": true,
+	"insertSpaceAfterSemicolonInForStatements": true,
+	"insertSpaceBeforeAndAfterBinaryOperators": true,
+	"insertSpaceAfterKeywordsInControlFlowStatements": true,
+	"insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
+	"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
+	"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
+	"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
+	"placeOpenBraceOnNewLineForFunctions": false,
+	"placeOpenBraceOnNewLineForControlBlocks": false
+}
\ No newline at end of file