diff --git a/src/vs/base/browser/ui/countBadge/countBadge.ts b/src/vs/base/browser/ui/countBadge/countBadge.ts
index 8dc4ef3429c..4f570253511 100644
--- a/src/vs/base/browser/ui/countBadge/countBadge.ts
+++ b/src/vs/base/browser/ui/countBadge/countBadge.ts
@@ -9,7 +9,7 @@ import 'vs/css!./countBadge';
import Builder = require('vs/base/browser/builder');
import Strings = require('vs/base/common/strings');
-var $ = Builder.$;
+const $ = Builder.$;
export class CountBadge {
@@ -17,9 +17,9 @@ export class CountBadge {
private count: number;
private titleFormat: string;
- constructor (container:Builder.Builder, count?:number, titleFormat?:string);
- constructor (container:HTMLElement, count?:number, titleFormat?:string);
- constructor (container:any, count?:number, titleFormat?:string) {
+ constructor(container: Builder.Builder, count?: number, titleFormat?: string);
+ constructor(container: HTMLElement, count?: number, titleFormat?: string);
+ constructor(container: any, count?: number, titleFormat?: string) {
this.$el = $('.monaco-count-badge').appendTo(container);
this.titleFormat = titleFormat || '';
this.setCount(count || 0);
diff --git a/src/vs/base/browser/ui/filelabel/fileLabel.ts b/src/vs/base/browser/ui/filelabel/fileLabel.ts
index f62520b220a..0e03a75f14f 100644
--- a/src/vs/base/browser/ui/filelabel/fileLabel.ts
+++ b/src/vs/base/browser/ui/filelabel/fileLabel.ts
@@ -37,7 +37,7 @@ export class FileLabel {
}
public setValue(arg1: uri | string): void {
- var newPath = getPath(arg1);
+ let newPath = getPath(arg1);
if (this.renderedOnce && this.path === newPath) {
// don't render again if nothing has changed
@@ -52,15 +52,15 @@ export class FileLabel {
private render(): void {
dom.clearNode(this.domNode);
- var htmlContent: string[] = [];
+ let htmlContent: string[] = [];
htmlContent.push('');
htmlContent.push(paths.basename(this.path));
htmlContent.push('');
- var parent = paths.dirname(this.path);
+ let parent = paths.dirname(this.path);
if (parent && parent !== '.') {
- var pathLabel = getPathLabel(parent, this.basepath);
+ let pathLabel = getPathLabel(parent, this.basepath);
htmlContent.push('');
htmlContent.push(pathLabel);
htmlContent.push('');
@@ -80,7 +80,7 @@ function getPath(arg1: uri | string | IWorkspaceProvider): string {
}
if (types.isFunction((arg1).getWorkspace)) {
- var ws = (arg1).getWorkspace();
+ let ws = (arg1).getWorkspace();
return ws ? ws.resource.fsPath : void 0;
}
diff --git a/src/vs/base/browser/ui/progressbar/progressbar.ts b/src/vs/base/browser/ui/progressbar/progressbar.ts
index 64bdc8d79af..0263a2c3303 100644
--- a/src/vs/base/browser/ui/progressbar/progressbar.ts
+++ b/src/vs/base/browser/ui/progressbar/progressbar.ts
@@ -13,14 +13,14 @@ import Builder = require('vs/base/browser/builder');
import DOM = require('vs/base/browser/dom');
import Uuid = require('vs/base/common/uuid');
-var css_done = 'done';
-var css_active = 'active';
-var css_infinite = 'infinite';
-var css_discrete = 'discrete';
-var css_progress_container = 'progress-container';
-var css_progress_bit = 'progress-bit';
+const css_done = 'done';
+const css_active = 'active';
+const css_infinite = 'infinite';
+const css_discrete = 'discrete';
+const css_progress_container = 'progress-container';
+const css_progress_bit = 'progress-bit';
-var $ = Builder.$;
+const $ = Builder.$;
/**
* A progress bar with support for infinite or discrete progress.
@@ -43,8 +43,8 @@ export class ProgressBar {
this.create(builder);
}
- private create(builder: Builder.Builder): void {
- builder.div({ 'class': css_progress_container }, (builder) => {
+ private create(parent: Builder.Builder): void {
+ parent.div({ 'class': css_progress_container }, (builder) => {
this.element = builder.clone();
builder.div({ 'class': css_progress_bit }).on([DOM.EventType.ANIMATION_START, DOM.EventType.ANIMATION_END, DOM.EventType.ANIMATION_ITERATION], (e: Event) => {
@@ -134,7 +134,7 @@ export class ProgressBar {
if (!Browser.hasCSSAnimationSupport()) {
// Use a generated token to avoid race conditions from reentrant calls to this function
- var currentProgressToken = Uuid.v4().asHex();
+ let currentProgressToken = Uuid.v4().asHex();
this.currentProgressToken = currentProgressToken;
this.manualInfinite(currentProgressToken);
@@ -148,8 +148,8 @@ export class ProgressBar {
this.bit.style.width = '5%';
this.bit.style.display = 'inherit';
- var counter = 0;
- var animationFn: () => void = () => {
+ let counter = 0;
+ let animationFn: () => void = () => {
WinJS.Promise.timeout(50).then(() => {
// Return if another manualInfinite() call was made
diff --git a/src/vs/base/browser/ui/resourceviewer/resourceViewer.ts b/src/vs/base/browser/ui/resourceviewer/resourceViewer.ts
index dd4454650a0..9d7ac61bb28 100644
--- a/src/vs/base/browser/ui/resourceviewer/resourceViewer.ts
+++ b/src/vs/base/browser/ui/resourceviewer/resourceViewer.ts
@@ -7,7 +7,6 @@
import 'vs/css!./resourceviewer';
import nls = require('vs/nls');
-import strings = require('vs/base/common/strings');
import mimes = require('vs/base/common/mime');
import URI from 'vs/base/common/uri';
import paths = require('vs/base/common/paths');
@@ -62,7 +61,7 @@ const mapExtToMediaMimes = {
'.flv': 'video/x-flv',
'.avi': 'video/x-msvideo',
'.movie': 'video/x-sgi-movie'
-}
+};
/**
* Helper to actually render the given resource into the provided container. Will adjust scrollbar (if provided) automatically based on loading
@@ -102,7 +101,7 @@ export class ResourceViewer {
// Embed Object (only PDF for now)
else if (false /* PDF is currently not supported in Electron it seems */ && mime.indexOf('pdf') >= 0) {
- var object = $(container)
+ $(container)
.empty()
.style({ padding: 0, margin: 0 }) // We really do not want any paddings or margins when displaying PDFs
.element('object')
@@ -133,7 +132,7 @@ export class ResourceViewer {
// Embed Video (if supported in browser)
else if (mime.indexOf('video/') >= 0) {
- var video = $(container)
+ $(container)
.empty()
.style({ paddingLeft: '20px' }) // restore CSS value in case the user saw a PDF before where we remove padding
.element('video')
diff --git a/src/vs/base/common/comparers.ts b/src/vs/base/common/comparers.ts
index 9fc593e73e8..c3b13d111f5 100644
--- a/src/vs/base/common/comparers.ts
+++ b/src/vs/base/common/comparers.ts
@@ -6,17 +6,17 @@
import strings = require('vs/base/common/strings');
-var FileNameMatch = /^(.*)\.([^.]*)|([^.]+)$/;
+const FileNameMatch = /^(.*)\.([^.]*)|([^.]+)$/;
export function compareFileNames(one: string, other: string): number {
- var oneMatch = FileNameMatch.exec(one.toLowerCase());
- var otherMatch = FileNameMatch.exec(other.toLowerCase());
+ let oneMatch = FileNameMatch.exec(one.toLowerCase());
+ let otherMatch = FileNameMatch.exec(other.toLowerCase());
- var oneName = oneMatch[1] || oneMatch[3] || '';
- var oneExtension = oneMatch[2] || '';
+ let oneName = oneMatch[1] || oneMatch[3] || '';
+ let oneExtension = oneMatch[2] || '';
- var otherName = otherMatch[1] || otherMatch[3] || '';
- var otherExtension = otherMatch[2] || '';
+ let otherName = otherMatch[1] || otherMatch[3] || '';
+ let otherExtension = otherMatch[2] || '';
if (oneName !== otherName) {
return oneName < otherName ? -1 : 1;
@@ -26,8 +26,8 @@ export function compareFileNames(one: string, other: string): number {
}
export function compareAnything(one: string, other: string, lookFor: string): number {
- var elementAName = one.toLowerCase();
- var elementBName = other.toLowerCase();
+ let elementAName = one.toLowerCase();
+ let elementBName = other.toLowerCase();
// Sort prefix matches over non prefix matches
const prefixCompare = compareByPrefix(one, other, lookFor);
@@ -36,14 +36,14 @@ export function compareAnything(one: string, other: string, lookFor: string): nu
}
// Sort suffix matches over non suffix matches
- var elementASuffixMatch = strings.endsWith(elementAName, lookFor);
- var elementBSuffixMatch = strings.endsWith(elementBName, lookFor);
+ let elementASuffixMatch = strings.endsWith(elementAName, lookFor);
+ let elementBSuffixMatch = strings.endsWith(elementBName, lookFor);
if (elementASuffixMatch !== elementBSuffixMatch) {
return elementASuffixMatch ? -1 : 1;
}
// Understand file names
- var r = compareFileNames(elementAName, elementBName);
+ let r = compareFileNames(elementAName, elementBName);
if (r !== 0) {
return r;
}
@@ -53,12 +53,12 @@ export function compareAnything(one: string, other: string, lookFor: string): nu
}
export function compareByPrefix(one: string, other: string, lookFor: string): number {
- var elementAName = one.toLowerCase();
- var elementBName = other.toLowerCase();
+ let elementAName = one.toLowerCase();
+ let elementBName = other.toLowerCase();
// Sort prefix matches over non prefix matches
- var elementAPrefixMatch = elementAName.indexOf(lookFor) === 0;
- var elementBPrefixMatch = elementBName.indexOf(lookFor) === 0;
+ let elementAPrefixMatch = elementAName.indexOf(lookFor) === 0;
+ let elementBPrefixMatch = elementBName.indexOf(lookFor) === 0;
if (elementAPrefixMatch !== elementBPrefixMatch) {
return elementAPrefixMatch ? -1 : 1;
}
diff --git a/src/vs/base/common/errors.ts b/src/vs/base/common/errors.ts
index 83299ecbd28..cab8a10afda 100644
--- a/src/vs/base/common/errors.ts
+++ b/src/vs/base/common/errors.ts
@@ -74,7 +74,7 @@ export class ErrorHandler {
}
}
-export var errorHandler = new ErrorHandler();
+export let errorHandler = new ErrorHandler();
export function setUnexpectedErrorHandler(newUnexpectedErrorHandler: (e: any) => void): void {
errorHandler.setUnexpectedErrorHandler(newUnexpectedErrorHandler);
@@ -98,7 +98,7 @@ export function transformErrorForSerialization(error: any): any {
if (!(error instanceof Error)) {
return error;
}
- var data: any = {};
+ let data: any = {};
if (error.stacktrace) {
data.stack = error.stacktrace;
} else if (error.stack) {
@@ -139,7 +139,7 @@ export class ConnectionError implements Error {
if (this.responseText) {
try {
- var errorObj = JSON.parse(this.responseText);
+ let errorObj = JSON.parse(this.responseText);
this.errorMessage = errorObj.message;
this.errorCode = errorObj.code;
this.errorObject = errorObj;
@@ -158,8 +158,8 @@ export class ConnectionError implements Error {
}
private connectionErrorDetailsToMessage(error: ConnectionError, verbose: boolean): string {
- var errorCode = error.errorCode;
- var errorMessage = error.errorMessage;
+ let errorCode = error.errorCode;
+ let errorMessage = error.errorMessage;
if (errorCode !== null && errorMessage !== null) {
return nls.localize(
@@ -186,7 +186,7 @@ export class ConnectionError implements Error {
}
private connectionErrorToMessage(error: ConnectionError, verbose: boolean): string {
- var details = this.connectionErrorDetailsToMessage(error, verbose);
+ let details = this.connectionErrorDetailsToMessage(error, verbose);
// Status Code based Error
if (error.status === 401) {
@@ -232,7 +232,7 @@ export class ConnectionError implements Error {
objects.derive(Error, ConnectionError);
function _xhrToErrorMessage(xhr: IConnectionErrorData, verbose: boolean): string {
- var ce = new ConnectionError(xhr);
+ let ce = new ConnectionError(xhr);
if (verbose) {
return ce.verboseMessage;
} else {
@@ -263,8 +263,8 @@ export function toErrorMessage(error: any = null, verbose: boolean = false): str
}
if (Array.isArray(error)) {
- var errors: any[] = arrays.coalesce(error);
- var msg = toErrorMessage(errors[0], verbose);
+ let errors: any[] = arrays.coalesce(error);
+ let msg = toErrorMessage(errors[0], verbose);
if (errors.length > 1) {
return nls.localize('error.moreErrors', "{0} ({1} errors in total)", msg, errors.length);
@@ -282,7 +282,7 @@ export function toErrorMessage(error: any = null, verbose: boolean = false): str
}
if (error.detail) {
- var detail = error.detail;
+ let detail = error.detail;
if (detail.error) {
if (detail.error && !types.isUndefinedOrNull(detail.error.status)) {
@@ -290,7 +290,7 @@ export function toErrorMessage(error: any = null, verbose: boolean = false): str
}
if (types.isArray(detail.error)) {
- for (var i = 0; i < detail.error.length; i++) {
+ for (let i = 0; i < detail.error.length; i++) {
if (detail.error[i] && !types.isUndefinedOrNull(detail.error[i].status)) {
return _xhrToErrorMessage(detail.error[i], verbose);
}
@@ -328,7 +328,7 @@ export function toErrorMessage(error: any = null, verbose: boolean = false): str
export function getHttpStatus(error: any): number {
if (error) {
if (types.isArray(error)) {
- for (var i = 0; i < error.length; i++) {
+ for (let i = 0; i < error.length; i++) {
if (error[i] && error[i].status) {
return error[i].status;
}
@@ -341,7 +341,7 @@ export function getHttpStatus(error: any): number {
return -1;
}
-var canceledName = 'Canceled';
+let canceledName = 'Canceled';
/**
* Checks if the given error is a promise in canceled state
@@ -354,7 +354,7 @@ export function isPromiseCanceledError(error: any): boolean {
* Returns an error that signals cancellation.
*/
export function canceled(): Error {
- var error = new Error(canceledName);
+ let error = new Error(canceledName);
error.name = error.message;
return error;
}
@@ -400,7 +400,7 @@ export interface IErrorOptions {
}
export function create(message: string, options: IErrorOptions = {}): Error {
- var result = new Error(message);
+ let result = new Error(message);
if (types.isNumber(options.severity)) {
(result).severity = options.severity;
diff --git a/src/vs/base/common/glob.ts b/src/vs/base/common/glob.ts
index 10d38baff24..f41b183f6f0 100644
--- a/src/vs/base/common/glob.ts
+++ b/src/vs/base/common/glob.ts
@@ -7,7 +7,7 @@
import strings = require('vs/base/common/strings');
import paths = require('vs/base/common/paths');
-var CACHE: { [glob: string]: RegExp } = Object.create(null);
+const CACHE: { [glob: string]: RegExp } = Object.create(null);
export interface IExpression {
[pattern: string]: boolean|SiblingClause|any;
@@ -17,8 +17,8 @@ export interface SiblingClause {
when: string;
}
-var PATH_REGEX = '[/\\\\]'; // any slash or backslash
-var NO_PATH_REGEX = '[^/\\\\]'; // any non-slash and non-backslash
+const PATH_REGEX = '[/\\\\]'; // any slash or backslash
+const NO_PATH_REGEX = '[^/\\\\]'; // any non-slash and non-backslash
function starsToRegExp(starCount: number): string {
switch (starCount) {
@@ -39,14 +39,14 @@ export function splitGlobAware(pattern: string, splitChar: string): string[] {
return [];
}
- var segments: string[] = [];
+ let segments: string[] = [];
- var inBraces = false;
- var inBrackets = false;
+ let inBraces = false;
+ let inBrackets = false;
- var char: string;
- var curVal = '';
- for (var i = 0; i < pattern.length; i++) {
+ let char: string;
+ let curVal = '';
+ for (let i = 0; i < pattern.length; i++) {
char = pattern[i];
switch (char) {
@@ -88,10 +88,10 @@ function parseRegExp(pattern: string): string {
return '';
}
- var regEx = '';
+ let regEx = '';
// Split up into segments for each slash found
- var segments = splitGlobAware(pattern, '/');
+ let segments = splitGlobAware(pattern, '/');
// Special case where we only have globstars
if (segments.every(s => s === '**')) {
@@ -100,7 +100,7 @@ function parseRegExp(pattern: string): string {
// Build regex over segments
else {
- var previousSegmentWasGlobStar = false;
+ let previousSegmentWasGlobStar = false;
segments.forEach((segment, index) => {
// Globstar is special
@@ -116,14 +116,14 @@ function parseRegExp(pattern: string): string {
}
// States
- var inBraces = false;
- var braceVal = '';
+ let inBraces = false;
+ let braceVal = '';
- var inBrackets = false;
- var bracketVal = '';
+ let inBrackets = false;
+ let bracketVal = '';
- var char: string;
- for (var i = 0; i < segment.length; i++) {
+ let char: string;
+ for (let i = 0; i < segment.length; i++) {
char = segment[i];
// Support brace expansion
@@ -134,7 +134,7 @@ function parseRegExp(pattern: string): string {
// Support brackets
if (char !== ']' && inBrackets) {
- var res: string;
+ let res: string;
switch (char) {
case '-': // allow the range operator
res = char;
@@ -160,10 +160,10 @@ function parseRegExp(pattern: string): string {
continue;
case '}':
- var choices = splitGlobAware(braceVal, ',');
+ let choices = splitGlobAware(braceVal, ',');
// Converts {foo,bar} => [foo|bar]
- var braceRegExp = '(?:' + choices.reduce((prevValue, curValue, index, array) => {
+ let braceRegExp = '(?:' + choices.reduce((prevValue, curValue, i, array) => {
return prevValue + '|' + parseRegExp(curValue);
}, parseRegExp(choices[0]) /* parse the first segment as regex and give as initial value */) + ')';
@@ -219,19 +219,19 @@ function globToRegExp(pattern: string): RegExp {
// Check cache
if (CACHE[pattern]) {
- var cached = CACHE[pattern];
+ let cached = CACHE[pattern];
cached.lastIndex = 0; // reset RegExp to its initial state to reuse it!
return cached;
}
- var regEx = parseRegExp(pattern);
+ let regEx = parseRegExp(pattern);
// Wrap it
regEx = '^' + regEx + '$';
// Convert to regexp and be ready for errors
- var result: RegExp;
+ let result: RegExp;
try {
result = new RegExp(regEx);
} catch (error) {
@@ -273,13 +273,13 @@ export function match(arg1: string|IExpression, path: string, siblings?: string[
}
function matchExpression(expression: IExpression, path: string, siblings?: string[]): string /* the matching pattern */ {
- var patterns = Object.getOwnPropertyNames(expression);
- for (var i = 0; i < patterns.length; i++) {
- var pattern = patterns[i];
+ let patterns = Object.getOwnPropertyNames(expression);
+ for (let i = 0; i < patterns.length; i++) {
+ let pattern = patterns[i];
// Pattern matches path
if (match(pattern, path)) {
- var value = expression[pattern];
+ let value = expression[pattern];
// Expression Pattern is
if (typeof value === 'boolean') {
@@ -296,8 +296,8 @@ function matchExpression(expression: IExpression, path: string, siblings?: strin
continue; // pattern is malformed or we don't have siblings
}
- var clause = value;
- var basename = strings.rtrim(paths.basename(path), paths.extname(path));
+ let clause = value;
+ let basename = strings.rtrim(paths.basename(path), paths.extname(path));
var clausePattern = strings.replaceAll(clause.when, '$(basename)', basename);
if (siblings.some((sibling) => sibling === clausePattern)) {
return pattern;
diff --git a/src/vs/base/common/labels.ts b/src/vs/base/common/labels.ts
index fd30fb6ac1a..d63ef657f98 100644
--- a/src/vs/base/common/labels.ts
+++ b/src/vs/base/common/labels.ts
@@ -21,7 +21,7 @@ export interface ILabelProvider {
export interface IWorkspaceProvider {
getWorkspace(): {
resource: uri;
- }
+ };
}
export class PathLabelProvider implements ILabelProvider {
@@ -37,8 +37,8 @@ export class PathLabelProvider implements ILabelProvider {
}
export function getPathLabel(arg1: uri|string, arg2?: uri|string|IWorkspaceProvider): string {
- var basepath = arg2 && getPath(arg2);
- var absolutePath = getPath(arg1);
+ let basepath = arg2 && getPath(arg2);
+ let absolutePath = getPath(arg1);
if (basepath && paths.isEqualOrParent(absolutePath, basepath)) {
return paths.normalize(strings.ltrim(absolutePath.substr(basepath.length), paths.nativeSep), true);
@@ -61,7 +61,7 @@ function getPath(arg1: uri|string|IWorkspaceProvider): string {
}
if (types.isFunction((arg1).getWorkspace)) {
- var ws = (arg1).getWorkspace();
+ let ws = (arg1).getWorkspace();
return ws ? ws.resource.fsPath : void 0;
}
diff --git a/src/vs/base/common/lifecycle.ts b/src/vs/base/common/lifecycle.ts
index 80f18f3968f..255646cf962 100644
--- a/src/vs/base/common/lifecycle.ts
+++ b/src/vs/base/common/lifecycle.ts
@@ -13,8 +13,8 @@ export interface IDisposable {
}
export function disposeAll(arr: T[]): T[] {
- for (var i = 0, len = arr.length; i < len; i++) {
- if(arr[i]) {
+ for (let i = 0, len = arr.length; i < len; i++) {
+ if (arr[i]) {
arr[i].dispose();
}
}
@@ -34,24 +34,24 @@ export function combinedDispose2(disposables: IDisposable[]): IDisposable {
};
}
-export function fnToDisposable(fn: ()=>void): IDisposable {
+export function fnToDisposable(fn: () => void): IDisposable {
return {
dispose: () => fn()
};
}
-export function toDisposable(...fns: (()=>void)[]): IDisposable {
+export function toDisposable(...fns: (() => void)[]): IDisposable {
return combinedDispose2(fns.map(fnToDisposable));
}
-function callAll(arg:any):any {
+function callAll(arg: any): any {
if (!arg) {
return null;
- } else if(typeof arg === 'function') {
+ } else if (typeof arg === 'function') {
arg();
return null;
- } else if(Array.isArray(arg)) {
- while(arg.length > 0) {
+ } else if (Array.isArray(arg)) {
+ while (arg.length > 0) {
arg.pop()();
}
return arg;
@@ -68,4 +68,4 @@ export interface CallAll {
/**
* Calls all functions that are being passed to it.
*/
-export var cAll: CallAll = callAll;
+export const cAll: CallAll = callAll;
diff --git a/src/vs/base/common/mime.ts b/src/vs/base/common/mime.ts
index 6d3a198d859..b527b5c197d 100644
--- a/src/vs/base/common/mime.ts
+++ b/src/vs/base/common/mime.ts
@@ -25,7 +25,7 @@ export function generateKnownFilenames(onlyExtensions: boolean = true): any {
};
let removeLeadingDot = (ext: string) => {
return ext.replace(/^\./, '');
- }
+ };
let list: string[] = [];
list = list.concat(Object.keys(registeredTextMimesByFilename));
@@ -40,7 +40,7 @@ export function generateKnownFilenames(onlyExtensions: boolean = true): any {
let pushCurrentRow = () => {
if (currentRow.length > 0) {
- result.push('\'' + currentRow.join('\', \'') + '\'')
+ result.push('\'' + currentRow.join('\', \'') + '\'');
}
};
@@ -139,7 +139,6 @@ export function guessMimeTypes(path: string, firstLine?: string): string[] {
// Check with file name and extension
path = path.toLowerCase();
let filename = paths.basename(path);
- let extension = paths.extname(path);
let exactNameMatch: string;
let extensionMatch: string;
diff --git a/src/vs/base/common/platform.ts b/src/vs/base/common/platform.ts
index fd0d0dce60b..954a9968f2f 100644
--- a/src/vs/base/common/platform.ts
+++ b/src/vs/base/common/platform.ts
@@ -6,24 +6,24 @@
// --- THIS FILE IS TEMPORARY UNTIL ENV.TS IS CLEANED UP. IT CAN SAFELY BE USED IN ALL TARGET EXECUTION ENVIRONMENTS (node & dom) ---
-var _isWindows = false;
-var _isMacintosh = false;
-var _isLinux = false;
-var _isNative = false;
-var _isWeb = false;
-var _isQunit = false;
+let _isWindows = false;
+let _isMacintosh = false;
+let _isLinux = false;
+let _isNative = false;
+let _isWeb = false;
+let _isQunit = false;
interface INodeProcess {
platform: string;
}
-declare var process: INodeProcess;
-declare var global: any;
+declare let process: INodeProcess;
+declare let global: any;
interface INavigator {
userAgent:string;
}
-declare var navigator: INavigator;
-declare var self: any;
+declare let navigator: INavigator;
+declare let self: any;
// OS detection
if (typeof process === 'object') {
@@ -32,7 +32,7 @@ if (typeof process === 'object') {
_isLinux = (process.platform === 'linux');
_isNative = true;
} else if (typeof navigator === 'object') {
- var userAgent = navigator.userAgent;
+ let userAgent = navigator.userAgent;
_isWindows = userAgent.indexOf('Windows') >= 0;
_isMacintosh = userAgent.indexOf('Macintosh') >= 0;
_isLinux = userAgent.indexOf('Linux') >= 0;
@@ -48,7 +48,7 @@ export enum Platform {
Windows
}
-export var _platform:Platform = Platform.Web;
+export let _platform:Platform = Platform.Web;
if (_isNative) {
if (_isMacintosh) {
_platform = Platform.Mac;
@@ -82,7 +82,7 @@ interface IGlobals {
clearInterval(token: IntervalToken);
}
-var _globals = (typeof self === 'object' ? self : global);
+const _globals = (typeof self === 'object' ? self : global);
export const globals: any = _globals;
export function hasWebWorkerSupport(): boolean {
diff --git a/src/vs/base/common/strings.ts b/src/vs/base/common/strings.ts
index b51b279dda3..9bd9c71343f 100644
--- a/src/vs/base/common/strings.ts
+++ b/src/vs/base/common/strings.ts
@@ -4,28 +4,26 @@
*--------------------------------------------------------------------------------------------*/
'use strict';
-import nls = require('vs/nls');
-
/**
* The empty string.
*/
-export var empty = '';
+export const empty = '';
/**
* @returns the provided number with the given number of preceding zeros.
*/
export function pad(n: number, l: number, char: string = '0'): string {
- var str = '' + n;
- var r = [str];
+ let str = '' + n;
+ let r = [str];
- for (var i = str.length; i < l; i++) {
+ for (let i = str.length; i < l; i++) {
r.push(char);
}
return r.reverse().join('');
}
-var _formatRegexp = /{(\d+)}/g;
+const _formatRegexp = /{(\d+)}/g;
/**
* Helper to produce a string with a variable number of arguments. Insert variable segments
@@ -38,7 +36,7 @@ export function format(value: string, ...args: any[]): string {
return value;
}
return value.replace(_formatRegexp, function (match, group) {
- var idx = parseInt(group, 10);
+ let idx = parseInt(group, 10);
return isNaN(idx) || idx < 0 || idx >= args.length ?
match :
args[idx];
@@ -80,7 +78,7 @@ export function replaceAll(haystack: string, needle: string, replacement: string
* @param needle the thing to trim (default is a blank)
*/
export function trim(haystack: string, needle: string = ' '): string {
- var trimmed = ltrim(haystack, needle);
+ let trimmed = ltrim(haystack, needle);
return rtrim(trimmed, needle);
}
@@ -94,12 +92,12 @@ export function ltrim(haystack?: string, needle?: string): string {
return haystack;
}
- var needleLen = needle.length;
+ let needleLen = needle.length;
if (needleLen === 0 || haystack.length === 0) {
return haystack;
}
- var offset = 0,
+ let offset = 0,
idx = -1;
while ((idx = haystack.indexOf(needle, offset)) === offset) {
@@ -118,14 +116,14 @@ export function rtrim(haystack?: string, needle?: string): string {
return haystack;
}
- var needleLen = needle.length,
+ let needleLen = needle.length,
haystackLen = haystack.length;
if (needleLen === 0 || haystackLen === 0) {
return haystack;
}
- var offset = haystackLen,
+ let offset = haystackLen,
idx = -1;
while (true) {
@@ -158,7 +156,7 @@ export function startsWith(haystack: string, needle: string): boolean {
return false;
}
- for (var i = 0; i < needle.length; i++) {
+ for (let i = 0; i < needle.length; i++) {
if (haystack[i] !== needle[i]) {
return false;
}
@@ -171,7 +169,7 @@ export function startsWith(haystack: string, needle: string): boolean {
* Determines if haystack ends with needle.
*/
export function endsWith(haystack: string, needle: string): boolean {
- var diff = haystack.length - needle.length;
+ let diff = haystack.length - needle.length;
if (diff > 0) {
return haystack.lastIndexOf(needle) === haystack.length - needle.length;
} else if (diff === 0) {
@@ -196,7 +194,7 @@ export function createRegExp(searchString: string, isRegex: boolean, matchCase:
searchString = searchString + '\\b';
}
}
- var modifiers = 'g';
+ let modifiers = 'g';
if (!matchCase) {
modifiers += 'i';
}
@@ -213,7 +211,7 @@ export function regExpLeadsToEndlessLoop(regexp: RegExp): boolean {
// We check against an empty string. If the regular expression doesn't advance
// (e.g. ends in an endless loop) it will match an empty string.
- var match = regexp.exec('');
+ let match = regexp.exec('');
return (match && regexp.lastIndex === 0);
}
@@ -223,7 +221,7 @@ export function regExpLeadsToEndlessLoop(regexp: RegExp): boolean {
*
* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize}
*/
-export var canNormalize = typeof (('').normalize) === 'function';
+export let canNormalize = typeof (('').normalize) === 'function';
export function normalizeNFC(str: string, cache?:{[str: string]: string}): string {
if (!canNormalize || !str) {
return str;
@@ -233,7 +231,7 @@ export function normalizeNFC(str: string, cache?:{[str: string]: string}): strin
return cache[str];
}
- var res = (str).normalize('NFC');
+ let res = (str).normalize('NFC');
if (cache) {
cache[str] = res;
@@ -277,7 +275,7 @@ export function colorize(code: number, value: string): string {
* If string is empty or contains only whitespaces, returns -1
*/
export function firstNonWhitespaceIndex(str: string): number {
- for (var i = 0, len = str.length; i < len; i++) {
+ for (let i = 0, len = str.length; i < len; i++) {
if (str.charAt(i) !== ' ' && str.charAt(i) !== '\t') {
return i;
}
@@ -290,7 +288,7 @@ export function firstNonWhitespaceIndex(str: string): number {
* If the string contains only whitespaces, returns entire string
*/
export function getLeadingWhitespace(str: string): string {
- for (var i = 0, len = str.length; i < len; i++) {
+ for (let i = 0, len = str.length; i < len; i++) {
if (str.charAt(i) !== ' ' && str.charAt(i) !== '\t') {
return str.substring(0, i);
}
@@ -303,7 +301,7 @@ export function getLeadingWhitespace(str: string): string {
* If string is empty or contains only whitespaces, returns -1
*/
export function lastNonWhitespaceIndex(str: string): number {
- for (var i = str.length - 1; i >= 0; i--) {
+ for (let i = str.length - 1; i >= 0; i--) {
if (str.charAt(i) !== ' ' && str.charAt(i) !== '\t') {
return i;
}
@@ -321,23 +319,23 @@ function isAsciiChar(code: number): boolean {
export function equalsIgnoreCase(a: string, b: string): boolean {
- var len1 = a.length,
+ let len1 = a.length,
len2 = b.length;
if (len1 !== len2) {
return false;
}
- for (var i = 0; i < len1; i++) {
+ for (let i = 0; i < len1; i++) {
- var codeA = a.charCodeAt(i),
+ let codeA = a.charCodeAt(i),
codeB = b.charCodeAt(i);
if (codeA === codeB) {
continue;
} else if (isAsciiChar(codeA) && isAsciiChar(codeB)) {
- var diff = Math.abs(codeA - codeB);
+ let diff = Math.abs(codeA - codeB);
if (diff !== 0 && diff !== 32) {
return false;
}
@@ -356,7 +354,7 @@ export function equalsIgnoreCase(a: string, b: string): boolean {
*/
export function commonPrefixLength(a: string, b: string): number {
- var i: number,
+ let i: number,
len = Math.min(a.length, b.length);
for (i = 0; i < len; i++) {
@@ -373,11 +371,11 @@ export function commonPrefixLength(a: string, b: string): number {
*/
export function commonSuffixLength(a: string, b: string): number {
- var i: number,
+ let i: number,
len = Math.min(a.length, b.length);
- var aLastIndex = a.length - 1;
- var bLastIndex = b.length - 1;
+ let aLastIndex = a.length - 1;
+ let bLastIndex = b.length - 1;
for (i = 0; i < len; i++) {
if (a.charCodeAt(aLastIndex - i) !== b.charCodeAt(bLastIndex - i)) {
@@ -394,9 +392,9 @@ export function commonSuffixLength(a: string, b: string): number {
// Code points U+0000 to U+D7FF and U+E000 to U+FFFF are represented on a single character
// Code points U+10000 to U+10FFFF are represented on two consecutive characters
//export function getUnicodePoint(str:string, index:number, len:number):number {
-// var chrCode = str.charCodeAt(index);
+// let chrCode = str.charCodeAt(index);
// if (0xD800 <= chrCode && chrCode <= 0xDBFF && index + 1 < len) {
-// var nextChrCode = str.charCodeAt(index + 1);
+// let nextChrCode = str.charCodeAt(index + 1);
// if (0xDC00 <= nextChrCode && nextChrCode <= 0xDFFF) {
// return (chrCode - 0xD800) << 10 + (nextChrCode - 0xDC00) + 0x10000;
// }
@@ -404,12 +402,12 @@ export function commonSuffixLength(a: string, b: string): number {
// return chrCode;
//}
//export function isLeadSurrogate(chr:string) {
-// var chrCode = chr.charCodeAt(0);
+// let chrCode = chr.charCodeAt(0);
// return ;
//}
//
//export function isTrailSurrogate(chr:string) {
-// var chrCode = chr.charCodeAt(0);
+// let chrCode = chr.charCodeAt(0);
// return 0xDC00 <= chrCode && chrCode <= 0xDFFF;
//}
@@ -424,15 +422,15 @@ export function commonSuffixLength(a: string, b: string): number {
* @param second a string
*/
export function difference(first: string, second: string, maxLenDelta: number = 4): number {
- var lengthDifference = Math.abs(first.length - second.length);
+ let lengthDifference = Math.abs(first.length - second.length);
// We only compute score if length of the currentWord and length of entry.name are similar.
if (lengthDifference > maxLenDelta) {
return 0;
}
// Initialize LCS (largest common subsequence) matrix.
- var LCS: number[][] = [];
- var zeroArray: number[] = [];
- var i: number, j: number;
+ let LCS: number[][] = [];
+ let zeroArray: number[] = [];
+ let i: number, j: number;
for (i = 0; i < second.length + 1; ++i) {
zeroArray.push(0);
}
@@ -456,7 +454,7 @@ export function difference(first: string, second: string, maxLenDelta: number =
* line. There is always one entry which is zero.
*/
export function computeLineStarts(text: string): number[] {
- var regexp = /\r\n|\r|\n/g,
+ let regexp = /\r\n|\r|\n/g,
ret: number[] = [0],
match: RegExpExecArray;
while ((match = regexp.exec(text))) {
@@ -475,10 +473,10 @@ export function lcut(text: string, n: number): string {
return text;
}
- var segments = text.split(/\b/),
+ let segments = text.split(/\b/),
count = 0;
- for (var i = segments.length - 1; i >= 0; i--) {
+ for (let i = segments.length - 1; i >= 0; i--) {
count += segments[i].length;
if (count > n) {
@@ -492,10 +490,10 @@ export function lcut(text: string, n: number): string {
// Escape codes
// http://en.wikipedia.org/wiki/ANSI_escape_code
-var EL = /\x1B\x5B[12]?K/g; // Erase in line
-var LF = /\xA/g; // line feed
-var COLOR_START = /\x1b\[\d+m/g; // Color
-var COLOR_END = /\x1b\[0?m/g; // Color
+const EL = /\x1B\x5B[12]?K/g; // Erase in line
+const LF = /\xA/g; // line feed
+const COLOR_START = /\x1b\[\d+m/g; // Color
+const COLOR_END = /\x1b\[0?m/g; // Color
export function removeAnsiEscapeCodes(str: string): string {
if (str) {
@@ -510,9 +508,9 @@ export function removeAnsiEscapeCodes(str: string): string {
// -- UTF-8 BOM
-var __utf8_bom = 65279;
+const __utf8_bom = 65279;
-export var UTF8_BOM_CHARACTER = String.fromCharCode(__utf8_bom);
+export const UTF8_BOM_CHARACTER = String.fromCharCode(__utf8_bom);
export function startsWithUTF8BOM(str: string): boolean {
return (str && str.length > 0 && str.charCodeAt(0) === __utf8_bom);
diff --git a/src/vs/base/common/types.ts b/src/vs/base/common/types.ts
index c58c5b474d5..0da219e3d00 100644
--- a/src/vs/base/common/types.ts
+++ b/src/vs/base/common/types.ts
@@ -85,7 +85,7 @@ export function isUndefinedOrNull(obj: any): boolean {
}
-var hasOwnProperty = Object.prototype.hasOwnProperty;
+const hasOwnProperty = Object.prototype.hasOwnProperty;
/**
* @returns whether the provided parameter is an empty JavaScript Object or not.
@@ -95,7 +95,7 @@ export function isEmptyObject(obj: any): obj is any {
return false;
}
- for (var key in obj) {
+ for (let key in obj) {
if (hasOwnProperty.call(obj, key)) {
return false;
}
@@ -123,7 +123,7 @@ export type TypeConstraint = string | Function;
export function validateConstraints(args: any[], constraints: TypeConstraint[]): void {
const len = Math.min(args.length, constraints.length);
for (let i = 0; i < len; i++) {
- validateConstraint(args[i], constraints[i])
+ validateConstraint(args[i], constraints[i]);
}
}
@@ -152,7 +152,7 @@ export function validateConstraint(arg: any, constraint: TypeConstraint): void {
* any additional argument supplied.
*/
export function create(ctor: Function, ...args: any[]): any {
- var obj = Object.create(ctor.prototype);
+ let obj = Object.create(ctor.prototype);
ctor.apply(obj, args);
return obj;
diff --git a/src/vs/base/node/decoder.ts b/src/vs/base/node/decoder.ts
index 65f22f1f3f2..7687caed642 100644
--- a/src/vs/base/node/decoder.ts
+++ b/src/vs/base/node/decoder.ts
@@ -25,20 +25,20 @@ export class LineDecoder {
}
public write(buffer: NodeBuffer): string[] {
- var result: string[] = [];
- var value = this.remaining
+ let result: string[] = [];
+ let value = this.remaining
? this.remaining + this.stringDecoder.write(buffer)
: this.stringDecoder.write(buffer);
if (value.length < 1) {
return result;
}
- var start = 0;
- var ch: number;
+ let start = 0;
+ let ch: number;
while (start < value.length && ((ch = value.charCodeAt(start)) === 13 || ch === 10)) {
start++;
}
- var idx = start;
+ let idx = start;
while (idx < value.length) {
ch = value.charCodeAt(idx);
if (ch === 13 || ch === 10) {
diff --git a/src/vs/base/node/encoding.ts b/src/vs/base/node/encoding.ts
index 234f710e468..c55889a5256 100644
--- a/src/vs/base/node/encoding.ts
+++ b/src/vs/base/node/encoding.ts
@@ -7,17 +7,17 @@
import stream = require('vs/base/node/stream');
-export var UTF8 = 'utf8';
-export var UTF16be = 'utf16be';
-export var UTF16le = 'utf16le';
+export const UTF8 = 'utf8';
+export const UTF16be = 'utf16be';
+export const UTF16le = 'utf16le';
export function detectEncodingByBOMFromBuffer(buffer: NodeBuffer, bytesRead: number): string {
if (!buffer || bytesRead < 2) {
return null;
}
- var b0 = buffer.readUInt8(0);
- var b1 = buffer.readUInt8(1);
+ let b0 = buffer.readUInt8(0);
+ let b1 = buffer.readUInt8(1);
// UTF-16 BE
if (b0 === 0xFE && b1 === 0xFF) {
@@ -33,7 +33,7 @@ export function detectEncodingByBOMFromBuffer(buffer: NodeBuffer, bytesRead: num
return null;
}
- var b2 = buffer.readUInt8(2);
+ let b2 = buffer.readUInt8(2);
// UTF-8
if (b0 === 0xEF && b1 === 0xBB && b2 === 0xBF) {
diff --git a/src/vs/base/node/env.ts b/src/vs/base/node/env.ts
index b0bdc739b3b..1d801a661d9 100644
--- a/src/vs/base/node/env.ts
+++ b/src/vs/base/node/env.ts
@@ -19,7 +19,6 @@ export function getUserEnvironment(): TPromise {
}
return new TPromise((c, e) => {
- let didReturn = false;
let child = cp.spawn(process.env.SHELL, ['-ilc', 'env'], {
detached: true,
stdio: ['ignore', 'pipe', process.stderr],
diff --git a/src/vs/base/node/extfs.ts b/src/vs/base/node/extfs.ts
index 8c81a8f1da2..6151276e05e 100644
--- a/src/vs/base/node/extfs.ts
+++ b/src/vs/base/node/extfs.ts
@@ -6,22 +6,17 @@
'use strict';
import uuid = require('vs/base/common/uuid');
-import types = require('vs/base/common/types');
import strings = require('vs/base/common/strings');
import platform = require('vs/base/common/platform');
-import glob = require('vs/base/common/glob');
-import events = require('vs/base/common/eventEmitter');
import flow = require('vs/base/node/flow');
import fs = require('fs');
import paths = require('path');
-import stream = require('stream');
-var loop = flow.loop;
-var sequence = flow.sequence;
+const loop = flow.loop;
-var normalizedCache = Object.create(null);
+const normalizedCache = Object.create(null);
export function readdir(path: string, callback: (error: Error, files: string[]) => void): void {
// Mac: uses NFD unicode form on disk, but we want NFC
@@ -51,7 +46,7 @@ function readdirNormalize(path: string, callback: (error: Error, files: string[]
// for our concerns.
// See https://github.com/nodejs/node/issues/4002
return callback(null, children.filter(c => c !== '.' && c !== '..'));
- })
+ });
}
export function mkdirp(path: string, mode: number, callback: (error: Error) => void): void {
@@ -122,12 +117,12 @@ export function copy(source: string, target: string, callback: (error: Error) =>
}
function pipeFs(source: string, target: string, mode: number, callback: (error: Error) => void): void {
- var callbackHandled = false;
+ let callbackHandled = false;
- var readStream = fs.createReadStream(source);
- var writeStream = fs.createWriteStream(target, { mode: mode });
+ let readStream = fs.createReadStream(source);
+ let writeStream = fs.createWriteStream(target, { mode: mode });
- var onError = (error: Error) => {
+ let onError = (error: Error) => {
if (!callbackHandled) {
callbackHandled = true;
callback(error);
@@ -176,7 +171,7 @@ export function del(path: string, tmpFolder: string, callback: (error: Error) =>
return rmRecursive(path, callback);
}
- var pathInTemp = paths.join(tmpFolder, uuid.generateUuid());
+ let pathInTemp = paths.join(tmpFolder, uuid.generateUuid());
fs.rename(path, pathInTemp, (error: Error) => {
if (error) {
return rmRecursive(path, callback); // if rename fails, delete without tmp dir
@@ -213,7 +208,7 @@ function rmRecursive(path: string, callback: (error: Error) => void): void {
if (err || !stat) {
callback(err);
} else if (!stat.isDirectory() || stat.isSymbolicLink() /* !!! never recurse into links when deleting !!! */) {
- var mode = stat.mode;
+ let mode = stat.mode;
if (!(mode & 128)) { // 128 === 0200
fs.chmod(path, mode | 128, (err: Error) => { // 128 === 0200
if (err) {
@@ -232,8 +227,8 @@ function rmRecursive(path: string, callback: (error: Error) => void): void {
} else if (children.length === 0) {
fs.rmdir(path, callback);
} else {
- var firstError: Error = null;
- var childrenLeft = children.length;
+ let firstError: Error = null;
+ let childrenLeft = children.length;
children.forEach((child) => {
rmRecursive(paths.join(path, child), (err: Error) => {
childrenLeft--;
diff --git a/src/vs/base/node/flow.ts b/src/vs/base/node/flow.ts
index d2938b63899..88d901bb8e4 100644
--- a/src/vs/base/node/flow.ts
+++ b/src/vs/base/node/flow.ts
@@ -12,10 +12,10 @@ import assert = require('assert');
* array to the callback (callback). The resulting errors and results are evaluated by calling the provided callback function.
*/
export function parallel(list: T[], fn: (item: T, callback: (err: Error, result: E) => void) => void, callback: (err: Error[], result: E[]) => void): void {
- var results = new Array(list.length);
- var errors = new Array(list.length);
- var didErrorOccur = false;
- var doneCount = 0;
+ let results = new Array(list.length);
+ let errors = new Array(list.length);
+ let didErrorOccur = false;
+ let doneCount = 0;
if (list.length === 0) {
return callback(null, []);
@@ -70,9 +70,9 @@ export function loop(param: any, fn: (item: any, callback: (error: Error, res
// Expect the param to be an array and loop over it
else {
- var results: E[] = [];
+ let results: E[] = [];
- var looper: (i: number) => void = function (i: number): void {
+ let looper: (i: number) => void = function (i: number): void {
// Still work to do
if (i < param.length) {
@@ -128,11 +128,11 @@ function Sequence(sequences: { (...param: any[]): void; }[]): void {
});
// Execute in Loop
- var errorHandler = sequences.splice(0, 1)[0]; //Remove error handler
- var sequenceResult: any = null;
+ let errorHandler = sequences.splice(0, 1)[0]; //Remove error handler
+ let sequenceResult: any = null;
loop(sequences, (sequence, clb) => {
- var sequenceFunction = function (error: any, result: any): void {
+ let sequenceFunction = function (error: any, result: any): void {
// A method might only send a boolean value as return value (e.g. fs.exists), support this case gracefully
if (error === true || error === false) {
diff --git a/src/vs/base/node/mime.ts b/src/vs/base/node/mime.ts
index 6ab37daf329..1e5b34e1c59 100644
--- a/src/vs/base/node/mime.ts
+++ b/src/vs/base/node/mime.ts
@@ -7,7 +7,6 @@
import streams = require('stream');
-import strings = require('vs/base/common/strings');
import mime = require('vs/base/common/mime');
import stream = require('vs/base/node/stream');
@@ -21,7 +20,7 @@ import encoding = require('vs/base/node/encoding');
*
* Here is the original mime type detection in pseudocode:
*
- * var mimes = [];
+ * let mimes = [];
*
* read file extension
*
@@ -77,14 +76,14 @@ function handleReadResult(err: Error, buffer: NodeBuffer, bytesRead: number, cal
}
function doDetectMimesFromBuffer(buffer: NodeBuffer, bytesRead: number): IMimeAndEncoding {
- var enc = encoding.detectEncodingByBOMFromBuffer(buffer, bytesRead);
- var mimes = doDetectMimesFromContent(enc, buffer, bytesRead);
+ let enc = encoding.detectEncodingByBOMFromBuffer(buffer, bytesRead);
+ let mimes = doDetectMimesFromContent(enc, buffer, bytesRead);
- var isText = true;
+ let isText = true;
// Detect 0 bytes to see if file is binary (ignore for UTF 16 though)
if (enc !== encoding.UTF16be && enc !== encoding.UTF16le) {
- for (var i = 0; i < bytesRead; i++) {
+ for (let i = 0; i < bytesRead; i++) {
if (buffer.readInt8(i) === 0) {
isText = false;
break;
@@ -106,7 +105,7 @@ function doDetectMimesFromContent(enc: string, buffer: NodeBuffer, bytesRead: nu
}
// check for utf8 BOM
- var startpos = 0;
+ let startpos = 0;
if (enc !== null) {
if (enc === encoding.UTF8) {
startpos = 3; // prepare for skipping BOM
@@ -119,17 +118,17 @@ function doDetectMimesFromContent(enc: string, buffer: NodeBuffer, bytesRead: nu
}
function filterAndSortMimes(detectedMimes: string[], guessedMimes: string[]): string[] {
- var mimes = detectedMimes;
+ let mimes = detectedMimes;
// Add extension based mime as first element as this is the desire of whoever created the file.
// Never care about application/octet-stream or application/unknown as guessed mime, as this is the fallback of the guess which is never accurate
- var guessedMime = guessedMimes[0];
+ let guessedMime = guessedMimes[0];
if (guessedMime !== mime.MIME_BINARY && guessedMime !== mime.MIME_UNKNOWN) {
mimes.unshift(guessedMime);
}
// Remove duplicate elements from array and sort unspecific mime to the end
- var uniqueSortedMimes = mimes.filter((element, position) => {
+ let uniqueSortedMimes = mimes.filter((element, position) => {
return element && mimes.indexOf(element) === position;
}).sort((mimeA, mimeB) => {
if (mimeA === mime.MIME_BINARY) { return 1; }
@@ -169,7 +168,7 @@ function handleMimeResult(nameHint: string, error: Error, result: IMimeAndEncodi
return callback(error, null);
}
- var filterAndSortedMimes = filterAndSortMimes(result.mimes, mime.guessMimeTypes(nameHint));
+ let filterAndSortedMimes = filterAndSortMimes(result.mimes, mime.guessMimeTypes(nameHint));
result.mimes = filterAndSortedMimes;
callback(null, result);
diff --git a/src/vs/base/node/pfs.ts b/src/vs/base/node/pfs.ts
index 24e4c5ba1c1..3aea6ac1f3e 100644
--- a/src/vs/base/node/pfs.ts
+++ b/src/vs/base/node/pfs.ts
@@ -97,7 +97,7 @@ export function unlink(path: string): Promise {
}
function doStatMultiple(paths: string[]): TPromise<{ path: string; stats: fs.Stats; }> {
- var path = paths.shift();
+ let path = paths.shift();
return stat(path).then((value) => {
return {
path: path,
diff --git a/src/vs/base/node/plist.ts b/src/vs/base/node/plist.ts
index 1ca4bb85c5d..abab5b70fa5 100644
--- a/src/vs/base/node/plist.ts
+++ b/src/vs/base/node/plist.ts
@@ -14,13 +14,13 @@ interface PListObject {
export function parse(content: string) : { value: T; errors: string[]; } {
- var errors : string[] = [];
- var currObject : PListObject = null;
- var result : any = null;
+ let errors : string[] = [];
+ let currObject : PListObject = null;
+ let result : any = null;
- var text = null;
+ let text = null;
- var parser = sax.parser(false, { lowercase: true });
+ let parser = sax.parser(false, { lowercase: true });
parser.onerror = (e) => {
errors.push(e.message);
};
@@ -42,10 +42,10 @@ export function parse(content: string) : { value: T; errors: string[]; } {
break;
}
text = '';
- }
+ };
parser.onclosetag = (tagName: string) => {
- var value;
+ let value;
switch (tagName) {
case 'key':
if (!currObject || Array.isArray(currObject.value)) {
diff --git a/src/vs/base/node/ports.ts b/src/vs/base/node/ports.ts
index 38b5bdd5b18..d3d5e1d960b 100644
--- a/src/vs/base/node/ports.ts
+++ b/src/vs/base/node/ports.ts
@@ -16,9 +16,9 @@ export function findFreePort(startPort: number, giveUpAfter:number, clb: (port:
return clb(0);
}
- var tryPort = startPort;
+ let tryPort = startPort;
- var server = net.createServer();
+ let server = net.createServer();
server.listen(tryPort, (err) => {
server.once('close', () => {
return clb(tryPort);
diff --git a/src/vs/base/node/processes.ts b/src/vs/base/node/processes.ts
index 7bda74d0eed..9691439aef2 100644
--- a/src/vs/base/node/processes.ts
+++ b/src/vs/base/node/processes.ts
@@ -10,7 +10,7 @@ import ChildProcess = cp.ChildProcess;
import exec = cp.exec;
import spawn = cp.spawn;
-import { Writable, Readable, PassThrough } from 'stream';
+import { PassThrough } from 'stream';
import { fork } from './stdFork';
@@ -53,7 +53,7 @@ export function terminateProcess(process: ChildProcess, cwd?: string): Terminate
stdio: ['pipe', 'pipe', 'ignore']
};
if (cwd) {
- options.cwd = cwd
+ options.cwd = cwd;
}
(cp).execFileSync('taskkill', ['/T', '/F', '/PID', process.pid.toString()], options);
} catch (err) {
@@ -61,8 +61,8 @@ export function terminateProcess(process: ChildProcess, cwd?: string): Terminate
}
} else if (Platform.isLinux || Platform.isMacintosh) {
try {
- var cmd = URI.parse(require.toUrl('vs/base/node/terminateProcess.sh')).fsPath;
- var result = (cp).spawnSync(cmd, [process.pid.toString()]);
+ let cmd = URI.parse(require.toUrl('vs/base/node/terminateProcess.sh')).fsPath;
+ let result = (cp).spawnSync(cmd, [process.pid.toString()]);
if (result.error) {
return { success: false, error: result.error };
}
diff --git a/src/vs/base/node/request.ts b/src/vs/base/node/request.ts
index 62402ed0a56..3a23358f76d 100644
--- a/src/vs/base/node/request.ts
+++ b/src/vs/base/node/request.ts
@@ -30,12 +30,12 @@ export interface IRequestResult {
}
export function request(options: IRequestOptions): TPromise {
- var req: http.ClientRequest;
+ let req: http.ClientRequest;
return new TPromise((c, e) => {
- var endpoint = parseUrl(options.url);
+ let endpoint = parseUrl(options.url);
- var opts: https.RequestOptions = {
+ let opts: https.RequestOptions = {
hostname: endpoint.hostname,
port: endpoint.port ? parseInt(endpoint.port) : (endpoint.protocol === 'https:' ? 443 : 80),
path: endpoint.path,
@@ -48,7 +48,7 @@ export function request(options: IRequestOptions): TPromise {
opts.auth = options.user + ':' + options.password;
}
- var protocol = endpoint.protocol === 'https:' ? https : http;
+ let protocol = endpoint.protocol === 'https:' ? https : http;
req = protocol.request(opts, (res: http.ClientResponse) => {
if (res.statusCode >= 300 && res.statusCode < 400 && options.followRedirects && options.followRedirects > 0 && res.headers['location']) {
c( request(assign({}, options, {
@@ -93,7 +93,7 @@ export function json(opts: IRequestOptions): TPromise {
return e('Response doesn\'t appear to be JSON');
}
- var buffer: string[] = [];
+ let buffer: string[] = [];
pair.res.on('data', d => buffer.push(d));
pair.res.on('end', () => c(JSON.parse(buffer.join(''))));
pair.res.on('error', e);
diff --git a/src/vs/base/node/stdFork.ts b/src/vs/base/node/stdFork.ts
index ffea2627b02..cb5a510491a 100644
--- a/src/vs/base/node/stdFork.ts
+++ b/src/vs/base/node/stdFork.ts
@@ -29,7 +29,7 @@ function makeRandomHexString(length:number): string {
}
function generatePipeName(): string {
- var randomName = 'vscode-' + makeRandomHexString(40);
+ let randomName = 'vscode-' + makeRandomHexString(40);
if (process.platform === 'win32') {
return '\\\\.\\pipe\\' + randomName + '-sock';
}
@@ -41,8 +41,8 @@ function generatePipeName(): string {
function generatePatchedEnv(env:any, stdInPipeName:string, stdOutPipeName:string): any {
// Set the two unique pipe names and the electron flag as process env
- var newEnv:any = {};
- for (var key in env) {
+ let newEnv:any = {};
+ for (let key in env) {
newEnv[key] = env[key];
}
@@ -55,15 +55,15 @@ function generatePatchedEnv(env:any, stdInPipeName:string, stdOutPipeName:string
export function fork(modulePath: string, args: string[], options: IForkOpts, callback:(error:any, cp:cp.ChildProcess)=>void): void {
- var callbackCalled = false;
- var resolve = (result: cp.ChildProcess) => {
+ let callbackCalled = false;
+ let resolve = (result: cp.ChildProcess) => {
if (callbackCalled) {
return;
}
callbackCalled = true;
callback(null, result);
};
- var reject = (err:any) => {
+ let reject = (err:any) => {
if (callbackCalled) {
return;
}
@@ -72,15 +72,15 @@ export function fork(modulePath: string, args: string[], options: IForkOpts, cal
};
// Generate two unique pipe names
- var stdInPipeName = generatePipeName();
- var stdOutPipeName = generatePipeName();
+ let stdInPipeName = generatePipeName();
+ let stdOutPipeName = generatePipeName();
- var newEnv = generatePatchedEnv(options.env || process.env, stdInPipeName, stdOutPipeName);
+ let newEnv = generatePatchedEnv(options.env || process.env, stdInPipeName, stdOutPipeName);
- var childProcess: cp.ChildProcess;
+ let childProcess: cp.ChildProcess;
// Begin listening to stdout pipe
- var server = net.createServer((stream) => {
+ let server = net.createServer((stream) => {
// The child process will write exactly one chunk with content `ready` when it has installed a listener to the stdin pipe
stream.once('data', (chunk:Buffer) => {
@@ -95,14 +95,14 @@ export function fork(modulePath: string, args: string[], options: IForkOpts, cal
});
server.listen(stdOutPipeName);
- var serverClosed = false;
- var closeServer = () => {
+ let serverClosed = false;
+ let closeServer = () => {
if (serverClosed) {
return;
}
serverClosed = true;
server.close();
- }
+ };
// Create the process
let bootstrapperPath = (uri.parse(require.toUrl('./stdForkStart.js')).fsPath);
diff --git a/src/vs/base/node/stream.ts b/src/vs/base/node/stream.ts
index 2b839467e99..02bc8a17c12 100644
--- a/src/vs/base/node/stream.ts
+++ b/src/vs/base/node/stream.ts
@@ -8,18 +8,16 @@
import fs = require('fs');
import stream = require('stream');
-import types = require('vs/base/common/types');
-
/**
* 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 {
- var done = false;
- var buffer = new Buffer(totalBytes);
- var bytesRead = 0;
+ let done = false;
+ let buffer = new Buffer(totalBytes);
+ let bytesRead = 0;
stream.on('data', (data:NodeBuffer) => {
- var bytesToRead = Math.min(totalBytes - bytesRead, data.length);
+ let bytesToRead = Math.min(totalBytes - bytesRead, data.length);
data.copy(buffer, bytesRead, 0, bytesToRead);
bytesRead += bytesToRead;
@@ -35,7 +33,7 @@ export function readExactlyByStream(stream:stream.Readable, totalBytes:number, c
}
});
- var onSuccess = () => {
+ let onSuccess = () => {
if (!done) {
done = true;
callback(null, buffer, bytesRead);
@@ -68,9 +66,9 @@ export function readExactlyByFile(file:string, totalBytes:number, callback:(erro
});
}
- var buffer = new Buffer(totalBytes);
- var bytesRead = 0;
- var zeroAttempts = 0;
+ let buffer = new Buffer(totalBytes);
+ let bytesRead = 0;
+ let zeroAttempts = 0;
function loop():void {
fs.read(fd, buffer, bytesRead, totalBytes - bytesRead, null, (err, moreBytesRead)=>{
if (err) {
diff --git a/src/vs/base/node/zip.ts b/src/vs/base/node/zip.ts
index 29b62ae9ff2..48f1a76162f 100644
--- a/src/vs/base/node/zip.ts
+++ b/src/vs/base/node/zip.ts
@@ -27,7 +27,7 @@ interface IOptions {
}
function modeFromEntry(entry: Entry) {
- var attr = entry.externalFileAttributes >> 16 || 33188;
+ let attr = entry.externalFileAttributes >> 16 || 33188;
return [448 /* S_IRWXU */, 56 /* S_IRWXG */, 7 /* S_IRWXO */]
.map(mask => attr & mask)
@@ -44,7 +44,7 @@ function extractEntry(zipfile: ZipFile, entry: Entry, targetPath: string, option
return ninvoke(zipfile, zipfile.openReadStream, entry)
.then(ostream => mkdirp(targetDirName)
.then(() => new Promise((c, e) => {
- var istream = createWriteStream(targetFileName, { mode });
+ let istream = createWriteStream(targetFileName, { mode });
istream.once('finish', () => c(null));
istream.once('error', e);
ostream.once('error', e);
diff --git a/src/vs/base/parts/quickopen/browser/quickOpenViewer.ts b/src/vs/base/parts/quickopen/browser/quickOpenViewer.ts
index 33ba0856014..d3b1f4bb5ff 100644
--- a/src/vs/base/parts/quickopen/browser/quickOpenViewer.ts
+++ b/src/vs/base/parts/quickopen/browser/quickOpenViewer.ts
@@ -3,11 +3,10 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-import { Promise } from 'vs/base/common/winjs.base';
-import { isFunction } from 'vs/base/common/types';
-import { ActionBar, IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
-import { ITree, IRenderer, IFilter, IDataSource } from 'vs/base/parts/tree/common/tree';
-import { IModel } from './quickOpen';
+import {Promise} from 'vs/base/common/winjs.base';
+import {isFunction} from 'vs/base/common/types';
+import {ITree, IRenderer, IFilter, IDataSource} from 'vs/base/parts/tree/common/tree';
+import {IModel} from './quickOpen';
export interface IModelProvider {
getModel(): IModel;