From 19ed5bfc98abb0923fc573aa06fec44dec7f0257 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Mon, 21 Dec 2015 16:56:38 +0100 Subject: [PATCH] some tslinting in base --- .../base/browser/ui/countBadge/countBadge.ts | 8 +- src/vs/base/browser/ui/filelabel/fileLabel.ts | 10 +- .../browser/ui/progressbar/progressbar.ts | 24 ++--- .../ui/resourceviewer/resourceViewer.ts | 7 +- src/vs/base/common/comparers.ts | 32 +++---- src/vs/base/common/errors.ts | 30 +++--- src/vs/base/common/glob.ts | 60 ++++++------ src/vs/base/common/labels.ts | 8 +- src/vs/base/common/lifecycle.ts | 18 ++-- src/vs/base/common/mime.ts | 5 +- src/vs/base/common/platform.ts | 26 +++--- src/vs/base/common/strings.ts | 92 +++++++++---------- src/vs/base/common/types.ts | 8 +- src/vs/base/node/decoder.ts | 10 +- src/vs/base/node/encoding.ts | 12 +-- src/vs/base/node/env.ts | 1 - src/vs/base/node/extfs.ts | 27 +++--- src/vs/base/node/flow.ts | 18 ++-- src/vs/base/node/mime.ts | 21 ++--- src/vs/base/node/pfs.ts | 2 +- src/vs/base/node/plist.ts | 14 +-- src/vs/base/node/ports.ts | 4 +- src/vs/base/node/processes.ts | 8 +- src/vs/base/node/request.ts | 10 +- src/vs/base/node/stdFork.ts | 28 +++--- src/vs/base/node/stream.ts | 18 ++-- src/vs/base/node/zip.ts | 4 +- .../quickopen/browser/quickOpenViewer.ts | 9 +- 28 files changed, 250 insertions(+), 264 deletions(-) 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;